Media Converter

工具

常见问题

加载中

MediaConverter.io 如何在不上传文件的情况下完成转换

当你在 MediaConverter.io 上转换视频或音频文件时,处理工作在你的浏览器标签页中进行,也就是在你自己的电脑或手机上完成。文件从不会发送到我们的服务器。本页先用通俗的语言解释这意味着什么,再为想了解的读者介绍技术细节。

简而言之

普通的在线转换器会把你的文件上传到服务器,在那里完成转换,再把结果发回给你。MediaConverter.io 省去了这一来一回:转换代码会像页面的其他部分一样下载到你的浏览器中,由你的设备完成处理工作。

  1. 在你的设备上

    你选择一个文件

    将文件拖放到页面上,或通过文件对话框选择文件,即可让这个浏览器标签页读取这一个文件。不会有任何内容复制到服务器。

  2. 在你的浏览器中

    页面读取文件

    工具直接在标签页中检查文件:它的格式、编码格式、时长、分辨率,以及音轨或字幕轨。

  3. 在你的设备上

    你的设备完成转换

    由浏览器内置的媒体引擎,或在页面中运行的一份 FFmpeg,对文件进行解码,并将其编码为新格式。

  4. 在你的设备上

    你保存结果

    完成的文件会从标签页的内存直接进入浏览器的下载内容。关闭标签页后,所有尚未保存的内容都会消失;我们这边没有任何需要删除的东西。

这对你意味着什么

隐私。你的录制内容、影片或语音备忘录都保留在你的设备上。我们的服务器上没有任何副本,因此不存在泄露、保存时间超出你的预期或事后需要删除的问题。和大多数网站一样,我们使用 Google Analytics 和 Microsoft Clarity 统计网站的使用情况:访问的页面、点击,以及转换了哪些格式、四舍五入到最接近的兆字节的文件大小等事件。这些工具从不会接收文件本身。

速度。无需等待上传,也无需下载结果,而对于大型视频,这些步骤花的时间可能比转换本身还长。转换本身的速度取决于你的设备。当浏览器能够使用电脑或手机内置的视频硬件时,转换会很快;当工具不得不改用 FFmpeg 时,所有工作都由处理器完成,速度会较慢。

限制。由于一切都在你设备的内存中进行,实际限制取决于浏览器能使用多少内存,而不是我们设定的某个数字。转换器会将整个源文件载入内存(它们使用的 FFmpeg 引擎本身的上限约为 2 GB),因此每个文件约 2 GB 是实际上限,更大的文件可能无法打开。手机的内存比电脑少、处理器也比电脑慢,因此耗时更长,也会更早达到这一限制。请保持标签页打开,直到转换完成;关闭标签页会停止转换并丢弃结果。

技术原理:WebCodecs、mediabunny 和 FFmpeg

读取文件。你选择的文件会以浏览器 File 对象的形式提供给页面。检查文件是在原处进行的:mediabunny 只读取它需要的字节范围,FFmpeg 的 ffprobe 则通过延迟挂载读取文件信息,而不复制文件。之后,使用 FFmpeg 的转换步骤会把整个文件复制到 FFmpeg 的内存中,这正是每个文件约 2 GB 上限的由来。

快速路径:WebCodecs。WebCodecs 是一种浏览器 API,让网页可以直接使用浏览器本身自带的视频和音频解码器与编码器;在可用的情况下,它们能利用你设备的视频硬件。这些工具通过 mediabunny 来驱动它。mediabunny 是一个开源的 TypeScript 库,可以读取 MP4、MOV、Matroska(MKV 和 WebM)、MPEG-TS、WAV、Ogg、FLAC、MP3 和 ADTS AAC 文件,将帧送入 WebCodecs 处理,并写出 MP4、MOV、MKV、WebM 以及常见的音频容器格式。

后备方案:编译为 WebAssembly 的 FFmpeg。对于快速路径无法完成的所有工作,页面会运行 ffmpeg.wasm,即编译为 WebAssembly 的 FFmpeg 0.12.10 核心。它由我们自己的域名提供(而不是第三方 CDN),在处理器上单线程运行,并且只用于 WebCodecs 无法完成的工作:写入 AVI、FLV 和 TS 文件以及读取 FLV(它在容器之间搬移画面,而不对画面进行编码)、转换 AVI 文件和你的浏览器无法解码的视频(DivX、Xvid、MPEG-2 等),以及编码大多数音频格式。它比 WebCodecs 慢,但在所有浏览器中的表现都一样。

