我有一个视频,一个屏幕录制:recording00.mp4。我用 FFmpeg 压缩了它:
ffmpeg -i recording00.mp4 -c:v -libx264 -pix_fmt yuv420p -crf 27 -preset veryslow output00.mp4
如果我再次用同样的参数压缩output00.mp4,会发生什么情况?
品质会下降吗?
文件大小会减小吗?
我之所以问这个问题,是因为这些录音是我在不同的日子录制的。我希望它们占用最少的磁盘空间,所以我在录制后立即对它们进行编码。当最后一个录制完成后,我用以下代码将它们连接起来:
ffmpeg -f concat -safe 0 -i list.txt -c copy whole.mp4
问题是文件之间应该有很多协同作用(真正相似或相同的帧),然而,whole.mp4 的大小大约是 outputxx.mp4 文件的总和。
我想过用第一个命令对它们重新编码,但我担心这会降低质量,因为我不确定这个 CRF 参数是相对值(相对于输入质量)还是绝对值。
我的意思是,如果它是相对的,那么最后是 60% * 60% = 36%,如果它是绝对的,那么即使我重新编码两次,它也会是 60%。(60% 只是一个虚构的质量衡量标准。)这个 CRF 是哪一个?
答案1
质量会下降
如果质量很重要,请避免重新编码。
文件大小会减小吗?
有可能。一些细节丢失了,但增加了编码伪影。
我不确定这个 CRF 参数是一个相对值(相对于输入质量)还是一个绝对值。
-crf
不考虑先前的值。输入被完全解码为原始视频,然后传递给编码器。