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

ffmpeg将一个png转换为DNxHD

  •  1
  • bcvery1  · 技术社区  · 6 年前

    filter_complex 循环每个帧的PNG,但是这会导致非常大的文件。考虑到我可能要将几百个DNxHD文件合并成一个AAF文件,输出文件太大。

    我能对下面的命令做些什么改进来减少文件大小吗?

    ffmpeg -i INFILE.png -y -nostdin -an -vcodec dnxhd -pix_fmt yuv422p -vb 36M -framerate 24000/1001 -filter_complex loop=479:1:0 OUFILE.dnxhd

    我对ffmpeg不是很了解,这个命令是通过复制我在网上找到的部分命令来构造的。

    0 回复  |  直到 6 年前
        1
  •  -1
  •   Gyan    6 年前

    DNxHD是一种帧内编码的编解码器,即每个帧彼此独立地编码(因此可解码)。因此,在不改变码率等速率控制参数的情况下,不能减小系统的大小。

    顺便说一句,您的命令可以简化为

    ffmpeg -framerate 24000/1001 -loop 1 -t 20 -i IN.png -c:v dnxhd -pix_fmt yuv422p -b:v 36M OUT.dnxhd

    保存到原始流时,帧速率没有任何相关性( .dnxhd .mov . 从技术上讲,可以用两个帧构造MOV文件,第二个帧的时间戳向前20秒,但不确定工作流是否会按需要处理此类文件。