簡易檢索 / 詳目顯示

研究生: 徐銘彥
Ming-Yen Hsu
論文名稱: 結合 VLC 與 OpenSIPS 之行動式視訊串流系統
The Mobile Video Streaming System of Combination of VLC and OpenSIPS
指導教授: 黃文吉
Hwang, Wen-Jyi
學位類別: 碩士
Master
系所名稱: 資訊工程學系
Department of Computer Science and Information Engineering
論文出版年: 2011
畢業學年度: 99
語文別: 中文
論文頁數: 238
中文關鍵詞: 視訊串流會談起始協議網路位址轉換應用層閘道
英文關鍵詞: VideoLan Client, OpenSIPS, JAIN-SIP, Session Initiation Protocol, NAT, SIP ALG
論文種類: 學術論文
相關次數: 點閱:98下載:9
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 本論文以文獻 [1] 所提出的 SIP 視訊串流系統為基礎,針對該系統進行通訊協定標準化與最佳化,以提升系統效能與穩定性。並進一步將可連線之用戶端延伸至網路位址轉換 (Network Address Translation, NAT) 網路內,以實現 NAT 穿越功能。另一方面也針對使用者介面進行修正,讓使用者能更容易地對本系統進行操作與設定。

      本研究中我們使用了 JAIN-SIP 來做為會談起始協議 (Session Initiation Protocol, SIP) 與會談描述協議 (Session Description Protocol, SDP) 用戶端程式的實現,並搭配 OpenSIPS 建立之 SIP 伺服器及網頁伺服器等服務,將
    VLC (VideoLAN Client) 串流伺服器軟體於直播用戶端上所擷取之串流資料透過即時傳送協議 (Real-time Transport Protocol, RTP) 與即時串流協議 (Real Time Streaming Protocol, RTSP) 轉送至一般觀眾手中。

      藉由這些研究,我們希望讓一般人能用最簡便的方式-無論何時何地、無論桌上型或筆記型電腦,只要搭配網路攝影機 (Webcam) 以及開放原始碼
    軟體(Open Source Software, OSS),便可輕鬆建立自己的影音串流頻道。

    This thesis is based on SIP Video Streaming System which proposed in references [1]. We standardized protocols and optimized in this system that increase system efficacy and stability, and made the NAT (Network Address Translation) traversal capacity that means a client can connect to this system inside NAT. On the other side, we also made a significant modification on user interface that can easily operate and setup this system by normal users.

    We use JAIN-SIP to implement the client of SIP (Session Initiation Protocol) and SDP (Session Description Protocol) with a SIP server which setting up by OpenSIPS, web server and etc. These services can forward the streaming data which is captured by the live sharer from the VLC (VideoLAN Client) streaming server through RTP (Real-time Transport Protocol) and RTSP (Real Time Streaming Protocol) to any audience.

    By means of this thesis, we expect that user can make own streaming channel only using webcam and open source software at any time, any place, no matter what desktop or laptop he used.

    附表目錄 x 附圖目錄 xi 第一章 緒論 1  第一節 研究背景及動機 1  第二節 研究目的及方法 4  第三節 全文架構 6 第二章 以 VLC 架設串流伺服器 9  第一節 簡介 9  第二節 安裝及設定 11  第三節 基本指令及操作 13  第四節 建立廣播功能 18  第五節 建立點播功能 31  第六節 建立直播功能 45  第七節 輸出 SDP 資訊 54 第三章 以 OpenSIPS 架設 SIP 伺服器 57  第一節 簡介 57  第二節 安裝與設定 57  第三節 以 Windows Messenger 進行連線測試 72 第四章 行動式視訊串流系統實現 77  第一節 基本理論簡介 77   一、會談起始協議 (SIP) 77    (一) SIP 元件介紹 78    (二) REGISTER 79    (三) INVITE 81   二、會談描述協議 (SDP) 83  第二節 基本系統運作流程 88  第三節 以 JAIN-SIP 開發 SIP 用戶端程式 94   一、JAIN-SIP 介面與類別架構 96   二、匯入 JAIN-SIP Library 99   三、初始化 JAIN-SIP 元件 (setProperty) 101   四、實作 REGISTER 106    (一) REGISTER 基本封包內容 107    (二) 直播用戶端與串流伺服器送出 REGISTER 請求 108    (三) SIP 伺服器回應 401 Unauthorized 並重送 REGISTER 請求 117    (四) REGISTER 請求傳送結果與討論 121   五、實作 INVITE 128    (一) INVITE 基本封包內容 128    (二) 串流伺服器送出 INVITE 請求 129    (三) 直播用戶端接收 INVITE 並啟動 VLC 傳送含 SDP 之回應 133    (四) 串流伺服器接收含 SDP 之回應並回傳 ACK 請求 137    (五) 直播用戶端接收 ACK 同時建立 Media Session 139    (六) 串流伺服器以 BYE 結束 INVITE 對話 140    (七) INVITE 請求傳送結果與討論 141  第四節 結合 JAIN-SIP 與 VLC 傳送與接收串流 146   一、直播用戶端啟動 VLC 並輸出 SDP 資訊 149   二、轉換直播 SDP 資訊夾帶至 200 OK 送出 151   三、串流伺服器將 200 OK 所夾帶之 SDP 資訊重建 158   四、串流伺服器上之 VLC 依據 SDP 請求直播串流 160 第五章 系統實地測試 161  第一節 系統概況 161  第二節 於一般網路環境測試 164   一、廣播與點播功能 165    (一) 設定 VLC 串流伺服器 165    (二) 設定網頁伺服器上之網頁介面 167    (三) 功能運作流程 168   二、直播功能 169    (一) 兩 SIP 用戶端向 SIP 伺服器發出 REGISTER 請求 169    (二) 功能運作流程(串流伺服器發出 INVITE 請求)  171    (三) 功能運作流程(直播用戶端發出 INVITE 請求) 176  第三節 於 NAT 網路環境測試 181   一、NAT 穿越問題 181   二、解決方案 184   三、修改系統以穿越NAT 186   四、NAT 穿越結果 189  第四節 直播用戶端串流輸出參數評估 191 第六章 結論與未來展望 195  第一節 結論 195  第二節 未來展望 196 附錄 A SIP 用戶端程式-直播用戶端 197 附錄 B SIP 用戶端程式-串流伺服器 215 附錄 C 網頁伺服器之網頁語法 233 參考著作 235

    [1] Chia-Hsuan Yang, “以 SIP 為基礎建立視訊串流系統之研究,” M.S. thesis, Dept. Comput. Sci. and Inform. Eng., Nat. Taiwan Normal Univ., Taipei, Taiwan, 2009.
    [2] YouTube - Broadcast Yourself [Online]. Available: http://www.youtube.com
    [3] hichannel - 直播 [Online]. Available: http://www.hichannel.hinet.net
    [4] Hsieh-Hua Yang; Jui-Chen Yu; Yeong-Diann Wang; Hung-Jen Yang; Hsueh-Chih Lin; Wei-Yuan Dzan; , “An Implementation of Designing Media Streaming System for Live Broadcast,” WSEAS TRANSACTIONS on COMMUNICATIONS, vol. 9, Mar. 2010.
    [5] Jinzenji, H.; Takada, H.; Kasahara, H.; , “Internet Personal Live Video Streaming Station Using A Scaleable Video Distribution Technique,” Consumer Electronics, 1998. ICCE. 1998 Dig. of Tech. Papers. Int. Conference on, pp. 306-307, 2-4 Jun. 1998.
    [6] Sheng-Tun Li, “A platform-neutral live IP/TV presentation system,” Inform.Sciences, vol.140, pp. 33-52, 2002.
    [7] Hsiang Yu, “Applying Integrated Media System on Portable Devices - Real-time Imaging Service Integrated with Video and CATV,” M.S. thesis, Dept. of Commun. Eng., Nat. Chung Cheng Univ., Chiayi, Taiwan, 2007.
    [8] Alex Gandsasl; Katherine McIntire; Ivan M. George; Wayne Witzke; James D. Hoskins; Adrian Park; , “Wireless Live Streaming Video of Laparoscopic Surgery: A Bandwidth Analysis for Handheld Computers.,” Dept. of Surgery, Univ. of Kentucky, Lexington, KY; Duke Univ. Medical Center. School of Medicine, Durham, NC.
    [9] M. Esteve; C.E. Palau; J. Martínez-Nohales; B. Molina; , “A video streaming application for urban traffic management,” J. of Network and Comput. Applicat., vol. 30, pp. 479-498, 2007.

    [10] QingTang Liu, “Constructing Virtual Learning Environment With Streaming Media,” Internet Technology and Eng. R&D Center, Dept. of Electronics and Inform., Hua Zhong Univ. of Sci. and Technology, Wu Han, China.
    [11] Roger Zimmermann; Moses Pawar; Dwipal A. Desai; Min Qin; Hong Zhu; , “High-Resolution Live Streaming with the HYDRA Architecture,” Univ. of Southern California, Los Angeles, CA.
    [12] Microsoft Expression Encoder 4 Pro [Online]. Available: http://www.microsoft.com/expression/products/EncoderPro_Overview.aspx
    [13] VideoLAN - VLC: Official site - Free multimedia solutions for all OS! [Online]. Available: http://www.videolan.org
    [14] Justin.tv - Streaming live video broadcasts for everyone [Online]. Available: http://zh-tw.justin.tv
    [15] USTREAM, You're On. Free LIVE VIDEO Streaming, Online Broadcasts. Create webcasts, video chat, stream videos on the Internet. Live streaming videos, TV shows [Online]. Available: http://www.ustream.tv
    [16] VideoLAN. Chapter 3. Advanced streaming using the command line [Online]. Available: http://www.videolan.org/doc/streaming-howto/en/ch03.html
    [17] SIP: Session Initiation Protocol, IETF RFC2543, Mar. 1999.
    [18] SIP: Session Initiation Protocol, IETF RFC3261, Jun. 2002.
    [19] IP Network Address Translator (NAT) Terminology and Considerations, IETF RFC2663, Aug. 1999.
    [20] The IP Network Address Translator (NAT), IETF RFC1631, May 1994.
    [21] openSIPS | Main / HomePage [Online]. Available: http://www.opensips.org
    [22] jain-sip — Java.net [Online]. Available: http://java.net/projects/jain-sip
    [23] SDP: Session Description Protocol, IETF RFC2327, Apr. 1998.
    [24] RTP Profile for Audio and Video Conferences with Minimal Control, IETF RFC1890, Jan. 1996.
    [25] RTP Profile for Audio and Video Conferences with Minimal Control, IETF RFC3551, Jul. 2003.
    [26] Real Time Streaming Protocol (RTSP), IETF RFC2326, Apr. 1998.
    [27] VideoLAN. Chapter 2. Modules and options for VLC [Online]. Available: http://www.videolan.org/doc/vlc-user-guide/en/ch02.html
    [28] VideoLAN. Chapter 5. VLM - Multiple streaming and Video on demand [Online]. Available: http://www.videolan.org/doc/streaming-howto/en/ch05.html
    [29] Revolunet. (2009, Sep. 8). VLCcontrols.js : insérez le plugin VLC et ses controles dans vos pages web [Online]. Available: http://www.revolunet.com/labo/code/VLCcontrols
    [30] MySQL :: The world's most popular open source database [Online]. Available: http://www.mysql.com
    [31] Hypertext Transfer Protocol -- HTTP/1.1, IETF RFC2616, Jun. 1999.
    [32] HTTP Authentication Basic and Digest Access Authentication, IETF RFC2617, Jun. 1999.
    [33] Session Description Protocol (SDP) Bandwidth Modifiers for RTP Control Protocol (RTCP) Bandwidth, IETF RFC3556, Jul. 2003.
    [34] Reliability of Provisional Responses in the Session Initiation Protocol (SIP), IETF3262, Jun. 2002.
    [35] Session Initiation Protocol (SIP)-Specific Event Notification, IETF RFC3265, Jun. 2002.
    [36] IANA. (2011, Jun. 13). PORT NUMBERS [Online]. Available: http://www.iana.org/assignments/port-numbers
    [37] Address Allocation for Private Internets, IETF RFC1918, Feb. 1996.
    [38] Chia-Yi Jain, “Dynamic Bandwidth Allocation for Video Streaming Service,” M.S. thesis, Dept. Comput. Sci. and Inform. Eng., Nat. Taiwan Normal Univ., Taipei, Taiwan, 2009.
    [39] Inst. for Inform. Ind., Digital Content Industry in Taiwan 2003, Taipei, Taiwan: Ind. Develop. Bureau, Ministry of Econ. Affairs, R.O.C, 2003.
    [40] Jan Janak, “SIP Introduction,” FhG FOKUS, 2003.
    [41] Shan Hua and Qiu-Guang Wang, “Implementation of SIP Session Control Based on Protocol of JAIN SIP,” School of Elect. and Electron. Eng., Harbin Univ. of Sci. and Technology, Harbin, Heilongjiang, China, vol. 14, no. 4, Aug. 2009
    [42] Wei-De Wu, “Implementation of Service Oriented Home Networking Surveillance System,” M.S. thesis, Dept. Comput. Sci. and Inform. Eng., Nat. Taiwan Normal Univ., Taipei, Taiwan, 2008.
    [43] Wen-Kang Jia, Session Initiation Protocol (SIP) Methodology Handbook, Taipei, Taiwan: Kings information, 2005.

    下載圖示
    QR CODE