我正在跟进
加快播放速度
https://trac.ffmpeg.org/wiki/How%20to%20speed%20up%20/%20slow%20down%20a%20video
但是,当我将播放速度提高 1.5 倍时,我预计视频的大小会减少到与/大约相同的水平,然而,这就是我得到的:
-rwxrwxr-x 1 me me 10000000 2021-10-10 16:56 original_video.mp4*
-rwxrwxr-x 1 me me 10060896 2022-01-02 16:27 speed_up_output.mkv*
即,文件大小更大。
是否可以加快播放速度并将视频大小减小到相同程度?
该链接中提到的大多数命令都会更改播放速度。为了减少帧数,您不一定需要改变播放速度。
mininterpolate 过滤器可以减少帧数,但这是一个相当有损的过程。
您可以每隔一帧丢帧,但大多数人会注意到帧速率低于 24 fps。
减少帧数将减少数据量。对于未压缩的视频,您可以期待线性相关性。 本文包括一些示例。请注意,这些图表是废话,因为 x-tics 分布不均匀。
在大多数最终用户场景中,都会使用压缩视频。H264 是一种广泛使用的压缩器。它使用差分又名。预测的帧。丢帧会干扰光流检测,使视频更难压缩(前提是您希望保持相同的每帧质量)。出于这个原因,降低帧速率将产生小于线性的文件大小减小。相关:https ://superuser.com/questions/283515/video-encoding-how-much-does-the-video-file-size-increase-with-fps
我刚刚尝试使用 ffmpeg 的抽取过滤器:
文件大小:
随着帧速率的降低,视频非常跳跃且难以观看。在我看来,完全被屠杀了。然而文件大小只减少了 12%。不划算。
对于大多数用例,保持帧数并降低每帧的图像质量要容易得多。
crf
是一个质量设置。数字越大意味着“压缩更多”。根据您所做的事情,切换到更高的配置文件也会有所帮助。降低几何分辨率也有帮助。如果可用,您可以使用更好的压缩器,例如 libx265。