4

下午好。

我一直在尝试使用 ffmpeg 将 .mpeg 拆分为一系列 .jpeg 图像。请注意,这是此处指定的问题的逆问题,但我面临的问题与该线程的作者面临的问题不同。

具体来说,我已经在我的 ffmpeg 安装中尝试了以下所有可用的 mpeg 编解码器:

DEV D  ffv1            FFmpeg video codec #1
DEVSD  ffvhuff         Huffyuv FFmpeg variant
DEVSDT mpeg1video      MPEG-1 video
D V DT mpeg1video_vdpau MPEG-1 video (VDPAU acceleration)
D V D  mpeg2_crystalhd MPEG-2 Video (CrystalHD acceleration)
DEVSDT mpeg2video      MPEG-2 video
DEVSDT mpeg4           MPEG-4 part 2
D V D  mpeg4_crystalhd MPEG-4 Part 2 (CrystalHD acceleration)
D V DT mpeg4_vdpau     MPEG-4 part 2 (VDPAU)
D VSDT mpegvideo       MPEG-1 video
D V DT mpegvideo_vdpau MPEG-1/2 video (VDPAU acceleration)
D VSDT mpegvideo_xvmc  MPEG-1/2 video XvMC (X-Video Motion Compensation)
DEVSD  msmpeg4         MPEG-4 part 2 Microsoft variant version 3
D V D  msmpeg4_crystalhd MPEG-4 Part 2 Microsoft variant version 3 (CrystalHD acceleration)
D VSD  msmpeg4v1       MPEG-4 part 2 Microsoft variant version 1
DEVSD  msmpeg4v2       MPEG-4 part 2 Microsoft variant version 2

我尝试为 ffmpeg 提供所有不同的编解码器,以尝试使用 -vcodec 选项将具有 2548 帧的输入 .mpeg 视频文件拆分为 2548 个 .jpeg:

ffmpeg -r 2548 -i frames.mpeg frames_%06d.jpg -vcodec $codec

$codec上面列出的编解码器在哪里,例如ffv1mpeg4等。但是,我所有的努力都会导致以下错误:

[NULL @ 0x1948f20] Value 4707126720094797824.000000 for parameter 'probesize' out of range
[NULL @ 0x1948f20] Value 4707126720094797824.000000 for parameter 'analyzeduration' out of range
[NULL @ 0x1948f20] Value 4697254411347427328.000000 for parameter 'indexmem' out of range
[NULL @ 0x1948f20] Value 4703785510416416768.000000 for parameter 'rtbufsize' out of range
[NULL @ 0x1948f20] Value -4616189618054758400.000000 for parameter 'fpsprobesize' out of range
[NULL @ 0x1948f20] Value 4607182418800017408.000000 for parameter 'f_err_detect' out of     range
[NULL @ 0x1948f20] Value 4607182418800017408.000000 for parameter 'err_detect' out of range
Option framerate not found.  

这很奇怪,因为我实际上已经通过 -r 开关指定了帧速率参数。我用谷歌搜索了一下,似乎大约一年半前在 ffmpeg 错误跟踪器上提到了这个错误,但这些信息对我来说意义不大,因为它与开发人员有关。奇怪的是,如果我交换参数的位置并将 -r 放在 -i 甚至 -vcodec 之后,错误消息将变为:

