我正在使用带有HLS网址的AVURAsset。回复如下
QualityLevels(1020000)/Manifest(video,format=m3u8-aapl)
#EXT-X-I-FRAME-STREAM- INF:BANDWIDTH=1189576,RESOLUTION=668x376,CODECS="avc1.4d401f",URI="QualityLevels(1020000)/Manifest(video,format=m3u8-aapl,type=keyframes)"
#EXT-X-STREAM-INF:BANDWIDTH=1810952,RESOLUTION=924x520,CODECS="avc1.4d401f,mp4a.40.2",AUDIO="audio"
QualityLevels(1628000)/Manifest(video,format=m3u8-aapl)
#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=1810952,RESOLUTION=924x520,CODECS="avc1.4d401f",URI="QualityLevels(1628000)/Manifest(video,format=m3u8-aapl,type=keyframes)"
#EXT-X-STREAM-INF:BANDWIDTH=2803314,RESOLUTION=1280x720,CODECS="avc1.640029,mp4a.40.2",AUDIO="audio"
我可以使用AVFoundation类获取此播放列表文件中的元数据,例如带宽,分辨率吗?
答案 0 :(得分:3)
您可以将视频的分辨率视为跟随AVURLAsset getting video size
的自然尺寸关于带宽,它可能是视频的比特率。您可以尝试此实现
- (int)getBandwidth:(AVPlayer *)moviePlayer {
VPlayerItemAccessLog *log = [moviePlayer.currentItem accessLog];
NSArray *events = [log events];
AVPlayerItemAccessLogEvent *event = [events lastObject];
return ((int) ceilf(event.indicatedBitrate / 1000.0));
}
我希望这会有所帮助。