在ffmpeg中'-s'和'-vf scale ='之间有什么不同,特别是在双通道转码中?

Dra*_*uan 2 ffmpeg

在ffmpeg中'-s'和'-vf scale ='之间有什么不同?

对于ffmpeg中的两遍转码,那么差异或影响是什么呢?

llo*_*gan 9

输出应该没有区别

使用md5 muxer进行比较.

-s

$ ffmpeg -i input -an -s 640x360 -f md5 -
...
MD5=6280d86947e18d6633f4eddc299cf8a4
Run Code Online (Sandbox Code Playgroud)

-vf scale

$ ffmpeg -i input -an -vf scale=640:360 -f md5 -
...
MD5=6280d86947e18d6633f4eddc299cf8a4
Run Code Online (Sandbox Code Playgroud)

我相信-s映射到scale但我不完全确定并且没有查看源代码以找出答案.


使用scale代替的优势-s

  • 您可以将其与其他过滤器一起使用,并准确确定过滤器图中您希望缩放发生的位置.

  • 它更灵活,因为您可以使用其他选项和表达式.

  • 您可以声明一个维度,并scale可以在保留纵横比的同时自动确定另一个维度:scale=640:-1.

有关详细信息,请参阅FFmpeg比例视频过滤器文档.