端くれプログラマの備忘録 ffmpeg [ffmpeg] DVDのVOBデータをMP4ファイルに変換するには

[ffmpeg] DVDのVOBデータをMP4ファイルに変換するには

DVDの映像をMP4ファイルに保存する方法の覚え書き。自分で利用権を持ち、かつ、複製防止が施されていないDVDを前提としている。

パソコンでDVDの中身を見ると以下のようにVOBファイルがあったとする。

VTS_01_0.VOB 90,704KB 00:00:30
VTS_01_1.VOB 1,048,404KB 00:16:43
VTS_01_2.VOB 1,048,404KB 00:16:37
VTS_01_3.VOB 1,048,404KB 00:16:02
VTS_01_4.VOB 1,048,404KB 00:16:13
VTS_01_5.VOB 1,048,404KB 00:16:25
VTS_01_6.VOB 648,402KB 00:10:45

ここで、ファイル名のVTS_に続く2桁の数字がタイトル番号、その後に続く1桁の数字が連番。連番が0のファイルは特殊用途で、映像ではなくメニューのデータが格納されている。VOBの仕様ではファイルの最大サイズは1GBなので、この例では連番で1から6までの合計6ファイルに分割されて映像が格納されているわけ。連番0のファイルは不要とし、連番1から6までのVOBファイルを連結してMP4ファイルを作成しよう。

MPEG2エンコードのまま連結する (COPYコマンド使用)

VOBはMPEG2エンコードされた動画データ。1枚のDVDで動画サイズ(縦横サイズ)は全て同じなのでVOBファイルの属性は全て同じ、従って単純に連結してやるだけで1つの動画ファイルにできる。もしMPEG2エンコードのままで良ければ、再エンコードの必要無し。

ファイルの結合はWindowsのコマンドプロンプトを開いてCOPYコマンドを打ち込むだけ。バイナリファイルを指定する /b オプションを忘れずに。

copy /b VTS_01_1.VOB+VTS_01_2.VOB+VTS_01_3.VOB+VTS_01_4.VOB+VTS_01_5.VOB+VTS_01_6.VOB VTS.VOB

すると以下のファイルが作成される。

VTS.VOB 5,906,444KB 01:32:48

MPEG2を再生できるプレーヤーであれば問題なく再生されるはず。もし拡張子でファイル形式を識別するプレーヤーならば、拡張子をmpegに変更する必要があるかも。

MPEG2エンコードのまま結合する (ffmpeg使用)

上と同様のことをffmpegで行うならば以下のようする。

ffmpeg -i "concat:VTS_01_1.VOB|VTS_01_2.VOB|VTS_01_3.VOB|VTS_01_4.VOB|VTS_01_5.VOB|VTS_01_6.VOB" -target ntsc-dvd -vcodec copy -acodec copy VTS_01.mpeg

すると以下のファイルが作成される。

VTS_01.mpeg 5,905,232KB 01:32:48

映像と音声のエンコードは元ファイルのまま変更無し。再生時間は変わらないけど、ファイルサイズは僅かに違っている。

H.264エンコードしてMP4ファイルを作成する

もしiPhoneやiPadのようなモバイル端末に映像を入れたければ、エンコードをH.264に変更する必要あり。その際、画質にこだわらなければ、ビットレートを下げることでファイルサイズを小さくできる。

以下はビットレート1,500KbpsでのH.264エンコードする例。

ffmpeg -i "concat:VTS_01_1.VOB|VTS_01_2.VOB|VTS_01_3.VOB|VTS_01_4.VOB|VTS_01_5.VOB|VTS_01_6.VOB" -b:v 1500k -r 30 -vcodec h264 -strict -2 -acodec aac -ar 44100 -f mp4 VTS_01.mp4

すると以下のファイルが作成される。

VTS_01.mp4 1,117,510KB  01:32:48

通常DVD映像のビットレートは8Mbpsを超えているので、1.5Mbpsまで落とすとファイルサイズは20%ほどになる。1.5~3Mbpsだとネット配信されている中画質程度の動画品質と同等だから、モバイル端末で観る分にたぶん支障は無い。

参考サイト

VOB – Wikipedia, the free encyclopedia
http://en.wikipedia.org/wiki/VOB

DVD-Video – Wikipedia
http://ja.wikipedia.org/wiki/DVD-Video

MPEG-2 – Wikipedia
http://ja.wikipedia.org/wiki/MPEG-2

ffmpegを利用してDVDのVOBデータをAppleTVに最適なH.264エンコードのHD動画に変換する – blog.katsuma.tv
http://blog.katsuma.tv/2012/07/h264_movie_for_appletv_by_ffmpeg.html

DVDの動画をiPodに入れる手順のメモ | 武田史郎のウェブログ
http://shirotakeda.org/blog-ja/?p=698

kobapan @ wiki – FFmpeg/DVDをmpg動画ファイルに変換
http://www20.atwiki.jp/kobapan/pages/160.html