fairplay - AVAssetDownloadTask 的下载性能
问题描述
我AVAssetDownloadTask
用来下载一些 FairPlay 加密的音频。根据指南,音频被分成小块,以允许在流式传输期间在比特率之间切换。我们的块每个大约 6 秒,这意味着小于 100 kb。
这个过程的下载速度非常糟糕。我看到的速度在 85 KB/s 和 250 KB/s 之间。这是一个连接,当我下载一个新的 Xcode 测试版时,我每秒获得几兆字节。
我猜测速度慢是由于必须为每个段单独请求,这是很大的开销。我尝试使用Charles检查下载流量,即使它显示每个下载任务一个 HTTPS 连接,请求正文大小在下载的整个生命周期内不断向上滴答。我尝试从音频文件所在的同一台服务器下载一个 100MB 的测试文件,它以每秒几兆字节的速度下降。
我的问题:使用 获得良好下载性能的最佳实践是什么AVAssetDownloadTask
?细分应该更大吗?是否应该有一个单独的文件是一大块供下载?还是这种行为很奇怪,表明我配置错误?
解决方案
推荐阅读
- google-apps-script - Webhook 到 Google 表格 - 想要替换而不是附加行
- html - 悬停时使用容器拉伸图像
- python - 在生成器上循环 concurrent.futures.as_completed 是否会在每次迭代时释放结果内存?
- laravel - Laravel 图片,Javascript 和 Css 404 错误
- html - 如何在 aem 的站点中添加额外的 li 元素到“创建”按钮
- python - Python 配置选项 - 设置 Python 二进制文件的相对路径以查找共享对象/共享库
- coldfusion - Cfloop 只返回列表的第一个和最后一个值的值
- json - 如何使用 JSON 从 Github API 获取最新版本
- kubernetes - Kubernetes 通过端口而不是 NodePort 访问外部 IP
- dbt - 将嵌套的 dict 有效负载从“config”传递给 DBT 中的宏