как установить качество видео для ios 270 360 480 720 1080 - PullRequest
0 голосов
/ 27 сентября 2018

Чтобы установить качество видео для ios.

Я попытался загрузить m3u8 URL-адрес видео с сервера, и я загрузил файл m3u8, и я отделил все RESOLUTION от качества видео и ПОСЛЕ СЕГМЕНТОВ получил пропускную способность URL в массиве,

Когда я загружаю базовый URL sample.m3u8, у него есть видео и аудио, после чего я устанавливаю базовый URL из предыдущих сегментов и добавляю URL пропускной способности из массива, в который он загружал видео в соответствии с выбранным качеством, но звук не пришел,

Чтобы достичь этого, я решил, что некоторые решения будут работать

Я делаю отдельно, чтобы запустить оригинальный URL, который содержит видео и аудио, и я запускаю отдельно URL с низкой пропускной способностью, который не содержит аудио для синхронизации

ex: RESOLUTION=1280x720,SAMPLE_720p_v4.m3u8

SAMPLE.m3u8

#EXTM3U
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio-0",NAME="Default",AUTOSELECT=YES,DEFAULT=YES,URI="segments/SAMPLE_audio_v4.m3u8"

#EXT-X-I-FRAME-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=30681000,CODECS="avc1.640028",URI="segments/SAMPLE_1080p_iframe.m3u8"

#EXT-X-I-FRAME-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=30140000,CODECS="avc1.4d001f",URI="segments/SAMPLE_720p_iframe.m3u8"

#EXT-X-I-FRAME-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=15431000,CODECS="avc1.42001f",URI="segments/SAMPLE_480p_iframe.m3u8"

#EXT-X-I-FRAME-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=11009000,CODECS="avc1.42001e",URI="segments/SAMPLE_360p_iframe.m3u8"

#EXT-X-I-FRAME-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=7850000,CODECS="avc1.420015",URI="segments/SAMPLE_270p_iframe.m3u8"


#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=4080000,RESOLUTION=1280x720,CODECS="avc1.640028,mp4a.40.2",AUDIO="audio-0"

сегментов / SAMPLE_1080p_v4.m3u8

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=3471000,RESOLUTION=1280x720,CODECS="avc1.4d001f,mp4a.40.2",AUDIO="audio-0"

сегментов / SAMPLE_720p_v4.m3u8

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1934000,RESOLUTION=854x480,CODECS="avc1.42001f,mp4a.40.2",AUDIO="audio-0"

сегментов / SAMPLE_480p_v4.m3u8

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1106000,RESOLUTION=640x360,CODECS="avc1.42001e,mp4a.40.2",AUDIO="audio-0"

сегментов / SAMPLE_360p_v4.m3u8

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=837000,RESOLUTION=480x270,CODECS="avc1.420015,mp4a.40.2",AUDIO="audio-0"

сегментов / SAMPLE_270p_v4.m3u8

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=185000,CODECS="mp4a.40.2",AUDIO="audio-0"

сегментов / SAMPLE_audio_v4.m3u8

1 Ответ

0 голосов
/ 28 сентября 2018

Используйте свойство предпочитаемое значениеPeakBitRate для вашего игрока https://developer.apple.com/documentation/avfoundation/avplayeritem/1388541-preferredpeakbitrate вам необходимо передать действительное значение пропускной способности.

Не уверены, почему вы скачиваете файл m3u8. AVFoundation управляет этим для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...