VLC如何進行RTSP的支持(源碼閱讀心得)

VLC是一個免費,開放源碼,跨平臺媒體播放器,並集合先進的流媒體功能可以通過IPv4或IPv6的高帶寬網絡進行流媒體傳輸。它還支持多種視頻格式和流協議。VLC的編解碼基於著名的開源項目FFmpeg的libavcodec的開源庫。VLC同時提供不同的接口(命令行,網絡,圖形用戶界面,遠程登錄),以及提供流行的語言如C,C++,C#,Python,和Java可以使用的APIs,這使得VLC變得高度靈活,並且用於任何類型播放或流媒體處理。

VLC支持RTSP功能是通過使用liveMedia庫,這個庫是live555開源項目一部分。VLC支持RTSP協議,可用於在線或離線轉碼,視頻點播服務和單播或組播流。除了這些以外,VLC還提供各種接口和API,VLC還允許被集成在一個更復雜的環境,可以讓我們建立一個更先進的視頻應用程序。

進入正題,VLC到底是如何進行RTSP的支持。

VLC對RTSP的支持的實現的方式是通過一種輸出鏈(output chains)。VLC讀取各種類型的視頻輸入(文件,流,DVD等),然後通過定義一個或多個輸出鏈(output chains)的內容,然後用於播放流。一個鏈可以連接到另一個鏈條,然後就可以形成一個比較複雜的工作流程。下圖爲一個簡單的例子說明。圖中VLC設置並讀取本地文件,然後轉碼,並通過使用兩個鏈將數據傳輸到一個多播地址。鏈1將讀取文件,然後轉碼。鏈2讀取鏈1輸出的轉碼文件,然後將流發送到至指定地址。整個過程類似UNIX管道的工作方式。

VLC RTSP example hanyionet

Enjoy!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章