簡易檢索 / 詳目顯示

研究生: 洪徹易
Hung, Che-Yi
論文名稱: 基於 HTTP Live Streaming 技術之實況廣播暨 VOD 系統
Live Broadcast and VOD System Based on HTTP Live Streaming
指導教授: 徐爵民
Shyu, Jyuo-Min
口試委員: 劉俊麟
石維寬
學位類別: 碩士
Master
系所名稱: 電機資訊學院 - 資訊工程學系
Computer Science
論文出版年: 2012
畢業學年度: 100
語文別: 中文
論文頁數: 94
中文關鍵詞: 網路電視影音串流隨選視訊即時轉播
外文關鍵詞: Internet Protocol Television, HTTP Live Streaming, HTTP Adaptive Bitrate Streaming, Live Broadcast, HTML5
相關次數: 點閱:2下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 本論文實作一套提供使用者拍攝即時影片並上傳,接著能讓其他使用者同步觀賞轉播的系統,為了能夠根據網路狀況動態調整使用者觀賞的品質,在本論文中使用了 HTTP Adaptive Bitrate Streaming 技術。目前各種 HTTP Adaptive Bitrate Streaming 技術中,以 Apple 公司所開發的 HTTP Live Streaming 最被廣泛使用,因此在論文中我們根據 HTTP Live Streaming 協定建置核心的串流技術。

    為了展現 HTTP Live Streaming 協定使用在實況轉播(Live Session)以及VoD 服務的優勢,本論文透過iOS裝置進行實況錄影並上傳至伺服器(Server)做後續轉檔(Transcoding)及發佈(Delivering)至各種裝置的方式,展示 HTTP Live Streaming 的優點。由於我們使用的錄影上傳方式並不是過去常用的串流技術,而是上傳錄影段落檔案,因此本論文會同時討論 HTTP Live Streaming 本身無法避免的延遲(Delay)以及上傳所造成的額外延遲。

    過去在電腦平台上,網路影音服務如 YouTube 、 Justin.tv ,常使用多媒體外掛技術如 Adobe Flash 建構控制介面和播放功能。但是在手持裝置上常因為安全性、耗電和平台開發商的其他考量而無法安裝、使用相關外掛技術。因此本論文結合了 HTML5 這個新的網頁技術標準,使得發佈系統可以在不需加裝外掛程式下將 HTTP Live Streaming 影片嵌入網頁中。如此一來,透過在各個電腦、手持裝置平台對於 HTML5 和 HTTP Live Streaming 協定的支援,本論文中建構之平台便能方便、快速的將即時錄影影片發佈到各種用戶端裝置上。


    In this thesis, we have implemented a system that allows a user to take videos and upload to the server, and also allows other users to watch live broadcast simultaneously. In order to instantaneously adjust the quality of live stream according to the speed of the network, we use HTTP Live Streaming protocol, which is proposed by the Apple Inc. and is also the most widespread HTTP Adaptive Bitrate Streaming technology, as our core streaming protocol.

    To show the advantages of HTTP Live Streaming in Live Broadcast and VOD services, we use iOS devices as the video source. After recording and uploading recorded videos to the server, the server transcodes and delivers the live broadcast to the clients. Furthermore, since we upload segmented recorded file to the server instead of streaming video to the server, the ineludible delays caused by HTTP Live Streaming itself and the additional delays caused during uploading are analyzed and discussed in the thesis.

    Many internet media services, such as YouTube and Justin.tv, rely on Adobe Flash on PC platforms for controlling and displaying the user interface. Nevertheless, these plug-in based applications are seldom used on handheld devices due to the concerns such as security, power consumption, and platform design issues. Therefore, in this thesis, we use HTML5, which is the latest HTML standard, to allow the system to embed multimedia contents into the web pages without installing plug-ins. By combining HTTP Live Streaming and HTML5, we accomplished a general web page, serving both PCs and handheld devices platforms, which allows us to deliver the live broadcast contents to the clients more efficiently.

    摘要 i Abstract ii 誌謝辭 iii 目錄 iv 圖目錄 vii 表目錄 ix 程式碼目錄 xi 第一章 緒論 1 1.1 研究動機.............................................................................. 1 1.2 研究目的.............................................................................. 3 1.3 論文架構.............................................................................. 4 第二章 背景研究 5 2.1 隨選視訊與即時串流 ............................................................. 5 2.2 Apple HTTP Live Streaming................................................. 5 2.3 相關HTTP Adaptive Bitrate Streaming 技術........................ 11 2.3.1 Adobe HTTP Dynamic Streaming.................................. 12 2.3.2 Microsoft Smooth Streaming........................................ 14 2.3.3 MPEG Dynamic Adaptive Streaming over HTTP............. 15 2.4 相關串流技術...................................................................... 17 2.4.1 RTSP、RTP 及 RTCP...................................................... 17 2.4.2 RTMP........................................................................... 18 2.4.3 HTTP Progressive Download ........................................ 20 2.5 相關服務............................................................................ 21 2.5.1 YouTube...................................................................... 21 2.5.2 Justin.tv 與 Ustream..................................................... 22 2.6 HTML5.............................................................................. 24 2.6.1 <video> 標籤............................................................... 26 2.7 使用 HTTP Live Streaming 及 HTML5 之原因....................... 30 第三章 系統實作環境 33 3.1 架設平台............................................................................ 33 3.2 Apache HTTP Server.......................................................... 34 3.2.1 安裝程式以及參數設定.................................................... 35 3.2.2 修改 MIME type 清單..................................................... 36 3.3 MySQL.............................................................................. 37 3.3.1 安裝流程及測試............................................................. 38 3.3.2 安裝 phpMyAdmin........................................................ 39 3.4 PHP................................................................................... 40 3.5 Python.............................................................................. 42 3.5.1 安裝 Python 3............................................................... 43 3.5.2 PyMySQL 模組............................................................... 44 3.6 FFmpeg............................................................................. 45 3.6.1 編譯 FFmpeg................................................................ 46 3.6.2 透過 ffmpeg 對多媒體檔案轉檔....................................... 46 第四章 系統架構 48 4.1 基本架構............................................................................ 48 4.1.1 RTP/RTSP/RTMP 串流架構............................................. 48 4.1.2 標準 HTTP Live Streaming 架構...................................... 49 4.1.3 本系統使用之 HTTP Live Streaming 架構......................... 51 4.2 使用多個伺服器分散負載之架構............................................. 66 第五章 系統數據測量 69 5.1 因用戶端播放器緩衝造成之延遲............................................. 69 5.2 錄影段落時間對檔案大小、轉碼時間、系統負載之影響............. 73 5.3 轉碼流程分散於多個伺服器所需時間....................................... 83 第六章 結論及未來研究方向 87 參考文獻 89 附錄 A 伺服器端接收錄影檔 PHP 程式碼 91 附錄 B 論文中使用之伺服器 92 附錄 C 其他用戶端播放器 93

    [1] Report: Video Accounts For Half Of All Mobile Traffic; Android Biggest For Mo- bile Ads
    http:// techcrunch.com/ 2012/02/22/ report-video-accounts-for-half-of-all-mobile- traffic-android-biggest-for-mobile-ads/

    [2] Allot MobileTrends: Global Mobile Broadband Traffic Report Shows Significant 72% Growth in Worldwide Mobile Data Bandwidth Usage in H2, 2009
    http://www.allot.com/Allot_MobileTrends_Report_Shows_Significant_Growth.html

    [3] Google:2011 年 YouTube 在行動裝置流量成長 3 倍 http://www.ithome.com.tw/itadm/article.php?c=72945

    [4] 思科視覺網路指標預測 2015 年全球行動數據流量將增長 26 倍 http://www.cisco.com/web/TW/about/news/news_20110215.html

    [5] HTML5 網路的大未來,各家瀏覽器的實際應用與未來發展, T 客邦 http://www.techbang.com/posts/8098-192-web-trends-html5-web-s

    [6] HTML5, Wikipedia
    http://zh.wikipedia.org/wiki/HTML_5

    [7] HTML5 video, Wikipedia
    http://en.wikipedia.org/wiki/HTML5_video

    [8] Safari HTML5 Audio and Video Guide, Safari Developer Library, Apple Devel- oper Center
    https://developer.apple.com/library/safari/#documentation/AudioVideo/Conceptual/Using_HTML5_Audio_Video/

    [9] The State Of HTML5 Video
    http://www.longtailvideo.com/html5/

    [10] HTML5 Video
    http://html5video.org/

    [11] HTTP Live Streaming Overview, iOS Developer Library, Apple Developer Center
    https://developer.apple.com/library/ios/documentation/networkinginternet/conceptual/streamingmediaguide/index.html

    [12] What is Video Streaming?, LongTail Community Blog
    http://www.longtailvideo.com/blog/19578/what-is-video-streaming

    [13] Python 3 and mysql, stackoverflow
    http://stackoverflow.com/questions/4960048/python-3-and-mysql

    [14] HOWTO: Easily enable MP3, MPEG4, AAC, and other restricted encoders in FFmpeg, ubuntu forums http://ubuntuforums.org/showthread.php?t=1117283

    [15] Wiki:UbuntuCompilationGuide, FFmpeg
    https://ffmpeg.org/trac/ffmpeg/wiki/UbuntuCompilationGuide

    [16] AV Foundation Programming Guide, iOS Developer Library, Apple Developer Center
    https://developer.apple.com/library/ios/#documentation/AudioVideo/Conceptual/AVFoundationPG/

    [17] A review of HTTP Live Streaming, Andrew Fecheyr-Lippens
    http://getpocket.com/a/read/163493528

    無法下載圖示 全文公開日期 本全文未授權公開 (校內網路)
    全文公開日期 本全文未授權公開 (校外網路)

    QR CODE