web-dev-qa-db-ja.com

FFMpegがDVDを開くVOB chain?

私はFFMpegを初めて使用するので、これは馬鹿げた質問かもしれませんが、ドキュメントに回答が表示されません。

DVD vobファイルからフレームをデコードしたい。グループの最初のVOBを開くと問題なく動作しますが、ffmpegに次のVOBに進み、DVD上のすべてのVOBを読み取るように指示するにはどうすればよいですか?

VOBファイルがハードディスク上のフォルダにあります。

27
Sugrue

VOB形式は mpeg のサブセットであるため、mpegデータと同じように、読み取りたいVOBを連結することができます。

cat first.VOB second.VOB third.VOB | ffmpeg -i - outfile.mp4

巻き上げ Matt Gallagherのコメント 寿命/可視性を向上させる:

新しいバージョンのffmpegは、入力ファイルの演算子として連結をサポートしています。だからあなたは使うことができます... ffmpeg -i concat:VTS_01_0.VOB\|VTS_01_1.VOB\|VTS_01_2.VOB outfile.mp4

23
blahdiblah

Ffmpegs組み込みの連結機能を実際に使用できます。これは、私が探しているものだと思います。

ffmpeg -i "concat:$(echo *.VOB|tr \  \|)" -f mpeg -c copy -sn -y combined.mpg

参照: http://ffmpeg.org/trac/ffmpeg/wiki/How%20to%20concatenate%20(join、%20merge)%20media%20files

12
Justin Buser

組み込みの連結機能は* NIXベースであり、Windowsでは動作しませんでした。 Windowsの場合 VobMerge は関連するVOBファイルに参加するように機能しているようです(DVDのメインフィルムの場合、サイズが1GBから始まるセットのようです)。

補遺

VOBファイル コマンドラインから直接 を結合することもできます。

copy /b "vob1.vob" + "vob2.vob" + "vob3.vob" "voboutput.vob"

ファイル名にスペースが含まれていない場合は引用符を省略できますが、/bおよびすべての+の標識。

4
SharpC

windowsでは、連結を「リファクタリング」し、事前定義されたファイル名に依存しないようにしました。

copy /b  e:\VIDEO_TS\vts*.vob  temp.vob
ffmpeg -i temp.vob .... newfile.ogg

/ bは、バイナリコピーを意味します。それ以外の場合、改行などの扱いは異なります。

警告:

  • VOBムービーの一部ではないファイルが時々あり、どれがどれであるかを検出する自動化された方法を見つけることができませんでした
  • 低速のI/Oシステムでは、これにより非常に時間がかかります。一時ファイルの書き込みと読み取りには時間がかかります。
0
Berry Tsakala