我有一个MP4 / H264视频剪辑正在被捕获,以便它每4秒增长一次,并动态刷新其元数据。由于这不是碎片MP4,我不能使用MediaSource API来操作块。
我正在寻找一种在播放期间更新/刷新视频持续时间的方法,而无需重新加载整个剪辑。
简而言之,我正在寻找一种以更加用户友好的方式执行以下操作的方法。
setInterval(function() {
video.src = video.src;
}, 4000);
我想避免使用2个视频标签,并使用上述方法从一个切换到另一个。我也试过popcorn.js没有任何运气。
使用Chrome,并且......只有Chrome,所以不要担心其他浏览器。
非常感谢任何建议!
答案 0 :(得分:1)
我不确定这是可能的。根据{{3}}:
如果设置或更改了媒体元素的src属性,则用户代理必须调用媒体元素的媒体元素加载算法。 (即使存在源元素,删除src属性也不会这样做。)
因此,如果您触摸video.src,浏览器应该隐式调用video.load()。在您的情况下(setInterval),Chrome会执行此操作。
我猜你已经在更改src之前保存了视频的当前时间,并在src更改后应用它(在这种情况下等待canplay事件并调用video.play()继续播放)?我想你会在你的情况下有一些口吃,刷新4秒钟。
您似乎正在尝试将实时流模拟为按需提要,但我不知道如何通过渐进式下载mp4(使用未分段的MP4读取)来实现此目的。
相关specs。
由于