在樹莓派上搭建視訊傳輸環境
阿新 • • 發佈:2019-01-09
最近參加實驗室一個比較大的專案,需要用到實時傳輸。於是筆者開始學習這方面的知識。在走了很多冤枉路之後筆者終於找到了一套不錯的方案,於是選擇貼出來和大家一起學習。
1.使用裝置以及網路連線方式
傳送端:樹莓派B+,192.168.191.3
接收端:W10聯想PC,192.168.191.1
攝像頭:樹莓派專用的PI camera
PC端利用獵豹軟體發射wifi,樹莓派連線WIFI
2.傳送端
傳送端我們利用樹莓派進行視訊的採集和視訊流的傳送工作。
2.1.採集視訊
[1]使用樹莓派自身的raspivid程式,該程式專門針對樹莓派攝像頭,進行視訊錄製以及傳出等操作。我們採集視訊之後,在樹莓派端以H264視訊流格式傳出。
2.2.視訊傳輸
[2, 3]我們使用socat進行流的傳輸。
安裝socat:
sudo apt-get install socat
之後直接在命令列輸入以下語句即可採集視訊並傳輸:
raspivid -t 0 -h 720 -w 1080 -fps 25 -hf -b 2000000 -o -| socat - udp-datagram:192.168.191.1:8888
變數 | 引數 | 含義 |
---|---|---|
-t | 0 | raspivid,攝像頭錄製時間,0為一直錄製 |
-h | 720 | raspivid,視訊高度 |
-w | 1080 | raspivid,視訊寬度 |
-fps | 25 | raspivid,幀數,預設25,接收端可改 |
-hf | null | raspivid,影象水平翻轉 |
-b | 2000000 | raspivid,位元率,2M |
-o | -| socat - udp-datagram:192.168.191.1:8888 | raspivid,輸出 |
socat |
|
socat,利用udp發包 |
xxx.xxx.xxx.xxx | 192.168.191.1 | socat,接收端IP |
:xxxx | :8888 | socat,接收端埠號,注意不要衝突 |
3.接收端
接收端是PC,使用VLC播放器,設定方法:
3.1.設定去複用器
工具->首選項->左下角顯示設定由“簡明”改為“全部”->左側“輸入 / 編解碼器”->去複用器->“去複用模組”改為“H264 視訊去複用器”
3.2.Live555流傳輸
工具->首選項->輸入 /編解碼器->最下面,由HTTP改為RTP
3.3.開啟視訊流
媒體->開啟網路串流,按照以下截圖配置:
**說明:**8888埠是本機接收視訊流的工作埠,使用UDP模式,並且緩衝設定50ms,經過測試可以保證實時傳輸,在不同網路環境中還需要反覆測試選擇合適的幀率、位元率以及緩衝大小。
設定好,點選播放(要保證傳送端已經在傳送視訊流了)。