Изменение битрейта Exo Player

Этот вопрос можно было бы задать много раз. Я искал везде, но не мог найти правильный ответ. Я использую ExoPlayer в своем проекте для воспроизведения видео HLS.

Я хочу дать пользователю возможность выбирать пропускную способность видео. Что-то вроде того, что делает YouTube. Есть идеи, как этого можно добиться с помощью ExoPlayer?


person prit    schedule 30.05.2016    source источник
comment
вы должны указать несколько URL-адресов видео с разной пропускной способностью, и в зависимости от выбранной пропускной способности вы должны указать правильный URL-адрес видео для exoplayer.   -  person Dodge    schedule 30.05.2016
comment
привет прит. Если у вас есть решение. пожалуйста, опубликуйте свой ответ. Я предложу свою награду.   -  person Ranjith Kumar    schedule 27.09.2017


Ответы (1)


Из системы отслеживания проблем ExoPlayer:

ExoPlayer в настоящее время выбирает первый вариант, указанный в основном списке воспроизведения. Если я правильно помню, это то, что Apple рекомендует/указывает как правильное поведение клиента. Если вы хотите начать с самого низкого качества, технически ваш сервер должен сгенерировать основной список воспроизведения с самым низким качеством, указанным первым.

Помимо вышеизложенного, мы согласны с тем, что для клиента более целесообразно сделать первоначальный выбор варианта локально, а не рекомендуемое поведение. Мы перенесем HLS на использование FormatEvaluator в ExoPlayer V2, что даст больше контроля над первоначальным выбором (и над адаптивным алгоритмом в целом).

И как решение этот комментарий:

Взгляните на AdaptiveTrackSelection.Factory. Его параметры могут обеспечить достаточную настройку для вашего случая.

Я думаю, что это должно дать вам либо нужный вам ответ, либо направить вас в правильном направлении.

Обратите внимание, что вы должны предоставить потоки более низкого качества, чтобы иметь возможность использовать это. Если у вас есть видео ТОЛЬКО в формате HD, ExoPlayer не может уменьшить разрешение видео, это не его работа и не то, для чего он предназначен. ExoPlayer может синхронизировать и обеспечивать плавный переход между видео в нескольких разрешениях только тогда, когда они предоставлены.

person Chapz    schedule 28.09.2017
comment
Спасибо за Ваш ответ. я проверю - person Ranjith Kumar; 28.09.2017
comment
Можете ли вы объяснить, как добавить URL-адреса нескольких качественных видео (720p, 540p, 360p, 240p) в exoplayer и заставить exoplayer автоматически выбирать подходящий URL-адрес в зависимости от скорости сети? - person athul; 27.05.2020
comment
Это то, что нужно сделать на стороне бэкэнда, к сожалению, я не знаю этой части. Насколько я знаю, URL-адрес предоставляет своего рода манифест, который содержит все ссылки в списке ключ-значение, но вам нужно будет проверить там особенности :( - person Chapz; 28.05.2020