開發環境:
開發系統: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源碼下對應的檔案
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0gTMx81dsQWZ4lmZf1GLlpXazVmcvwFciV2dsQXYtJ3bm9CX9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5iMyQDO0E2MjVTZyIDOhRWNyYzX4EDNwIDM5EzLcRDMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
代碼目錄結構
├── 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
開始全量編譯。
$ hb build -f
最後生成的固件對應如下:
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檢視連接配接狀态:
接下就可以運作rtsp_server應用了。
5.在序列槽下輸入
./bin/rtsp_server
列印如下表示裝置應用已準備完畢
6.2.2播放視訊流
1.在手機應用市場中搜尋“完美播放器”并下載下傳安裝。
2.打開菜單選擇網址播放,輸入rtsp播放位址,其中ip位址192.168.24.192為3518闆子中的位址。
即可看到視訊流。
趕緊去玩起來吧!
關于RTSPServer的實作和講解請檢視openharmony-sig文檔。
RTSPServer
歡迎通路我的網站
BruceOu的哔哩哔哩
BruceOu的首頁
BruceOu的部落格
BruceOu的簡書
BruceOu的知乎