MediaRecorderでvideo要素から動画の記録を行いたいのですが、音声は正常に記録できているのに映像は最初の1フレームしか記録されません。
なぜでしょうか。
html
1<video id="src" controls src="src.mp4"></video> 2<video id="dst" controls></video> 3<a id="dl" download="record.webm" >download</a>
js
1const stream = src.captureStream(); 2const recorder = new MediaRecorder(stream); 3const chunks = []; 4recorder.ondataavailable = evt => {chunks.push(evt.data);}; 5recorder.onstop = evt => { 6 const videoBlob = new Blob(chunks, { type: "video/webm" }); 7 const blobUrl = URL.createObjectURL(videoBlob); 8 dst.src = blobUrl; 9 dl.href = blobUrl; 10} 11src.addEventListener('play', e=>recorder.start()); 12src.addEventListener('pause', e=>recorder.stop());
追記
上記のコードはChromeで試したのですが、mozCaptureStreamにしてfirefoxで試したらなぜか普通に動きました。
あなたの回答
tips
プレビュー