WebM 转 MP4
在浏览器中完成,无需上传
MP4
VP8 · VP9 → H.264 · 重新编码
视频
WebM → MP4规格
7 项| 项目 | 数值 | 备注 |
|---|---|---|
| 输入 | WebM | 或 FFmpeg 能读的任何视频 |
| 输出 | MP4,H.264 + AAC | 手机、浏览器和剪辑软件都能播放 |
| 画面 | 重新编码为 H.264 | x264,veryfast 预设,CRF 23 |
| 声音 | AAC | 已经是 AAC 或 MP3 时直接复制,否则 AAC 128 kbps |
| 时间 | 开始前测量 | 在这台设备上试编码 2 秒 |
| 引擎 | 这个浏览器自带的编码器,或 FFmpeg(16.8 MB) | 只有浏览器做不了时才下载 FFmpeg,而且要按下写着它的按钮 |
| 处理位置 | 这个浏览器 | 不发送到服务器 |
会发生什么
5会发生什么,为什么
WebM 是开放网络的视频格式:VP8 或 VP9 画面加 Vorbis 或 Opus 声音,装在 Matroska 容器里。浏览器能播放它,录屏软件或网站的下载按钮也常常给你一个 WebM——但 iPhone 的“照片”、许多剪辑软件和不少聊天应用打不开它。H.264 画面加 AAC 声音的 MP4 几乎到处都能播放,这个页面生成的就是它。
不重新编码就到不了那里。拒绝 WebM 的程序也不播放装在 MP4 里的 VP8 或 VP9,所以每一帧都要解码再编码为 H.264,标签会这样说明。声音重新编码为 128 kbps 的 AAC,因为 Opus 和 Vorbis 是那些程序不播放的另一样东西。
页面先问浏览器自己。浏览器自带视频通话和屏幕录制用的编码器——H.264、VP9、AAC、Opus,通常在显卡上——当这个浏览器能用它们读取你的文件并写出结果时,就这样做:什么都不下载,先在这里测出时间,标签下面的那行会说明是浏览器的编码器完成的。MP4、MOV、WebM 和 MKV 文件通常都可以。AVI、WMV、FLV 不行,生成 MP3 也不行,这些走下面的方式。
处理由 FFmpeg 完成——大多数视频软件都建立在它之上——它被编译成 WebAssembly,在这个页面里运行。它很大——16.8 MB——不按下写着它的按钮就不会下载。下载后它读取你的文件,从中间取 2 秒试编码,然后在开始任何工作之前告诉你整个文件在这台设备上要多久。这个数字是在这里测出来的,而不是从表格里查的:同样的引擎和设置,你的处理器,你的视频。它仍然是估计值,并标明是估计值。
它比电脑上安装的程序慢。这里 FFmpeg 只用一个处理器核心,因为浏览器只在网站带有特定的安全响应头时才允许页面使用更多核心,而且完全不能使用显卡的视频编码器。一个长的高分辨率视频可能要好几分钟,在手机上更久。估计值会在你决定之前说明这一点,进度条随时显示剩余时间,按“取消”会立即停止。浏览器自带的编码器能做时会快得多,而且什么都不用下载。
常见问题
4会损失画质吗
会损失一点,任何重新编码都是如此,标签会这样说明。画面用 x264 以 CRF 23 编码,这是一种恒定质量设置,把码率用在画面需要的地方;正常观看时多数人分辨不出与原视频的差别。损失的部分不会因为转回去而恢复。
为什么这么慢
每一帧都要在浏览器里、用你处理器的一个核心解码再编码。安装的程序会用上所有核心,通常还有显卡的编码器;网页默认两者都用不到。页面会在你开始之前测出在你的设备上要多久,所以等待不会出乎意料。
手机内存不够怎么办
页面会停下并说明,而不是交给你半个文件。你拖入的视频是分块从磁盘读取的,从不整个复制进内存,但新文件在完成之前是在内存里构建的,所以长的高分辨率视频可能超出手机的能力。更短的片段、更小的尺寸,或者换用电脑,都能完成。
视频会上传吗
不会。引擎下载到你的浏览器,你的文件在那里读取和写出。本网站没有上传接口,视频根本无处可去。