在網路上直接看電影已經不是什麼新鮮的事情,在iOS等移動設備上也有很多線上視頻應用,如國內的PPS和PPLive應用,還有一些新聞視頻都可以線上觀看,如USA TODY。所以這些線上視頻都採用流媒體技術。 網路多媒體文件播放受到網路帶寬,文件格式,文件大小等因素的影響,情況變得非常的複雜。為了提高速 ...
在網路上直接看電影已經不是什麼新鮮的事情,在iOS等移動設備上也有很多線上視頻應用,如國內的PPS和PPLive應用,還有一些新聞視頻都可以線上觀看,如USA TODY。所以這些線上視頻都採用流媒體技術。
網路多媒體文件播放受到網路帶寬,文件格式,文件大小等因素的影響,情況變得非常的複雜。為了提高速度,節省帶寬,現在的網路多媒體文件的播放都 採用流媒體技術實現播放。廣義上講流媒體技術從傳輸形式上可以分為:漸進式下載和實時流媒體。
漸進式下載是介於下載本地播放與實進流媒體之間的一種播放方式,下載本地播放必須將文件下載完成後才能播放,而漸進式下載不必等到全部下載完成後再播放,它可以一邊下載一邊播放,在完成播放內容之後,整個文件會保存在電腦上。
實時流媒體是一邊接收數據,一邊播放,本地不保留文件副本,數據總是實時傳送,可以實現實況轉播,支持隨機訪問,用戶可變進或後退觀看前面中後面的內容。
實時流媒體網路傳輸協議有:RTSP,MMS和HLS。RTSP和MMS這些協議在有防火牆時,有時會出現問題,導致用戶有些內容無法看到,而且RTSPT和MMS需要購買和配置支持他們的專門伺服器。
HLS是蘋果公司提出的基於HTTP的流媒體網路傳輸協議。HLS只請求基於的HTTP報文,與RTSP和MMS不同,HLS可以穿過作何允許HTTP數據通過的防火牆。HLS對於伺服器沒有特殊要求,只要能夠提共HTTP服務就可以了,如Apache,Tomcat和IIS都 可以。
漸進式下載開發,在伺服器端和客戶端都不需要做太多的工作,伺服器端只需要將媒體文件放在伺服器目錄下就可以了,而客戶端,也就是我們在iOS平臺上編寫的程式。
在眾多的實時流媒體技術中,蘋果公司的HLS技術是最為先進的,蘋果提供給我們的不僅僅是一個HLS技術規範,更重要的是它能夠給我們一套流媒體開發和使用的整體解決方案。
HLS流媒體伺服器的選擇沒有什麼限制,只需要能夠提供HTTP服務的伺服器就可以了,我們常用的免費的有Apache和Tomcat等,如果在Windows平臺還可以使用IIS伺服器。
在iOS設備中的webView內核與Safari一樣都採用了WebKit瀏覽器引擎,他們對於HTML5支持得很好。
參考資料:《iOS圖形圖像,動畫和多媒體編程技術最佳實踐》