用VLC讀取攝像頭產生RTSP流,DSS主動取流轉發(一)(二) 【轉】


http://blog.csdn.net/fm0517/article/details/38110633

http://blog.csdn.net/fm0517/article/details/38119363

攝像機地址是192.1.101.51,VLC運行在192.1.101.77上,DSS服務器架設在192.1.101.30上。


Step1:VLC從攝像機取流,產生RTSP流

vlc -vvv rtsp://192.1.101.51 --sout #rtp{dst=192.1.101.77,sdp=rtsp://192.1.101.77/live_vlc.sdp}

此時已經可以從77上觀看視頻。



Step2:在DSS服務器上配置轉發



Step3:查看結果,從DSS服務器30上觀看視頻,注意與上一個截屏存在月10秒的時差。

 

之前介紹過《用VLC讀取攝像頭產生RTSP流,DSS主動取流轉發(一)》本文介紹另一種方法。

攝像機地址是192.1.101.51,VLC運行在192.1.101.77上,DSS服務器架設在192.1.101.30上,二級DSS服務器(可選)架設在192.1.101.78上。


Step1:VLC從攝像機取流,產生RTSP流

vlc -vvv rtsp://192.1.101.51 :sout=#rtp{dst=192.1.101.30,sdp=file:///k:/channel_vlc.sdp,ttl=255,port-video=12000}

此時VLC已經開始轉發流數據(參見底圖左圖)。

注意命令行中與上一篇文章不同之處在於IP地址不是本機(77),而是DSS服務器(30)。同時在本地(77)生成sdp文件channel_vlc.sdp。

將channel_vlc.sdp文件拷貝到DSS服務器(30)的Movies目錄下。

此時已經可以通過地址 rtsp://192.1.101.30/channel_vlc.sdp 觀看視頻了。(參見底圖中圖)


Step2:在二級DSS服務器(78)上配置二級轉發,如下圖:



此時已經可以通過地址 rtsp://192.1.101.78/channel_vlc.sdp 觀看視頻了。(參見底圖右圖)



【后續】

經過后續的抓包分析,終於知道了原理:

vlc的命令行(vlc -vvv rtsp://192.1.101.51 :sout=#rtp{dst=192.1.101.30,sdp=file:///k:/channel_vlc.sdp,ttl=255,port-video=12000})中指定了向目標地址(dst=192.1.101.30)的某個特定端口(port-video=12000)發送UDP數據包。不管對方是否有程序在監聽該端口並接收數據,發送均一直在進行。這樣就能夠解釋文章《VLC-DSS搭建直播系統中鏈路斷開影響測試》中VLC或者DSS重啟都不影響客戶端重新訪問資源。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM