网页录屏录一小时怎么不崩:内存缓冲与边录边写盘的取舍

· 约 6 分钟 ⏺️ 屏幕录制

网页录屏的默认模式有一条隐形上限:编码出来的视频先攒在浏览器里,录完才交给你。这条设计换来了预览和就地剪辑的能力,代价是录得越久,浏览器手上攥的东西越多。什么时候会撞墙、撞墙前该换成什么,是本篇要算清的事。

先把体积账算出来

体积由码率决定,和你录了什么内容基本无关(屏幕内容压缩得好,工具已经按这个特性调过码率)。四档参数对应的实际速率:

画质码率每分钟每小时
720p 30fps2.5 Mbps约 19 MB约 1.1 GB
1080p 30fps5 Mbps约 40 MB约 2.2 GB
原始画质 30fps8 Mbps约 60 MB约 3.5 GB
1080p 60fps7.5 Mbps约 56 MB约 3.3 GB

60fps 那一档是在基础码率上乘了 1.5——帧多了一半,码率不跟上就会在运动画面里出现块状。反过来说,录静态界面用 60fps 是纯浪费:文件大一半,画面没有任何改善。这个取舍和视频压缩里的三杠杆是同一回事,详见先看码率,再看分辨率,最后才动帧率

音轨固定 128 kbps,一小时约 57MB,相对视频可以忽略。

默认模式的天花板在哪

工具每秒收一个编码分片,默认模式下把它们攒起来,停止时拼成一个完整对象——预览播放、去头去尾、下载都靠它。

Chromium 对这类数据有配额管理,超过一定量会自动落到临时文件上,所以并不是「一超过内存就崩」。但配额本身随设备内存浮动,同时开着几十个标签页、跑着 IDE 和虚拟机的机器,可用余量会小得多。实测下来的经验线:

  • 10 分钟以内(1080p 约 400MB)—— 没有压力
  • 20 分钟左右(约 800MB)—— 推荐上限,多数机器稳
  • 40 分钟往上(1.5GB+)—— 开始有中断风险,而且录到一半失败是最亏的一种失败

还有一个容易忽略的下游影响:剪辑要靠浏览器内的编解码核心处理整个文件。它需要把文件读进受限的内存空间再处理,几百 MB 就已经吃力。工具在文件超过 300MB 且需要重新编码时会先弹一个确认框,把「改用快速剪辑」这条出口摆出来——不是不让你剪,是让你知道代价。剪辑那一侧的机制见快速剪辑为什么会切多几秒

长录模式:分片来一个写一个

勾上「边录边存到本地文件」之后,流程变成:每个分片直接写进你选定的那个文件,浏览器里不留副本。于是能录到磁盘满——两小时的会议、一整天的直播都不成问题。

这个模式有三个实现上的细节值得知道,因为它们直接决定你的操作方式。

为什么勾选时就要选保存位置

屏幕采集和保存文件都要求由真实用户操作触发。如果在「开始录制」这一次点击里连着调用两个,第二个会被浏览器判定为已脱离用户手势而失败。

所以工具把它拆成两次手势:勾开关时弹保存对话框点开始时弹共享面板。界面上会显示「将写入:某个文件名」,确认一下再开录。取消保存对话框的话,开关会自动弹回,不会带着一个空句柄开始录制。

这也带来一个小瑕疵:文件后缀必须在选位置时就定下来,而实际容器(MP4 还是 WebM)要等拿到音轨才最终确定。真对不上时工具会告警,按提示把扩展名改一下即可,内容是好的。

为什么没有预览和剪辑

数据没在内存里留一份,工具手上就没有可播放的对象。要提供预览就得把整个文件再读回来——那正好抵消了这个模式的全部意义。

所以这是一个明确的二选一:

默认模式长录模式
时长上限约 20 分钟(体积换算)磁盘容量
浏览器占用随时长线性增长几乎为零
录完预览
就地去头去尾
浏览器要求全部仅 Chromium 系

