Estoy tratando de usar la API de MediaRecorder para convertir mi video a webm. Sin embargo, después de seguir algunos ejemplos en línea, todavía no puedo descubrir cómo hacerlo.
Aquí está la excepción principal de mi código:
convertVideo = (e)=>{ //creating a virtual video element const virtualVideo = document.createElement("video"); //this file is File Blob I get from user input. I have checked it is all good and has data. virtualVideo.src = URL.createObjectURL(this.file); virtualVideo.muted=true; virtualVideo.oncanplay=e=>{ console.log("Can play"); virtualVideo.play(); } virtualVideo.onplay=()=>{ console.log("Playing"); const stream = virtualVideo.captureStream(); const recorder = new MediaRecorder(stream); const data=[]; recorder.ondataavailable = e=>data.push(e.data); recorder.start(); recorder.onstop=()=>{ console.log("Stopped recording"); const blob = new Blob(data,{mimeType:"video/webm"}); const url = URL.createObjectURL(blob); const a = document.createElement('a'); a.href = url; a.download = 'test.webm'; a.click(); URL.revokeObjectURL(url); } virtualVideo.onended=(e)=>{ console.log("video ended"); recorder.stop(); } } } La matriz data siempre está vacía. No puedo entender lo que estoy haciendo mal.