本次分享的程序是使用ESP32-CAM进行图像采集并将图像以RTSP协议进行无线传输。在同网络的PC上使用软件对摄像头的图像进行拉取观看。
开发环境:Arduino。
程序语言:C语言。
ESP32-CAM:
ESP32-CAM是安信可最新发布小尺寸的摄像头模组。该模块可以作为最小系统独立工作,尺寸仅为27*40.5*4.5mm,深度睡眠电流最低达到6mA。ESP32-CAM可广泛应用于各种物联网场合,适用于家庭智能设备、工业无线控制、无线监控、QR无线识别,无线定位系统信号以及其它物联网应用,是物联网应用的理想解决方案。ESP32-CAM采用DIP封装,直接插上底板即可使用,实现产品的快速生产,为客户提供高可靠性的连接方式,方便应用于各种物联网硬件终端场合。
体积超小的802.11b/g/n Wi-Fi + BT/BLE SoC模块
ESP32 CAM
产品特性
采用低功耗双核32位CPU,可作应用处理器
主频高达240MHz,运算能力高达 600 DMIPS
内置 520 KB SRAM,外置8MB PSRAM
支持UART/SPI/I2C/PWM/ADC/DAC等接口
支持OV2640和OV7670摄像头,内置闪光灯
支持图片WiFI上传
支持TF卡
支持多种休眠模式。
内嵌Lwip和FreeRTOS。
支持 STA/AP/STA+AP 工作模式。
支持 Smart Config/AirKiss 一键配网。
支持二次开发。
RTSP协议:
Real Time Streaming Protocol,RFC2326,实时流传输协议,RTSP是 TCP/IP 协议体系中的一个应用层协议,该协议定义了一对多应用程序如何有效地通过 IP 网络传送多媒体数据。RTSP在体系结构上位于RTP和RTCP之上,它使用TCP或UDP完成数据传输。HTTP与RTSP相比,HTTP传送HTML,而RTSP传送的是多媒体数据。
RTSP是基于文本的协议,采用ISO10646字符集,使用UTF-8编码方案。行以CRLF中断,包括消息类型、消息头、消息体和消息长。但接收者本身可将CR和LF解释成行终止符。基于文本的协议使其以自描述方式增加可选参数更容易,接口中采用SDP作为描述语言。
本文介绍的方法使用方法是基于Arduino开发环境实现的。用到的开源库名称为:Micro-RTSP。库文件可以在github上搜索到,代码资源也上传到网盘,文末有相应的获取方式。
将Micro-RTSP-master库添加到Arduino软件中。
Micro-RTSP Arduino库
安装成功后,在第三方库示例中就可以找到例程。
库示例
例程打开以后首先需要在wifikeys.h文件中设置一下WiFi名称和WiFi密码。
设置WIFI和密码
然后需要修改宏定义。第一个宏定义是OLED显示器,如果你的ESP32 CAM有I2C接口OLED显示器,可以打开这个宏定义,并设置对应的引脚这样就可以使用显示器显示对应的输出信息;第二个宏定义是接入点模式,这种模式下ESP32会作为接入点,创建一个WIFI;第三个宏定义是使能web服务器,使能web服务器后可以在浏览器访问ESP32的IP地址就可以实时获取其图像信息;第四个是使能RTSP服务器,使能后即可通过RTSP端口获取到图像信息。可以根据需要开启对应的宏定义。
文章来源:https://www.toymoban.com/news/detail-574331.html
修改完宏定义信息后,还需要根据ESP32 CAM的硬件信息修改下面的配置,我这里使用的是安信可生产的ESP32 CAM,修改对应的配置信息即可。
硬件适配
修改完成后即可上传,上传成功后可以通过串口或路由器配置界面查看EPS32 CAM联网后的IP。然后打开VLC播放器。
VLC
依次选择“媒体”->“打开网络串流”。然后输入rtsp://“IP地址”:8554/mjpeg/2。最后点击“播放”,等待连接成功后就可以显示出摄像头图像。
RTSP码流地址文章来源地址https://www.toymoban.com/news/detail-574331.html
到了这里,关于基于ESP32-CAM的RSTP协议网络摄像头的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!