我试图更好地理解FFmpeg帧率。
示例:如果我想将30 fps
视频转换为23.976 fps
。
选项
-framerate 24000/1001
选项
-r 24000/1001
过滤器
-vf "fps=24000/1001"
x265参数
-x265-params "fps=24000/1001"
-framerate
是图像序列fps(输入视频fps?)
-vf "fps="
正在编码fps
-r
的输出为fps
但是我不知道这是否正确,或者它是否会根据您将它们放置在选项中的顺序而改变。
-x265-params "fps="
是否需要使用其自己的fps参数?可以不使用默认选项吗?
应该合并多个选项,过滤器和参数,还是只使用一个?
输入/输出帧率
https://ffmpeg.org/ffmpeg.html#toc-Video-Options
-r[:stream_specifier] fps (input/output,per-stream)
If in doubt use -framerate instead of the input option -r.
-r
是输入还是输出?如何通过在-i
之前或之后进行指定?
答案 0 :(得分:3)
-framerate
是每个文件的输入选项。它用于没有定义帧速率或PTS的输入格式,例如图像序列。
-r
可以是输入或输出选项。作为输入选项,它以该速率重新定时输入帧。作为输出选项,它将复制或丢弃帧以达到给定速率(请注意,如果输出格式接受可变帧速率,则不会复制帧)。输出r
也是“编码率”。如果未指定,则它是从输入速率继承的,无论是手动设置还是更改,还是流的固有属性。
fps
过滤器允许您通过删除或复制帧以达到给定速率来更改流的帧率,同时进行过滤。它会覆盖输入的流速率。它的主要用途是在将流与其他流组合或进一步过滤之前对其进行操作。
-x265-params fps
是x265编码器的私有属性。其主要目的是为速率控制的目的发信号通知每个帧的持续时间。像x264 / 5这样的编码器将更多的比特分配给显示时间更长的帧。它实际上并不会改变帧速率,帧数或帧持续时间。