[文章]【鸿蒙IPC开发板开发板体验】4-RTSP视频监控与代码分析

阅读量0
1
3

本篇进行RTSP视频监控的测试

1 代码移植

1.1 猫眼例程源码下载

代码仓库下载代码

https://gitee.com/openharmony-sig/knowledge_demo_smart_home

智能猫眼3518开发样例

https://gitee.com/openharmony-sig/knowledge_demo_smart_home/blob/master/docs/smart_door_viewer_3518/README.md
1.png

1.2 代码复制到OpenHarmony工程

在OpenHarmony的vendor目录下新建一个team_x的目录,然后将猫眼门铃的代码代码拷贝到新建的team_x目录中:
2.png

接着再将knowledge_demo_smart_home/dev/team_x/smart_door_viewer_3518/openHarmony1.0.1目录下中的文件(上图目录树中的绿色名称的文件)替换到openHarmony源码下对应的文件,我的复制指令如下:
3.png

然后修改wifi名和密码
4.png

和之前编译源码一样,整个编译

hb set
 hb build -f

注意这次要选择smart_door_viewer_3518这个选项:
5.png

编译完成,编译结果如下。和之前固件烧录的过程一样,将编译的固件烧写到板子中。
6.png

2 测试

插入一张SD卡

输入以下指令连接wifi:

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

7.png

输入ifconfig查看连接状态
8.png

然后启动tsp_server应用

./bin/rtsp_server

当打印出wait accept后,进行进行RTSP的连接

9.png

我使用的是VLC播放器,输入视频的网络地址:

rtsp://192.168.5.145:8554/test.h265
#或
rtsp://192.168.5.145:8554/test.h264

注意摄像头每次重启连网后,被分配的ip可能不一样,需要输入的是ifconfig显示的地址,比如我的重启后ip地址就又变成了5.145
10.png

3 代码分析

3.1 主程序

打开项目工程,分析下源码,先找到主函数
11.png

分析程序的主题框架,总结下来这个例程的整体流程如下:

  • 实例化一个摄像头对象
  • 创建一个socket服务
  • 开启一个视频数据发送线程
  • 开启一个RTSP事件处理线程(RTSP状态机)
    12.png

3.2 处理线程

视频数据发送线程的主要逻辑如下:

13.png

RTSP事件处理线程(RTSP状态机)的主要逻辑如下:
14.png

4 总结

本篇进行RTSP视频监控的测试,将猫眼门铃例程移植到HiSpark IPC DIY Camera开发板中,并使用VLC播放器进行RTSP拉流测试。最后对源码的结构进行分析,梳理出程序处理的大致流程。

回帖

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