修改视频currentTime过多会导致视频失败

When changing video currentTime too much, video fails?

本文关键字:视频 失败 currentTime 修改      更新时间:2023-09-26

我使用用户拖动事件和按键来改变HTML5视频元素的位置,然后使用:

video.currentTime = toTime;

,然后我正在更新一个基于视频位置的画布,通过抓取视频并将其放在画布上。

另一个元素是我实际上从帧数中获得视频时间,即:

framenumber = 123;
fps = 25;
toTime = 123/25;
问题是,每隔一段时间,它只是失败。我说的失败是指我丢失了视频;它完全停止工作。

大多数时候它工作得很好,但有时它会失败,而且并不总是在同一点…

任何想法将不胜感激!

我的问题有两个答案:

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

    在我的例子中,

    ffmpeg -g <frames>,其中<frames>是所需GOP点之间的帧数。

  2. 使用videojs提供视频似乎解决了很多问题,并使其体验更流畅。