Как изменить качество видео, как на YouTube?
В настоящее время я играю с исходным качеством и даю такие варианты, как 360p, 480p, 720p для изменения качества.
Как я могу это изменить?
Как изменить качество видео, как на YouTube?
В настоящее время я играю с исходным качеством и даю такие варианты, как 360p, 480p, 720p для изменения качества.
Как я могу это изменить?
Вы не можете сделать это просто с AVplayer
. вам нужен другой URL для видео разного качества. Когда пользователь выбирает другое качество, вы можете переключиться на это видео с помощью метода replaceCurrentItemWithPlayerItem. для AVPlayer.
AVPlayerItem *playeriem= [AVPlayerItem playerItemWithURL:urlOfSelectedQualityVideo];
[playeriem seekToTime:player.currentTime];
[player replaceCurrentItemWithPlayerItem:playeriem];
Чтобы делать такие вещи, как конвертирование видео, вы должны использовать библиотеку FFmpeg. Попробуйте поискать библиотеки, использующие ffmpeg, на github.
Как этот: https://github.com/iMoreApps/ffmpeg-avplayer-for-ios-tvos
Вы не можете сделать это с AVPlayer. При простом потоковом воспроизведении вы используете индексные файлы M3U, файлы TS, содержащие видеоданные, и просто переключаете потоки.
Ознакомьтесь с документацией HLS и Примеры.
Вы также можете создать несколько версий m3u8, одну с битрейтом видео более низкого качества, скажем, от 128k до 650k, а другую с битрейтом от 650k + до более высокого, и использовать URL-адрес потока более высокого качества, предложенный в ответе выше.
AVPlayerItem *playeriem= [AVPlayerItem playerItemWithURL:urlOfSelectedQualityVideo];