研究生: |
張敬宗 Jing-Zong Chang |
---|---|
論文名稱: |
基於HTTP協定實作一個適用於iOS平台具自適性功能之視訊串流 Implementation of adaptive streaming over HTTP on iOS platform |
指導教授: |
吳傳嘉
Chwan-Chia Wu |
口試委員: |
張俊明
none 黎碧煌 Bih-Hwang Lee |
學位類別: |
碩士 Master |
系所名稱: |
電資學院 - 電機工程系 Department of Electrical Engineering |
論文出版年: | 2013 |
畢業學年度: | 101 |
語文別: | 中文 |
論文頁數: | 75 |
中文關鍵詞: | 媒體串流 、HTTP Live Streaming協定 、數位內容保護 、iOS 、Android |
外文關鍵詞: | Media Streaming, HTTP Live Streaming Protocol, Digital Content Protection, iOS, Android |
相關次數: | 點閱:243 下載:0 |
分享至: |
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
近年來行動平台的普及帶動行動網路的使用,促使多媒體的使用需求提高,但多媒體影片資料量相對文字檔案來的龐大,因此在媒體串流中影片必須經過資料壓縮,來降低資料容量以便進行網路傳輸工作,媒體串流服務可經由3G/4G行動網路或Wi-Fi無線網路進行傳輸資料,因無線網路頻寬速度易受到環境影響,且行動網路頻寬速度較慢於Wi-Fi無線網路,所以我們需要一個能夠根據網路品質動態的調整多媒體影片品質,降低串流影片播放過程中較長的時間延遲,讓使用者在串流過程中能更為流暢。
本研究使用了HTTP Live Streaming影片串流通訊技術,串流過程中資料的傳輸都是經由HTTP通訊協定進行處理,系統實作了「離線處理線上播放」與「即時處理播放」兩子系統給使用者選擇。「離線處理線上播放」子系統須預先將多媒體影片進行轉碼與資料封裝後產生HTTP Live Streaming所需的檔案,輸出的檔案再放置串流伺服器中,所產生的影片檔案我們將隨機產生一把加密金鑰進行加密處理,確保資料在傳輸過程中的機密性,避免媒體資料被竊取;「即時處理播放」子系統則不須預先將影片進行轉碼處理,而是直接將影片檔案放置串流伺服器中,當使用者提出請求播放後,系統才開始啟動串流伺服器處理影片轉碼程序,進行串流播放,兩種處理方式各有其優缺點,將在本論文研究中進行探討與比較。
In recent years, the popularity of mobile platforms has also led to the use of cellular networks, prompting increased demand to use multimedia. However as the video data capacity is much larger than text file, so the media streaming must go through data compression to reduce the data capacity for data transmission, media streaming service via 3G/4G cellular network or Wi-Fi wireless network to transfer data, but wireless networks are vulnerable to environmental impacts bandwidth speeds, and the cellular network bandwidth speed slower than Wi-Fi wireless networking, so we need a dynamic adjustment based on network bandwidth to change video quality, let user can process smoother streaming.
This research uses the HTTP Live Streaming protocol, streaming data transfer is via the HTTP protocol, we propose system architecture and implements "Offline processing online play" and "Real-Time processing play" two subsystems, "Offline processing online play" subsystem should be pre-transcoding of video and packaged to produce HTTP Live Streaming protocol desired file, the output file put on the streaming server, the resulting video file we will randomly generate an encryption key for encrypted to ensure data confidentiality, and "Real-Time processing play" subsystem are not required the video transcoding in advance, but rather directly put the video files on the streaming server, when user requests playback, the system began to start video transcoding processing, two approaches have their advantages and disadvantages will be discussed and compare in this paper.
[1]ITU Statistics, http://www.itu.int/en/ITU-D/Statistics/Documents/statistics/2012/stat_page_all_charts.xls
[2]科技產業資訊室,市場報導:2013年第一季智慧型手機出貨量超越功能手機, http://cdnet.stpi.narl.org.tw/techroom/market/eetelecomm_mobile/2013/eetelecomm_mobile_13_029.htm
[3]App Annie Index: Market Report Q1 2013 - iOS App Store revenue 2.6x that of Google Play - App Annie Blog,
http://blog.appannie.com/app-annie-index-market-q1-2013/
[4]ITIS智網 - 產業報告: 全球商用Apps產業發展趨勢與商機, http://www2.itis.org.tw/pubreport/PubReport_Detail.aspx?rpno=43980617
[5]3G vs 4G - Difference and Comparison | Diffen, http://www.diffen.com/difference/3G_vs_4G
[6]iOS Technology Overview: Media Layer, http://developer.apple.com/library/ios/#documentation/miscellaneous/conceptual/iphoneostechoverview/MediaLayer/MediaLayer.html
[7]Android Supported Media Formats | Android Developers, http://developer.android.com/guide/appendix/media-formats.html
[8]2003數位內容產業年鑑,第二章:數位內容技術趨勢, http://mirlab.org/course/WebProgram2008/Login/Final/Project/team17/3.1.pdf
[9]Hyeontak Oh, Jinhong Yang, Jun Kyun Choi, Keuneun Kim and Ilkwon Cho, “Implementation of continuous HTTP live streaming using playback position request mechanism in heterogeneous networks”, Advanced Communication Technology (ICACT), 2013 15th International Conference, pp.990-993, Jan. 2013
[10]Krsto Lazic, Milena Milosevic, Mladen Kovacev, and Nikola Smiljkovic, “One Implementation of adaptive streaming over HTTP on Android DTV platform”, Consumer Electronics - Berlin (ICCE-Berlin), 2012 IEEE International Conference, pp.282-284, Sept. 2012
[11]Kwang-Yong Kim, Cheol-hye Cho and Won Ryu, “The development of video streaming system for iOS based smart device using Scalable Video Coding”, ICT Convergence (ICTC), 2011 International Conference, pp.590-591, Sept. 2011
[12]Kevin J. Ma, Radim Bartos, Swapnil Bhatia and Raj Nair, “Mobile video delivery with HTTP”, Communications Magazine, IEEE, vol.49 pp.166-175, April 2011
[13]Yang Can, Li Yongyan and Chen Jionglong, “A New Mobile Streaming System Base-On Http Live Streaming Protocol”, Wireless Communications, Networking and Mobile Computing (WiCOM), 2011 7th International Conference, Sept. 2011
[14]HTTP Live Streaming Resources - Apple Developer, https://developer.apple.com/streaming/
[15]HTTP Live Streaming Overview: Introduction, https://developer.apple.com/library/ios/#documentation/networkinginternet/conceptual/streamingmediaguide/Introduction/Introduction.html
[16]M3U - Wikipedia, http://en.wikipedia.org/wiki/M3U
[17]VideoLAN, http://www.videolan.org/vlc/
[18]draft-pantos-http-live-streaming-11 - HTTP Live Streaming, http://tools.ietf.org/html/draft-pantos-http-live-streaming-11
[19]MPEG-2 Stream Encryption Format for HTTP Live Streaming: 1.0 Introduction, https://developer.apple.com/library/ios/#documentation/AudioVideo/Conceptual/HLS_Sample_Encryption/Introduction/Introduction.html
[20]Kevin J. Ma and Radim Bartos, “HTTP Live Streaming Bandwidth Management Using Intelligent Segment Selection”, Global Telecommunications Conference (GLOBECOM 2011), 2011 IEEE, pp.1-5, Dec. 2011
[21]Block cipher mode of operation - Wikipedia, https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Cipher-block_chaining_.28CBC.29
[22]Objective-C - Wikipedia, http://zh.wikipedia.org/wiki/Objective-C
[23]蔡明志(譯),精通 Objective-C 程式設計 (第五版),碁峰資訊,台北市,2013。
[24]潘聖文,Objective-C 與iOS開發入門,藍海文化,新北市,2011。
[25]林柏全,iOS 創意程式設計家(第三版),松崗,台北市,2012。
[26]C# - Wikipedia, https://zh.wikipedia.org/wiki/C#
[27]資訊教育研究室,Visual C# 2010從零開始,博碩文化,新北市,2011。
[28]施威銘研究室,最新PHP+MySQL+Ajax網頁程式設計,旗標,台北市,2007。
[29]FFmpeg, http://www.ffmpeg.org/
[30]OpenSSL - Wikipedia, http://zh.wikipedia.org/wiki/OpenSSL
[31]Advanced Encryption Standard - Wikipedia, http://en.wikipedia.org/wiki/Advanced_Encryption_Standard
[32]Xcode User Guide: About Xcode, https://developer.apple.com/library/ios/#documentation/ToolsLanguages/Conceptual/Xcode_User_Guide/000-About_Xcode/about.html
[33]NetBalancer - internet traffic control tool for Windows, http://seriousbit.com/netbalancer/
[34]Speedtest.net - The Global Broadband Speed Test, http://www.speedtest.net/
[35]MX Player, https://play.google.com/store/apps/details?id=com.mxtech.videoplayer.ad&feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5teHRlY2gudmlkZW9wbGF5ZXIuYWQiXQ..
[36]BSPlayer FREE, https://play.google.com/store/apps/details?id=com.bsplayer.bspandroid.free&feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5ic3BsYXllci5ic3BhbmRyb2lkLmZyZWUiXQ..
[37]魔力高清影視, https://play.google.com/store/apps/details?id=com.molivideo.android&feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5tb2xpdmlkZW8uYW5kcm9pZCJd
[38]Xing Yan, Lei Yang, Shanzhen Lan and Xiaolong Tong, “Application of HTML5 multimedia”, Computer Science and Information Processing (CSIP), 2012 International Conference, pp.871-874, Aug. 2012