【问题标题】:how to set video quality for ios 270 360 480 720 1080如何为 ios 270 360 480 720 1080 设置视频质量
【发布时间】:2019-03-02 23:16:11
【问题描述】:

为 ios 设置视频质量。

我尝试从服务器加载 m3u8 视频 url,我下载了 m3u8 文件,我将所有分辨率与视频质量隔离开来,在 SEGMENTS 获取数组中 url 的带宽之后。

当我加载基本 url sample.m3u8 之后,它具有视频和音频,然后我设置了之前段的基本 url,并且我从数组中附加了带宽 url,它根据选择的质量加载视频,但没有音频出现。

为了实现这一点,我制定了一些可行的解决方案

我单独运行包含视频和音频的原始 url,我单独运行不包含音频的低带宽 url 进行同步

例如:RESOLUTION=1280x720,SAMPLE_720p_v4.m3u8

SAMPLE.m3u8

#EXTM3U
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio-0",NAME="Default",AUTOSELECT=YES,DEFAULT=YES,URI="segments/SAMPLE_audio_v4.m3u8"

#EXT-X-I-FRAME-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=30681000,CODECS="avc1.640028",URI="segments/SAMPLE_1080p_iframe.m3u8"

#EXT-X-I-FRAME-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=30140000,CODECS="avc1.4d001f",URI="segments/SAMPLE_720p_iframe.m3u8"

#EXT-X-I-FRAME-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=15431000,CODECS="avc1.42001f",URI="segments/SAMPLE_480p_iframe.m3u8"

#EXT-X-I-FRAME-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=11009000,CODECS="avc1.42001e",URI="segments/SAMPLE_360p_iframe.m3u8"

#EXT-X-I-FRAME-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=7850000,CODECS="avc1.420015",URI="segments/SAMPLE_270p_iframe.m3u8"


#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=4080000,RESOLUTION=1280x720,CODECS="avc1.640028,mp4a.40.2",AUDIO="audio-0"

segments/SAMPLE_1080p_v4.m3u8

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=3471000,RESOLUTION=1280x720,CODECS="avc1.4d001f,mp4a.40.2",AUDIO="audio-0"

segments/SAMPLE_720p_v4.m3u8

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1934000,RESOLUTION=854x480,CODECS="avc1.42001f,mp4a.40.2",AUDIO="audio-0"

segments/SAMPLE_480p_v4.m3u8

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1106000,RESOLUTION=640x360,CODECS="avc1.42001e,mp4a.40.2",AUDIO="audio-0"

segments/SAMPLE_360p_v4.m3u8

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=837000,RESOLUTION=480x270,CODECS="avc1.420015,mp4a.40.2",AUDIO="audio-0"

segments/SAMPLE_270p_v4.m3u8

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=185000,CODECS="mp4a.40.2",AUDIO="audio-0"

segments/SAMPLE_audio_v4.m3u8

【问题讨论】:

  • 你的?与更改视频质量或音频不播放有关。
  • 是的,改变视频质量音频不播放,自动工作正常

标签: ios swift avplayer http-live-streaming m3u8


【解决方案1】:

使用您的 playeritem https://developer.apple.com/documentation/avfoundation/avplayeritem/1388541-preferredpeakbitrate 上的 preferredPeakBitRate 属性,您需要传递一个有效的带宽值。

不确定你为什么要下载 m3u8 文件,AVFoundation 会为你管理这个。

【讨论】:

    猜你喜欢
    • 2021-09-08
    • 1970-01-01
    • 2015-05-28
    • 2013-01-14
    • 1970-01-01
    • 2017-05-19
    • 2022-06-19
    • 2013-12-25
    • 2016-02-12
    相关资源
    最近更新 更多