【问题标题】:Incorrect currentTime with videojs when streaming HLS流式传输 HLS 时 videojs 的 currentTime 不正确
【发布时间】:2014-06-13 05:30:38
【问题描述】:

我正在流式传输 RTMP 和 HLS(适用于 IOS 和 android),RTMP video.js 显示正确的 currentTime。根据我的当前时间应该是流开始的时间,而不是客户端开始查看流的时间。但是,当我使用 HLS 流时, currentTime 返回客户端启动流时而不是流启动时(使用来自 android 或 ios 或 VLC 的任何播放器的结果相同)。

在我的 HLS 流上使用 ffprobe 我得到了正确的值,即流何时开始,这让我相信我应该开始寻找客户端以找到解决方案,但我还不确定。

所以请帮助我找到正确的方向来解决这个问题。

即 HLS 本质上没有给我正确的 currentTime,但奇怪的是 ffprobe 给了我正确的答案?

在 video.js 代码中找不到任何关于如何获取任何其他时间码的内容。

是不是我的服务器为 HLS 和 ffprobe 生成了错误的 SMTPE 时间码,正在使用其他方式来获取正确的 currentTime?

无论如何,我只是好奇,我有一个解决方法,通过最初计算使用过的碎片,我至少会在 5 秒的范围内获得,即对于我的情况来说已经足够了。

感谢您的任何帮助或意见。

BR大卫

【问题讨论】:

    标签: rtmp video.js http-live-streaming duration


    【解决方案1】:

    RTMP 和 HLS 以不同的方式工作。 RTMP 始终是流式传输的,当您订阅流式传输时,您就订阅了正在运行的流式传输,因此开始时间将是流式传输开始的时间。

    HLS 的工作方式不同。当您订阅 HLS 流时,它会为您创建一个流。因此,当前时间将是 HLS 流启动的时间,即您订阅并创建 HLS 流的时间。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-28
      • 2019-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-07
      相关资源
      最近更新 更多