3

我有许多与流式传输(通过 websockets)有关的问题,将 h264 视频广播到 mp4 容器内的 MediaSource 元素:

  • 我需要ftyp吗?如果我这样做,我是否需要它与 Uint8Array 位于相同的 Uint8Array 中moov
  • 我是否需要单独发送每个 mp4 盒,或者我可以希望sourceBuffer.appendBuffer(data)将它们整理出来吗?
  • 我需要发送moofmdat一起发送还是应该在不同的呼叫中发送sourceBuffer.appendBuffer(data)
  • 我是否需要任何其他类型的框,专门用于指示时间戳?
  • 我是否需要向 MediaSource 元素指示何时开始播放附加的数据块?
  • 我是否必须设置任何与持续时间/时间戳偏移相关的东西?
  • moov在尝试制作直播时,我应该注意框中的任何关键点吗?
4

1 回答 1

2

moov框是初始化段,它是必需的,因此解码器知道它需要解码什么,任何其他框都应该被忽略(从未尝试在初始化时包含片段,因此可能不允许这样做),因此无需删除它们。

moofmdat盒子应该附加在一个单独的调用中(那些是段),不需要其他盒子。据我所知,时间戳数据包含在moof框中,因此无需添加任何其他内容。

基本上你对一系列moov [moof mdat]+.

于 2016-10-05T13:23:25.133 回答