swift - 带有 Cloudflare 的 AVPlayer
问题描述
我正在播放来自 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 视频
解决方案
我建议使用该m3u8
格式,完整链接将如下所示
https://videodelivery.net/5d5bc37ffcf54c9b82e996823bffbb81/manifest/video.m3u8其中 5d5bc37ffcf54c9b82e996823bffbb81 - VideoID。我从浏览器源获取的这个 ID ,但我无法播放您的示例,也许您需要设置一些额外的设置才能播放视频。我的意思是videoIDcb9618c34c4fbf6fa88bb48b73
您可以测试此代码:
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()
}
}
推荐阅读
- c# - 流媒体和阅读器无法读取目录中的文件夹和文件
- javascript - Chrome 扩展:sendResponse 返回空对象
- javascript - Javascript中的导航栏下拉按钮调用第一个按钮
- c# - 用数据库中的数据填充列表框。数据库中的值取决于组合框项 C# WPF MVVM 的选择
- javascript - 停止页面在输入点击时刷新
- typescript - 使用 indexOf 的可选链接?
- css - 弹出框在其他组件下方有毛刺
- node.js - 限制猫鼬文档嵌套深度
- path - 如何在 log4j2.yml 中读取 spring boot application.yml 属性
- webassembly - 有没有办法从字节数组中获取图像?[WASM]