javascript - 以mp4格式录制HTML5 canvas动画

标签 javascript html canvas ffmpeg recordrtc

我在将 Canvas 录制为 mp4 文件格式的视频时遇到问题。我设法使用 RecordRTC 将 Canvas 记录为 webm 格式。当我尝试提供 mimetype: video/mp4 时,出现无法记录为 mimetype: video/mp4 的错误。

 var canvas = document.getElementById('canvas');
            var canvasStream = canvas.captureStream();

            var finalStream = new MediaStream();
            audioStream.getAudioTracks().forEach(function(track) {
                finalStream.addTrack(track);
            });
            canvasStream.getVideoTracks().forEach(function(track) {
                finalStream.addTrack(track);
            });

            var recorder = RecordRTC(finalStream, {
            type: 'video',
            mimeType: 'video/mp4'
            });

            recorder.startRecording();

以上代码适用于 webM 格式。我看不出有什么办法可以将 HTML5 canvas 录制成 mp4 格式的视频。我只需要将它从 webm 转换为 mp4。这需要很多时间。有什么办法可以直接把canvas录制成mp4而不用先做webm再转成mp4的过程吗?

谢谢。

最佳答案

查看这篇文章。在其中,他们将 Canvas 动画转换为 mp4,通过使用 socket.io 将 Canvas 帧图像保存到服务器,然后使用 ffmpeg 转换为 mp4。使用这种方法,可以在不首先创建 webM 视频的情况下从捕获帧到 mp4。希望对您有所帮助。

Web Archive snapshot

关于javascript - 以mp4格式录制HTML5 canvas动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46752262/

相关文章:

javascript - ajax 不执行或接收外部脚本

javascript - Chrome 正在破坏我在触摸屏上的网络应用程序设计

javascript - fabricjs 从 Canvas 中删除对象(线)但并非所有对象都被删除

javascript - Canvas 阻塞页面?

javascript - HTML CSS 幻灯片过渡

html - CSS even nth-child 嵌套 img 问题

php - iframe 中的parent.location.reload 不工作 IE

java - 在 Java JFrame 中绘制多个正方形并访问其中的每一个?

javascript - 如何确定两个 d3 比例是否相等或 d3 比例是否已更改?

javascript - 获取视口(viewport)两侧的纬度和经度