【问题标题】:Reducing the initial delay when playing remote video content减少播放远程视频内容时的初始延迟
【发布时间】:2011-09-26 20:34:00
【问题描述】:

您好,使用 MPMoviePlayerController 将视频流式传输到应用程序中。但是,加载需要很长时间,我希望能够预先缓冲视频。有什么建议吗?

【问题讨论】:

  • 任何低于 8 秒的都可以被认为是正常的 - 你在这个范围内吗?为了缩短这 8 秒,请检查我在第 1 点的答案。 - 简而言之;在用户真正点击播放按钮之前准备播放。

标签: ios mpmovieplayercontroller buffer


【解决方案1】:
  1. 使用 [MPMoviePlayerControllerInstance prepareToPlay] 一旦你知道用户 可能会开始播放电影。你 可能还想设置 MPMoviePlayeController.autoPlay 到 最适合的东西,取决于 在您的应用程序上。

    来自Apple's Documentation

    这个方法被调用 当您调用播放时自动 方法。在打电话之前先打电话 比赛让接球者有机会 尽早准备物品,可能会导致 启动时延迟减少 回放。但是,调用此方法 也可能会中断任何活动的音频 会议。

  2. 确保您的 HTTP 流包含 使用低带宽替代方案 小于 64Kbps(音频和视频结合)。请注意, MPMoviePlayerController 通常 开始缓冲低速率 播放索引配置文件之前 提高标准并尝试 加载更高的带宽配置文件。它 准备好播放后 几秒钟的电影数据。

  3. 使用 MPMoviePlayerController.movieSourceType 初始化时的属性 播放器减少媒体 识别延迟。

    来自MPMoviePlayerController Class Reference

    此属性的默认值为 MPMovieSourceType 未知。这 财产提供了线索 播放系统应该如何 下载和缓冲电影内容。 如果你知道源类型 电影,设置这个值 播放开始前的属性可以 改善电影的加载时间 内容。如果不设置源 在播放前显式键入, 电影播放器​​控制器必须收集 此信息,可能会延迟 播放。

【讨论】:

  • 谢谢,我试过了,但并没有真正改善它。我还需要使用 //playerViewController.movi​​ePlayer.movi​​eSourceType = MPMovieSourceTypeStreaming;
  • 我也注意到每次我使用 player.movi​​eSourceType = MPMovieSourceTypeStreaming;
  • 它只是声明加载而不加载视频...这非常令人沮丧,因为我想做的只是在缓冲的同时向用户展示标准视频加载器...任何进一步的建议.另外,由于我对 xcode 还很陌生,我是否使用正确的类来“流式传输”视频...
  • 你真的在使用 HTTP-Stream 吗?在我看来,好像您使用的是渐进式下载。文件扩展名是 m3u8 还是 mp4?
  • 向播放器建议媒体类型的好点,将其添加到我的建议列表中。
猜你喜欢
  • 2019-03-09
  • 2021-08-12
  • 1970-01-01
  • 2016-10-04
  • 2021-03-11
  • 1970-01-01
  • 1970-01-01
  • 2020-05-02
  • 1970-01-01
相关资源
最近更新 更多