1

使用 FFMPEG 进行转码时遇到以下错误。在我看来,这是解码 VC1 格式的错误,实际上与我要转码的目标格式 (x264) 无关。

我跟踪到这个源文件的错误:

http://cekirdek.pardus.org.tr/~ismail/ffmpeg-docs/vc1_8c-source.html

但我不知道如何将配置文件设置为一个值!=简单。

FFMPEG 输出:

ffmpeg version 1.1 Copyright (c) 2000-2013 the FFmpeg developers
  built on Jan 16 2013 22:52:43 with gcc 4.6.3 (Gentoo 4.6.3 p1.10, pie-0.5.2)
  configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --enable-shared --cc=x86_64-pc-linux-gnu-gcc --cxx=x86_64-pc-linux-gnu-g++ --ar=x86_64-pc-linux-gnu-ar --optflags='-O2 -march=native -pipe' --extra-cflags='-O2 -march=native -pipe' --extra-cxxflags='-O2 -march=native -pipe' --disable-static --enable-gpl --enable-postproc --enable-avfilter --disable-stripping --disable-debug --disable-doc --disable-network --disable-vaapi --disable-vdpau --disable-ffplay --disable-runtime-cpudetect --enable-libx264 --disable-indev=v4l2 --disable-indev=alsa --disable-indev=oss --disable-indev=jack --disable-outdev=alsa --disable-outdev=oss --disable-outdev=sdl --enable-libfreetype --disable-amd3dnow --disable-amd3dnowext --disable-altivec --disable-avx --disable-mmxext --disable-vis --disable-neon --cpu=host --enable-hardcoded-tables
  libavutil      52. 13.100 / 52. 13.100
  libavcodec     54. 86.100 / 54. 86.100
  libavformat    54. 59.106 / 54. 59.106
  libavdevice    54.  3.102 / 54.  3.102
  libavfilter     3. 32.100 /  3. 32.100
  libswscale      2.  1.103 /  2.  1.103
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  2.100 / 52.  2.100
[NULL @ 0x1f99a90] LOOPFILTER shall not be enabled in Simple Profile
[NULL @ 0x1f99a90] FASTUVMC unavailable in Simple Profile
[NULL @ 0x1f99a90] Old interlaced mode is not supported
[NULL @ 0x1f99a90] Old WMV3 version detected, some frames may be decoded incorrectly
[NULL @ 0x1f99a90] Old interlaced mode is not supported
[NULL @ 0x1f99a90] FASTUVMC unavailable in Simple Profile
[NULL @ 0x1f99a90] LOOPFILTER shall not be enabled in Simple Profile
[NULL @ 0x1f99a90] FASTUVMC unavailable in Simple Profile
[NULL @ 0x1f99a90] LOOPFILTER shall not be enabled in Simple Profile
[NULL @ 0x1f99a90] FASTUVMC unavailable in Simple Profile
Last message repeated 1 times
[NULL @ 0x1f99a90] LOOPFILTER shall not be enabled in Simple Profile
[NULL @ 0x1f99a90] FASTUVMC unavailable in Simple Profile
[NULL @ 0x1f99a90] LOOPFILTER shall not be enabled in Simple Profile
[NULL @ 0x1f99a90] FASTUVMC unavailable in Simple Profile
Last message repeated 1 times
======
---> This goes on forever ... skipped
======
[NULL @ 0x1f99a90] FASTUVMC unavailable in Simple Profile
[NULL @ 0x1f99a90] LOOPFILTER shall not be enabled in Simple Profile
[NULL @ 0x1f99a90] FASTUVMC unavailable in Simple Profile
[NULL @ 0x1f99a90] Chroma scaling is not supported, expect wrong picture
[NULL @ 0x1f99a90] LOOPFILTER shall not be enabled in Simple Profile
[NULL @ 0x1f99a90] FASTUVMC unavailable in Simple Profile
[NULL @ 0x1f99a90] LOOPFILTER shall not be enabled in Simple Profile
[NULL @ 0x1f99a90] FASTUVMC unavailable in Simple Profile
[NULL @ 0x1f99a90] LOOPFILTER shall not be enabled in Simple Profile
[vc1 @ 0x1f93760] max_analyze_duration 5000000 reached at 5000000
[vc1 @ 0x1f93760] Could not find codec parameters for stream 0 (Video: vc1): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[vc1 @ 0x1f93760] Estimating duration from bitrate, this may be inaccurate
test.vc1: could not find codec parameters

这是我使用的 CMD 行... xD 基本上我剥离了所有内容(与编解码器相关和与质量相关),因为无论我通过什么都会发生错误...

ffmpeg -i test.vc1 test.mkv
4

1 回答 1

1

实际上,我通过在将原始 VC1-stream 传递给 ffmpeg 之前将其移动到容器中来解决了这个问题。我使用了 mkv,但我认为其他一些容器也可以工作......

命令行:

mkvmerge -o temp.mkv source.vc1
ffmpeg -i temp.mkv output.mkv

问候

于 2013-01-29T13:46:51.933 回答