Save video blob to filesystem electron/node js

electron, javascript, node.js, video

Solution

An alternative to `FileReader` is a promise-based approach via Blob's `arrayBuffer` method:

async function saveFile() {

    const blob = new Blob(chunks, {
        type: 'video/webm'
    })


    const buffer = Buffer.from( await blob.arrayBuffer() );

    fs.writeFile('video.webm', buffer, () => console.log('video saved!') );

}

Problem

In my electron application, users can record video from their webcam using the MediaRecorder API. When the user hit the "stop record" button, I get a blob of the recorded video. What i would like to do is to convert this blob to a real webm video and write it into the user's filesystem with for example : ``` fs.writeFile(localdir + '\\video.webm', videoBlob); // does not work ``` The example below works pretty well with base64 image snapshot that I get from the webcam, but i can't make it work with the video blob that I get. Thanks for enlighten me !

Original source