2016-05-17 7 views
6

Я пытаюсь изменить битрейт воспроизведения, пока видео воспроизводится динамически на AVFoundation iOS.
В этом потоке: https://devimages.apple.com.edgekey.net/streaming/examples/bipbop_16x9/bipbop_16x9_variant.m3u8, есть 5 видеопотоков, и теперь AV автоматически выбирает битрейт.AVPlayer - получить список доступных полос пропускания/потоков битрейта и заставить один из них

Я хочу разрешить пользователю выбирать качество HD, поэтому мне нужен способ заставить игрока выбрать самый высокий битрейт без замены источника.

ответ

0

документация яблока для [AVPlayerItem] (см docs) имеет preferredPeakBitRate: метод, описанный как:

The требуемого предел, в битах в секунду, потребление полосы пропускания сети для этого элемента.

Если потребление пропускной способности сети не может быть снижено, чтобы удовлетворить предпочтениеPeakBitRate, оно будет как можно меньше уменьшаться при продолжении воспроизведения элемента.


AVPlayerItem: Настройка сети Поведение [онлайн]. [Соч. 2017-02-14]. Доступно с: https://developer.apple.com/reference/avfoundation/avplayeritem

Это не трудно предела за скажу, но если соединение может поддерживать скорость передачи (как считается по прошивке), то он пытается оправдать ожидания.

Что касается списка доступных битрейтов, вам необходимо вручную проанализировать файл m3u8 или просто создать уровни самостоятельно.