基於HTTP的流媒體協議 收藏
HTTP Live Streaming目前還是Internet的草案,由於HTTP協議本身的極限,比如說要指定content-length等,之前一直以為是不能作為流媒體協議來使用的。看了一下那個草案,確實也是一個折衷,就是把媒體流分成一個一個檔案,然後再用另外一個檔案(尾碼名m3u,是不是很熟悉呢?千千靜聽那個開啟的檔案對話方塊有這個)來指定用戶端要先下載哪一個檔案,再下載哪一個檔案。
view plaincopy to clipboardprint?
#EXTM3U
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-TARGETDURATION:10
#EXTINF:10,
http://media.example.com/segment1.ts
#EXTINF:10,
http://media.example.com/segment2.ts
#EXTINF:10,
http://media.example.com/segment3.ts
#EXT-X-ENDLIST
上面是一個簡單的m3u檔案,指定了3個分區。按照文檔說的,如果不指定#EXT-X-ENDLIST,那麼播放器每隔一段時間就會再檢查一下這個檔案有沒有更新,很麻煩,有木有啊?
大概就是這樣子,詳細的東西可以去看RFC草案,http://tools.ietf.org/html/draft-pantos-http-live-streaming-06
蘋果公司也給出了一個文檔,地址:http://disanji.net/iOS_Doc/#documentation/NetworkingInternet/Conceptual/StreamingMediaGuide/HTTPStreamingArchitecture/HTTPStreamingArchitecture.html#//apple_ref/doc/uid/TP40008332-CH101-SW2
大概就是這樣子。