HTML5直播视频Apple iOS

时间:2015-08-30 16:33:28

标签: ios html5 video-streaming html5-video hls

据我了解,目前尚无法在Apple设备上使用 HTML5视频播放实时视频流,并且 1-1.5 秒延迟或更少。 Apple似乎支持的唯一流媒体协议是 HLS ,它涉及将视频分成块,逐个下载,并且下载了足够多的片段(默认情况下 3 )开始播放它。如果这些部分中的每一个都 3 秒,那么您将看到 9-10 秒延迟。减少片段的长度会导致流式传输时不断中断,并且降低视频的比特率似乎不会降低所述标记。

在Apple移动设备上使用HTML5直播真正的直播视频还有其他可行解决方案吗?

2 个答案:

答案 0 :(得分:1)

如果有人想知道 - 仍然有一个hacky解决方法,以避免使用HLS。

您可以将视频流转换为mpeg1格式的图像序列(例如,使用ffmpeg),然后使用javascript库在客户端下载它们,并使用canvas元素显示它们。这可以使用jsmpeg及其streaming-server代码实现,而不是node.js上运行

我在Safari iOS上以540x320分辨率获得了30 fps的 150ms 延迟。

要获得精确的演练,请参阅此blog

优点:

  • 改善延迟(具有足够的比特率和分辨率)
  • HTML5与几乎跨平台支持的兼容性

缺点:

  • 没有音频输入。
  • 大多数手持设备上的cpu使用量增加

答案 1 :(得分:0)

不,在这篇文章发表时,没有HLS以外的解决方案。此外,如果您想使用其他协议制作自己的应用并将其发布到App Store,则可能因为任意rule 9.4而被拒绝:

  

9.4超过10分钟的蜂窝网络上的视频流内容必须使用HTTP直播,并包含基准192 kbps或更低的HTTP直播流

目前推出DASH支持低延迟直播,但Apple不支持。