我正在尝试在浏览器中录制网络摄像头视频,并将流保存在节点服务器上。
使用MediaRecorder API的方法
// CLIENT
// Init MediaRecorder with camera stream
recorder = new MediaRecorder(...)
// Serialize data and send it to backend
recorder.ondataavailable = (event) => {
const reader = new FileReader();
reader.readAsArrayBuffer(event.data);
reader.onloadend = function (event) {
socket.emit('message', reader.result);
};
}
// BACKEND
// Receive data and append it to the file
client.on('message', (data) => {
fs.appendFileSync(filePath + fileName + videoFileExtension, data);
...
}
问题
在浏览器中首次播放视频时,前进和后退控件无法使用。播放一次后,控件就可以正常使用。
假设
我的假设是标题有些问题。
问题
有什么想法可以修复由MediaRecorder捕获并流式传输到NodeJS的视频?或者如何正确保存数据块以使控件正常工作?