开发环境:

开发系统: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源码下对应的文件

《HarmonyOS开发 - IPC Camera开发笔记》第6章 基于RTSP的实时监控_RTSP

代码目录结构

├── 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


《HarmonyOS开发 - IPC Camera开发笔记》第6章 基于RTSP的实时监控_RTSP_02

开始全量编译。


$ hb build -f


《HarmonyOS开发 - IPC Camera开发笔记》第6章 基于RTSP的实时监控_头文件_03

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

《HarmonyOS开发 - IPC Camera开发笔记》第6章 基于RTSP的实时监控_RTSP_04

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查看连接状态:

《HarmonyOS开发 - IPC Camera开发笔记》第6章 基于RTSP的实时监控_RTSP_05

接下就可以运行rtsp_server应用了。

5.在串口下输入


./bin/rtsp_server


打印如下表示设备应用已准备完毕

《HarmonyOS开发 - IPC Camera开发笔记》第6章 基于RTSP的实时监控_环形缓冲_06

6.2.2播放视频流

1.在手机应用市场中搜索“完美播放器”并下载安装。

《HarmonyOS开发 - IPC Camera开发笔记》第6章 基于RTSP的实时监控_Camera_07

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

《HarmonyOS开发 - IPC Camera开发笔记》第6章 基于RTSP的实时监控_Camera_08

即可看到视频流。

《HarmonyOS开发 - IPC Camera开发笔记》第6章 基于RTSP的实时监控_Openharmony_09

赶紧去玩起来吧!

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

​RTSPServer​




欢迎访问我的网站

​BruceOu的哔哩哔哩​

​BruceOu的主页​

​BruceOu的博客​

​BruceOu的简书​

​BruceOu的知乎​


资源获取方式

关注公众号[嵌入式实验楼]获取更多资讯