【问题标题】:FFMPEG Error VC1 to X264 (maybe decoding VC1)FFMPEG 错误 VC1 到 X264(可能解码 VC1)
【发布时间】:2013-01-29 21:46:51
【问题描述】:

我在使用 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

【问题讨论】:

  • 遇到 ffmpeg 问题的第一步是从 git head 尝试 ffmpeg。由于开发如此活跃,您可能会遇到已经修复的错误。首选从源代码编译,但如果由于某种原因无法实现,请通过ffmpeg.org download 页面尝试最近的静态构建。
  • 你是对的...更新到最新版本...我总是从源代码编译。在我的帖子中相应地更改了 FFMPEG 的输出 --> ErrorMessage 的颜色已更改;-))
  • 作为输入选项(在-i 之前),尝试增加-analyzeduration(默认为5000000 [µs = 5 s])和-probesize(默认为5000000 [Mo])的值。如果文件不是太大,并且您的实际 ffmpeg 命令丢失,则示例将很有用。其他播放器(例如 Windows Media Player)能否正确播放该文件?
  • 我试过你提到的。正如预期的那样,输出变得更长但基本相同......只是相同的错误消息但更频繁。该文件是我从 Bluray(我已购买)复制的 1080p 戏剧电影。我尝试了几次“翻录”它并使用不同的方法...... VC1 文件总是可以的,并且可以与各种播放器一起播放。正如我在帖子中提到的......我认为 ffmpeg 使用的库(libavcodec)无法使用当前设置解码 VC1......或者根本无法解码。
  • 我对VC-1不是很熟悉,也没有样品。考虑在FFmpeg bug tracker 搜索或提交错误报告或功能请求。

标签: ffmpeg libavcodec vc1


【解决方案1】:

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

命令行:

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

问候

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-22
    • 2020-06-12
    • 1970-01-01
    • 2012-12-15
    • 1970-01-01
    • 1970-01-01
    • 2014-11-18
    • 2020-05-28
    相关资源
    最近更新 更多