我有一个动画画布,我想将其转换为 mp4。我正在使用 MediaRecorder 来捕获屏幕,然后转换该 Blob。我了解到 MediaRecorder 不允许在 mp4 中录制,所以我被迫在 webm 中获取画布。这是我尝试过的:
<canvas id="canvas"></canvas>Run Code Online (Sandbox Code Playgroud)
var recordedChunks = [];
var time = 0;
var canvas = document.getElementById("canvas");
return new Promise(function (res, rej) {
var stream = canvas.captureStream(60);
mediaRecorder = new MediaRecorder(stream, {
mimeType: "video/webm; codecs=vp9"
});
mediaRecorder.start(time);
mediaRecorder.ondataavailable = function (e) {
recordedChunks.push(event.data);
if (mediaRecorder.state === 'recording') {
mediaRecorder.stop();
}
}
mediaRecorder.onstop = function (event) {
var blob = new Blob(recordedChunks, {
"type": "video/webm"
});
var url = URL.createObjectURL(blob);
res(url);
var xhr …Run Code Online (Sandbox Code Playgroud)