最隐私的文件,偏偏最容易被上传

视频和音频大概是电脑上最隐私的一类文件:没剪完的成片、家人聚会的录像、会议和采访的录音、孩子口语作业的语音。它们偏偏又是最常被拖进第三方网站的——微信发送超限弹提示的那一刻,多数人的第一反应是搜"视频压缩在线",而这类网站的第一步动作,是把原片完整传到别人的服务器。

其实这些轻需求,浏览器原生能力就够:video 元素负责解码播放,canvas 负责逐帧绘制,canvas.captureStream 加 MediaRecorder 负责重编码,WebAudio 负责音频解码与处理。站里新发布的五款媒体工具就是围绕这套能力做的,再配上原有的几款音频工具,全程本地处理,文件不出浏览器。更完整的浏览器音视频处理清单,可以看上篇《录音和视频别急着上传:浏览器里的本地音视频工具箱》。

微信发不出的 2 分钟视频:先算账,再压缩

先对体积有个数。视频大小 ≈ 总码率 × 时长 ÷ 8,手机拍的 1080p 原片码率常见在 8 Mbps 上下:

档位总码率2 分钟体积估算
1080p 原片约 8 Mbps8000×120÷8 ≈ 120 MB
540p 中码率约 1500 kbps1500×120÷8 ≈ 22.5 MB
480p 低码率约 800 kbps800×120÷8 ≈ 12 MB

微信的文件上限是 25 MB,倒推就是总码率 ≤ 25600KB×8÷120 ≈ 1700 kbps——选 540p + 中码率基本能压进线内,求稳再降到 480p。视频压缩把这套账做成了滑杆:选分辨率档(原始/720p/540p/480p)、选码率(高/中/低)、可一键静音,面板实时显示目标码率与预计体积,按"预计输出 ≤ 平台限制"倒推即可。

两个边界必须说清。第一,浏览器没有公开的"一键重编码文件"API,这个工具用的是实时录制式重编码:视频在本机播放的同时逐帧绘制到 canvas,与音轨合并交给 MediaRecorder 录成 WebM——压一遍的时间约等于视频时长,进行中别切标签页。第二,输出是 WebM(VP8/Opus)而不是 mp4,主流浏览器和播放器普遍能播,真要 mp4 时用剪辑软件导入导出转封装即可。另外若原片码率本来就低于目标值,输出可能不降反增,页面会提示换更低档或直接静音。

挑封面不用拖进度条,iPhone 照片不用换手机

压完视频顺手解决两件图片小事。做封面要在一堆画面里挑一帧,视频抽帧取图支持三种模式:按数量均分(默认 9 帧,适合铺成预览挑封面)、按间隔秒数逐段抓取、拖进度条手动定位抓单帧,canvas 逐帧 seek 后导出无损 PNG。注意超过 200 MB 的视频逐帧 seek 会吃内存,建议先裁剪片段或降低帧数。

iPhone 用户的另一半痛点是 HEIC:iOS 11 起默认用 HEIC/HEVC 省存储,代价是发给 Windows 或微信经常打不开、一片空白。HEIC转JPG拖入一批 .heic/.heif 批量转 JPG/PNG,可调画质和最长边,实况照片容器里的静态图也能读,个别转换失败会单独列出、不影响其余图片。照片同样只在本地解码,不上传。

把视频变成"能听的":双路径,和一个诚实的坏消息

网课、演唱会、采访视频,通勤路上只想听声音。视频提取音频走两条路:路径一(首选) 是 MediaRecorder 实时录制,播放视频的同时抓取音轨,导出 WebM(Opus) 或 M4A(AAC),几乎所有容器都能走通,代价同样是实时等一遍;路径二(可选 MP3) 先用 WebAudio 把音频解码成 PCM,再用内置 LAME 编码器转 MP3,速度快于实时、全平台兼容。坏消息在这里:不少带视频的 mp4/mov 封装,浏览器会拒绝整体解码,此时预检失败、MP3 选项自动置灰,只能回路径一。单文件上限 800 MB,“无损原音"无法承诺——音轨质量以容器里的原始编码为准。

提取出来的 WebM/M4A 要在老设备或车上播,交给音频格式互转:wav/m4a/webm/ogg 浏览器本地互转,不排队、无大小限制。

录下来的声音,裁剪和降噪同样不用装软件

自己录的音频更敏感:会议、采访、孩子的口语作业。录音机与降噪支持在线录音或直接导入,高通/低通滤波加噪声采样降噪——先采一段纯底噪,处理后 A/B 试听,满意再导出。要截高潮做铃声,用音频裁剪铃声制作在波形上框选区段,还能直接导出 iPhone 铃声 m4r,40 秒上限自动校验。

群里发表情包或循环演示,视频转GIF动图本地抽帧把短视频片段转 GIF,帧率、尺寸、起止时间可调,无上传无水印——GIF 本身画质有限,片段控制在几秒内最划算。

想要伴奏?先看清"相位抵消"能做到哪一步

人声消除是搜索热度最高、翻车也最多的一项。人声消除伴奏的原理是立体声相位抵消:去人声模式做 L−R 左右声道相减,居中混音、左右完全相同的人声因反相而削弱;留人声模式取 (L+R)/2,中置人声保留、两侧乐器削弱。结果是单声道信号,A/B 试听后导出 WAV。

效果请如实预期:它只能削弱"居中且相同"的人声,对立体声人声、加了混响或合唱效果的、以及单声道素材基本无效——这是简易相位抵消法,不是 AI 音源分离,需要干净伴奏请找专用 AI 模型工具。拿来做个随手练习的伴奏、翻唱小样够用,商用别指望。

常见问题

为什么压缩和提取要等这么久?

因为走的是"实时录制”:播放一遍、录一遍,耗时约等于素材时长,换来的是不装软件、不上传。MP3 提取路径是解码后纯计算转码,通常几十秒内完成。要批量处理和极致速度,桌面端 FFmpeg 仍是正解。

WebM 发不出去怎么办?

先在目标设备上播一下确认。主流平台与播放器普遍支持 WebM;个别编辑器或老设备只认 mp4 时,用剪辑软件导入导出转成 mp4 即可。

大文件、内存不够怎么办?

200 MB 以上的视频抽帧建议先降帧数或裁片段;提取音频单文件上限 800 MB;处理期间别同时开几十个重页面——解码和重编码全占本机内存。

会上传我的视频吗?

不会。本文提到的九款工具全部在本机完成解码与处理,文件不经过任何服务器,处理过程不需要向服务器传任何数据。

小结

一条完整的本地流水线:体积算账 → 压缩(540p 中码率压进微信 25 MB)→ 抽帧挑封面 / HEIC 转 JPG → 提取音频(容器解码失败就回实时录制路径)→ 降噪、裁剪、转格式 → 简易伴奏(相位抵消,预期放低)。用到的视频压缩、视频抽帧取图、HEIC转JPG、视频提取音频、人声消除伴奏,加上音频格式互转、录音机与降噪、音频裁剪铃声制作、视频转GIF动图,全部浏览器本地运行——没发布的视频和私人录音,本来就不该离开你自己的电脑。