難點
雙方均通過 3G 撥號上網,IP 動態分配且處於運營商 NAT 之後,無公網 IP,無法直接建立 Socket 連接。
架構方案
- 公網中繼服務器:雙方啟動時向固定公網 IP 註冊當前 IP/端口(或保持長連接心跳)。
- NAT 穿透:服務器協助雙方交換公網端口映射信息,嘗試打洞建立 P2P 連接(STUN/TURN)。
- 消息轉發:若 P2P 失敗,服務器轉發指令與圖片數據。
- 本地功能:Linux 端調用攝像頭拍照、編碼發送;Android 端接收顯示。
技術選型
- 通訊協議:MQTT、WebSocket 或自定義 TCP/UDP。
- 視頻傳輸:H.264 + RTP/RTCP 或 HTTP-FLV。