2017-06-14 96 views
0

通過視頻.m38u文件的URL支持我目前正在與HTTP實時流視頻分辨率AVPlayerViewController/AVPlayer如何獲取在迅速

我是玩.m38u文件的視頻支持

它打細但我的問題是,我可以像視頻數據一樣設置4種類型的分辨率,同時生成.m38u文件..,我可以改變我的終點的解決方案現在的問題是如何獲得所有值,我已在我的端點進行設置。我玩這是在Android也和使用軌道我能夠獲取所有的視頻信息,但在iOS我怎樣才能獲取所有的細節包含視頻像它的高度,跟蹤,視頻支持的分辨率等。

我有很多搜索,但沒能成功..需要提前幫助謝謝

#EXTM3U 

#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="stereo",LANGUAGE="en",NAME="English",DEFAULT=YES,AUTOSELECT=YES,URI="audio/stereo/en/128kbit.m3u8" 
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="stereo",LANGUAGE="dubbing",NAME="Dubbing",DEFAULT=NO,AUTOSELECT=YES,URI="audio/stereo/none/128kbit.m3u8" 

#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="surround",LANGUAGE="en",NAME="English",DEFAULT=YES,AUTOSELECT=YES,URI="audio/surround/en/320kbit.m3u8" 
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="surround",LANGUAGE="dubbing",NAME="Dubbing",DEFAULT=NO,AUTOSELECT=YES,URI="audio/stereo/none/128kbit.m3u8" 

#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="Deutsch",DEFAULT=NO,AUTOSELECT=YES,FORCED=NO,LANGUAGE="de",URI="subtitles_de.m3u8" 
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="English",DEFAULT=YES,AUTOSELECT=YES,FORCED=NO,LANGUAGE="en",URI="subtitles_en.m3u8" 
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="Espanol",DEFAULT=NO,AUTOSELECT=YES,FORCED=NO,LANGUAGE="es",URI="subtitles_es.m3u8" 
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="Français",DEFAULT=NO,AUTOSELECT=YES,FORCED=NO,LANGUAGE="fr",URI="subtitles_fr.m3u8" 

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=258157,CODECS="avc1.4d400d,mp4a.40.2",AUDIO="stereo",RESOLUTION=422x180,SUBTITLES="subs" 
video/250kbit.m3u8 
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=520929,CODECS="avc1.4d4015,mp4a.40.2",AUDIO="stereo",RESOLUTION=638x272,SUBTITLES="subs" 
video/500kbit.m3u8 
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=831270,CODECS="avc1.4d4015,mp4a.40.2",AUDIO="stereo",RESOLUTION=638x272,SUBTITLES="subs" 
video/800kbit.m3u8 
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1144430,CODECS="avc1.4d401f,mp4a.40.2",AUDIO="surround",RESOLUTION=958x408,SUBTITLES="subs" 
video/1100kbit.m3u8 
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1558322,CODECS="avc1.4d401f,mp4a.40.2",AUDIO="surround",RESOLUTION=1277x554,SUBTITLES="subs" 
video/1500kbit.m3u8 
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=4149264,CODECS="avc1.4d4028,mp4a.40.2",AUDIO="surround",RESOLUTION=1921x818,SUBTITLES="subs" 
video/4000kbit.m3u8 
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=6214307,CODECS="avc1.4d4028,mp4a.40.2",AUDIO="surround",RESOLUTION=1921x818,SUBTITLES="subs" 
video/6000kbit.m3u8 
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=10285391,CODECS="avc1.4d4033,mp4a.40.2",AUDIO="surround",RESOLUTION=4096x1744,SUBTITLES="subs" 
video/10000kbit.m3u8 

回答

0

是的,你可以得到視頻的自然大小,如果在播放器中播放。 正如你所說你在播放AVPlayer中的URL,然後使用下面的代碼來獲得播放曲目的自然大小。

if let track = self.tampPlayer?.currentItem?.tracks.first { 
     print("Size = \(track.assetTrack.naturalSize)") 
} 

無論網址是什麼,如果在播放器中播放,視頻的尺寸將有變化。

+0

我在說分辨率大小....我怎麼能得到....我必須創建像質量清單和基於選定的決議像你管.....你有任何解決方案????? –

+0

我托盤你的代碼,但它返回我 〜DemoVideo.MediaPlaylist –

+0

好吧,所以你說的是視頻質量? –