У меня есть решение для потоковой передачи с использованием MediaRecorder API:
var socket = new WebSocket("ws://127.0.0.1:8765");
socket.binaryType = "blob";
socket.onopen = function (event) {
const video = document.querySelector('audio');
video.onplay = function() {
mediaStream = video.captureStream();
mediaRecorder = new MediaRecorder(mediaStream, {
mimeType: 'audio/webm'
});
mediaRecorder.addEventListener('dataavailable', (e) => {
socket.send(e.data);
});
mediaRecorder.start(1000);
};
};
Но оно не воспроизводится на моем сервере (например, я использую ffmpeg для записи потока в файл), потому что MediaRecorder API помещает заголовки только в первый кусок. Как я могу разместить заголовки webm для каждого чанка?