天天看點

《HarmonyOS開發 - IPC Camera開發筆記》第6章 基于RTSP的實時監控

開發環境:

開發系統:Ubuntu 20.04

開發闆:HiSpark IPC Camera(Hi3518)

Openharmony版本:v1.1.4

RTSP,Real Time Streaming Protocol,RFC2326,實時流傳輸協定,是TCP/IP協定體系中的一個應用層協定!協定主要規定定了一對多應用程式如何有效地通過IP網絡傳送多媒體資料。RTSP體系結位于RTP和RTCP之上(RTCP用于控制傳輸,RTP用于資料傳輸),使用TCP或UDP完成資料傳輸!

openharmony中已經實作了RTSPServer播放視訊,這裡隻需要簡單移植下就可以了。

6.1 RTSPServer移植

6.1.1下載下傳源碼

首先到openharmony-sig倉庫中下載下傳smart_door_viewer_3518。

這裡通過git指令下載下傳:

$ git clone https://gitee.com/openharmony-sig/knowledge_demo_smart_home.git

6.1.2代碼拷貝

1.在OpenHarmony的vendor目錄下建立一個team_x的目錄:

$ mkdir vendor/team_x

2.将下載下傳的智能油煙機代碼的代碼拷貝到建立的team_x下面:

$ cp -rf …/knowledge_demo_smart_home/dev/team_x/smart_door_viewer_3518/ vendor/team_x/

3.将

knowledge_demo_smart_home/dev/team_x/smart_door_viewer_3518/openHarmony

目錄下中的檔案替換到openHarmony源碼下對應的檔案

《HarmonyOS開發 - IPC Camera開發筆記》第6章 基于RTSP的實時監控

代碼目錄結構

├── smart_door_viewer_3518
│   ├── BUILD.gn                    // 編譯腳本
│   ├── include
│   │   ├── camera_sample.h               // 攝像頭定義頭檔案
│   │   ├── rtp.h                                       // rtp協定傳輸頭檔案
│   │   ├── rtsp_log.h                                  // 列印調試頭檔案
│   │   └── rtsp_server.h                               // rtsp_server頭檔案
│   └── src
│       ├── camera_sample.cpp                           // 攝像頭實作
│       ├── main.cpp                                    // 主函數
│       ├── rtp.cpp                                     // rtp協定實作
│       └── rtsp_server.cpp                             // rtsp協定實作
├── foundation              
│   └── multimedia
│       └── media_lite
│           ├── frameworks
│           │   └── recorder_lite 
│           │       ├── recorder.cpp                    //增加擷取h.265資料存放至環形緩沖區接口實作
│           │       ├── recorder_impl.cpp               //增加向應用層提供環形緩沖區接口實作
│           │       └── recorder_impl.h                 //增加向應用層提供環形緩沖區接口定義
│           └── interfaces
│               └── kits
│                   └── recorder_lite
│                       └── recorder.h                  //增加擷取h.265資料存放至環形緩沖區接口定義      

6.1.3編譯

編譯設定。

$ hb set
《HarmonyOS開發 - IPC Camera開發筆記》第6章 基于RTSP的實時監控

開始全量編譯。

$ hb build -f
《HarmonyOS開發 - IPC Camera開發筆記》第6章 基于RTSP的實時監控

最後生成的固件對應如下:

《HarmonyOS開發 - IPC Camera開發筆記》第6章 基于RTSP的實時監控

6.2 RTSP應用使用

6.2.1開啟rtsp_server應用

1.将路由器或者手機設定賬号和密碼如下:

ssid為"media",

password為”12345678“。

當然,也可自行修改相應的密碼,對應的檔案是wpa_supplicant.conf。

2.準備一張SD卡插入到插槽内,

3.進入3518的shell輸入如下指令連接配接熱點:

./bin/wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf

4.在3518中輸入ifconfig檢視連接配接狀态:

《HarmonyOS開發 - IPC Camera開發筆記》第6章 基于RTSP的實時監控

接下就可以運作rtsp_server應用了。

5.在序列槽下輸入

./bin/rtsp_server

列印如下表示裝置應用已準備完畢

《HarmonyOS開發 - IPC Camera開發筆記》第6章 基于RTSP的實時監控

6.2.2播放視訊流

1.在手機應用市場中搜尋“完美播放器”并下載下傳安裝。

《HarmonyOS開發 - IPC Camera開發筆記》第6章 基于RTSP的實時監控

2.打開菜單選擇網址播放,輸入rtsp播放位址,其中ip位址192.168.24.192為3518闆子中的位址。

《HarmonyOS開發 - IPC Camera開發筆記》第6章 基于RTSP的實時監控

即可看到視訊流。

《HarmonyOS開發 - IPC Camera開發筆記》第6章 基于RTSP的實時監控

趕緊去玩起來吧!

關于RTSPServer的實作和講解請檢視openharmony-sig文檔。

​​RTSPServer​​

歡迎通路我的網站

​​BruceOu的哔哩哔哩​​

​​BruceOu的首頁​​

​​BruceOu的部落格​​

​​BruceOu的簡書​​

​​BruceOu的知乎​​

資源擷取方式