【问题标题】:Selecting high bit rate video from master playlist .m3u8 to play video using AVPlayer从主播放列表 .m3u8 中选择高比特率视频以使用 AVPlayer 播放视频
【发布时间】:2016-09-30 07:17:20
【问题描述】:

我有主播放列表 .m3u8 文件包含的其他类型为 .m3u8 的索引文件现在应用程序要求是播放高比特率视频的视频,是否有可能实现这一点并使用 AVPlayer(苹果 tvOS)播放高比特率视频.

主播放列表包含以下索引文件

EXTM3U

EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=378000,RESOLUTION=256x144,CODECS="avc1.42001e,mp4a.40.2"

someurl.m3u8

EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2072000,RESOLUTION=480x270,CODECS="avc1.42001e,mp4a.40.2"

someurl.m3u8

EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2671000,RESOLUTION=640x360,CODECS="avc1.4d001f,mp4a.40.2"

someurl.m3u8

现在根据要求应用程序需要从主播放列表中播放以下网址。
ID=1,BANDWIDTH=2671000,RESOLUTION=640x360,CODECS="avc1.4d001f,mp4a.40.2" someurl.m3u8

是否可以使用 AVPlayer 来实现。

【问题讨论】:

    标签: objective-c avplayer tvos


    【解决方案1】:

    设置

    player.currentItem?.preferredPeakBitRate = 2072000
    

    仅设置比特率的上限,因此例如您可以使用它排除最高比特率。

    问题是,AVFoundation 不会选择高于网络连接吞吐量的比特率,因为这会导致播放断断续续,这不是一个明智的策略。

    也就是说,如果你真的想强制播放最高比特率资产,你可以拦截外部 m3u8 文件的获取并抑制较低比特率条目,或者解析文件并直接使用 @987654323 播放最高比特率 URL @。

    【讨论】:

    • 嗨 Rhythmic 我使用了相同的方法来设置preferredPeakBitRate,但我的事情取决于带宽播放器正在播放低质量的视频。我正在考虑您提供的其他解决方案来解析文件并播放最高比特率 URL,但我在如何解析文件方面遇到问题,您能否提供任何链接或代码来解析上述文件。
    • 有些 cocoapods 可以解析 m3u8 文件,例如github.com/alexsun/M3U8Paser
    • @RhythmicFistman 如果播放列表在 master 中也有字幕怎么办。我获取了分辨率文件并通过了它,但随后字幕在特征中不可用。也尝试过 mutablerequest 但没有成功。有什么帮助吗?示例
    • #EXTM3U #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="FIL",DEFAULT=NO,AUTOSELECT=YES,LANGUAGE="Filipino",URI ="layer06.m3u8" #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=334164,RESOLUTION=428x240,SUBTITLES="subs" layer05.m3u8 #EXT-XI-FRAME-STREAM-INF:PROGRAM- ID=1,BANDWIDTH=334164,URI="iframe_layer05.m3u8" #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=672686,RESOLUTION=640x360,SUBTITLES="subs" layer04.m3u8 #EXT-XI -FRAME-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=672686,URI="iframe_layer04.m3u8" #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1046294,RESOLUTION=960x540,SUBTITLES="潜艇” layer03.m3u8
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-02-03
    • 2012-01-06
    • 1970-01-01
    • 2020-05-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多