小编Adn*_*zal的帖子

将画布数据另存为 mp4 - Javascript

我有一个动画画布,我想将其转换为 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)

javascript mp4 canvas

3
推荐指数
1
解决办法
2909
查看次数

标签 统计

canvas ×1

javascript ×1

mp4 ×1