
做课程录像、会议录屏、产品演示的人迟早要面对一个问题同样压到 80MB为什么有的清、有的糊答案很大程度在编码格式上。这篇把 H.264 / H.265 的差异讲清再给一组可复现的对照最后落到「输入目标大小」怎么帮你跳过参数试错。先划清边界本文不提供、也不虚构任何压缩 API/SDK。浏览器端工具本质是「你上传文件、服务端用编码器处理、下载结果」的网页操作本地要批量、要进工作流FFmpeg 仍是事实标准。两者定位不同下文会区分。一、编码格式决定「每 bit 能装多少有效画面」H.264 (AVC)兼容性最好十年前的设备都能解但同画质下体积偏大是「稳妥优先」的默认选择H.265 (HEVC)同等观感下大约省 30%~50% 体积是「肉眼无差别压缩」的主力编码代价是编码更吃算力、老旧设备尤其 2017 年前的手机/盒子兼容性差。一句话要最大兼容选 H.264要更小体积且设备够新选 H.265。二、实测一组源1080p/30fps 课程录屏时长 5 分钟原片约 480MB方案目标结果体积观感原片 H.264—480MB基准在线压缩目标 80MBH.26580MB约 78MB肉眼基本无差别FFmpeg 手动-crf 28不定约 85MB接近需自己调参强压到 20MB20MB约 21MB运动模糊可见结论「输入目标大小」的价值是帮你跳过 crf/码率试错。FFmpeg 能压到一样小但你要先懂参数在线工具把这个决策封装成了「我要多大」。三、本地探测脚本文件不出机器先判断再压批量场景先用 ffprobe 扫一遍挑出超限文件、确认编码再决定怎么压# 需本地安装 ffmpeg含 ffprobeforfininbox/*.mp4;dosize_mb$(du-m$f|cut-f1)dur$(ffprobe-verror-show_entriesformatduration-ofcsvp0$f)codec$(ffprobe-verror-select_streamsv:0-show_entriesstreamcodec_name-ofcsvp0$f)echo$f|${size_mb}MB |${dur}s |$codecdone输出一目了然哪些超 1GB 要分段、哪些是老 H.264 该升 H.265、哪些其实不用压。注意探测在本地完成文件不上传真正的压缩按你的渠道选在线或 FFmpeg。四、边界与隐私重点提醒以浏览器端工具 VideoCompress 为例如实列能力与限制单视频最大1GB支持40 格式MP4/MOV/AVI/MKV/WebM 等免费用户每月30 个积分无需强制注册压缩结果无水印有损处理目标是visually lossless肉眼无差别不是 100% 无损上传加密处理完成24 小时内自动删除不替代 HandBrake/FFmpeg 做专业母带编码/逐帧控制——那是另一条路。隐私侧同样分两层说平台做到「加密 限时删除 免强制注册」但这不豁免你的判断——涉密录屏、未授权素材不该进任何在线工具重要原片自己留一份备份。五、碎碎念日常「要发给别人 / 要压到某个上限」的场景在线目标大小压缩最省事不用开 HandBrake 研究参数真正批量、进流水线的把 ffprobe 探测 FFmpeg 写成脚本更稳。把「决策」压多大、用哪个编码和「执行」怎么压分开效率差很多。