[文章]【HarmonyOS IPC 试用连载 】第6章 基于RTSP的实时监控

阅读量0
2
1
开发环境:
开发系统:Ubuntu 20.04
开发板:HiSpark IPCCamera(Hi3518)
Openharmony版本:v1.1.4

RTSP,Real TimeStreaming 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命令下载:

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源码下对应的文件

20220416-6-t1.png

代码目录结构
  1. ├── smart_door_viewer_3518
  2. │   ├── BUILD.gn                                                                    //编译脚本
  3. │   ├── include
  4. │   │   ├── camera_sample.h                                                     //摄像头定义头文件
  5. │   │   ├── rtp.h                                       // rtp协议传输头文件
  6. │   │   ├── rtsp_log.h                                  // 打印调试头文件
  7. │   │   └── rtsp_server.h                               // rtsp_server头文件
  8. │   └── src
  9. │       ├── camera_sample.cpp                           // 摄像头实现
  10. │       ├── main.cpp                                    // 主函数
  11. │       ├── rtp.cpp                                     // rtp协议实现
  12. │       └── rtsp_server.cpp                             // rtsp协议实现
  13. ├── foundation            
  14. │   └── multimedia
  15. │       └── media_lite
  16. │          ├── frameworks
  17. │          │   └── recorder_lite
  18. │          │       ├── recorder.cpp                   //增加获取h.265数据存放至环形缓冲区接口实现
  19. │          │       ├── recorder_impl.cpp              //增加向应用层提供环形缓冲区接口实现
  20. │          │       └── recorder_impl.h                //增加向应用层提供环形缓冲区接口定义
  21. │          └── interfaces
  22. │              └── kits
  23. │                   └── recorder_lite
  24. │                       └── recorder.h                  //增加获取h.265数据存放至环形缓冲区
复制代码
接口定义

6.1.3编译
编译设置。
$ hb set
20220416-6-t2.png

开始全量编译。
$ hb build -f  
20220416-6-t3.png

最后生成的固件对应如下:

20220416-6-t4.png

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查看连接状态:
20220416-6-t5.png

接下就可以运行rtsp_server应用了。
5.在串口下输入
./bin/rtsp_server
打印如下表示设备应用已准备完毕
20220416-6-t6.png

6.2.2播放视频流
1.在手机应用市场中搜索“完美播放器”并下载安装。
20220416-6-t7.jpg

2.打开菜单选择网址播放,输入rtsp播放地址,其中ip地址192.168.24.192为3518板子中的地址。


20220416-6-t8.jpg
即可看到视频流。
20220416-6-t9.jpg

赶紧去玩起来吧!

关于RTSPServer的实现和讲解请查看openharmony-sig文档。

https://gitee.com/openharmony-sig/knowledge_demo_smart_home/blob/master/docs/RTSPServer/RTSPServer.md


回帖

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
链接复制成功,分享给好友