我有一个使用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标头放到每个块上?