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

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

Lt3iFJ.md.png

代码目录结构

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

Lt3ES1.md.png

开始全量编译。

$ hb build -f

Lt3lYd.md.png

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

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

Lt320U.md.png

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

5.在串口下输入

./bin/rtsp_server

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

Lt3htJ.md.png

6.2.2播放视频流

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

LUF7mn.jpg

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

LUFOYT.jpg

即可看到视频流。

LUFvpF.md.jpg

赶紧去玩起来吧!

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

RTSPServer


欢迎访问我的网站

BruceOu的哔哩哔哩
BruceOu的主页
BruceOu的博客
BruceOu的CSDN博客
BruceOu的简书
BruceOu的知乎


资源获取方式

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

Related posts

Leave a Comment