- From: law via GitHub <sysbot+gh@w3.org>
- Date: Mon, 17 Jan 2022 09:58:12 +0000
- To: public-webrtc-logs@w3.org
A few years have passed and there is still no official solution. The good solution I've tried so far is this `webm-duration-fix` for those who need it. It supports fixing recording files larger than 2GB and has a low memory footprint when fixing. based on ts-ebml,Support browser and node。 https://github.com/buynao/webm-duration-fix ``` import fixWebmDuration from 'webm-duration-fix'; const mimeType = 'video/webm\;codecs=vp9'; const blobSlice: BlobPart[] = []; mediaRecorder = new MediaRecorder(stream, { mimeType }); mediaRecorder.ondataavailable = (event: BlobEvent) => { blobSlice.push(event.data); } mediaRecorder.onstop = async () => { // fix blob, support fix webm file larger than 2GB const fixBlob = await fixWebmDuration(new Blob([...blobSlice], { type: mimeType })); // to write locally, it is recommended to use fs.createWriteStream to reduce memory usage const fileWriteStream = fs.createWriteStream(inputPath); const blobReadstream = fixBlob.stream(); const blobReader = blobReadstream.getReader(); while (true) { let { done, value } = await blobReader.read(); if (done) { console.log('write done.'); fileWriteStream.close(); break; } fileWriteStream.write(value); value = null; } blobSlice = []; }; ``` -- GitHub Notification of comment by buynao Please view or discuss this issue at https://github.com/w3c/mediacapture-record/issues/119#issuecomment-1014337363 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Monday, 17 January 2022 09:58:14 UTC