6

如何像 YouTube 一样更改视频质量?

目前,我玩的是原始质量,我提供了 360p、480p、720p 等选项来改变质量。

我怎样才能改变它?

4

3 回答 3

6

你不能简单地用AVplayer. 对于不同质量的视频,您需要不同的 URL。 当用户选择其他质量时,您可以使用AVPlayer的replaceCurrentItemWithPlayerItem方法切换到该视频 。

AVPlayerItem *playeriem= [AVPlayerItem playerItemWithURL:urlOfSelectedQualityVideo];
[playeriem seekToTime:player.currentTime];
[player replaceCurrentItemWithPlayerItem:playeriem];
于 2017-04-05T07:40:28.660 回答
3

为了做像转换视频这样的事情,你应该使用FFmpeg库。尝试在 github 上寻找一些使用 ffmpeg 的库。

喜欢这个:https ://github.com/iMoreApps/ffmpeg-avplayer-for-ios-tvos

你不能用 AVPlayer 做到这一点。仅流式传输时,您使用 M3U 索引文件、包含视频数据的 TS 文件并仅切换流。

查看 Apple 的HLS 文档和播放列表示例

于 2017-04-05T08:49:13.893 回答
2

您还可以创建 m3u8 的多个再现,一个具有较低质量的视频比特率,例如 128k 到 650k,另一个具有 650k + 到更高比特率,并使用上面答案中建议的更高质量的流 URL

AVPlayerItem *playeriem= [AVPlayerItem playerItemWithURL:urlOfSelectedQualityVideo];
于 2017-11-07T10:35:48.250 回答