代码之家  ›  专栏  ›  技术社区  ›  Kapa11

ffmpeg-将一系列图像转换为视频(Ubuntu)

  •  1
  • Kapa11  · 技术社区  · 8 年前

    我的照片名字是

    pic_0_new.jpg
    pic_10_new.jpg
    pic_20_new.jpg
    ...
    pic_1050_new.jpg
    

    我想把它变成一个视频(Ubuntuffmpeg)。我尝试了以下方法

    ffmpeg -start_number 0 -i pic_%d_new.jpg -vcodec mpeg4 test.avi 
    

    但我不知道如何设置步骤大小和结束编号。怎么做?

    感谢您的帮助:)

    1 回复  |  直到 7 年前
        1
  •  1
  •   Gergely Lukacsy    7 年前

    如果您的文件是以前导零命名的,那么您可以使用内置的globbing功能。如果不是(像你的),你可以创建一个文件列表并提供它作为输入,就像 explained here .

    您需要设置的另一件事是输入帧速率,它告诉ffmpeg图像的帧速率应该是什么(请注意,该选项位于 -i 输入选项)。

    所以命令应该如下所示:

        ffmpeg -framerate 25 -i pic_%04d_new.jpg <encoding_settings> test.avi
    

    还要注意,您可以对带有或不带前导零的文件使用扩展名(感谢@gyan指出它):

    • 匹配常规编号的文件: %d (这是你正在使用的)

      img_%d.png // This will match files with any number as a postfix starting from img_0.png
      
    • 匹配前导零: %0<number_of_digits>d

      img_%03d.png // This will match files ranging from img_000.png to img_999.png
      

    此外,MPEG4/AVI并不是最方便使用的编码器/容器…