在线录屏工具
录制屏幕、窗口或标签页,支持录音,一键下载视频
录制预览
什么是在线录屏?
屏幕录制工具可以直接在浏览器中录制整个屏幕、某个应用窗口或单个浏览器标签页。根据浏览器和权限支持情况,还可以同时录入系统声音和麦克风输入,适合制作简短教程、复现 Bug、展示产品流程、截取课程片段、做设计评审或给客服提供说明。录制前应检查是否会暴露私密窗口、通知、密码、客户数据或无关标签,因为被选中的区域会被原样记录。处理过程在本地完成,录制结束后可下载文件,但画质、音轨和可选来源会受浏览器与操作系统限制。
使用方法
使用方法
- 选择录制内容:整个屏幕、窗口或浏览器标签页
- 选择音频设置(可选)
- 点击「开始录制」并选择要分享的内容
- 录制完成后点击「停止录制」
- 下载或预览录制内容
提示
- 录制前关闭不必要的通知
- 要录制系统音频,请选择「浏览器标签页」并勾选「分享音频」
- 录制过程中可随时暂停和继续
- 建议使用稳定的网络连接以获得最佳效果
使用场景
技术原理
捕获通过 navigator.mediaDevices.getDisplayMedia({ video: true, audio: true }) 启动,返回一个 MediaStream,包含一个视频轨道(用户选择的屏幕、窗口或标签页)以及可选的一个音频轨道(当浏览器和来源允许时)。用户在原生选择对话框中选取捕获表面,当用户点击系统「停止共享」按钮时流自动结束,触发 track 的 ended 事件,使录制器可以完成文件保存。 编码输出由 MediaRecorder API 生成。容器和编解码器选择通过 MediaRecorder.isTypeSupported() 探测候选类型,如 video/webm;codecs=vp9,opus、video/webm;codecs=vp8,opus,以及 Safari 上的 video/mp4;codecs=avc1。ondataavailable 定期触发(或在停止时触发),提供 Blob 片段,最终拼接为具有录制 mimeType 的单个 Blob。videoBitsPerSecond 和 audioBitsPerSecond 在质量和文件大小之间取得平衡,典型的 1080p 屏幕录制在 4 Mbps VP9 下每分钟约 30 MB。 当同时需要系统音频和麦克风时,页面创建一个 AudioContext,将每个 MediaStreamTrack 包装为 MediaStreamAudioSourceNode,通过 GainNode 混合到 MediaStreamAudioDestinationNode。合并后的音频轨道在 MediaRecorder 启动前替换原始流,因此生成的 WebM 文件包含单个混合的 Opus 轨道而非两个独立轨道。浏览器支持要求 Chrome 72+、Firefox 66+ 或 Safari 13+;旧版浏览器要么拒绝 getDisplayMedia,要么不支持音频约束。
- 捕获 API:navigator.mediaDevices.getDisplayMedia({ video, audio }) 返回 MediaStream;用户在系统对话框中选择屏幕/窗口/标签页
- 编码器:MediaRecorder 配合 isTypeSupported() 优先探测 video/webm;codecs=vp9,opus,回退到 vp8 或 MP4 中的 H.264/AVC1
- 分块输出:ondataavailable 产生 Blob 片段,最终拼接为协商 mimeType 的单个 Blob
- 音频混合:AudioContext + MediaStreamAudioSourceNode + GainNode + MediaStreamAudioDestinationNode 将系统音频与麦克风合并为单个 Opus 轨道
- 流结束触发:用户点击浏览器停止共享栏时触发视频轨道的 ended 事件,完成录制
- 码率控制:1080p 视频码率约 2.5-8 Mbps;4 Mbps VP9 约每分钟 30 MB
- 浏览器基线:Chrome 72+、Firefox 66+、Safari 13+;标签页音频捕获仅在 Chromium 内核浏览器中勾选「共享标签页音频」时可用
示例
1080p 软件教程,时长 10 分钟
源:整个屏幕(1920 x 1080)
音频:仅麦克风
编码:video/webm;codecs=vp9, opus
帧率:30 fps
时长:10:00
输出:tutorial.webm,约 190 MB
用途:产品演示、上传到 LMS带系统声音的 Bug 复现
源:浏览器标签页(Chrome)
音频:系统声音(在弹窗中勾选共享标签页音频)
编码:video/webm;codecs=vp8, opus
时长:0:45
输出:bug-repro-2026-06-10.webm,7.2 MB
附加到:GitHub issue #1284线上会议片段,麦克风 + 系统声音
源:应用窗口(Zoom)
音频:系统声音 + 麦克风(同时录制)
时长:3:20
输出:meeting-snippet.webm,42 MB
说明:在 1:15 处暂停以跳过凭证输入,之后继续录制应用商店产品演示
源:应用窗口(1280 x 720)
音频:无(静音演示,后期添加字幕)
帧率:30 fps,码率:4 Mbps
时长:0:30
输出:demo.mp4(如支持 H.264)或回退为 .webm
大小:约 15 MB,符合应用商店预览视频限制常见问题
录屏功能是如何工作的?
通过浏览器的 MediaRecorder API,对 getDisplayMedia 获取的屏幕共享 MediaStream 进行录制。浏览器会询问你要共享什么(整个屏幕/某个窗口/某个标签页),页面将帧数据录入内存中的视频 blob,停止后提供下载。没有录制服务器、没有云端、不上传任何内容。
使用什么格式和编码?
WebM 容器,视频编码为 VP8 或 VP9(取决于浏览器支持),音频为 Opus。大多数现代浏览器、视频编辑软件和播放器都能直接处理 WebM。如需导出 MP4,请下载后用本地的 FFmpeg 转码。
可以录制系统声音吗?
部分浏览器/操作系统允许在 getDisplayMedia 时捕获标签页音频或系统音频。Windows 上的 Chrome 限制最少;Safari 和 Firefox 限制更多。麦克风音频(你的声音)会在你授权后单独录制。
最长能录多久?
由浏览器内存决定,因为录制内容会一直驻留在内存中直到停止。实际上限大约是 10-60 分钟,具体取决于分辨率和码率。对于更长时间或更高画质的录制,桌面端的 OBS Studio 更胜任——它直接写盘,没有内存上限。
我的录屏文件会被上传吗?
不会。录制内容仅存在于你的浏览器中,下载会把 WebM 文件保存到本地设备。除非你主动分享文件,否则不会有任何内容被传输到服务器。
为什么录制画面卡顿或画质差?
屏幕捕获和重新编码非常吃 CPU。建议关闭其他应用,尽可能降低录制分辨率,并优先选择单个窗口或标签页而非整个屏幕。在支持的环境中,硬件编码(通过 WebCodecs API 的 h264)能改善性能,但目前还不普及。
可以在工具内剪辑录屏吗?
暂不支持。请先下载 WebM 文件,再用视频编辑软件(DaVinci Resolve、Shotcut、命令行 FFmpeg 等)进行剪辑、转码或添加注释。