【问题标题】:Android Exoplayer AdaptiveTrackSelection need to start video with high qualityAndroid Exoplayer AdaptiveTrackSelection 需要以高质量开始视频
【发布时间】:2018-11-26 22:32:12
【问题描述】:

我正在使用 Exoplayer 流式传输 HLS 视频内容。默认情况下,AdaptiveTrackSelection 以低质量开始,当它检测到良好的互联网速度时,它会切换到高质量。我想以高质量开始播放器,然后它应该根据互联网速度而改变。提前致谢。

【问题讨论】:

    标签: android exoplayer exoplayer2.x


    【解决方案1】:

    我相信您正在寻找的是对“最大初始比特率”的修改。这是您可以传递给BandwidthMeter 的参数。 BandwidthMeter 决定了您的带宽以及它将如何根据该信息选择轨道。如果你传递一个很大的数字作为这个参数,它会默认强制更高的比特率。目前默认是1_000_000 我认为(如DEFAULT_MAX_INITIAL_BITRATE) - 但请查看此以验证。

    要传递这个,它看起来像下面这样:

    final long defaultMaxInitialBitrate = Integer.MAX_VALUE;
    final DefaultBandwidthMeter defaultBandwidthMeter = new Builder()
            .setInitialBitrateEstimate(defaultMaxInitialBitrate)
            .build();
    final AdaptiveTrackSelection.Factory videoTrackSelectionFactory =
            new AdaptiveTrackSelection.Factory(defaultBandwidthMeter, ...)
    

    更多来源:

    https://github.com/google/ExoPlayer/issues/3698

    https://github.com/google/ExoPlayer/issues/676

    【讨论】:

    • 谢谢@Kyle。默认情况下它是 DEFAULT_INITIAL_BITRATE_ESTIMATE = 1_000_000。
    • 在这种情况下,当互联网速度下降时,流是否会变为较低的分辨率?或者视频被冻结以进行缓冲?就我而言,视频开始缓冲。可能是什么问题?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    相关资源
    最近更新 更多