1

我正在通过 websockets 流式传输 MediaRecorder 数据,一切正常,但 Chromium 58 在客户端失败,较低版本按预期工作。视频标签保持空白,以下错误消息被垃圾邮件发送到控制台:

Uncaught DOMException: Failed to execute 'appendBuffer' on 'SourceBuffer': This SourceBuffer has been removed from the parent media source.

内部媒体给我:

Timestamp Property  Value
00:00:00 00 pipeline_state  kCreated
00:00:00 00 event WEBMEDIAPLAYER_CREATED
00:00:00 00 url blob:http://localhost/2784e88e-e864-49aa-92fb-ec7574ae36a0
00:00:00 00 pipeline_state  kStarting
00:00:02 85 error Unsupported video codec_id V_MPEG4/ISO/AVC
00:00:02 85 error Append: stream parsing failed. Data size=131072 append_window_start=0 append_window_end=inf
00:00:02 86 pipeline_error  chunk demuxer: append failed
00:00:02 86 pipeline_state  kStopping
00:00:02 86 pipeline_state  kStopped

客户端 sourceBuffer 使用以下设置:

sourceBuffer = mediaSource.addSourceBuffer(`video/webm; codecs="vp8"`);
sourceBuffer.mode = "sequence";
// and chunks is an array of uint8arrays
sourceBuffer.appendBuffer(chunks[ii]);

我需要使用 Chromium 58,因为该错误已修复,我们在其上调用 captureStream 的画布不必再附加到主体上。

4

0 回答 0