【问题标题】:Correlation between DTS and time scaleDTS与时间尺度的相关性
【发布时间】:2017-07-26 19:21:36
【问题描述】:

我正在尝试从原始 h264 字节流制作 iso bmff 以通过 javascript 播放。我通过自定义传输容器(不是任何标准 HLS 或 rtsp 数据包)获取数据,其中每个数据包都包含一个相对时间戳。例如:

chunk1:

Packet1 -- 时间戳:100,有效负载:H264 原始数据 [通常是单个 NAL 单元]

Packet2 -- 时间戳:120,有效负载:h264 原始数据

chunk1:

Packet1 -- 时间戳:140,有效负载:H264 原始数据

Packet2 -- 时间戳:160,有效负载:h264 原始数据

由于数据包时间戳是以毫秒为单位的相对时间,所以我考虑时间刻度值为 1000,并根据第一个数据包和连续数据包的差异计算 DTS。例如,

第一个块的 DTS:0 [ 100 - 100]

第二个块的 DTS:40 [140 - 100]

但问题是它在 Firefox 中运行良好,但 chrome 在第一帧后就卡住了。

可能是什么原因?我在 DTS 或时间尺度上做错了吗?

注意到我没有任何B帧,所以我的DTS和PTS值是一样的

【问题讨论】:

    标签: javascript time scale h.264


    【解决方案1】:

    最后我能够解决我的问题。 DTS值基本上没有错。我使用的是 mp4 生成器的修改版本,这是删除了后备箱中的持续时间部分的问题。

    我从我的another post 中获得了有关此问题的线索,其中 szatmary 提到了 trun box 持续时间。

    最后,我刚刚从hls repository 复制了 mp4-generator,它解决了我的问题。现在它也在 chrome 和 safari 中播放。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-04
      • 2020-05-24
      • 1970-01-01
      相关资源
      最近更新 更多