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

标签 xcode swift http video-streaming http-live-streaming

我想知道是否可以使用 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 而苹果的示例视频没有't,我正在 XCode 中的模拟器上进行测试

最佳答案

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

https://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8 无法正常工作,因为 devimages.apple.com 证书无效。只需浏览 url使用您的浏览器。它会警告您并为您提供有关具体问题的更多信息。

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

验证 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'

关于xcode - 您可以使用 HLS 从 HTTPS 服务器流式传输吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35225914/

相关文章:

ios - UIActivityViewController => LaunchServices : invalidationHandler called

http - 主干 HTTP 基本 rest api 身份验证

ruby - 构建 HTTP RESTful API(特定于 Ruby)

rest - 客户端的 HTTP 状态代码已过期

ios - 在 Objective-C 类中使用时,在调试区域看不到 Swift 对象层次结构

xcode - 无法通过在 Xcode 中拖动来创建模型 segue

ios - -[UITableView _configureCellForDisplay :forIndexPath:] 中的断言失败

swift - 处理来自 Swift 的 FSEventStreamRef API 中的选项

swift - 使用 Swift 3 在警告消息框标题中添加图像

objective-c - Xcode,为什么会自动添加一些约束?