使用EasyDarwin搭建Rtsp Server从大华摄像头拉流进行多路分发

文章介绍了使用EasyDarwin搭建RTSP服务器从大华摄像头拉流进行多路分发时遇到的问题,包括连接限制和推流断开重连。尝试使用FFMPEG命令推流时出现了花屏和RTP丢包现象,通过调整FFMPEG的thread_queue_size参数解决了丢包问题。
摘要由CSDN通过智能技术生成

使用EasyDarwin搭建Rtsp Server从大华摄像头拉流进行多路分发

问题

大华摄像头(型号: DH-IPC-HDW1235C-A 2.8MM 200万高清网络摄像机 )目前支持20路连接,实际使用测试过程中,只能接入6路rtsp端口,无法满足内部64路rtsp接入测试要求。故需要找到方法,接受摄像头rtsp输入流,使用服务器进行分发,已支持最大数量的连接。
目前网上主要提供了以下几种方法来实现:

  1. live555;
  2. zlmediakit, 可以直接使用其提供的容器,但测试中始终没有正常推起流来;
  3. rtsp-simple-server;
  4. EasyDarwin
    最后选择了EasyDarwin作为rtsp server端实现框架进行推流;

服务搭建

官网.下载服务端代码,我们这里以 Linux 版本为例,下载后解压
EasyDarwin release

解压并启动

tar -zxvf EasyDarwin-linux-8.1.0-1901141151.tar.gz
cd EasyDarwin-linux-8.1.0-1901141151
# 启动指令
bash start.sh
# 停止指令
# ./stop.sh

运行后会创建并启动相关服务
在这里插入图片描述
至此,服务启动完毕,我们可以打开 10008 端口查看推流情况
在这里插入图片描述

推流命令

  1. 使用EasyDarwin提供的拉流分发
    在这里插入图片描述
    在这里插入图片描述
    在上图RTSP地址 填写输入源地址,在自定义路径填写输出的路径。

问题:使用这种方式拉流分发,会遇到隔一段时间断开重连的问题。查看log如下:
在这里插入图片描述
查看了相应代码,没有想到解决方法。

2.FFMPEG命令方式

ffmpeg -re -i "rtsp://admin:cad12345@10.2.27.251:554/cam/realmonitor?channel=1&subtype=0"  -c copy -rtsp_transport tcp  -f rtsp rtsp://localhost/camtest

使用此命令会花屏,并在终端出现下述error log:

[rtsp @ 0x56348c591280] max delay reached. need to consume packetspeed=   1x
[rtsp @ 0x56348c591280] RTP: missed 40 packets
[rtsp @ 0x56348c591280] max delay reached. need to consume packetspeed=   1x
[rtsp @ 0x56348c591280] RTP: missed 10 packets
[rtsp @ 0x56348c591280] max delay reached. need to consume packetspeed=   1x
[rtsp @ 0x56348c591280] RTP: missed 25 packets
[rtsp @ 0x56348c591280] max delay reached. need to consume packetspeed=   1x
[rtsp @ 0x56348c591280] RTP: missed 39 packets
frame= 7951 fps= 26 q=-1.0 Lsize=N/A time=00:05:06.60 bitrate=N/A speed=   1x

搜索问题后,发现原因是FFmpeg默认接收线程数据队列大小thread_queue_size为8,当不够快时,接收数据队列溢出,导致RTP接收数据丢包。
解决办法
使用thread_queue_size选项配置大一点的接收线程数据队列,如

ffmpeg -thread_queue_size 512 -re -i "rtsp://admin:cad12345@10.2.27.251:554/cam/realmonitor?channel=1&subtype=0"  -c copy -rtsp_transport tcp  -f rtsp rtsp://localhost/camtest

大华摄像头配置

相关配置如下图:
在这里插入图片描述
在这里插入图片描述

结束

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值