我正在构建一个 iOS 应用程序,它将流式传输最长为 15 秒的视频。我阅读了有关 HLS 的好文章,因此我一直在对片段大小为 5 秒的视频进行转码。如果视频的第一部分加载时间太长,那么我们可以在接下来的 10 秒内回退到较低质量,这很好。
但是,我不确定增加的复杂性是否值得。主要缺点是我们需要为网络转码额外的视频。另一个问题是 iOS 上的 AVPlayer 基本上是一个黑盒子,很难或不可能构建诸如将片段缓存到磁盘或重新使用视频之间的带宽测量等功能。我认为我们必须从头开始构建我们自己的 HLS 播放器,这样我们才能拥有这些功能,这需要付出很多努力。
最佳答案
如果视频只有 15 秒长,则使用 HLS 可能有点矫枉过正。是的 AVPlayer 是一个黑盒,根据我的经验,我还没有看到它在只播放一个片段后处理比特率切换。我认为它的行为方式完全相反,即它从较低的比特率开始播放,然后突然上升到较高的比特率(对此不完全确定)。
关于编写自定义播放器,您可以通过本地 http 代理发送来自 AVPlayer 的所有请求,并尝试将智能缓存逻辑放在那里。我看到一些应用程序对受 DRM 保护的内容执行此操作,但对非 DRM 内容执行此操作可能不会被应用程序商店批准。
关于ios - 对短视频(最长 15 秒)使用 HLS 是个好主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30560442/