make_texttrack.scpt

QuickTime映像用の字幕(テキストトラック)を作る

ダウンロード

このスクリプトをはじめ、jedit上から操作できるスクリプトをまとめたものがダウンロードできます。
クリックして下さい -> jedit_qt.zip

動作環境

Macintosh OS X以上

用意するもの

Jedit X
QuickTime Player Pro
QuickTime形式のデータ・ファイル
テキストファイル

目次

何の役に立つの?
準備
このスクリプトの使い方
字幕テキストファイルを映像に貼り込む
字幕の位置や大きさを調節する
字幕のフォントや大きさを細かく変えたい
チャプタを作る
補足:時間の重なった字幕を作る方法

何の役に立つの?

テキストデータをもとに、QuickTimeムービーに字幕(テキストトラック)を入れます。

テキストに書かれた字幕の開始時刻・終了時刻(秒単位)・内容をもとに、ムービーに字幕を入れることができます。外国語のサブタイトルを入れたり、脚注を適切なタイミングで入れたいときに役立つでしょう。

ほかの映像編集ソフトは必要なし

QuickTime Player Proにはテキストトラック編集という機能があり、通常のムービーに複数のテキストトラックを加えることができます。つまり、あるムービーに対して複数の字幕を入れることができるということです。これは、QuickTime Player Proの標準機能なので、高価な編集ソフトは必要ありません)。
->3つの字幕からなるムービー例(音声なし)

面倒なテキストトラック作りを助けます。

QuickTimeのテキストトラックを作るのはとても面倒です。Apple が提供しているチュートリアル はなるほど役に立ちますが、じっさいのところ、そこにはとんでもなく複雑な作業が待っています。ディスクリプタと呼ばれるいくつもの呪文を書き込み、字幕がいつはじまっていつ終わるのかをタイムコードにして書き並べなければなりません。

でも、qt_to_jedit.scptを使えば、QuickTimeムービーの選択範囲から自動的に開始時刻と終了時刻を得ることができます。いちいちタイムコードを指定された方法で書き直したり、計算し直す必要はありません。

チャプタも簡単に作れます

字幕をもとに、チャプタを作ることができます。チャプタを使えば、特定のセリフの部分をすばやく呼び出すことができるようになります。

->目次へ

実行方法

