如何转换超过 1 GB 的视频,而且完全不用上传
你手上有一段 3 GB 的屏幕录制、一段无人机素材,或者手机拍的四十分钟 4K,只是想换个格式。于是你搜索在线视频转换器,而每一个结果都在用不同的说法讲同一件事:最大文件 100 MB。或者 500 MB。或者按月付费才能到 2 GB。
就算某个服务肯收下这个文件,接下来你也要用家里的宽带上传好几 GB,排在别人的文件后面等待,并把可能不希望被复制的素材交给一台陌生的服务器。对不少录像来说——客户的项目、医疗相关的记录、任何在公司内部拍摄的东西——最后这一点并不是小事。
有一种做法完全不需要上传。而且从这个月起,它对远超 1 GB 的文件同样有效。
简短的答案
在浏览器中打开视频转换器,拖入一个 MP4、M4V 或 MOV 文件,然后把输出格式选为 WebM。 转换使用浏览器内置的视频编解码器,在你自己的电脑上运行。没有上传,没有排队,不用注册,我们也不设大小上限——数 GB 的录像和 10 MB 的文件走的是同一条路。
这篇文章的其余部分要讲的是:为什么偏偏是这个组合,以及在这个组合之外会发生什么。
在线转换工具为什么会有大小限制
大小上限不是偷懒。当转换运行在别人的服务器上时,你的文件会让对方付出三样东西:接收它的带宽、处理期间存放它的磁盘,以及转码所需的CPU 时间。一个免费用户上传 3 GB 是实打实的开销,而这背后并没有收入。把免费额度卡在 100 MB,是免费层能活下去的唯一办法。
隐私方面的后果,来自同一套架构。要在对方的机器上转换你的视频,他们必须先把你的视频放在自己的机器上。各家的保留策略不同,多数也算诚实,但文件毕竟被复制了一份,躺在你无法掌控的磁盘上,经过了不属于你的网络。
运行在浏览器一侧的转换器一次绕开了这三项成本,因为干活的那台机器本来就是你的。HeicQuick 在照片和视频上采用的正是这种设计:转换代码被下载到你的设备上并在那里运行,文件本身哪儿也不去。
为什么浏览器版过去也有上限
这是多数文章跳过的部分。在本地运行确实去掉了服务器的限制,但也立刻引入了另一种限制。
直到不久之前,浏览器里的视频转换指的都是编译成 WebAssembly 的 FFmpeg——货真价实的 FFmpeg,运行在页面的沙箱里。这是一项了不起的工程,几乎能处理有史以来的任何格式。但标准版本是32 位的,也就是说它总共只能寻址约 2 GB 内存,而且是一次处理整个文件:输入必须被复制进它的内存,输出还要在旁边同时构建出来。
在 2 GB 的天花板下放两份副本,实际的输入上限大约就是 1 GB,很多时候还要低得多。一段 1080p 的片段重新编码成 WebM 时,往往在文件本身还没到 1 GB 就已经耗尽内存了,因为真正吃内存的是分辨率和时长,而不是磁盘上的字节数。越过那条线就会出现内存不足的错误,措辞再怎么讲究,体验都好不了。
换句话说,浏览器只是把服务器的政策限制,换成了浏览器的物理限制。是进步,但仍然是限制。
改变了什么:流式送入浏览器自带的编解码器
现代浏览器提供了一个叫 WebCodecs 的 API,它把你的机器播放 Netflix、录制视频通话时本就在用的硬件视频解码器和编码器直接开放出来。这些编解码器位于 WebAssembly 沙箱之外的原生代码中,能够访问你的 GPU。
由此带来两件事,而第二件才是关键。
它快。 工作跑在专用的视频芯片上,而不是沙箱里的单个 CPU 核心。以一段带音频的 10 秒 1080p HEVC 片段实测,转换为 WebM 走 WebCodecs 约需 8 秒,走 WebAssembly 约需 142 秒。这大约是一个数量级的差距,而且完全省掉了 31 MB 引擎的一次性下载。
它是流式的。 真正取消大小限制的是这一点。转换器不再把整段视频读进内存,而是只解析文件的元数据——记录每一帧位置的索引——然后每次读取少量样本:把每一小块送进解码器,再送进编码器,写出去之后随即释放。完整的文件从来没有在内存中出现过。一段 5 GB 的视频和一段 50 MB 的视频占用的内存几乎相同,5 GB 的那段只是耗时更久而已。
实际的上限不再是内存,而是你的可用磁盘空间。
真正可用的组合
流式处理要求能在不读完全文的情况下定位每一帧,这就需要一个带索引的容器。具体来说:
- 输入: MP4、M4V 或 MOV——即 ISO 基础媒体格式,也就是 iPhone、Mac、无人机和大多数录屏软件生成的格式。
- 输出: WebM。
- 需要: 支持 WebCodecs 的浏览器——Chrome、Edge、Opera,以及 Safari 16.4 及以上。
在这个组合内部,转换器会探测你的硬件,挑出能用的最好的编码器:先 AV1,再 VP9,再 VP8;如果你的机器没有 WebM 硬件编码器,就回退到软件 VP8。音频输出为 Opus。文件行上的标记会告诉你实际用的是哪个编码器,以及走的是 GPU 还是 CPU。
其余的一切——AVI、MKV、TS、WMV、FLV,以及除 WebM 之外的任何输出——仍由 WebAssembly 引擎处理,适用上文所说的 1 GB 输入上限。当快速通道不适用,或因任何原因抛出错误时,转换会自动回退到该引擎,所以你不会因为一次优化失败而丢掉整次转换。
为什么是 WebM,它能正常播放吗
WebM 正是为此而生的容器:使用免版税的编解码器,没有专利授权问题,所有浏览器引擎都原生支持。它能在 Chrome、Firefox、Edge、Safari、Android 和 VLC 中播放,也能顺利上传到 YouTube、Discord 以及多数网络平台。
它不合适的场合也有:较老的电视、部分剪辑软件和 PowerPoint 更偏好 MP4/H.264。如果你确实需要 MP4 而文件又超过 1 GB,诚实的选项是降低分辨率转换、把录像切成较短的片段,或者改用桌面工具。与其让你等上二十分钟再撞上内存不足的错误,我们更愿意把话说在前面。
操作步骤
- 打开视频转换器。无需安装,无需注册。
- 把文件拖到页面上,或点击选择。一次放多个也可以。
- 把输出格式选为 WebM。
- 分辨率保持原始,或者降到 720p,顺便把文件也变小。
- 点击转换。该行会实时显示进度和正在使用的编码器。
- 下载。多个文件会打包成 ZIP 一起下载。
你可以在第 5 步之前断开网络,转换照样能完成。
这对隐私究竟意味着什么
这里值得说得精确一些,因为「我们不保存你的文件」是每家转换工具都会讲的话,但在这里它的含义不同。
这里根本不存在需要你信任的上传环节。没有服务器端转换,没有临时存储,没有保留期限,也没有需要阅读的删除政策——因为文件从未抵达任何地方。你的视频由运行在你自己浏览器标签页中的代码从你的磁盘读取,输出再写回你自己的磁盘。跨越网络的只有页面本身。
对于要处理受保密协议约束的素材、医疗或法律记录、尚未发布的作品的人来说,这不是营销上的差别,而是使用本地转换工具的全部理由。
结论
在线转换工具限制文件大小,是因为你的文件对他们意味着成本,而且他们必须先把文件放到服务器上才能干活。运行在浏览器里的转换器没有这两个问题——如今 MP4/MOV 转 WebM 又能流式送入本机的硬件编解码器,内存天花板也一并消失了。
数 GB 的录像可以在几秒而不是几分钟内完成转换,且没有一个字节离开你的设备。
拿那个在别处被拒绝的文件试试:在浏览器中转换视频。关于格式、速度,以及哪些地方仍有限制,都在 FAQ 里。如果要处理的是照片而不是视频,同样不上传的方式也能把 HEIC 转成 JPG——这个格式本身的来龙去脉可以看什么是 HEIC 文件。
在浏览器中直接把 iPhone 的 HEIC 照片转成 JPG、PNG、WebP 或 PDF —— 免费、无限制、完全私密。
打开免费转换器 →