最后一行是硬限制:流式追加写入依赖 File System Access API,Firefox 和 Safari 都没有实现,工具会探测能力并直接隐藏这个开关,而不是给一个点了没反应的复选框。这两个浏览器上要录长内容,只能换 Chrome / Edge、分段录,或者用系统自带的录屏。

关标签页时那份文件还在吗

这里有一个反直觉的实现细节:流式写入的内容只在正常关闭文件时才落到目标文件上,中途中止会把已录的整段丢掉。工具因此在页面卸载时走的是「关闭」而不是「中止」——录了一小时被误关标签页时,这个选择的差别就是「文件还在」和「全没了」。

实际情况分三档:

  • 点停止录制,或点浏览器自带的「停止共享」浮条 → 正常收尾,文件完整(浮条那条路工具也接住了,否则会留下损坏文件)
  • 关标签页 / 刷新页面 → 尽力抢在卸载前收尾,多数情况可用,但不保证最后一两秒
  • 浏览器崩溃 / 强制退出 / 断电 → 没有机会收尾,文件很可能不完整

录重要内容时,中途别碰那个标签页。真正长的内容,主动分成几段录比赌一次两小时稳——这条建议和工具能力无关,是备份意识。

三件与模式无关的准备

关掉系统睡眠。电脑进入睡眠会直接中断录制,不管你用哪种模式。笔记本插上电源,把自动睡眠和合盖休眠临时关掉。

留出 CPU。编码是实时的,CPU 被占满会掉帧。录制前把不需要的大型程序关掉,尤其是另一个正在跑的浏览器实例。

分清「切走」和「最小化」。录制期间可以自由切到别的软件演示,采集不会停;但共享范围选了「应用窗口」时,把那个窗口最小化会让画面定格——窗口没在渲染就没有新画面。需要跨软件演示的应该选「整个屏幕」,或者用 Chrome 的「切换共享」按钮换源(工具已经开启了这个能力)。

界面上的计时器只用来显示秒数,后台标签页里定时器会被节流,数字可能跳一下,录进文件的内容不受影响。

录完之后

长录出来的大文件建议直接用桌面剪辑软件处理,不要丢进任何浏览器内的工具——那是同一个内存问题的另一面。片段不长的话,视频压缩能再降一档,按平台要求准备参数见各平台视频上传规格对照;只要声音的用视频提取音频;要做成文档里的动图用 GIF 制作,控制体积的手段见GIF 文件太大怎么缩小

参数定好就可以开录了:屏幕录制全程在本地编码,长录模式下视频直接写进你自己的磁盘,本站没有接收文件的接口。录之前顺手确认屏幕上没有不该出现的信息——一小时的录像里出现两秒的密码,事后要重录整段。

❓ 常见问题

网页录屏最长能录多久?

取决于用哪种模式,两者差着两个数量级默认模式(有预览和剪辑)把编码后的分片攒在浏览器进程里,1080p 30fps 约 每分钟 40MB:(1) 10 分钟 400MB,稳;(2) 20 分钟 800MB,多数机器还行,是推荐上限;(3) 40 分钟往上 1.5GB+,开始有中断风险,尤其是同时开着几十个标签页的机器。边录边存到本地文件:分片直接写进磁盘,浏览器里几乎不留东西,能录到磁盘满——录两小时的会议、一整天的直播都没问题。所以判断规则很简单:预计超过 20 分钟就勾长录模式,代价是录完不提供预览和剪辑。另一条独立的限制:不管哪种模式,电脑进入睡眠都会中断录制,长录前先把系统的自动睡眠关掉。

为什么勾上「边录边存」它就立刻弹出保存对话框,而不是录完再问?

因为两个需要用户手势的接口不能挤在同一次点击里背景:屏幕采集(getDisplayMedia)和保存文件(showSaveFilePicker)都要求由真实的用户操作触发,浏览器不允许网页自己调。如果放在同一次「开始录制」点击里连着调两个,第二个会被判定为已经脱离用户手势而失败所以工具拆成两次手势:(1) 你勾选那个开关时 → 弹保存对话框,选好位置,界面上会显示「将写入:文件名」;(2) 你点开始录制时 → 弹屏幕共享面板。副作用:文件后缀要在这时候就定下来,而实际容器(MP4 还是 WebM)得等拿到音轨才最终确定,理论上可能对不上——真对不上工具会告警,按提示把扩展名改一下就能正常播放。如果你取消了保存对话框,开关会自动弹回未勾选状态,不会带着一个空句柄开录。

