Я использую Exoplayer для потоковой передачи видеоконтента HLS. По умолчанию AdaptiveTrackSelection запускается с низким качеством и, обнаруживая хорошую скорость интернета, переключается на высокое качество. Я хочу запустить плеер с высоким качеством, и тогда оно должно измениться в зависимости от скорости интернета. Заранее спасибо.
Android Exoplayer AdaptiveTrackSelection нужен для запуска видео с высоким качеством
Ответы (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
person
Kyle Venn
schedule
24.11.2018
Спасибо, @Kyle. По умолчанию это DEFAULT_INITIAL_BITRATE_ESTIMATE = 1_000_000.
- person Sachin Jagtap; 26.11.2018
В этом случае изменяется ли поток на более низкое разрешение при снижении скорости интернета? Или видео зависает для буферизации? В моем случае началась буферизация видео. В чем может быть возможная проблема?
- person Prakash; 17.12.2018