Mac OS Xに付属のスクリプトエディタなどから単独で動かすこともできますが、Jeditに組み込んでおくとデータおこしに便利です。(→Jedit X上からアップル・スクリプトを使う方法

このスクリプトの使い方

  1. まず、字幕データとなるテキストを用意します。テキストの各行は、開始時刻(秒単位)・終了時刻(秒単位)・字幕内容がタブか空白で区切られたものを使ってください。たとえば以下のようなものです。

    0001.14 0001.45 X:やあ
    0003.52 0004.38 X:どうしてた?
    0006.92 0008.13 X:えっと...
    0009.54 0010.75 X:ちょっといいかな
    0012.91 0013.37 X:あ、やあ 5.408333333333 8.858333333333

    メモその1:qt_to_jedit.scptを使えば、こうしたテキストが楽に作れます。

    メモその2:メニューの「ツール」->「ソート...」 ->「数値としてソート(にチェックマーク)」を使って、データを時間順に並べ替えると見やすくなります。

    メモその3:各行は時間が重ならないようにしてください。重なった場合、スクリプトは重複箇所を知らせて止まります。時間的に重なる二つ以上の字幕を入れたい場合は、補足をご覧下さい。

  2. QuickTime Playerを立ち上げて、字幕を貼り込みたいムービーを用意して下さい。

    字幕ムービーの時間は張り込み先のムービーに、サイズはムービーの横幅に合わされます。貼り込み先のムービーがなくても実行はできますが、字幕のタイミングが貼り込み先と合わなくなるので注意が必要です。

  3. make_texttrack.scptを実行してください。
  4. 次のような名称未決定の字幕テキストファイルができます。複雑なことが書かれていますが、とりあえず中身は気にせず、適当な名前をつけて保存してください。

    {QTtext} {font:Times}{plain}{size:18}
    {textColor: 0,0,0}{backColor: 65535, 65535, 65535}{justify:center}
    {timeScale:1000}
    {width:120}{height:60}
    {timeStamps:absolute}{language:11}{textEncoding:0}

    [00:00:00.000][00:00:01.140]
    X: やあ
    [00:00:01.450]
    [00:00:03.520]
    X: どうしてた?
    [00:00:04.380]
    [00:00:06.920]
    X: えっと...
    [00:00:08.130]
    [00:00:09.530]
    X: ちょっといいかな
    [00:00:10.750]
    [00:00:12.910]
    X: あ、やあ
    [00:00:13.370]
    [00:00:17.710]

->目次へ

字幕テキストファイルを映像に貼り込む

  1. 字幕テキストファイルをFinderからQuickTime Playerにドラッグ&ドロップして下さい。
  2. 字幕ムービーが表示されます。


  3. "編集" メニューから"すべてを選択"を選んでから、コピーして下さい。終わったらムービーを閉じましょう。
  4. 解析中のムービーに移動して下さい。"編集" メニューから"すべてを選択"を選びます。次に"拡大/縮小して追加" を選んで下さい。これによって、テキストトラックが解析中のムービーに加わります。適切なタイミングで字幕が入っていれば成功です。

->目次へ

字幕の位置や大きさを調節する

  1. テキストトラックの画面上の位置や大きさを調節するには、字幕つきの映像ムービーのプロパティを変更します。
  2. まず、"ムービー"メニューから、"ムービーのプロパティを表示"を選びます。
  3. 上部のトラックの中にある「テキストトラック」を選びます。
  4. 「ビジュアル設定」を選びます。「調整後のサイズ」で大きさを、「オフセット」で位置を、「反転/回転」で向きを調節します。(画面からはみ出した位置にも移動できます)



->目次へ

字幕の色、大きさ、フォントなどを自分で変えたい

これには、字幕テキストファイルの中身をいくつかいじる必要があります。ファイルの冒頭に設定部分がありますので、ここでいくつか紹介しておきます。

  1. {font:Times}{plain}{size:18}
    フォントの字体と大きさを設定する部分です。font:のあとに字体名を、size:のあとに大きさ名を入れます。
  2. {textColor: 0,0,0}{backColor: 65535, 65535, 65535}
    テキストの色と背景色を設定する部分です。それぞれの三つの数字にRGB値(0-65535)を入れます。たとえば{textColor: 0,0,65535}なら、文字は青になります。
  3. {justify:center}
    字幕の位置です。right, center, leftのいずれかを入力します。
  4. {width:120}{height:60}
    字幕の幅と高さ(ピクセル)です。
 他にもさまざまな設定があります。詳しくは"text descriptors" を参考にしてください。

チャプタを作る

いったん字幕ができると、チャプタを簡単に加えることができます。チャプタとは、QuickTimeムービーの右下に現われるメニューで、これを利用すると、好みの場所にすばやくジャンプできます。

  1. QuickTime Playerに移動します。
  2. "ウインドウ" -> "ムービーのプロパティを表示"を選びます。
  3. 上部のトラックの中にある「テキストトラック」を選びます。
  4. 「その他の設定」を選びます。
  5. 「チャプタ」の横のバーから「テキストトラック」を選びます。
  6. 「このトラックをあらかじめ読み込む」「キャッシュ」にはチェックを入れておくとよいでしょう。



  7. これでムービーの右下にチャプタが入りました。



->目次へ

補足:時間の重なった字幕を作る方法

 複数の人が一度になにかをしていたり、声を出しながら体を動かしているような場合、いくつもの字幕が時間的に重なってしまうことがあります。次の例を見てみましょう。

0001.14 0001.45 X:やあ
0001.95 0002.32 Y:あら
0003.52 0004.38 X:どうしてた?
0004.68 0004.97 Y:元気
0006.92 0008.13 X:えっと...
0007.03 0008.06 Y:えっと...
0009.54 0010.75 X:ちょっといいかな
0011.31 0011.56 Y:あ
0012.91 0013.37 X:あ、やあ
0014.18 0014.48 Z:よお
0014.84 0015.13 Y:ごぶさた

 この例では、XとYが同時に何かを言い出そうとしたために、以下の部分が時間的に重なっています

0006.92 0008.13 X:えっと...
0007.03 0008.06 Y:えっと...

 このテキストをこのままスクリプトで処理しようとしても、オーバーラップがあるので直すように求められてしまいます。そこで、以下のように扱います。

  1. 上のテキストを、X,Y,Z三人の登場人物別に三つのテキストにしてしまいます。

    【x.txt】

    0001.14 0001.45 X:やあ
    0003.52 0004.38 X:どうしてた?
    0006.92 0008.13 X:えっと...
    0009.54 0010.75 X:ちょっといいかな
    0012.91 0013.37 X:あ、やあ

    【y.txt】

    0001.95 0002.32 Y:あら
    0004.68 0004.97 Y:元気
    0007.03 0008.06 Y:えっと...
    0011.31 0011.56 Y:あ
    0014.84 0015.13 Y:ごぶさた

    【z.txt】

    0014.18 0014.48 Z:よお

  2.  それぞれをQuickTime Playerにドラッグ&ドロップします。三つのムービーが表示されます。
  3.  【字幕テキストファイルを映像に貼り込む】を参考に、y,z二つのムービーをそれぞれxのムービーに貼り込みます。
  4.  位置を調節すると、三人の会話ムービーができあがります。



  5.  九人と一匹だとこうなります

->目次へ

-> Script 目次へ