【发布时间】: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