【问题标题】:How to change Video PlayBack Quality with AVPlayer?如何使用 AVPlayer 更改视频播放质量?
【发布时间】:2017-04-05 07:26:17
【问题描述】:

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

目前,我正在播放原始画质,并提供 360p、480p、720p 等选项来改变画质。

我怎样才能改变它?

【问题讨论】:

    标签: ios avplayer avplayeritem videoquality


    【解决方案1】:

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

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

    【讨论】:

    • 我只有一个视频网址。
    • @Kuldeep 在这种情况下,你不能在质量之间切换。
    【解决方案2】:

    要执行转换视频之类的操作,您应该使用FFmpeg 库。 尝试在github上寻找一些使用ffmpeg的库。

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

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

    查看 Apple 的 HLS Documentation 和播放列表 Examples

    【讨论】:

      【解决方案3】:

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

      AVPlayerItem *playeriem= [AVPlayerItem playerItemWithURL:urlOfSelectedQualityVideo];
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-07-20
        • 1970-01-01
        • 2012-04-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-05
        相关资源
        最近更新 更多