You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用FFmpeg的H.264编码实现类似Google Drive的视频压缩?

背景

我有大量手机拍摄的视频,占用了大量存储空间。最近我发现,将视频上传至Google Drive后,用IDM下载(点击IDM检测到可下载内容时弹出的窗口),下载后的视频画质几乎不变,但占用空间大幅减少。经研究得知,Google采用H.264编码对上传视频重新编码,我认为可以用FFmpeg实现类似压缩效果。

问题

我尝试了多种FFmpeg命令,却无法复刻Google Drive的压缩效果。仅使用-codec:v libx264参数时,输出视频体积比原文件还大。

调高-crf参数并选择更快的-preset选项虽能缩小文件体积,但会导致画质明显下降,还出现可见的视频伪影。

而Google Drive的处理能在保证画质清晰的同时实现理想的文件大小(注:放大视频时虽有轻微模糊,但在可接受范围内)。

说明

我知道用H.265编码器替代H.264可能效果更好,但为保证公平性、避免偏差,我认为应先找到基于H.264编码器的最佳命令,之后再将-codec:v libx264替换为-codec:v libx265,确保所选命令是FFmpeg的最优方案,而非单纯依赖H.265的性能优势。

我目前使用的FFmpeg命令如下:

ffmpeg -hide_banner -loglevel verbose ^
    -i input.mp4 ^
    -codec:v libx264 ^
    -crf 36 -preset ultrafast ^
    -codec:a libopus -b:a 112k ^
    -movflags use_metadata_tags+faststart -map_metadata 0 ^
    output.mp4
视频文件大小(字节)比特率(bps)编码器FFPROB - JSON
原文件(名为'raw 1.mp4')31,666,77710,314,710!!!原链接已移除
无crf参数36,251,85211,805,216Lavf60.3.100原链接已移除
含crf参数10,179,1133,314,772Lavf60.3.100原链接已移除
Google Drive处理后6,726,1892,190,342Google原链接已移除

上述文件可在指定文件夹中找到(原链接已移除)。

更新

我继续用视频"raw_1.mp4"做实验,得到的结果与某博客文章中的结果相似(推荐参考某Super User回答)。

在实验图表中,我发现将-preset设为veryfast时效果最佳,能在压缩比与压缩时间间取得最优平衡(注:压缩率为负值表示处理后文件体积增大):

原动图链接已移除,内容为不同preset参数下压缩比与处理时间的对比曲线

在另一实验图表中,我使用H.264编码器,对比了7种不同-crf参数值(CRF值:25、27、29、31、33、35、37)对应的输出文件压缩比:

原图片链接已移除,内容为H.264编码器下不同CRF值对应的压缩比柱状图

在第三张实验图表中,我将编码器切换为H.265,使用与上一图相同的CRF值:

原图片链接已移除,内容为H.265编码器下不同CRF值对应的压缩比柱状图

基于这些结果,我目前偏好将FFmpeg的-preset设为veryfast、-crf设为31,除非被证明不是最优选择。对应的FFmpeg命令如下:

ffmpeg -hide_banner -loglevel verbose ^
    -i input.mp4 ^
    -codec:v libx264 ^
    -crf 31 -preset veryfast ^
    -codec:a libopus -b:a 112k ^
    -movflags use_metadata_tags+faststart -map_metadata 0 ^
    output.mp4

注:这些选择仅基于目前的压缩结果,未考虑输出文件的视觉质量。

内容的提问来源于stack exchange,提问作者Mycroft_47

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 16:25:38