您可以使用HLS从HTTPS服务器流式传输吗?



我想知道是否可以使用以下代码使用 HLS 从 HTTPS 服务器流式传输 -

let url = NSURL(string:"http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8")
        let player = AVPlayer(URL: url!)
        let playerController = AVPlayerViewController()
        playerController.player = player
        self.addChildViewController(playerController)
        self.view.addSubview(playerController.view)
        playerController.view.frame = self.view.frame
        player.play()

我可以从 HTTP 服务器流式传输,但是当我将 URL 更改为我公司服务器的 URL 时它不起作用,唯一的区别是我公司的视频在其 URL 中有 HTTPS,而苹果的示例视频没有,我正在 XCode 中的模拟器上进行测试

是的,您可以从HTTPS服务器流式传输HLS。HLS流通过HTTP传输,HTTPS只是通过TLS传输HTTP,大多数时候它对客户端是透明的。您唯一需要的是播放器中对HTTPS的支持,所有主要播放器都已经拥有。

https://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8不起作用,因为devimages.apple.com证书无效。只需使用浏览器浏览网址即可。它会警告您并为您提供有关到底是什么问题的其他信息。

我想您公司服务器的问题是一样的 - 错误或自签名证书。

验证https服务器的另一种快速方法是用户curl。例如:

curl "https://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8"

投诉:

curl: (51) SSL: no alternative certificate subject name matches target host name 'devimages.apple.com'

相关内容

  • 没有找到相关文章

最新更新