长录模式为什么录完没有预览和剪辑?

因为数据没有在内存里留一份,工具手上没有可播放的对象默认模式的流程:分片攒起来 → 结束时拼成一个 Blob → 用它做预览播放、做剪辑、做下载。长录模式的流程:分片来一个写一个到磁盘 → 结束时关闭文件 → 内存里什么都不剩。要提供预览就得把整个文件再读回来,那正好抵消了这个模式省内存的全部意义。所以这是个明确的二选一:(1) 20 分钟以内、要就地去掉开头结尾几秒 → 默认模式;(2) 时间长、或者本来就打算拿到剪辑软件里处理 → 长录模式。长录文件的后续处理:用桌面剪辑软件,或者把不长的片段传到视频压缩降体积——不建议把一两个 GB 的文件丢进任何浏览器内的工具,那是另一种内存问题。

录到一半关掉标签页或者浏览器崩了,文件还在吗?

看是哪种退出,而且这里有个反直觉的实现细节长录模式的关键:写入的内容只在正常关闭文件时才落到目标文件上,中途调用 abort 会把已经录的整段直接丢掉。所以工具在页面卸载时走的是 close 而不是 abort——录了一小时被误关标签页时,这个选择的差别是「文件还在」和「全没了」。实际情况分三种:(1) 点停止录制、或者点浏览器自带的「停止共享」浮条 → 正常收尾,文件完整;(2) 关标签页 / 刷新页面 → 工具会尽力抢在卸载前收尾,多数情况文件可用,但不保证最后一两秒;(3) 浏览器崩溃 / 强制退出 / 断电 → 没有机会执行收尾,文件很可能不完整。建议:录重要内容时中途不要碰那个标签页,也别指望崩溃后还能救——真正长的内容,隔一段时间停一次分成几段录,比赌一次两小时稳。

为什么 Firefox 和 Safari 上没有「边录边存」这个开关?

它依赖 File System Access API,目前只有 Chromium 系实现了这个接口做的事:让网页在用户明确选定一个文件后,持续往里追加写入——这是流式落盘的前提,普通的下载只能一次性给出完整文件。Firefox 和 Safari 都没有提供它,所以工具会探测能力并直接隐藏这个开关,而不是给一个点了没反应的复选框。这两个浏览器上的长录方案:(1) 换 Chrome 或 Edge;(2) 分段录,每段控制在 15–20 分钟以内,事后拼接;(3) 用系统自带录屏(macOS 的截图工具栏、Windows 的 Xbox Game Bar),它们直接写磁盘、没有这个限制。顺带:Safari 的另一个限制是拿不到系统声音,见录屏没声音那篇。

录制时切到别的标签页、或者最小化浏览器,会掉帧或者停掉吗?

采集不会停,但有两类需要留意的情况不会停的原因:屏幕采集是活跃的媒体会话,浏览器不会因为标签页失去焦点就掐掉——否则录屏这件事本身就没法做(你总要切到别的软件去演示)。要留意的两点:(1) 共享范围选了「应用窗口」时,把那个窗口最小化,画面会定格——窗口没在渲染就没有新画面可采,这不是掉帧而是没内容,需要跨软件演示的应该选「整个屏幕」;(2) 系统睡眠、合盖休眠会真的中断录制,长录之前去把自动睡眠关掉,笔记本插上电源。关于计时:工具的计时器只用来更新界面上的秒数,后台标签页里定时器会被节流,界面数字可能跳,但录进文件的内容不受影响。别做的事:不要关闭或刷新工具所在的那个标签页,那才是真会中断的操作。

⏺️ 打开 屏幕录制 录屏幕/窗口/标签页·系统声音+麦克风·暂停续录·去头去尾·输出 MP4·本地不上传

📖 同一工具的其他教程

🔗 相关阅读

全部教程 →