[NULL @ 0x24abf20] Value 4707126720094797824.000000 for parameter 'probesize' out of range
[NULL @ 0x24abf20] Value 4707126720094797824.000000 for parameter 'analyzeduration' out of range
[NULL @ 0x24abf20] Value 4697254411347427328.000000 for parameter 'indexmem' out of range
[NULL @ 0x24abf20] Value 4703785510416416768.000000 for parameter 'rtbufsize' out of range
[NULL @ 0x24abf20] Value -4616189618054758400.000000 for parameter 'fpsprobesize' out of  range
[NULL @ 0x24abf20] Value 4607182418800017408.000000 for parameter 'f_err_detect' out of  range
[NULL @ 0x24abf20] Value 4607182418800017408.000000 for parameter 'err_detect' out of range
[NULL @ 0x24b23c0] Value 4686111960511545344.000000 for parameter 'b' out of range
[NULL @ 0x24b23c0] Value 4683532506232782848.000000 for parameter 'ab' out of range
[NULL @ 0x24b23c0] Value 4705844345939427328.000000 for parameter 'bt' out of range
[NULL @ 0x24b23c0] Value 4617315517961601024.000000 for parameter 'me_method' out of range
[NULL @ 0x24b23c0] Value 4622945017495814144.000000 for parameter 'g' out of range
[NULL @ 0x24b23c0] Value 4611686018427387904.000000 for parameter 'qmin' out of range
[NULL @ 0x24b23c0] Value 4629418941960159232.000000 for parameter 'qmax' out of range
[NULL @ 0x24b23c0] Value 4613937818241073152.000000 for parameter 'qdiff' out of range
[NULL @ 0x24b23c0] Value -4616189618054758400.000000 for parameter 'wpredp' out of range
[NULL @ 0x24b23c0] Value 4607182418800017408.000000 for parameter 'bug' out of range
[NULL @ 0x24b23c0] Value 4607182418800017408.000000 for parameter 'er' out of range
[NULL @ 0x24b23c0] Value 4607182418800017408.000000 for parameter 'err_detect' out of range
[NULL @ 0x24b23c0] Value 4613937818241073152.000000 for parameter 'ec' out of range
[NULL @ 0x24b23c0] Value 4620693217682128896.000000 for parameter 'ildctcmp' out of range
[NULL @ 0x24b23c0] Value 4620693217682128896.000000 for parameter 'subq' out of range
[NULL @ 0x24b23c0] Value 4696837138094751744.000000 for parameter 'ibias' out of range
[NULL @ 0x24b23c0] Value 4696837138094751744.000000 for parameter 'pbias' out of range
[NULL @ 0x24b23c0] Value 4642507528377204736.000000 for parameter 'lmin' out of range
[NULL @ 0x24b23c0] Value 4660262442142531584.000000 for parameter 'lmax' out of range
[NULL @ 0x24b23c0] Value 4696130710463840256.000000 for parameter 'flags2' out of range
[NULL @ 0x24b23c0] Value 4607182418800017408.000000 for parameter 'threads' out of range
[NULL @ 0x24b23c0] Value 4620693217682128896.000000 for parameter 'nssew' out of range
[NULL @ 0x24b23c0] Value -4586705114244317184.000000 for parameter 'profile' out of range
[NULL @ 0x24b23c0] Value -4586705114244317184.000000 for parameter 'level' out of range
[NULL @ 0x24b23c0] Value 4623507967449235456.000000 for parameter 'skipcmp' out of range
[NULL @ 0x24b23c0] Value 4642507528377204736.000000 for parameter 'mblmin' out of range
[NULL @ 0x24b23c0] Value 4660262442142531584.000000 for parameter 'mblmax' out of range
[NULL @ 0x24b23c0] Value 4643211215818981376.000000 for parameter 'mepc' out of range
[NULL @ 0x24b23c0] Value 4607182418800017408.000000 for parameter 'bidir_refine' out of range
[NULL @ 0x24b23c0] Value -4616189618054758400.000000 for parameter 'cqp' out of range
[NULL @ 0x24b23c0] Value 4627730092099895296.000000 for parameter 'keyint_min' out of range
[NULL @ 0x24b23c0] Value 4607182418800017408.000000 for parameter 'refs' out of range
[NULL @ 0x24b23c0] Value -4616189618054758400.000000 for parameter 'directpred' out of range
[NULL @ 0x24b23c0] Value 4618441417868443648.000000 for parameter 'sc_factor' out of range
[NULL @ 0x24b23c0] Value 4643211215818981376.000000 for parameter 'mv0_threshold' out of range
[NULL @ 0x24b23c0] Value 4630826316843712512.000000 for parameter 'b_sensitivity' out of range
[NULL @ 0x24b23c0] Value -4616189618054758400.000000 for parameter 'compression_level' out of range
[NULL @ 0x24b23c0] Value -4616189618054758400.000000 for parameter 'min_prediction_order' out of range
[NULL @ 0x24b23c0] Value -4616189618054758400.000000 for parameter 'max_prediction_order' out of range
[NULL @ 0x24b23c0] Value -4616189618054758400.000000 for parameter 'prediction_order_method' out of range
[NULL @ 0x24b23c0] Value -4616189618054758400.000000 for parameter 'min_partition_order' out of range
[NULL @ 0x24b23c0] Value -4616189618054758400.000000 for parameter 'max_partition_order' out of range
[NULL @ 0x24b23c0] Value 4607182418800017408.000000 for parameter 'ticks_per_frame' out of range
[NULL @ 0x24b23c0] Value 4611686018427387904.000000 for parameter 'color_primaries' out of range
[NULL @ 0x24b23c0] Value 4611686018427387904.000000 for parameter 'color_trc' out of range
[NULL @ 0x24b23c0] Value 4611686018427387904.000000 for parameter 'colorspace' out of range
[NULL @ 0x24b23c0] Value -4616189618054758400.000000 for parameter 'aq_mode' out of range
[NULL @ 0x24b23c0] Value -4616189618054758400.000000 for parameter 'rc_lookahead' out of range
[NULL @ 0x24b23c0] Value -4616189618054758400.000000 for parameter 'lpc_type' out of range
[NULL @ 0x24b23c0] Value -4616189618054758400.000000 for parameter 'lpc_passes' out of range
[NULL @ 0x24b23c0] Value 4613937818241073152.000000 for parameter 'thread_type' out of range
[NULL @ 0x24b23c0] Value -4616189618054758400.000000 for parameter 'request_sample_fmt' out of range
frames.mpeg: could not find codec parameters

我不知道如何处理这个问题,正在寻求一些帮助。

亲切的问候,

杰森

4

3 回答 3

3

我发现这有什么问题,这与我的 debian 安装有关。我建议所有 debian 用户按照相关网站上的说明将 deb-multimedia 存储库安装到他们的系统中。这对我有用,因为在我添加该存储库并进行 aptitude update/safe-upgrade 之后,ffmpeg 和一堆其他库都会自动更新。

标记这个解决了。

杰森

于 2013-07-16T21:49:33.937 回答
2

如果您需要将视频转换为图像序列,则只需使用 cmd 行,如

 ffmpeg -i frames.mpeg frames_%06d.jpg 

-r 选项仅在您想每秒转储帧的子集时才有意义(低于 10 fos)

 ffmpeg -i frames.mpeg -r 10  frames_%06d.jpg

但如果问题仍然存在,则看起来解码器在视频基本流本身中报告错误。要检查这一点,请使用 ffplay 查看它是否解码......

于 2013-07-16T20:27:20.220 回答
0

对我来说,这意味着我正在配置 ffmpeg,例如“./configure --disable-everything”,然后不添加单个解复用器。看图。所以这过去了:--disable-everything --enable-demuxer=image2

于 2018-11-29T05:45:50.463 回答