鸿蒙IPC开发板-RTSP视频监控与代码分析

举报
码农爱学习 发表于 2022/10/23 21:50:16 2022/10/23
【摘要】 本篇进行RTSP视频监控的测试,将猫眼门铃例程移植到HiSpark IPC DIY Camera开发板中,并使用VLC播放器进行RTSP拉流测试。最后对源码的结构进行分析,梳理出程序处理的大致流程。

本篇进行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.2 代码复制到OpenHarmony工程

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

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

然后修改wifi名和密码

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

 hb set
 hb build -f

注意这次要选择smart_door_viewer_3518这个选项:

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

2 测试

插入一张SD卡

输入以下指令连接wifi:

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

输入ifconfig查看连接状态

然后启动tsp_server应用

./bin/rtsp_server

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

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

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

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

3 代码分析

3.1 主程序

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

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

  • 实例化一个摄像头对象

  • 创建一个socket服务

  • 开启一个视频数据发送线程

  • 开启一个RTSP事件处理线程(RTSP状态机)


3.2 处理线程

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

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


4 总结

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

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。