0

你好朋友,我正在开发OTT平台应用程序,我需要像Snapchat和instagram作为参考,非常流畅地播放视频,没有任何延迟。我正在使用 Cloudinary 上传视频,一切正常,但第一次,AVPlayer 需要 1-2 秒的时间来启动视频,这对我来说是件坏事。播放视频后,下次我播放相同的视频时,它播放流畅,延迟时间最长为半秒。

至于我试图通过不同的博客学习并堆叠流答案,我摆脱了这是默认的 AVPlayer 缓冲时间,它取决于视频持续时间及其获取的视频信息,如标题、元数据等。但我不必使用这些信息随处可见。

我试图将AVPlayer .automaticallyWaitsToMinimizeStalling = false的这个属性设置为false,但仍然没有运气。

我从 StackOverflow 帖子中尝试了一些解决方案,但没有成功

如何减少 iOS AVPlayer 启动延迟

这是演示视频链接,您可以尝试http://res.cloudinary.com/dtzhnffrp/video/upload/v1621013678/1on1/bgasthklqvixukocv6xy.mov

如果大家可以建议,我可以用什么让OTT平台流畅播放视频真的很感谢大家...

提前致谢

4

2 回答 2

0

大多数流媒体服务使用 ABR,它会创建视频的多个分辨率副本,并将每个副本分成 2-10 秒,通常是块。

ABR 的一个好处是,为了加快播放启动速度,视频可以以较低的分辨率比特率开始,然后随着它的进行“升级”到更高的比特率。

您经常可以在流行的流媒体服务上看到这一点,您会看到视频开始时视频质量较低,并在短时间内有所改善。

有关 ABR 的更多信息,请参见此处:https ://stackoverflow.com/a/42365034/334402

这需要您在服务器端为 HLS 和 DASH 流媒体准备视频,这两种最常见的 ABR 流媒体协议。

通常使用专用流服务器或编码器和打包器的组合来准备和提供 ABR 流。还有一些云服务,例如 AWS 媒体服务或 Azure 媒体服务,它们允许点播流媒体模型。

于 2021-06-07T18:52:30.000 回答
0

您可以通过减小尺寸或进一步压缩来使视频更小。这两者都有降低启动时间的效果——但会牺牲质量作为交换。

Cloudinary 将为您创建 ABR 版本,但我上次检查时,您为创建的每个版本付费。

于 2021-06-07T19:01:32.463 回答