用VLC读取摄像头产生RTSP流,DSS侦听并转发(二)
之前介紹過《用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重啟都不影響客戶端重新訪問資源。
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的用VLC读取摄像头产生RTSP流,DSS侦听并转发(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 美股三大指数收涨 道琼斯上涨529.95
- 下一篇: VLC-DSS搭建直播系统中链路断开影响