Linuxで作るDVD-Video・多重化されたMPEG-2ファイルを作る

DVD-Video規格外の動画をDVD-Video規格の動画に変換する方法。
調べてみると何通りもあったが、その中で使えそうな方法だけメモ。


準備・DVD-Videoの規格を知る

Wikipediaよりメモ。
特に気にする所だけ抜粋。

★解像度
  • 720x480 or 704x480 or 352x480 or 352x240
★多重化ストリーム
  • 符号化方式:MPEG2プログラムストリーム

MPEG2-PSとも表記される。
この方法で多重化しろという事。

  • 最大多重化レート:10.08Mbps

映像と音声のビットレートの合計がこれを越えるなという意味。

★映像ストリーム
  • 符号化方式:MPEG1/MPEG2
  • 最大レート MPEG2:9.80Mbps以下

MPEG2の映像ビットレートはこれを越えるなという意味。

★音声ストリーム
  • 符号化方式:リニアPCM/Dollby Digital(AC-3)/MPEG1オーディオ/MPEG2オーディオ
  • Dolby Digital(AC-3):48kHz/圧縮/488kbps/5.1ch

サンプリング周波数は48kHzで固定。
MPEG2オーディオでもいいけど音が出ない事があるらしい。

多重化させる方法

Avidemuxを使う

VideoとAudioの設定をDVD-Videoの規格に合うように設定する。
とりあえず、Videoを「DVD(lavc)」、Audioを「FFm AC3」、Formatを「MPEG PS A+V」にする。
さらにConfigureで細かく設定する。
編集も出来るので、いらない部分をカットしたりする。
動画編集と設定が終われば、「保存」でDVD-Video形式に変換されたファイルが保存される。


グラフィカルで簡単に操作できる点がいい。

ffmpegを使う

オプションに「-target dvd」を付けるとDVD-Video形式になる。
他のオプションを規格内におさまる様に指定する。

$ ffmpeg -y -i input.avi -target dvd \
-vcodec mpeg2video -b 6000k -maxrate 8000k \
-r 29.97 -aspect 16:9 -s 720x480 \
-acodec ac3 -ac 2 -ab 192 output.mpg
★mpgtxを使う

多重化してないMPEG2ファイルならこれが使える。
元のファイルがMPEG2でないと使えないのが欠点。

$ mpgtx -f -d input.mpg -b output
$ mplex -f 8 -o hoge.mpg output-0.m2v output-0.mp2