鸿蒙IPC开发板-RTSP视频监控与代码分析
本篇进行RTSP视频监控的测试
1 代码移植
1.1 猫眼例程源码下载
代码仓库下载代码
https://gitee.com/openharmony-sig/knowledge_demo_smart_home
智能猫眼3518开发样例
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拉流测试。最后对源码的结构进行分析,梳理出程序处理的大致流程。
![](https://res.hc-cdn.com/ecology/9.3.130/v2_resources\images\global\blog-dialog.png)
华为开发者空间发布
让每位开发者拥有一台云主机
- 点赞
- 收藏
- 关注作者
评论(0)