【发布时间】:2017-04-05 07:26:17
【问题描述】:
如何像 YouTube 一样更改视频质量?
目前,我正在播放原始画质,并提供 360p、480p、720p 等选项来改变画质。
我怎样才能改变它?
【问题讨论】:
标签: ios avplayer avplayeritem videoquality
如何像 YouTube 一样更改视频质量?
目前,我正在播放原始画质,并提供 360p、480p、720p 等选项来改变画质。
我怎样才能改变它?
【问题讨论】:
标签: ios avplayer avplayeritem videoquality
你不能简单地使用AVplayer。对于不同质量的视频,您需要不同的 URL。当用户选择其他质量时,您可以使用 AVPlayer 的replaceCurrentItemWithPlayerItem 方法切换到该视频。
AVPlayerItem *playeriem= [AVPlayerItem playerItemWithURL:urlOfSelectedQualityVideo];
[playeriem seekToTime:player.currentTime];
[player replaceCurrentItemWithPlayerItem:playeriem];
【讨论】:
要执行转换视频之类的操作,您应该使用FFmpeg 库。 尝试在github上寻找一些使用ffmpeg的库。
喜欢这个:https://github.com/iMoreApps/ffmpeg-avplayer-for-ios-tvos
你不能用 AVPlayer 做到这一点。仅流式传输时,您使用 M3U 索引文件、包含视频数据的 TS 文件并仅切换流。
查看 Apple 的 HLS Documentation 和播放列表 Examples。
【讨论】:
您还可以创建 m3u8 的多个再现,一个具有较低质量的视频比特率,例如 128k 到 650k,另一个具有 650k + 到更高比特率,并使用上面答案中建议的更高质量的流 URL
AVPlayerItem *playeriem= [AVPlayerItem playerItemWithURL:urlOfSelectedQualityVideo];
【讨论】: