HTML5视频流/寻求技术

5
我正在尝试实时转码视频并进行播放。不幸的是,这意味着寻找功能无法正常使用。我认为这是因为浏览器不知道视频的长度,因此无法正确显示进度条。
有没有人知道是否可以硬编码视频的持续时间?
我想到的另一个选项可能是创建自己的进度条,并使用JS更新其位置,并且如果拖动,则更新视频URL以将开始时间传递给服务器。
对于如何最好地完成这项工作,您有什么建议?

1
寻找通常是如何工作的 - 它是否假定视频比特率恒定?您是否在服务器上假定/生成恒定比特率?我认为长度应该在视频头数据中,例如MP4 MOOV原子,或其他格式的等效物。 - Rup
是的,我正在设置比特率,但是头文件无法知道视频的长度,因为它尚未完全转码。我不确定持续时间是否足以允许寻找,或者头文件中是否需要存在关键帧信息(我认为FLV视频是这样工作的)。 - Gaspode
你在哪个浏览器中测试了这个视频? - Alfian Busyro
1个回答

1

您需要提供更多关于服务器上的工作方式的信息。不过,这是我对正在进行的事情的一般性回答。

您在服务器上有一个以某种格式存储的视频,并且它以不同的格式提供服务,我假设是为了浏览器兼容性(例如Firefox使用WebM)。

您应该为所有上传的视频建立一个数据库,以跟踪其原始格式中的长度。然后,在将视频转码为不同格式时,您可以检查数据库以查看其长度,而不是尝试从转码流中提取它。

使用此方法创建具有长度作为最大值的滑块。

然后,使用滑块的值将currentTime设置为html5视频元素。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接