Я пытаюсь загрузить веб-камеру или аудиопоток на Nodejs и сохранить его на диск. Цель состоит в том, чтобы отправить куски данных на сервер, как только они станут доступны. Я взял поток из gerUserMedia, настроил mediaRecorder и, когда данные стали доступны, я превращаю большой двоичный объект в arrayBuffer и отправляю его на сервер. Я знаю, что код неправильный, так как я не уверен, что правильно, но когда данные отправляются на сервер, файл сохраняется, но только 1 КБ файл, где это должен быть большой видеофайл. Как я могу это сделать?
//Client Side
recorder.ondataavailable = (event) => {
const reader = new FileReader();
reader.onload = (event) =>{
recordedChunks.push(event.data);
sendDataToServer(event.target.result)
}
reader.readAsArrayBuffer(event.data)
}
reader.readAsArrayBuffer(event.data)
//Server-Side
app.post('/media', function (req, res, next) {
try {
const { data } = req.body;
const dataBuffer = new Buffer(data, 'base64');
const fileStream = fs.createWriteStream('video.webm');
fileStream.write(dataBuffer);
} catch (error) {
console.log(error);
}
})