简短答案
打开 MP4 转换器,拖入文件,阅读针对画面和声音的两句话。它们会分别说明轨道已经适合 MP4、可原样复制,或当前是什么编码、将重编码为什么。点击按钮,文件在你的设备上写成含 H.264 和 AAC 的 MP4,再重新打开核对时长。无需上传。
下面解释原文件为什么被拒。“必须是 MP4”可能隐藏三个不同问题,只有其中一个修复时会损失质量。
录屏、演示和归档副本
同事打不开浏览器录下的演示,就检查画面和声音的处理决定,转换后在对方要用的应用里测试 MP4。演示要看也要听;无法解码的音轨可能被省略,讲解靠声音时只出画面不够。
相机档案要交给另一个编辑器,保留来源文件,交转换副本。转换解决格式问题,不保证文件更小或符合上传限额。若 MP4 因播放时间线含编辑记录被拒绝,先在本地编辑器里应用这些编辑,重新导出视频。只把扩展名改成 .mp4 做不到这些。
需要正确的是三件事,不是一件
视频文件是容器,装着画面和声音两条使用不同编码的数据流。“MP4”只表示容器。表单、聊天或邮件软件实际上想要所有设备都支持的组合:MP4 容器、H.264 画面、AAC 声音。任一不符,就有软件拒绝,而提示通常只说容器,因为这是人们能看见的部分。
所以问题可能是正确编码装在错误容器中,正确容器中装着错误编码,或全都不符。解决方法不同,区别在于是否需要重新编码。
人们实际拿来的文件
浏览器的屏幕录制通常是 WebM:VP8 或 VP9 画面、Opus 声音。从接收方看三项都错,两轨都需重新编码。画面解码后转成 H.264,声音转成 AAC。这是最常见,也损失最多的情况,因为无法直接保留任何轨道。
提取或下载的 MKV 经常是正确编码、错误容器:H.264 和 AAC 装在 Matroska 中。转换不损失内容,帧和音频包逐字节复制进 MP4,画面完全不解码。除了容器,结果与原件相同。MKV 内部若是 HEVC,画面需重新编码,声音通常仍是 AAC,可复制。
iPhone 的 MOV 通常声音正确、容器接近正确,但从 2017 年起画面多为 HEVC,比 H.264 小却被更多软件拒绝。画面重编码,AAC 复制,容器从 MOV 变为 MP4,两者其实是同一设计的不同名称。老手机或相机内部为 H.264 时,只需更换容器,直接复制。
仍被拒绝的 MP4 通常内部是 HEVC、VP9 或 AV1:容器对了,画面不对,需重编码。有时是流媒体录制的分段 MP4,某些编辑器不读。重写成索引在前的普通 MP4 即可,无需修改任何帧。
为什么复制无损,重编码有少量损失
MKV 中和 MP4 中的 H.264 帧是同样的字节。移动它们像在文件夹之间移动文件:外层容器变了,画面完全相同。AAC 也一样。很多转换器仍然解码再编码,因为单一处理路径更简单,却让你白白损失一代质量。
非 H.264 的画面必须解码成像素再编码,每次编码都会丢些东西。损失由新码率决定,合适的码率又取决于原文件:每秒两兆比特的 VP9,H.264 大约需要三兆才能相似,因为 VP9 更紧凑。工具从原码率出发,按编码效率调整,并按每像素设置上下限,避免继续让低码率画面缺乏数据,也避免原本宽裕的文件仍然过大。开始前会说明选择的码率。
能复制的轨道从不重编码,画面输出只复制 H.264,即使 MP4 容器也能装其他编码。MP4 中的 HEVC 支持范围反而比原 MKV 更小,这样的转换会加重问题。
声音呢?
Opus、Vorbis、MP3 和 FLAC 无法组成到处都能播放的 MP4,因此解码后转为 160 kbit/s 的 AAC,已足够麦克风或游戏声音。多于两个声道会合并为立体声,和双扬声器播放器一样。浏览器完全无法解码的声音,通常是部分相机的原始 PCM,会被明确提示并省略,画面仍可转换。也可勾选去掉声音,用于本来就静音播放的场景。
奇怪的其实是上传
在线转换器先要求上传整个文件:一吉字节屏幕录制、提取的电影,再下载另一份。上传通常比转换更久,还没谈谁保留多久。奇怪在于所需编码功能已在浏览器中:能播视频就能解码,近年的浏览器还能编码 H.264 和 AAC。服务器只增加了距离。
本转换器只使用这些现成能力。文件从磁盘分块读取、拆解、在本机复制或重编码,再写入内存。安全策略列出所有可联系地址,没有一个属于本站。断网也照常运行,这是最简单的证明。
发送前检查
输出是 MP4 也可能有错:短了一秒、音轨存在却为空、画面编码与承诺不同。工具用同一文件读取器重开结果,核对时长、H.264 和承诺保留的声音,然后在下载按钮下从内存播放。看最后一秒并听声音,再保存。原件始终要留着,重编码的画面比相机多一代,而原件没有。