【问题标题】:How does ExoPlayer determine its buffering speed?ExoPlayer 如何确定其缓冲速度?
【发布时间】:2019-12-09 13:56:13
【问题描述】:

我正在尝试模拟一组基于 ExoPlayer 的视频播放器流式传输来自同一组服务器的 MPEG-DASH 流,以进行性能研究。 我熟悉 DefaultLoadControl 的工作原理(this video 帮助很大),但我不知道缓冲时从服务器请求的块的大小。例如,ExoPlayer 是否会在启动时立即尝试在一个 HTTP 请求中获取 minBufferMs 个字节?还是它会发送几个较小的请求?什么算法(或一系列算法)确定缓冲区的填充速度是多少?正常播放时的行为是否相同?在 seekTo() 之后?

另外,这个缓冲率取决于哪些变量?例如,ExoPlayer 是否使用 MPD 清单中的信息?

为了了解更多,我应该研究什么课程?

非常感谢!

【问题讨论】:

    标签: exoplayer mpeg-dash buffering


    【解决方案1】:

    视频文件在服务器端被分成多个片段,播放器根据其能力和网络条件,或更准确地说,通常取决于它如何感知网络,从适当的分辨率/比特率流中请求下一个片段基于缓冲量等。

    段的大小是在服务器端预先确定的,而不是播放器请求更小或更大的段。内容段长度的选择是艺术和科学的混合体——用非常简单的术语来说,较短的段允许更好的延迟和灵活性,而较长的段更有效并且可以提供更好的质量。在撰写本文时,这里有一个很好的概述:

    对于您要调查的类的问题,您可能希望在 ExoPlayer 中查看 TrackSelector:

    【讨论】:

      猜你喜欢
      • 2018-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多