带有 Cloudflare 的 AVPlayer

Posted

技术标签:

【中文标题】带有 Cloudflare 的 AVPlayer【英文标题】:AVPlayer with Cloudflare 【发布时间】:2019-12-23 11:06:35 【问题描述】:

我正在播放来自 url 的视频,它运行良好,但现在我们正在尝试切换到 cloudflare,并且需要处理发送的视频。现在唯一的问题是除了 cloudflare url 之外的所有其他视频 url 都有效

我玩的怎么样

let fileURL = URL(string: "https://watch.cloudflarestream.com/cb9618c34c4fbf6fa88bb48b73")
player = AVPlayer(URL: fileURL!)
playerLayer = AVPlayerLayer(player: player)
playerLayer!.frame = self.view.bounds
self.view.layer.addSublayer(playerLayer!)
player!.play()

如何让 AVPlayer 播放 cloudflare 视频

【问题讨论】:

【参考方案1】:

我推荐使用m3u8 格式,完整的链接是这样的 https://videodelivery.net/5d5bc37ffcf54c9b82e996823bffbb81/manifest/video.m3u8 其中 5d5bc37ffcf54c9b82e996823bffbb81 - VideoID。这个ID我取了from the browser source,但是我不能播放你的例子,也许你需要为你的视频设置一些额外的设置才能播放。我的意思是videoID cb9618c34c4fbf6fa88bb48b73

你可以测试这段代码:

class ViewController: UIViewController 

    var player = AVPlayer()

    override func viewDidLoad() 
        super.viewDidLoad()


        let fileURL = URL(string: "https://videodelivery.net/5d5bc37ffcf54c9b82e996823bffbb81/manifest/video.m3u8")
        player = AVPlayer(url: fileURL!)
        let playerLayer = AVPlayerLayer(player: player)
        playerLayer.frame = self.view.bounds
        self.view.layer.addSublayer(playerLayer)
        player.play()
    


【讨论】:

好的。 https://videodelivery.net作为论文企业应用是如何设置的 @King 据我了解,videodelivery.net 是为 cloudflare 存储视频数据的地方。我想您可以在服务支持中获得更多信息

以上是关于带有 Cloudflare 的 AVPlayer的主要内容,如果未能解决你的问题,请参考以下文章

带有指向 Cloudflare 的 CNAME 的 SSL

带有 Cloudflare 的 S3 不允许直接访问

页面图标/标题未通过代理的 cloudflare 站点显示

将 cloudflare 与虚名称服务器一起使用

使用 CloudFlare 时使用真实服务器 IP 的 cURL

Cloudflare 发布关于2022 年的一些预测