HTML MediaRecorder 錄製在 1080p 流上綠後



我正在通过getUserMedia API使用以下配置读取1080p和720p外部摄像机流

let c_constraints = {
audio: false,
video: {
deviceId: { exact: videoValue },
width: { min: 320, ideal: 1280, max: 1920 },
height: { min: 144, ideal: 720, max: 1080 },
framerate: { min: 15, ideal: 30, max: 60 }
}
}
navigator.mediaDevices.getUserMedia(c_constraints)
.then((stream) => c_handleStream(stream))
.catch((e) => c_handleError(e));

并使用以下内容录制流

try {
c_recorder = new MediaRecorder(currentCameraStream);
} catch (e) {
throw e
}

问题 ->这在高端设备上工作正常,但在具有 4GB RAM、英特尔酷睿 i3 的设备上,在以 1080p 和 720p 录制时,我会出现滞后,视频仅在前 3 秒断断续续,但剩余的视频很好。

此外,在VLC媒体播放器中播放此录制的视频时,计时器直接从00:01跳到00:03,

如果这是内存/缓冲区问题,则其他 Blob 也会受到影响。 我错过了什么吗,我应该以不同的方式使用MediaRecorder,还是使用任何不同的选项。

PS:我尝试使用Muaz Khan爵士的RecordRTC,但是对于CPU来说似乎很重,因为上述机器上的CPU使用率激增超过70%,这使得机器超慢。

请对此有所说明。

终于让它工作了,以防这对任何人有帮助,如果您正在录制的机器处于省电模式,可以通过从控制面板启用性能模式来解决音频/视频不同步问题

最新更新