Когда я использую JS MediaRecorder для записи веб-камеры в формате MP4 в браузере, поддерживающем MP4 и MediaRecorder (Firefox в Linux), веб-камера запускается, но не записывает.
Запись работает, когда mimeType MediaRecorder установлен на video/webm
, но когда я устанавливаю mimeType на video/mp4
, возникает проблема.
Я записываю с помощью следующего кода:
if (navigator.mediaDevices) {
var constraints = {audio: true, video: true};
navigator.mediaDevices.getUserMedia(constraints).then(function (stream) {
mediaRecorder = new MediaRecorder(stream, {mimeType: "video/mp4"});
mediaRecorder.start();
});
} else {
console.log("media recorder is not supported");
}
Я ожидаю, что веб-камера начнет запись, когда код будет выполнен в поддерживающем браузере, но console.log
не выводится, а в консоли есть ошибка:
NotSupportedError: Operation is not supported
Я знаю, что мой браузер поддерживает как mp4, так и MediaRecorder:
MP4: https://caniuse.com/#search=mp4 MediaRecorder: https://caniuse.com/#search=mediarecorder
но работает только запись webm.
MediaRecorder.isTypeSupported({mimeType: "video/mp4"})
, чтобы узнать, поддерживается ли он? - person Dean Taylor   schedule 23.07.2019false
В каком браузере поддерживается mp4? - person Heng Ye   schedule 23.07.2019