专业术语与技术概念
MediaStream
MediaStream 是 Web API 中用于表示媒体流的数据类型。它代表一个包含一个或多个音频或视频轨道的实时媒体流。MediaStream 可以来自摄像头(getUserMedia API)、屏幕共享(getDisplayMedia API)或其他媒体源。浏览器通过 MediaStream 对象获取实时的音视频数据,MediaRecorder API 则将这些数据编码为可存储的媒体文件。
MediaRecorder API
MediaRecorder 是 Web API 中用于录制 MediaStream 内容的接口。它提供了将媒体流编码为特定格式文件的能力。开发者可以通过 MediaRecorder 接口控制录制的开始、暂停、恢复和停止操作。MediaRecorder 支持多种编码格式,包括 WebM、MP4 等。该 API 是实现浏览器端视频录制的核心技术。
WebM 格式
WebM 是由 Google 推出的开放、免版税的媒体文件格式。它使用 Matroska 容器格式封装视频和音频流。WebM 文件通常包含 VP8、VP9 或 AV1 编码的视频流和 Vorbis 或 Opus 编码的音频流。WebM 格式因其开放性和高效的压缩性能而被广泛用于网页视频和浏览器端视频录制。
VP9 编码
VP9 是 Google 开发的开源视频编码标准,是 VP8 的继任者。VP9 提供了比 VP8 更高的压缩效率,在相同画质下可以生成更小的文件体积。VP9 是 WebM 格式的推荐编码标准,也是 YouTube 等主流视频平台使用的编码格式之一。MediaStream 录像机演示使用 VP9 编码来生成高质量的录制视频。
码率(Bitrate)
码率是指每秒编码的视频数据量,通常以 bps(比特每秒)或其倍数单位(Kbps、Mbps)表示。码率越高,视频画面的细节和清晰度越好,但文件体积也越大。码率越低,文件体积越小,但画面可能出现压缩伪影。MediaStream 录像机演示提供四个码率档位供用户选择。
getUserMedia API
getUserMedia 是 Web API 中用于获取用户设备媒体输入权限的接口。通过调用 navigator.mediaDevices.getUserMedia() 方法,网页可以请求访问用户的摄像头和麦克风。用户授权后,该方法返回一个 MediaStream 对象,包含摄像头视频流和麦克风音频流。这是实现浏览器端摄像头录制的基础 API。
getDisplayMedia API
getDisplayMedia 是 Web API 中用于获取屏幕共享内容的接口。通过调用 navigator.mediaDevices.getDisplayMedia() 方法,网页可以请求用户选择要共享的屏幕、窗口或浏览器标签页。用户选择后返回包含屏幕内容视频流的 MediaStream 对象。这是实现浏览器端屏幕录制的基础 API。
画中画(Picture-in-Picture)
画中画是一种将一个较小的视频窗口叠加在另一个较大的视频窗口之上的显示模式。在 MediaStream 录像机演示中,画中画模式将屏幕共享内容作为主画面,摄像头画面以小浮动窗口形式叠加显示。这种模式适合需要同时展示操作画面和讲解者画面的教学视频录制场景。
倒计时(Countdown)
倒计时是在正式录制开始前显示的预备计时提示。MediaStream 录像机演示默认提供三秒倒计时。倒计时期间用户可以做好录制准备工作。倒计时结束后自动开始录制。这一设计提升了用户体验,避免了录制开始时的手忙脚乱。
帧率(Frame Rate)
帧率是指每秒显示的视频帧数,通常以 fps(frames per second)表示。常见的帧率有 24fps(电影标准)、30fps(视频标准)和 60fps(高帧率)。帧率越高,视频画面越流畅,但数据量也越大。MediaRecorder API 允许指定目标帧率,实际录制帧率可能受设备性能和浏览器实现的影响。
暂停与恢复(Pause/Resume)
MediaRecorder API 提供了 pause() 和 resume() 方法来暂停和恢复录制。暂停期间,媒体流数据不会被编码和写入输出文件。恢复后,录制从暂停时的状态继续进行。最终的录制文件包含暂停前和恢复后的连续内容,暂停期间的时间段在视频中被跳过。
浏览器兼容性
MediaStream 录像机演示依赖的 MediaRecorder API、getUserMedia API 和 getDisplayMedia API 在现代浏览器中均有良好的支持。Chrome、Firefox 和 Edge 完整支持所有录制功能。Safari 从较新版本开始也提供了支持,但可能在某些细节上存在差异。建议使用最新版本的浏览器以获得最佳的录制体验。
UD5工具箱