FFMpeg打开一个DVD VOB链?

Sug*_*rue 27 dvd ffmpeg vob

我是FFMpeg的新手,所以这可能是一个愚蠢的问题,但我没有在文档中看到答案.

我想解码DVD vob文件中的帧.打开组中的第一个VOB工作正常,但是如何告诉ffmpeg继续下一个VOB并读取DVD上的所有VOB?

我将VOB文件放在硬盘上的文件夹中.

bla*_*lah 24

VOB格式是mpeg的一个子集,因此您应该能够像调整数据一样组合要读取的VOB:通过将它们连接在一起.

cat first.VOB second.VOB third.VOB | ffmpeg -i - outfile.mp4
Run Code Online (Sandbox Code Playgroud)

提升Matt Gallagher关于提高寿命/能见度的评论:

较新版本的ffmpeg支持连接作为输入文件的运算符.所以你可以用......ffmpeg -i concat:VTS_01_0.VOB\|VTS_01_1.VOB\|VTS_01_2.VOB outfile.mp4

  • 较新版本的ffmpeg支持连接作为输入文件的运算符.所以你可以使用... ffmpeg -i concat:VTS_01_0.VOB\| VTS_01_1.VOB\| VTS_01_2.VOB outfile.mp4 (10认同)
  • 不.来自`cat`的连接输出直接通过管道传输到从stdin读取的`ffmpeg`.这就是`-i -`所表明的.速度应该没有区别. (3认同)
  • 在 Windows 命令提示符中,您还可以使用双引号来明确管道字符。否则,您将收到 VLC 错误。 (2认同)

Jus*_*ser 12

您实际上可以使用ffmpegs内置串联功能,这是我认为您正在寻找的:

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

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


Sha*_*rpC 5

内置的串联功能似乎是基于* NIX的,对我而言在Windows上不起作用。在Windows上,VobMerge似乎可以加入相关的VOB文件(对于DVD上的主要电影,该文件的大小似乎从1GB开始)。

附加物

您也可以直接从命令行在Windows中加入VOB文件:

copy /b "vob1.vob" + "vob2.vob" + "vob3.vob" "voboutput.vob"
Run Code Online (Sandbox Code Playgroud)

如果文件名中没有空格,则可以省略引号,但请务必记住/b+符号。