视频打码
我要提建议给视频里的指定区域打码:手动框选区域、按时间段生效,马赛克 / 模糊 / 纯色 / 毛玻璃 / 贴纸 / 文字覆盖六种样式,逐帧预览后导出 mp4,音轨保留。
相关工具
这个工具是做什么的
给视频打码的麻烦点有两个:位置要跟得上画面,时间要卡得准。这个工具的做法是**逐帧预览 + 手动框选**:在画面上直接拖出一个打码区域,拖框内移动、拖四角缩放,再在时间轴上把「生效时间段」拉到想要的范围(也能用「从当前时间开始 / 到当前时间结束 / 整段生效」三个快捷键)。样式有六种:**马赛克**(块大小可调)、**高斯模糊**(强度可调)、**纯色块**、**毛玻璃**、**贴纸图案**(圆点 / 斜条纹 / 方格 / 爱心 / 星星 / 表情)、**文字覆盖** —— 文字可以调内容、字号、字体、颜色、加粗斜体、对齐、行高、自动换行、描边与阴影,还能在文字底下垫一块背景色,压在花画面上也看得清。上面另有九套预设(重马赛克 / 轻模糊 / 毛玻璃 / 黑块 / 表情贴纸…)一键套用。多个区域按列表顺序叠加,时间段可以重叠。导出走 WebCodecs **逐帧**编码,所以画面与预览完全一致、时长不漂;音轨尽量保留(浏览器支持 AAC 编码时),不支持的浏览器会明确提示改用 Chrome / Edge 或 Safari 16.4+。全程在本机完成,视频数据不出设备。
使用方法
- 选择视频文件;工具会先检测浏览器是否支持 WebCodecs,不支持会直接告诉你换哪个浏览器。
- 在画面上按住拖动,框出要打码的区域;拖框内移动位置,拖四角调整大小。
- 在左侧选样式(马赛克 / 模糊 / 纯色 / 毛玻璃 / 贴纸 / 文字),或直接点一套预设。
- 用时间轴拖动预览任意时刻,把区域的「生效起点 / 终点」调到需要的时间段。
- 选导出帧率与画质,确认音量是否保留,点「生成并导出」;进度条会显示处理到第几帧,中途可取消。
常见问题
- 为什么导出要花这么久?
- 因为视频是逐帧处理的:每一帧都要先定位画面、再画打码层、再交给编码器,所以耗时基本与帧数成正比(工具会在导出前给出预估)。这是为了保证「预览看到什么,导出就是什么」——按播放速度实时录制的方案快,但会掉帧、画质不可控,所以这里没有采用。
- 我的浏览器提示不支持,怎么办?
- 这个工具依赖 WebCodecs 的 VideoEncoder 逐帧编码。Chrome / Edge 107+ 与 Safari 16.4+ 都支持,Firefox 需要 130 以上。建议换 Chrome 或 Edge 打开本工具再导出;页面上的打码编辑本身不受影响。
- 导出的视频还有声音吗?
- 浏览器支持 AAC 编码时会保留原音轨(勾选「保留音轨」);不支持时会提示只能导出无声视频。音频是重新编码的(不是直接拷贝原轨),所以音质会有一次轻微损失。
- 视频会上传吗?
- 不会。解码用 <video>、打码画在 canvas 上、编码用 WebCodecs、封装用本工具自己实现的 mp4 写入器,全程在本机用本地引擎完成,数据不出设备。
- 能自动找人脸或车牌吗?
- 这一版先做手动框选 + 时间轴,自动打码(人脸检测与车牌识别模型)正在接入:模型不会打进主包,只在点「自动打码」时按需下载(车牌识别的检测 + 识别模型加起来通常十几 MB,首次使用需要等一会儿)。模型没接好之前,界面不会给你一个「看起来在自动、其实没效果」的按钮。