日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基于4G网卡和树莓派zero实现低延时数字图传(250-300ms左右)

發布時間:2024/1/1 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于4G网卡和树莓派zero实现低延时数字图传(250-300ms左右) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

方案本身并不復雜,都是采用成熟的產品,只需要幾個命令行就能解決問題

0、準備工作

硬件:
樹莓派zero
4G網卡
linux臺式機/筆記本/虛擬機
軟件:
raspivid
netcat / nc
mplayer
ZeroTier


1、樹莓派+4G網卡實現連接互聯網

首先:樹莓派通過4G網卡先要連接互聯網,這一步詳見我之前寫的一篇文章

樹莓派zero使用合宙Air724UG作為USB上網卡_夢想家的專欄-CSDN博客


2、構建虛擬局域網實現樹莓派和臺式機IP互通

由于4G網卡獲取的IP和你的電腦肯定不是一個局域網網絡,相互之間是無法直接通過IP地址訪問的,因此需要構建一個虛擬的局域網實現互聯。
ZeroTier是一個很好的網站,可以非常簡單的構建免費的虛擬局域網
注冊一個賬號即可使用,支持linux,windows,android等各類平臺,非常好用。
在樹莓派和linux電腦上,通過安裝ZeroTier客戶端,能夠虛擬出一個網卡,分配的IP地址可以直接訪問。
安裝很簡單,輸入命令行

curl -s https://install.zerotier.com | sudo bash

安裝成功后,通過執行命令行,即可加入你自己的網絡

sudo zerotier-cli join 你的network ID

network ID可以通過你在ZeroTier的賬號自己查到,具體操作可以看其他文章,不再贅述,可以查看這個文章?ubuntu配置ZeroTier - 簡書?

在你的樹莓派和linux臺式機上都安裝好之后,使用ping相互試試IP是否能通。
這樣就建立好了連接,為后面的圖傳打下了基礎。


3、安裝測試你的樹莓派攝像頭

樹莓派連接好攝像頭,使用命令行可以測試一下是否有效。
將樹莓派的HDMI口連接到顯示器上,通過串口連接到樹莓派的命令行,輸入以下指令

raspivid -t 0 -w 640 -h 360

如果顯示器上能顯示出攝像頭內容,表示連接正常了
如果不行,可能是你沒有配置好攝像頭
可以通過 sudo raspi-config 里面有相關選項,可以打開攝像頭

4、通過netcat來轉發攝像頭數據流(raw H.264)

攝像頭可以捕獲數據后,可以使用netcat或nc命令,將數據轉發到地面站(linux臺式機/筆記本/虛擬機)
在樹莓派上執行

raspivid -t 0 -w 640 -h 360 -o - | netcat -ul 5000

-w -h 用來設置圖像寬度和高度
-t 0 表示一直開著攝像頭,不限時
-o 表示輸出
- 表示輸出到標準輸出
| 將標準輸出通過管道輸入到下一個指令
netcat是強大的網絡工具
-u表示使用udp
-l 表示監聽,后面的5000表示監聽的端口號

因此,通過這個命令實現了在5000端口號上監聽連接,一旦連接上了,就將攝像頭的raw h.264數據流通過UDP轉發出去

在linux電腦上,通過圖形界面打開命令行(否則無法查看視頻)
執行以下命令

netcat -vu 10.243.155.167 5000 | mplayer -fps 60 -cache 2048 -

-v表示顯示詳情
-u表示udp
后面的IP地址和端口號是樹莓派的地址和端口,其中IP地址是剛才在第二節說的虛擬IP
使用mplayer進行播放 指定fps為60
一定要設置緩存,否則播放有問題
mplayer可以通過? ?sudo apt install mplayer? ?直接安裝

當然,你也可以使用TCP來轉發視頻流,但是由于TCP在網絡穩定的時候,會進行重傳,可能導致視頻延遲,因此為了確保實時性,建議還是使用UDP協議,雖然可能中間丟包,但是不會造成較大的延遲。

5、測試結果

延遲:

延遲大概在250-300ms左右,應該來講是比較低了,可以接受

流量:

在640*360分辨率下,流量通過iftop查看,
如果畫面是在激烈的晃動和變化下,樹莓派網卡峰值流量250kB/s
一般情況下流量消耗在100kB/s ~200kB/s之間徘徊
以最大消耗250kB/s計算,1分鐘最大流量15MB,10分鐘150MB,20分鐘300MB,1小時900MB
流量消耗可以接受。

丟包率測試:

通過虛擬機,設置丟包率在0.1%時,大概5秒左右馬賽克一次,但不影響畫面的實時性和流暢性

總結

以上是生活随笔為你收集整理的基于4G网卡和树莓派zero实现低延时数字图传(250-300ms左右)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。