使用ffmpeg使用每N个编号绘制的图像(.png)制作视频(.mp4)

时间:2019-04-03 18:20:12

标签: python ffmpeg

我有一个图像文件,格式从10000开始,每500步,如下所示"Qen_10000.png, Qen_10500.png, Qen_11000.png, Qen_11500.png..."Qen_80500.png

我想将它们结合起来制作一个视频.mp4

我尝试过ffmpeg -r 5 -i Qen_%1d000.png video.mp4和其他一些组合,但仅每10000个编号就有一次。

我也尝试了ffmpeg -start_number 10000....,但显示了无法识别的选项。

/usr/bin/ffmpeg -start_number 10000 -r 1 -i   Qen_distribution_*.png  video.mp4
    FFmpeg version 0.6.5, Copyright (c) 2000-2010 the FFmpeg developers
      built on Jan 29 2012 23:55:02 with gcc 4.1.2 20080704 (Red Hat 4.1.2-51)
      configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --incdir=/usr/include --disable-avisynth --extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fPIC' --enable-avfilter --enable-avfilter-lavf --enable-libdirac --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-libgsm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-gpl --enable-nonfree --enable-postproc --enable-pthreads --enable-shared --enable-swscale --enable-vdpau --enable-version3 --enable-x11grab
      libavutil     50.15. 1 / 50.15. 1
      libavcodec    52.72. 2 / 52.72. 2
      libavformat   52.64. 2 / 52.64. 2
      libavdevice   52. 2. 0 / 52. 2. 0
      libavfilter    1.19. 0 /  1.19. 0
      libswscale     0.11. 0 /  0.11. 0
      libpostproc   51. 2. 0 / 51. 2. 0
Unrecognized option 'start_number'

请提出一些选择。谢谢。

2 个答案:

答案 0 :(得分:0)

尝试使用-pattern_type glob。像这样:

ffmpeg -r 5 -pattern_type glob -i "Qen_*.png" video.mp4

-i参数周围的引号对于防止外壳扩展glob(而不是ffmpeg)很重要。

您可以在wikibooks about ffmpeg

中详细了解glob和文件顺序

答案 1 :(得分:0)

  1. 您的ffmpeg非常老。您应该更新。 compiledownload,然后将其放入/usr/local/bin

  2. 使用image file demuxer文档中所述的全局模式。

    ffmpeg -framerate 5 -pattern_type glob -i "*.png" -r 25 -vf format=yuv420p -movflags +faststart output.mp4
    
    • 某些玩家可能会拒绝播放如此低的帧频。在这种情况下,请增加-framerate的值,或添加-r 25(或对您的播放器有效的任何值)作为输出选项。

    • 使用图像文件多路分配器时,使用-framerate代替-r来输入帧速率。

    • 输出yuv420p像素格式以实现兼容性。

    • 如果通过渐进式下载演示视频,请添加-movflags +faststart

    • 如果获得not divisible by 2,则添加比例过滤器:"scale=trunc(in_w/2)*2:trunc(in_h/2)*2,format=yuv420p"