我想使用以下命令在Ubuntu上使用ffmpeg:
ffmpeg -i input_video -vf scale=w=320:h=-1 -y -vcodec libx264 -preset ultrafast -r 60 output_video
对于-r选项,文档说:
-r [:stream_specifier] fps(输入/输出,按流)
设置帧速率(Hz值,分数或缩写)。
作为输入选项,忽略存储在文件中的所有时间戳 相反,假设帧速率fps恒定,则生成时间戳。这是 与用于某些输入格式的-framerate选项不同 image2或v4l2(在旧版本的FFmpeg中它曾经是相同的)。 如果有疑问,请使用-framerate而不是输入选项-r。
作为输出选项,复制或删除输入帧来实现 恒定输出帧率fps。
我想使用输出选项。我怎样才能做到这一点?每个流选项的作用是什么(上面没有写入)?
第二,-vf scale=w=320:h=-1
选项将视频缩放到320并保持宽高比是否正确?
答案 0 :(得分:2)
我想使用
-r
输出选项。我怎么能这样做?
您的命令将其用作输出选项。选项的位置很重要,因为它确定了应用于输入或输出的内容:
ffmpeg [input options] -i input [output options] output
每个流选项的作用是什么(上面没有写入)?
“per-stream”表示可以使用stream specifiers多次声明此选项以应用于不同的流。由于输出中只有一个视频流,因此可以忽略它。
第二,
-vf scale=w=320:h=-1
选项将视频缩放到320并保持宽高比是否正确?
是的,但在使用libx264进行编码时,请考虑使用-2
而不是-1
。它做同样的事情,但确保结果可以被2整除,这是编码器所需的(有例外)。