如何在浏览器中压缩视频
视频文件很大。一分钟的手机录像很容易就是 100-200 MB,更长的视频很快就达到几个 GB。这让它们难以通过邮件、消息应用或社交媒体分享,大多数平台都有严格的上传限制。压缩视频可以减小文件大小同时保持可观看,而且你可以直接在浏览器中完成,不必安装任何软件、不必把任何内容上传到服务器,在合理的设置下通常也没有可见的画质损失。
视频压缩简史
作为数字学科的视频压缩在 1980 年代末随 MPEG-1 标准(1991)起飞,使 VideoCD 的播放成为可能。MPEG-2 在 1995 年跟进,驱动了 DVD、数字电视与早期流媒体。H.264(也叫 AVC,2003)是让 YouTube、蓝光与现代 Web 成为可能的突破:它在同等画质下大致把 MPEG-2 的码率减半,至今二十多年仍然是兼容性最好的编解码器。
H.265(HEVC,2013)与 VP9(Google,2013)再次把码率削减 40-50%,驱动了 Netflix、YouTube 与 Apple 设备上的 4K 流。AV1(Alliance for Open Media,2018)是当前的开放标准,比 HEVC 又减少 20-30%,且不受困扰 HEVC 采纳的专利授权丛林。H.266(VVC,2020)再进一步,但距离广泛的设备支持还有数年。每一代编码大约要花两倍的 CPU 换得一半的比特,这就是为什么你的手机有专用硬件编码器、为什么基于浏览器的压缩是相对较新的选择。
为什么要压缩视频?
- 邮件附件:多数邮件服务商把附件限制在 25 MB。压缩后的视频能装进原本装不下的地方。
- 消息应用:WhatsApp 默认上限 16 MB,Telegram 免费账户上限 2 GB,Discord 无 Nitro 时上限 25 MB。压缩可以在磁盘上保留原始画质,同时让你真的能把文件发出去。
- 上传更快:更小的文件向 YouTube、社媒或云存储上传快得多,慢连接尤其明显。一份 4 GB 的原始 4K 文件在 20 Mbps 上行下需要将近半小时;压成 400 MB 的同一片段只需三分钟。
- 节省存储:压缩后的视频在设备或云盘上占用更少。相册中一段 30 秒的 TikTok 风短片可以从 80 MB 降到 10 MB 而无可见损失。
- 带宽成本:如果你自己托管视频,每兆字节都要花钱。把码率减半,CDN 账单也减半。
- 更快开始播放:浏览器对压缩后的视频可以更早开始播放,因为缓冲到能开播所需的秒数更少。
如何在线压缩视频
- 上传你的视频:选择要压缩的视频文件。工具接受 MP4、WebM、MOV、AVI、MKV 等大多数常见格式。一切留在你的设备上。
- 调整压缩设置:根据想要的减小幅度,选择压缩级别(低、中、高)。也可以拖动 CRF(Constant Rate Factor)滑块以做更精细的控制,数值越低画质越好,越高越激进。
- 选择输出分辨率与帧率:4K 很大,1080p 对多数用途绰绰有余,720p 对消息常常足够。从 60 帧降到 30 帧,编解码器要处理的数据减半。
- 选择编解码器:H.264 兼容性最好;H.265 / HEVC 在受众使用现代设备时文件更小;VP9 / AV1 适合 Web。
- 下载压缩后的文件:工具显示原始与压缩后的大小对比,你下载前就能看到减少幅度。
幕后,你的视频通过 File API 读入,由 ffmpeg-wasm 解复用,帧由 WebAssembly 编解码器重新编码,结果再被复用回容器中并以下载方式提供。一切都不离开页面。
理解视频压缩设置
质量预设是最简单的压缩方式:
- 低压缩:减小幅度最小,画质最高。需要视频尽可能贴近原画时合适。
- 中压缩:平衡折中,适合多数分享场景。
- 高压缩,减小幅度最大。视频会明显变小,但快动作场景可能出现可见画质损失。
CRF(Constant Rate Factor)提供更细粒度的控制。刻度从 0(无损,很大)到 51(最大压缩,低画质)。对多数用途:
| CRF 区间 | 画质 | 典型用途 |
|---|---|---|
| 0-17 | 视觉无损 | 归档母版、剪辑中间文件 |
| 18-23 | 高画质 | 制作交付、专业上传 |
| 24-28 | 良好 | 社媒、日常分享 |
| 29-35 | 可接受 | 快速预览、低带宽使用 |
| 36-51 | 较差 | 除非特定需求,避免使用 |
用 H.264 做日常压缩的安全默认是 CRF 23;用 HEVC 时,CRF 28 在更小文件下有相似的感知画质。
码率(CBR / VBR / ABR)是 CRF 的替代。CBR(恒定码率)无论内容如何都对准固定的 Mbps,流式可预测但在简单场景上浪费比特。VBR / CRF 让编码器在复杂场景花更多比特。需要硬性上限时(如流服务的 5 Mbps)用码率;为下载文件用 CRF。
分辨率、帧率与编解码器的选择
这三个设置往往比单调画质更省。
| 设置 | 常见取值 | 对体积的影响 |
|---|---|---|
| 分辨率 | 4K(3840x2160)、1440p、1080p、720p、480p | 分辨率减半文件大约减少 75% |
| 帧率 | 60、30、24 fps | 帧率减半文件大约减少 50% |
| 编解码器 | H.264、H.265 / HEVC、VP9、AV1 | 每一代在同等画质下大约削减 40% |
| 音频 | AAC 128 / 96 / 64 kbps | 通常占文件 5-10% |
| GOP / 关键帧间隔 | 1-5 秒 | 间隔越长文件越小,但跳转更难 |
一段 4K 60 fps 的手机短片降到 1080p 30 fps,在动任何编解码器旋钮之前就已经小了一个数量级。再配 CRF 24 的 HEVC 编码,2 GB 的文件经常稳定地落到 100 MB 以下而无可见画质损失。
获得更好结果的小贴士
- 先裁剪后压缩,如果只需要视频的一部分,先剪掉不需要的部分再压缩。这给出更小的文件,因为压缩的素材更少。
- 追求兼容性请选 MP4,带 H.264 的 MP4 几乎在每个设备和平台上都能播。带 VP9 的 WebM 压缩稍好,但并非到处都支持。
- 把分辨率和目的地对齐,Instagram 不显示超过 1080p,X 把 1080p 以下的一律重压,多数邮件客户端内嵌只显示 720p。比目的地高就是白浪费字节。
- 用桌面浏览器,视频压缩耗资源。桌面机器比手机或平板处理得好得多。移动浏览器在大文件上可能内存不足。
- 关掉其它标签,视频处理占大量内存。关掉其它浏览器标签能释放资源,让压缩更快完成。
- 面向流媒体目标做两遍编码,当你必须命中特定的文件大小或码率时,两遍编码比一遍质量明显更好。开放 ffmpeg
-pass标志的工具都能做到。 - 保留原文件,始终压缩一份副本。你随时可以从原文件重新压缩,但无法挽回硬重新编码丢失的数据。
- 音频也要算,一段 5 分钟、320 kbps 立体声音频的片段就携带 12 MB 音频。把说话类内容降到 96 kbps 单声道,可以省下可观一部分。
常见陷阱
- 重新编码已经压缩过的视频,如果源已经是 H.264 CRF 23,再以 CRF 23 编码会得到更小但明显更差的文件。只有有清晰目标(更低分辨率、不同编解码器、硬性大小上限)时才重新编码。
- 对播放设备错配的编解码器,AV1 在 2022+ 的手机上流畅播,在 2015 的笔记本上若无硬件解码会卡顿。挑选你受众实际能解码的最高效的编解码器。
- 忘记 fast-start / moov 原子,moov 原子在末尾的 MP4 强制整文件下载完才开始播放。用
ffmpeg -movflags +faststart或勾选「针对 Web 优化」选项把它放到开头。 - 音频采样率不匹配,把 44.1 kHz 的音频配到 48 kHz 视频时间线,长片会逐渐失同步。对齐到视频工具期望的采样率(通常 48 kHz)。
- 把 HDR 编码成 SDR,HDR 手机短片以普通 Rec.709 SDR 编码会显得褪色。要么保留 HDR(带 HDR10 元数据的 HEVC / AV1),要么有意识地做色调映射。
- 给未知受众烧入硬字幕,烧入的字幕无法关闭;不需要的人会被打扰,使用不同字号工具的人无能为力。可以时请单独提供字幕文件。
- 瞄准码率却不检查结果,1 Mbps 对一个紧凑的 720p 谈话头片段绰绰有余,但在快节奏 1080p 动作镜头上会出现可见的块状失真。始终预览有代表性的段落。
- 把带 alpha 通道的视频压到不支持 alpha 的编解码器,做叠加用的透明视频需要 ProRes 4444、带 alpha 的 VP9 或带 alpha 的 HEVC。H.264 无法存储透明度。
- 为 SSD 上的存储再编码,现代存储便宜;CPU 时间和画质不便宜。只有真正下游有收益(分享、流媒体、存储上限)时才压缩。
- 忽视元数据,位置、设备型号与时间戳通常嵌在视频文件里。基于浏览器的压缩器一般会剥离;若隐私重要,请用测试文件验证。
替代工具与场景
对一两段短片,浏览器压缩器是最快路径。对批量工作或生产流水线,命令行工具与专门应用胜出。
| 工具 | 平台 | 优势 | 注意 |
|---|---|---|---|
| 网页视频压缩器 | 浏览器 | 免安装、不上传、ffmpeg-wasm | 比原生 ffmpeg 慢 |
| ffmpeg | CLI、跨平台 | 行业标准,所有选项 | 语法冗长 |
| HandBrake | 桌面 GUI | 友好预设、队列 | 仅 GUI |
| Shutter Encoder | 桌面 | 基于 ffmpeg,有批处理 UI | 较新,社区较小 |
| Compressor(Apple) | macOS | 精致,与 Final Cut 集成 | 仅 Mac、付费 |
| Adobe Media Encoder | 桌面 | 录音棚级别,基于队列 | 付费、沉重 |
| VLC | 桌面 | 免费,什么都能播 | 编码 UI 粗糙 |
| DaVinci Resolve | 桌面 | 带交付页的完整编辑器 | 仅压缩用太重 |
| YouTube / Vimeo | 云上传 | 上传时帮你重新编码 | 失去设置控制 |
ffmpeg -i in.mp4 -c:v libx264 -crf 23 -c:a copy out.mp4 | CLI 单行 | 快速可复现的压缩 | 用对参数 |
要自动化内容流水线,ffmpeg 脚本(或针对 DASH/HLS 的 Shaka Packager)胜出。要一次性压缩一段要发的短片,浏览器工具在速度与隐私上胜出。
隐私与压缩器
视频压缩器完全在你的浏览器中运行。你选择的文件通过 File API 读取,由 ffmpeg-wasm 与 WebAssembly 编解码器处理,然后以下载形式返回。没有上传、没有日志,服务端不会生成任何缩略图或转录。对敏感材料,采访的语音备忘、内部仪表盘的屏幕录像、不会公开发布的家庭素材,这种仅本地的流程是信任陌生人服务器与谁都不信任之间的差别。视频文件常常携带隐藏元数据:GPS 坐标、设备序列号、录制时间戳,某些手机甚至带有相机的漂移校正陀螺仪数据。本地流水线让这一切都在你的掌控中。对于像把一段短片变小这样的日常任务,默认的隐私应当是:任何东西都不离开页面、不被存储、不被分享。
常见问题
可以压缩哪些视频格式?
大多数常见格式都可以:MP4、WebM、MOV 和 AVI。使用 H.264 的 MP4 是兼容性最广的格式,几乎所有设备和平台都能播放。
有文件大小限制吗?
没有服务器端限制,因为处理在您的浏览器中进行。然而非常大的文件(超过 500 MB)可能因设备的内存和性能而变慢。桌面浏览器处理此类文件比移动设备好得多。
压缩会损害我的视频吗?
在中等压缩水平下,质量差异几乎不可察觉。工具允许您在下载前预览大小减少情况,以便判断此权衡是否符合需求。
可以在手机上压缩视频吗?
视频压缩计算量大,需要大量内存。为获得最佳效果,请使用桌面浏览器。移动浏览器可能难以处理大文件。
What is the difference between bitrate and CRF?
Bitrate (e.g., 5 Mbps) tells the encoder to spend exactly that many bits per second of video, useful when streaming bandwidth is fixed. CRF (Constant Rate Factor) tells the encoder to aim for a fixed perceptual quality and let the bitrate vary; complex scenes get more bits, simple scenes get fewer. CRF usually gives better quality per byte for files that will be downloaded rather than live-streamed.
Why is my MOV file from an iPhone so big?
iPhones record in HEVC (H.265) inside a MOV container at fairly high bitrates by default. The pixel count and frame rate matter as much as the codec; a 4K60 clip is roughly four times the size of the same scene in 1080p30. Re-encoding to H.264 or AV1 at a sensible CRF and resolution usually cuts the file to a fraction.