ffmpeg正确设置输出选项(-r)

时间:2018-03-25 00:07:09

标签: ffmpeg

我想使用以下命令在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并保持宽高比是否正确?

1 个答案:

答案 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整除,这是编码器所需的(有例外)。