如果视频需要多次重新编码,ffmpeg
因为它需要对其进行多次更改,例如裁剪、调整大小、转换、编译(连接)、再次转换等......那么使用编码预设(例如ultrafast
在所有重新编码过程中直到最后一次重新编码)然后使用类似slow
或之类的东西是不是最明智的veryslow
?
slow
这样做与一直重新编码完全相同veryslow
,唯一的区别是前者浪费了我的时间,而后者则有效地利用了我的时间。我说得对吗?
或者说这样做会降低品质吗?
答案1
您错了。
每一个使用“快速”预设进行编码的阶段会比使用慢速预设进行相同过程的质量损失更大。每个阶段的损失将累积到一定程度,以至于您的方法与使用较慢预设的完整运行之间会存在一些(可能非常显著)的差异。
该问题被称为发电损失。当您以较低质量(更快的预设)运行每一代时,您将在每一代中丢失更多数据。在最后的慢速阶段,文件大小可能相似,特别是如果您使用基于质量的设置,但这意味着它会更努力地“忠实于”给定的输入。它实际上是在更努力地重现早期阶段引入的噪音和质量损失。
如果您正在进行多阶段转换,那么在速度和质量方面,您最好从第一阶段转换为未压缩的输出,对未压缩的视频进行所有处理,然后进行最后的压缩阶段。
否则,您应该尝试在一次运行程序时执行尽可能多的视频转换步骤。我相信ffmpeg
可以将裁剪、调整大小和转换链接为一个步骤,这样您只会遭受一步生成损失。
文件大小相同或相似几乎没有任何意义,您已经在早期运行中丢弃了更多的视觉保真度,并且无法恢复。