为什么用ffmpeg渲染后文件大小没有减小?

问题描述

问题:使用ffmpeg渲染某些视频后,文件大小从4GB增加到6GB。
原始视频:EE1.mkv
FFMPEG命令:ffmpeg -i EE1.mkv -c:a copy -c:v libx264 -crf 23 -preset medium -profile:v high out.mp4
问题:为什么文件大小增加了?我在做什么错了?

!详细信息!
几年后,我制作了大约30个游戏视频(130 GB),在当前covid-19的情况下,我开始录制在线课程(大约40个视频或150 GB)。现在,由于我的1TB外部硬盘空间不足,我开始进入ffmpeg。在我只使用obs-studio而不是很好的记录参数之前。

我正在使用CBR模式进行记录,记录了5000KB或15000KB比特率以及不同的x264预设和配置文件,因为我也在试验它们。通常具有高调的超快预设。因此,我想使用ffmpeg,中等预设和高配置来转换所有带有CRF 23的视频。请注意,当我使用obs-studio进行录制时,设置为以matroska格式(.mkv)进行录制。

使用这些设置渲染在线课程视频时,我设法以相同的质量实现了10倍的压缩效果。而且,在渲染游戏视频时,我设法以相同的质量实现了高达3倍的更好压缩。但是,有一部视频使用相同的参数渲染时,文件大小会增加

EE1.mkv应该以{{1​​}} 15000KB的比特率进行记录,并具有超快的预设和高清晰度。此外,此视频中记录的游戏是CBR,要使其看起来不错,大约需要8000KB。不需要超过8000KB的所有内容

谢谢大家的帮助。

解决方法

我发现的解决问题的方法是:

  1. 首先,您需要知道要压缩的视频的目标比特率。
    在本例中,我通过使用 CRF 23 录制相同的游戏并查看它达到的比特率来做到这一点。
  2. 然后,我尝试使用不同的 CBR 值渲染 CRF 视频,并寻找与目标比特率达到相似比特率的那些值。

在本例中为 CRF 32。实际上这个过程很痛苦,所以我正在尝试学习 QP 速率控制,因为它可能比 CRF 更好。谈到ffmpeg,我还是个新手。此外,这种情况仅发生在我以 CBR 模式录制的某些视频以及当我尝试使用 CRF 呈现它们时。