哪些像素被保留?
精确模式逐帧解码。所有完成处理的观察都有时间戳和合成记录。分析可以缩图,最终合成与导出保持原始像素尺度。
外框与自然留白
默认保留整个捲动区域的背景、边距和留白,不裁到文字边界。带外框视图额外保留一帧参考界面:侧栏文字、工具图示以原尺寸出现一次,扩展处仅续接装饰背景,不属于重建证据。原始内容层始终单独保留。其他独立 pane 不会被假装拼成同一轨迹。
这里不是“万能页面理解”
运动分层、重复纹理消歧和动态区域归属都是视觉推断。比例变化、无重叠或不能共存的布局可能成为独立片段;这些片段之间不被宣称已经对齐。置信度不是经过校准的正确概率。
长录屏与存储
采用三次解码扫描,以磁盘空间和计算时间换取有限内存。浏览器只替你保留最近一次的结果,最多 24 小时:刷新或不小心关掉页面后再打开,它会自动回来;跑到一半被中断的,会回来已保存的部分(不能从中断处续跑)。再运行一次或按「清空」会删掉它;超过 24 小时的,会在下次打开页面时删掉。想长期保留请下载。
浏览器与格式
需要 IndexedDB、OffscreenCanvas、CompressionStream。本机开发可直接用 HTTP localhost,无需证书;手机访问局域网 HTTP 时可选择近似 seek 测试,但可能漏帧。浏览器通常只在 localhost 或 HTTPS 开放 WebCodecs 精确解码与磁盘导出接口,这与上传无关。精确解码还需要设备支持相应 codec;MP4/MOV/WebM 容器不等于设备能解码其所有编码。
怎么得到更好的结果?
保留足够重叠;遇到低纹理区域稍慢移动。多个 pane 或悬浮层识别不准时,用“单独滚动的区域”手动画出来再处理。所有诊断可从完整项目导出。
反馈与源码
Long Screen 是 MIT 协议的开源项目,源码在 GitHub。遇到 bug 或结果不对,欢迎提一个 issue,会预填浏览器信息和日志里的警告代码。觉得好用的话,给项目点个星对我们帮助很大。
开源授权
本项目自身代码之外,Wasm 核心与前端资源中打包的第三方依赖及其许可,以及页面上 Rust、WebAssembly、GitHub 标志的出处与授权,见 开源授权说明(构建时生成)。