Mac OS Xでavidemux2で字幕を付ける

最終更新日:2008-07-11

2010/10現在ここの内容は古くなっています。最近のavidemux2ではここに書いてある方法は使えません。avidemux2_cliがあるサイトのURLはhttp://panorama.dyndns.org/index.php?lang=EN&subject=Avidemux&texttag=Avidemuxに移動しています。

このページの内容はPowerPC G4、Mac OS X 10.5.xで確認したことが書いてあります。それ以外の環境では駄目な場合があるかもしれません。

このページでやってることは?

avidemux2では字幕を付けられるのですが自分がやってみた時にできるまで手間取ったのでそのやり方をメモしておきます。自分はニコニコ動画のコメントを字幕として付けてみました。とりあえずできましたがやり方に間違いやもっと良いやり方があるかもしれません。

準備編

avidemux2を入手

Panorama's Avidemuxでダウンロードできます。いくつかありますがここではavidemux2_cliとGUI版のavidemux2_gtk_Quartz(avidemux2_gtk.app)の二つ使います。自分が試したところではavidemux2_Qt4 2.4.2だとfilter設定ファイルが保存できませんでした。avidemux2_gtk.appではASSのフォントフォルダの設定ができないみたいなので字幕付きの動画ができないのでavidemux2_gtk.appでfilterの設定を保存して、それをちょっと弄ってできた設定をavidemux2_cliに読み込ませて字幕付きの動画を作るようにします。ちなみにできた設定を再度avidemux2_gtk.appに読み込ませても字幕を付けられます。

フォントの準備

avidemux2ではttfのフォントが必要なのでここではさざなみフォントを使います。ダウンロードして解凍するとsazanami-gothic.ttf、sazanami-mincho.ttfというファイルができるので「/Users/自分/Library/Fonts」に移動してください。別にフォントの移動先はどこでも良いのですがあとでフォントフォルダをパスで指定するので移動したところを覚えておいてください。

SDLの準備

avidemux2_cliでASSで字幕を付けるにはSDLというフレームワークが必要なのでSDLのダウンロードサイトからSDL-1.2.13.dmgなどをダウンロードして、SDL.frameworkを/Library/Frameworksにコピーします。

ASSのfilterのルールを記述したファイルを作成

変換はavidemux2_cliで行うのですがASSで字幕を付けるにはASSのfilterのルールを記述したテキストファイルが必要です。 これはavidemux2_gtk.appで作成できます。手順は下記の通りです。

  1. avidemux2_gtk.appを起動
  2. なんでもいいから動画ファイルを開く
  3. VideoのCopyをなんでもいいからMPEG4などに変更。そうすると下のFiltersが選択できるようになる。
  4. Filtersをクリックしてダイアログを表示
  5. Subtitles、ASSと選択して下の+ボタンを押してさらにダイアログを表示
  6. ここでASSのファイルを選択するところがあります。ASSファイルがあればそれを、無ければとりあえずなんでもいいのでファイルを選択してOKを押してダイアログを閉じます。だたしASS以外のフィアルを選択した場合はダイアログを閉じた時に「それはASSではありません」という感じのダイアログが表示されます。
  7. Active FiltersにASSが追加されているのを確認したら上のSaveボタンで保存。拡張子は特に決まっていないようなのでなんでもいいみたいです。
  8. 先ほど保存したファイルをテキストエディタで開きます
  9. 修正箇所は2カ所あります。subfileをASSファイルのフルパスにします。そしてfonts_dirを「/Users/自分/Library/Fonts/」にします。
  10. これを保存してこの準備は終わりです。avidemux2_cliにこのファイルを指定することで設定したASSファイルの字幕が付けられます。

出来上がりは下記の通りになると思います。上の手順がめんどくさい場合は下のテキストをコピーして書き換えても大丈夫だと思います。

<?xml version="1.0"?>
<filters FilterNumber="1">
  <Filter Tag="76" Conf=" ASS/SSA Subtitles: sample.ass">
    <Parameters Number="7">
      <font_scale>1.000000</font_scale>
      <line_spacing>0.100000</line_spacing>
      <top_margin>0</top_margin>
      <bottom_margin>0</bottom_margin>
      <subfile>/Users/hoge/Desktop/sample.ass</subfile>
      <fonts_dir>/Users/hoge/Library/Fonts/</fonts_dir>
      <extract_embedded_fonts>1</extract_embedded_fonts>
    </Parameters>
  </Filter>
</filters>

字幕焼き付け編

avidemux2_gtk.appを使う場合は上で作った設定ファイルを読み込んで変換保存すればOKです。

avidemux2_cliは下記のように使います。

/Applications/avidemux2_cli/avi_cli --load sample.flv --filters sample.flt --video-codec FFmpeg4 --video-conf cq=10 --audio-codec COPY --save outputsample.avi

sample.fltが上で作成したファイルです。ここでは適当にfltという拡張子を付けてみました。cq=10が動画のクオリティーで数字が少ない方が画質が綺麗です。デフォルトは4のようです。試した動画では10で600kbpsぐらいでした。適時調整してください。

これでできた動画はmpeg4とmp3のaviですがこれをmpeg4+aacのmp4にするには下記のコマンドを実行します。ffmpegが必要です。

ffmpeg -y -i outputsample.avi -vcodec copy -acodec aac -ab 128k outputsample.mp4

ただしこれで作ったmp4がQuickTime Playerで表示できない場合があります。その場合は下記のコマンドでビデオもエンコードし直してください。

ffmpeg -y -i outputsample.avi -vcodec mpeg4 -qscale 9 -acodec aac -ab 128k outputsample.mp4

ffmpeg系の変換ソフトなら変換できそうなのでiSquint.appなどを使っても良いと思います。