Javascript 当更改视频当前时间太多时,视频会失败吗?

Javascript 当更改视频当前时间太多时,视频会失败吗?,javascript,html,video,Javascript,Html,Video,我使用用户拖动事件和按键来更改HTML5视频元素中的位置,然后使用以下方法相应地更新视频时间: video.currentTime = toTime; 然后我根据视频位置更新画布,抓取视频并将其放到画布上 另一个因素是,我实际上从帧号获取视频时间,即: framenumber = 123; fps = 25; toTime = 123/25; 问题是,它常常失败。我所说的失败是指我丢失了视频;它完全停止工作了 大多数时候,它工作得很好,但有时它只是失败了,而且也不总是在同一点上 任何想法都将

我使用用户拖动事件和按键来更改HTML5视频元素中的位置,然后使用以下方法相应地更新视频时间:

video.currentTime = toTime;
然后我根据视频位置更新画布,抓取视频并将其放到画布上

另一个因素是,我实际上从帧号获取视频时间,即:

framenumber = 123;
fps = 25;
toTime = 123/25;
问题是,它常常失败。我所说的失败是指我丢失了视频;它完全停止工作了

大多数时候,它工作得很好,但有时它只是失败了,而且也不总是在同一点上


任何想法都将不胜感激

我的问题有两个答案:

  • 视频文件的编码-基本上通过控制关键帧和 将正确的视频发送到正确的浏览器我能够解决一个问题 很多问题。使用FFMPEG,我更改了GOP长度

    ffmpeg-g
    在我的例子中,
    是GOP点之间所需的帧数

  • 用它来播放视频似乎解决了很多问题,让它变得更流畅


  • 我建议添加一个OneError监听器,看看您是否可以通过这种方式查看任何内容,并通过Fiddler或浏览器网络工具查看服务器是否返回任何错误