Хром 58 холст.captureStream
Я передаю данные 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, больше не нужно прикреплять к телу.