0

我有一个正在捕获的 MP4/H264 视频剪辑,因此它每 4 秒增长一次,并且它的元数据会动态刷新。由于这不是分段的 MP4,我不能使用 MediaSource API 来操作块。

我正在寻找一种在播放期间更新/刷新视频持续时间的方法,而无需重新加载整个剪辑。

简而言之,我正在寻找一种以更用户友好的方式执行以下操作的方法。

setInterval(function() {
   video.src = video.src;
}, 4000);

我想避免有 2 个视频标签并使用上述方法从一个切换到另一个。我也尝试过使用 popcorn.js,但没有任何运气。

使用 Chrome,而且……只有 chrome,所以不用担心其他浏览器。

任何建议将不胜感激!

4

1 回答 1

1

我不确定这是可能的。根据规格

如果设置或更改了媒体元素的 src 属性,用户代理必须调用媒体元素的媒体元素加载算法。(即使存在源元素,删除 src 属性也不会这样做。)

因此,如果您触摸 video.src,浏览器应该会隐式调用 video.load()。在您的情况下(setInterval)Chrome 会这样做。

我猜你已经在更改 src 之前保存了视频的 currentTime 并在 src 更改后应用它(在这种情况下等待 canplay 事件并调用 video.play() 以恢复播放)?我猜你在你的情况下会有一些口吃 4 秒的刷新。

您似乎正在尝试将实时流模拟为按需供稿,而我不知道如何通过渐进式下载 mp4(使用未分段的 MP4 读取)来做到这一点。

相关文章

谢谢

于 2014-04-02T17:41:21.353 回答