具有DRM的HLS-AVPlayer无法切换到其他比特率文件

时间:2019-06-17 21:17:09

标签: ios avplayer http-live-streaming drm fairplay

我正在尝试通过主播放列表播放DRM加密的mp4文件。我们的服务器托管了多个支持不同比特率(12kpbs,48kbps,96kbps,160kbps,256kbps和320kbps)的mp4。

每个不同的比特率文件均使用不同的内容密钥加密,contentkeyID的格式为“ skd:// contentkeyid_”。例如:“ skd:// abcdefgh123_12”或“ skd:// abcdefgh123_96”等:

在将主播放列表的自动选择设置为96kbps的情况下,每当我将主播放列表馈送到AVPlayer时,它就会从密钥服务器获取内容密钥,并开始播放96kbps的流。

现在,我的问题是,如果网络带宽发生变化,AVPlayer是否应该切换到其他文件? 更高或更低的比特率取决于可用的带宽? 我尝试使用“网络链接条件”工具模拟不同的网络条件,AVPlayerItemAccessLogEvent对象上的authenticatedBitrate属性似乎已更改,但AVPlayer并未发出请求以获取不同比特率文件的新内容密钥。这表明播放器没有切换到其他m3u8文件。

在不同的网络条件下,AVPlayer不会调用以下方法: -contentKeySession:didProvideContentKeyRequest;

#EXT-X-MEDIA:TYPE=AUDIO,URI="fb701719be7fff0a0514d27c0c4cca41_c_12.m3u8",GROUP-ID="default-audio-group",NAME="fb701719be7fff0a0514d27c0c4cca41_c_12",CHANNELS="1"  
#EXT-X-MEDIA:TYPE=AUDIO,URI="fb701719be7fff0a0514d27c0c4cca41_c_48.m3u8.",GROUP-ID="default-audio-group",NAME="fb701719be7fff0a0514d27c0c4cca41_c_48",CHANNELS="2"  

#EXT-X-MEDIA:TYPE=AUDIO,URI="fb701719be7fff0a0514d27c0c4cca41_c_96.m3u8",GROUP-ID="default-audio-group",NAME="fb701719be7fff0a0514d27c0c4cca41_c_96",AUTOSELECT=YES,CHANNELS="2"  


#EXT-X-MEDIA:TYPE=AUDIO,URI="fb701719be7fff0a0514d27c0c4cca41_c_160.m3u8",GROUP-ID="default-audio-    group",NAME="fb701719be7fff0a0514d27c0c4cca41_c_160",CHANNELS="2"  


#EXT-X-MEDIA:TYPE=AUDIO,URI="fb701719be7fff0a0514d27c0c4cca41_c_256.m3u8",GROUP-ID="default-audio-group",NAME="fb701719be7fff0a0514d27c0c4cca41_c_256",CHANNELS="2"  


#EXT-X-MEDIA:TYPE=AUDIO,URI="fb701719be7fff0a0514d27c0c4cca41_c_320.m3u8",GROUP-ID="default-audio-group",NAME="fb701719be7fff0a0514d27c0c4cca41_c_320",CHANNELS="2"        

#EXT-X-STREAM-INF:BANDWIDTH=14715,AVERAGE-BANDWIDTH=12618,CODECS="mp4a.40.2",AUDIO="default-audio-group" fb701719be7fff0a0514d27c0c4cca41_c_12.m3u8  

#EXT-X-STREAM-INF:BANDWIDTH=50811,AVERAGE-BANDWIDTH=49418,CODECS="mp4a.40.2",AUDIO="default-audio-group"fb701719be7fff0a0514d27c0c4cca41_c_48.m3u8  

#EXT-X-STREAM-INF:BANDWIDTH=101299,AVERAGE-BANDWIDTH=98918,CODECS="mp4a.40.2",AUDIO="default-audio-group" fb701719be7fff0a0514d27c0c4cca41_c_96.m3u8 

#EXT-X-STREAM-INF:BANDWIDTH=174243,AVERAGE-BANDWIDTH=166777,CODECS="mp4a.40.2",AUDIO="default-audio-group"  
fb701719be7fff0a0514d27c0c4cca41_c_160.m3u8  

#EXT-X-STREAM-INF:BANDWIDTH=276432,AVERAGE-BANDWIDTH=267524,CODECS="mp4a.40.2",AUDIO="default-audio-group" fb701719be7fff0a0514d27c0c4cca41_c_256.m3u8  

#EXT-X-STREAM-INF:BANDWIDTH=344994,AVERAGE-BANDWIDTH=333661,CODECS="mp4a.40.2",AUDIO="default-audio-group"fb701719be7fff0a0514d27c0c4cca41_c_320.m3u8

0 个答案:

没有答案