摄像头录像机

直接在浏览器中用摄像头和麦克风录制视频并下载文件——无上传、无服务器。

直接在浏览器中用摄像头和麦克风录制视频并下载文件——无上传、无服务器。 直接在浏览器中用摄像头和麦克风录制视频并下载文件——无上传、无服务器。

00:00

背景知识

浏览器录制如何工作

浏览器录制是一条三步流水线。首先,getUserMedia() 在你授予权限后从摄像头和 麦克风捕获 MediaStream——浏览器总是会询问,并要求安全上下文(HTTPS 或 localhost)。其次,MediaRecorder 消费该流并把输入帧编码为 WebM 等容器格式, 边处理边把数据切成块。第三,停止时这些块被组装成单个 Blob,可以播放和下载。 没有任何传输:编码发生在你的设备上,这就是为什么浏览器录制器即使断网也能 生成文件。

容器与编解码器

容器和编解码器取决于你的浏览器和平台。带 VP8 或 VP9 视频与 Opus 音频的 WebM 是最稳妥的选择,在 Chrome、Firefox、Edge 和 Safari 中都可用。当浏览器 报告支持 MP4 时也会提供该选项,新设备上越来越常见但并非普遍。如果你选择了 浏览器无法编码的格式,本页面会自动回退到 WebM。录制结束时,下载按钮会出现, 扩展名(.webm 或 .mp4)与实际产出一致。

隐私与权限

在流开始前,浏览器会显示权限提示,让你选择共享哪个摄像头和麦克风——本页的 设备下拉框来自 enumerateDevices(),你可以切换设备并重新打开流。所有处理都在 本地:视频字节不会离开你的机器,页面本身也不存储任何内容。停止录制时,摄像头 指示灯熄灭,流的轨道被释放,完成后不会持有任何资源。在某些系统上,只要页面 持有任何流,摄像头灯就会保持点亮,即使已静音。

实用说明

预览正确镜像(静音播放避免回声),计时器在录制时跟踪经过时间。对于长时间 录制,请注意内存中的块会随时间增长,超长会话会占用更多内存。如果需要录制 屏幕而不是摄像头,那需要不同的 API(getDisplayMedia),不在本工具范围内。 如果权限提示被拒绝过一次,浏览器通常会锁定该选择,直到你清除站点设置。

基于浏览器原生 getUserMedia 与 MediaRecorder API 自研实现。录制在本地完成,不上传任何内容。

常见问题

为什么页面会请求摄像头/麦克风权限?
getUserMedia() 出于隐私考虑总是要求明确的用户同意。浏览器会显示提示,列出将共享哪些设备;授予一次后流会立即开始。
为什么我的录制保存为 .webm?
WebM(VP8/VP9 + Opus)是所有主流浏览器都能原生编码的容器。仅当浏览器报告支持时才提供 MP4;否则页面自动回退到 WebM。
我的视频会上传到服务器吗?
不会。编码通过 MediaRecorder 在本地完成,结果只是浏览器内存中的一个 Blob。不传输任何内容,页面也不存储任何东西;断网也能录制。
为什么摄像头灯一直亮着?
指示灯表示页面持有实况摄像头流。停止录制并释放轨道后它会熄灭。某些系统在流激活期间会保持灯亮,即使已静音或未在录制。
录制过程中能更换设备吗?
可以。在下拉框中换选摄像头或麦克风并开始新录制;页面会在下次开始时按新设备选择重新协商流。
录像机工作需要什么?
支持 getUserMedia 和 MediaRecorder 的浏览器(所有现代浏览器都有)、摄像头和麦克风,以及安全上下文:HTTPS 或 localhost。缺少支持时页面会显示提示而非控件。