Javascript 如何设置WEBM视频文件的FPS/播放速度?

Javascript 如何设置WEBM视频文件的FPS/播放速度?,javascript,html5-video,video-encoding,Javascript,Html5 Video,Video Encoding,我正在用Javascript开发一个基于浏览器的应用程序/工具,它运行WebGL来为用户加载的图像设置动画。动画的东西很好用。现在,我希望用户能够保存/导出动画。我目前正在使用HTML MediaRecorder API实时记录浏览器屏幕,生成一个WEBM文件,保存到他们的PC上 总的来说,这已经足够好了。但是,如果正在为非常大的图像设置动画,即2048x2048像素,则当录制过程开始时,浏览器的FPS将降至约12。显然,录制的动画看起来很糟糕。现在我能做的就是检测FPS,如果它低于24fps,

我正在用Javascript开发一个基于浏览器的应用程序/工具,它运行WebGL来为用户加载的图像设置动画。动画的东西很好用。现在,我希望用户能够保存/导出动画。我目前正在使用HTML MediaRecorder API实时记录浏览器屏幕,生成一个WEBM文件,保存到他们的PC上

总的来说,这已经足够好了。但是,如果正在为非常大的图像设置动画,即2048x2048像素,则当录制过程开始时,浏览器的FPS将降至约12。显然,录制的动画看起来很糟糕。现在我能做的就是检测FPS,如果它低于24fps,我可以相应地减慢动画。例如,如果fps下降到12,我会在录制时将动画设置为半速。之后,我可以在VLC播放器中运行输出视频,将播放速度提高到200%,视频看起来很平滑

所以,我的问题是。。。我是否可以设置WEBM文件的编码信息,以便它在播放器中顺利播放?告诉玩家FPS是什么?(在上述示例中为12)。或者告诉它播放速度是多少

如何知道HTML MediaRecorder的默认录制FPS是什么?我曾尝试在输出文件上使用FFMPEG工具,但并没有从中获得太多有用的信息(这里可能是用户错误)

(这里没有视频编码,所以我可能弄错了术语,但希望我的问题/意图解释得足够清楚)


编辑:是否可以让MediaRecorder API与动画帧同步录制?它似乎独立于实际的浏览器FPS运行。

您有要共享的文件吗?我会尝试运行动画,使每一帧恰好是动画的一个步骤,无论帧速率如何。虽然无法测试,但现在为我设置的时间太多了对不起,没有一个最小的示例。我正在使用一个框架,Phaser3,它基本上抽象了渲染帧等的所有细节,但感谢我将研究requestAnimationFrame。嗯,现在再考虑一下,它似乎是MediaRecorder API,我真的想与动画保持同步。基本上是同一个问题,因为它没有经过表决的答案,不能用作复制目标…谢谢,我会仔细看看你在那一个详细的答复。我以前确实玩过暂停和恢复,我可能不得不再试一次。