我们正在开发一款移动视频应用,需要决定 HLS 或 MPEG-DASH 之间的视频协议(protocol)。
我们的主要考虑因素是两者中哪一个对浏览器和移动平台(iOS、Android)有更好的支持和兼容性?
视频内容是在移动应用上录制/上传/观看的,但也需要共享以便在浏览器上查看。
乍一看,HLS 拥有更广泛的平台支持,但很想听听任何人的经验。
谢谢!
最佳答案
如果您想覆盖尽可能多的用户,您很可能会发现此时必须同时支持这两种方式,尤其是在内容已加密的情况下。
iOS 和 Safari 通常使用 HLS 和 FairPlay,Android、Firefox 和 Chrome 使用 DASH 和 Widevine,Windows 和 Edge 使用 DASH 和 PlayReady。
目前,Apple iOS 设备必须使用 HLS 通过移动网络播放超过 10 分钟的内容:
2.5.7 Video streaming content over a cellular network longer than 10 minutes must use HTTP Live Streaming and include a baseline 192 kbps HTTP Live stream. (https://developer.apple.com/app-store/review/guidelines/)
因此,为 Apple 设备提供的流通常是 HLS,而 DASH 用于其他设备。
如果您的流未加密,您可以使用 CMAF 单个源文件。如果它们被加密,那么设备需要一段时间才能支持单个 CMAF 加密源 - 请在此处查看更多详细信息:https://stackoverflow.com/a/62020034/334402
关于android - 为视频应用程序选择 HLS 或 MPEG-DASH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62191097/