哪个引擎负责哪项工作
工作引擎
添加文件时读取文件信息FFmpeg(ffprobe),在原处读取文件,而不是复制文件
重新编码来自 MP4、MOV、M4V、MKV、WebM、MPEG-TS 和 H.264 FLV 的视频,包括输出为 AVI、FLV 或 TS 的情况通过 mediabunny 使用 WebCodecs,在浏览器支持时启用硬件加速
视频转换器中的音轨和字幕轨FFmpeg,在视频转换完成之后
音频转换器,以及将视频的声音保存为音频文件FFmpeg
视频压缩器(视频和音频)通过 mediabunny 使用 WebCodecs,以 FFmpeg 作为后备
写入 AVI、FLV 和 TS 文件,以及读取 H.264 FLVFFmpeg,仅在 WebCodecs 处理的前后于容器之间搬移画面
来自 FLV 的、或写入 AVI、FLV 或 TS 的未改动 H.264 画面(来自 AVI 的画面只能写入另一个 AVI)由 FFmpeg 复制,不进行任何重新编码
将 AVI 转换为其他格式(AVI 只保存按解码顺序排列的帧时间,因此即使是其中的 H.264 也会重新编码),以及浏览器无法解码的视频(DivX/Xvid、MPEG-2、Sorenson Spark 和 VP6)整个文件都由 FFmpeg 处理

选择路径。在转换之前,视频转换器和视频压缩器会询问 mediabunny:能否打开该文件、能否解码其视频、能否写出目标格式。只要有一个答案是否定的,或者浏览器将不得不丢弃视频轨,整个任务就会改交给 FFmpeg 处理。因此,遇到不受支持的编码格式时,结果只是转换变慢,而不是得到损坏的文件。

结果。转换后的文件在内存中组装完成,并以本地 blob: 链接的形式交给你的浏览器,最终保存到你的下载文件夹中。如果工具提供“全部下载”,ZIP 也同样是在页面中生成的。

网站的哪些部分确实会使用服务器

下方列出的免费工具,以及每一个格式转换页面(例如 MP4 转 MP3),都只在你的设备上处理文件。我们的服务器负责提供网页、工具代码和 FFmpeg 引擎,这与任何网站都一样。

有两项功能的工作方式不同,它们与本页介绍的转换工具是分开的:

  • AI 工作室(我们的 AI 助手,也以 ToolGPT 的形式提供)会将你的聊天消息发送给运行在服务器上的 AI 模型。它的大部分文件处理工作都像这里的工具一样在你的浏览器中运行,但降噪以及人声或音乐分离是在云服务上运行的:经你允许后,音频会被上传以进行处理。
  • 时间线视频编辑器中的自动字幕会将项目的音频发送到转录服务,以生成字幕。

常见问题

01

使用 MediaConverter.io 时,我的文件会被上传吗?

不会。转换器、压缩器、剪切工具、分割工具和旋转工具都在你的浏览器标签页中读取和处理文件。文件内容从不会发送到我们的服务器。和任何网站一样,你的浏览器确实会从我们这里下载页面和转换代码;我们也会收集匿名的使用统计信息,例如转换了哪些格式以及大致的文件大小,但从不收集文件本身。

02

网站如何在没有服务器的情况下转换视频?

现代浏览器内置了 WebCodecs,让网页能够使用你的设备本来就有的视频和音频编码器与解码器,而且通常带有硬件加速。MediaConverter.io 通过开源的 mediabunny 库驱动 WebCodecs;对于这条路径无法处理的格式或编码格式,则直接在页面中运行编译为 WebAssembly 的 FFmpeg。

03

有文件大小限制吗?

没有套餐或账户方面的限制,但转换器会将整个文件载入浏览器内存,因此每个文件约 2 GB 是实际上限;更大的文件可能无法打开。手机的内存更少、处理器更慢,因此大文件在手机上耗时更长,也可能更早失败。

04

为什么在我的手机或旧笔记本电脑上转换很慢?

处理工作由你自己的处理器完成,因此手机或旧笔记本电脑比新款台式机耗时更长。改用 FFmpeg 的转换还会更慢,因为浏览器中的 FFmpeg 只能在处理器上运行,无法像 WebCodecs 那样使用视频硬件。

05

支持哪些浏览器?

这些工具针对当前版本的桌面版 Chrome 和 Edge 开发和测试,这两款浏览器提供硬件加速的 WebCodecs 视频解码器,因此速度也最快。较新版本的 Firefox 和 Safari 支持相同的 Web API,但每款浏览器支持的编码格式各不相同;当某种编码格式无法通过 WebCodecs 使用时,工具会改用速度较慢的 FFmpeg。如果某个文件在一款浏览器中处理失败,请改用 Chrome 或 Edge。

06

我需要安装任何东西吗?

不需要。一切都在浏览器标签页中运行。当你添加第一个文件时,页面会从我们自己的域名下载 FFmpeg 0.12.10 引擎(约 32 MB),之后你的浏览器会将它保存在缓存中。