1

我正在使用 FFMPEG 将 VOB 文件转换为 MPEG2 ffmpeg -i file.vob -c copy out.mpg

它可以很好地转换视频,但音频不会在生成的文件上播放。我明白了

[mpeg @ 0x118afc0] max_analyze_duration 5000000 reached at 5005000

错误,但设置-analyzeduration为 9999999 或更高并不能消除错误。

我认为它正在正确读取流:

元数据:
  编码器:Lavf53.32.100
  流 #0:0:视频:mpeg2video,yuv420p,720x480 [SAR 8:9 DAR 4:3],q=2-31,
                      6124 kb/s,29.97 fps,90k tbn,29.97 tbc
  流 #0:1:音频:ac3,48000 Hz,立体声,256 kb/s`

这是我的安装信息

ffmpeg 版本 0.10.6 版权所有 (c) 2000-2012 FFmpeg 开发者
使用 gcc 4.4.6 20110731 (Red Hat 4.4.6-3) 于 2012 年 12 月 11 日 23:58:43 构建
配置: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg
--incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man
--arch=x86_64 --extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
-fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic'
--enable-bzlib --disable-crystalhd --enable-gnutls --enable-libass
--enable-libcdio --enable-libcelt --enable-libdc1394 --disable-indev=jack
--enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-openal
--enable-libopenjpeg --enable-libpulse --enable-librtmp --enable-libschroedinger
--enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2
--enable-libx264 --enable-libxvid --enable-x11grab --enable-avfilter
--enable-postproc --enable-pthreads --disable-static --enable-shared
--enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64
--enable-runtime-cpudetect
libavutil 51. 35.100 / 51. 35.100
libavcodec 53. 61.100 / 53. 61.100
libavformat 53. 32.100 / 53. 32.100
libav 设备 53. 4.100 / 53. 4.100
libavfilter 2. 61.100 / 2. 61.100
libswscale 2. 1.100 / 2. 1.100
libswresample 0. 6.100 / 0. 6.100
libpostproc 52. 0.100 / 52. 0.100
4

1 回答 1

6
流 #0:1:音频:ac3,48000 Hz,立体声,256 kb/s

您正在尝试将 AC3 流混合到 MPEG 容器中。你 不能这样做。你可以使用不同的容器

ffmpeg -i file.vob -c copy out.mkv

或者也许允许 FFmpeg 对音频进行转码

ffmpeg -i file.vob -c:v copy out.mpg
于 2013-05-01T18:26:17.377 回答