如何使用AVPlayer更改视频播放质量?

7

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

目前,我正在以原始质量播放,并提供像360p、480p、720p这样的选项来更改质量。

我应该如何更改呢?

3个回答

7

你不能简单地使用 AVplayer 来完成这个操作。你需要为不同质量的视频提供不同的 URL。当用户选择其他质量时,你可以使用 AVPlayer 的 replaceCurrentItemWithPlayerItem 方法切换到该视频。

AVPlayerItem *playeriem= [AVPlayerItem playerItemWithURL:urlOfSelectedQualityVideo];
[playeriem seekToTime:player.currentTime];
[player replaceCurrentItemWithPlayerItem:playeriem];

1
我只有一个视频网址。 - Kuldeep
@Kuldeep 在这种情况下,您无法在质量之间切换。 - PlusInfosys

3
为了进行像视频转换这样的操作,您应该使用FFmpeg库。 尝试在github上寻找一些使用ffmpeg的库。
比如这个:https://github.com/iMoreApps/ffmpeg-avplayer-for-ios-tvos 您无法使用AVPlayer来完成这一任务。当只是流式传输时,可以使用包含视频数据的M3U索引文件和TS文件,并切换流。
请查看苹果公司的HLS文档和播放列表示例

2

您还可以创建多个m3u8版本,其中一个具有较低的视频比特率(例如128k至650k),另一个则具有650k +至更高比特率,并使用上面答案中建议的更高质量的流媒体URL。

AVPlayerItem *playeriem= [AVPlayerItem playerItemWithURL:urlOfSelectedQualityVideo];

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接