我正在使用以下代码为音频/视频添加淡入效果,但最终的输出质量很差:
ffmpeg -i in.ts -filter_complex "[0:v]fade=t=in:st=0:d=3[v]; [0:a]afade=t=in:st=0:d=3[a]" -map "[v]" -map "[a]" output.ts
关于提高输出质量有什么建议吗?
答案1
使用更好的编码器
添加-c:v libx264
输出选项。这将使用编码器 libx264 输出 H.264 视频,而不是使用编码器 mpeg2video 输出 MPEG-2 视频,后者是 .ts 输出的默认编码器。
MPEG-2 视频是一种旧格式,mpeg2video 使用的默认比特率已不再适合典型的现代输入。如果您想要 MPEG-2 视频,则使用选项-b:v
设置比特率,或使用选项-q:v
(范围为 2-31)粗略设置质量。这些选项是互斥的,因此只能使用其中一个。
调整libx264码率控制方法
如果您不喜欢 libx264 的默认质量,您可以使用选项进行调整-crf
。范围是 0-51。0 表示无损。18 左右表示视觉无损。23 是默认值。51 表示质量最差。
或者如果您想要使用 ABR-b:v
并选择一个以位为单位的值,例如-b:v 4000k
。
这些选项是互斥的,因此只能使用其中一个。您没有提供任何要求或其他信息,所以我猜您应该使用-crf
。
有关详细信息,请参阅FFmpeg 维基:H.264。
答案2
在处理音频文件时遇到同样的问题。对我来说,最好的选择是先将音频文件转换为无损 .wav,完成所有需要做的事情,然后将它们转换回 .mp3 或其他有损格式。这是音频编辑应用程序中使用的方法,也是处理音频或视频文件最温和的方法