【问题标题】:Use WebRtc to deliver hls to Safari on IOSIOS上使用WebRtc传递hls到Safari
【发布时间】:2019-02-07 10:55:21
【问题描述】:
我找到了this github repo,它允许我使用 WebRtc 通过 WebRtc 数据通道传递 hls。
问题是它不支持 IOS 上的 Safari。
IOS 上最新版本的 Safari 确实支持 WebRtc 数据通道,并且它们原生支持 hls 播放。
这是我的问题是只能在支持媒体源扩展的浏览器上使用 WebRtc 进行数据传输,还是我也可以使用 WebRtc 将 .ts 文件传递到 IOS 上的 Safari 浏览器?
【问题讨论】:
标签:
webrtc
http-live-streaming
【解决方案1】:
我是 P2P 媒体加载器的开发人员,我们目前正在开发 iOS 支持。希望我们很快就会有一个原型。
在 iOS Safari 上,您可以使用 WebRTC 数据通道交换视频和音频数据,但如果没有媒体源扩展等 API,您无法将该数据和播放到 HTML 视频元素中。
我们目前正在 iOS Safari 上测试一种不同的方法。
【解决方案2】:
iOS Safari 不支持 HTML5 视频元素的媒体源扩展。
因此,您无法通过任何使用各种 API(如 Canvas、Web Audio API 等)的手工方法在 iOS Safari 上播放同步的音频和视频。
iOS Safari 内置了两种播放同步音视频的方法:
- 一个。原生 HLS 播放
- 乙。 WebRTC PeerConnection
如果您选择 WebRTC PeerConnection,则必须将 HLS 中使用的 AAC 音频转码为 WebRTC 所需的 Opus 音频,并将 HLS 转码为 WebRTC。
丑陋,CPU消耗,真的毫无意义。它给你买了什么?为什么不在 iOS Safari 上使用原生 HLS 播放?但是,如果您坚持选项 b,那么有许多软件媒体服务器会为您做这件事。