エンコードせず、複数音声や字幕もそのままにTSファイルを作成。
Streamの確認
まずはどのStreamに動画、音声、字幕が入っているか確認する。
ffmpeg -i INPUT.vob
字幕が表示されない場合は、-probesize
とかを入れる。
ffmpeg -probesize 50M -analyzeduration 50M -i INPUT.vob
-probesize 50M
で先頭から50MBまで、-analyzeduration 50M
で先頭から50秒まで、どちらかが先に達するまで解析する。
変換
以下で変換。
ffmpeg -probesize 50M -analyzeduration 50M -palette "ffffff,000000,ffffff,000000" `
-i INPUT.VOB `
-map 0:1 -map 0:2 -map 0:3 -map 0:4 -map 0:5 `
-c:v copy `
-c:a:0 copy -metadata:s:a:0 language=jpn `
-c:a:1 copy -metadata:s:a:1 language=eng `
-c:s:0 dvbsub -metadata:s:s:0 language=jpn `
-c:s:1 dvbsub -metadata:s:s:1 language=eng `
OUTPUT.ts
-palette
で字幕の色を指定(色はIFOファイルに保存されており、VOBファイルから分からないため)。"ffffff,000000,ffffff,000000"
は、順に1つ目の字幕のfont color、outline color、2つ目の字幕のfont color、outline colorに対応。
TODO
字幕について以下の改善方法を検討中。
- 位置が上過ぎる
- VLCメディアプレーヤーでしか表示できない
参考URL
https://trac.ffmpeg.https://trac.ffmpeg.org/wiki/ExtractSubtitlesorg/wiki/Map
http://fftest33.blog.fc2.com/blog-entry-109.html
https://dev.classmethod.jp/tool/add-audio-and-subtitle-to-video-with-ffmpeg/
https://wiki.videolan.org/subtitles
https://trac.ffmpeg.org/ticket/4047