【opencv实战】海康摄像rtsp流不同方案下的时延测试(Ing)

news/2024/10/30 13:29:22/

测试摄像头型号:海康威视DS-2CD2T26FWD-i5s中的6mm/12mm 相机

测试方式:rtsp流

1. VLC

(1). vlc 直接播放 rtsp 流

这个延迟不得了,大概有2s。

(2). vlc 关闭缓存 

因为 vlc 播放器默认有个网络缓存时间,我查看了一下我的设置里面的是1000ms,调整了一下这个时间,重新测试一下。

vlc rtsp://192.168.1.64:554 --network-caching=100 #我改成了100ms

延迟<1s,我看了一下大概300ms 的样子。

2. 海康SDK

海康sdk延迟基本200ms的样子,但是只支持x86平台,Arm架构暂时没有sdk,这个我直接咨询了官方。

这个延迟是我测得的最低的,如果对延迟敏感果断使用海康 SDK吧!

3. OpenCV(cpu)

#include <opencv2/opencv.hpp>
#include <opencv2/core.hpp>
#include <opencv2/highgui/highgui.hpp>  
#include <opencv2/imgproc/imgproc.hpp>  
#include <iostream>  
#include <stdio.h>  
#include <string>int main(int argc, char** argv)
{std::string url="rtsp://admin:abcd1234@192.168.1.64:554";cv::VideoCapture cap(url);if (!cap.isOpened()) {std::cout << "captureOpen failed!" << std::endl;} else {std::cout << "success!" << std::endl;}cap.set(cv::CAP_PROP_BUFFERSIZE,0);cv::Mat frame;while (true){cap >> frame;cv::imshow("image", frame);if (cv::waitKey(1) > 0) {break;}}return 0;
}

opencv也是自带缓冲区的,如果你帧处理的速度跟不上会造成缓冲区帧积累,会导致延迟累积,上面这段代码直接将缓冲区size设置为0。

4. OpenCV(cuda)

5. OpenCV(Gstreamer+NVDEC)

这个我是在 Jetson agx xavier 平台上测试的,主要是想利用一下其自带的硬件解码功能,延迟大概是500ms 左右。

应该说这个延迟是不低的,但是你如果要接入多个流的化最好还是要用NVDEC解码,不然你的CPU会吃不消。尤其像

Xavier的CPU还是Arm v8。

6. ffplay(cuda)

(1). 直接播放

ffplay rtsp://admin:abc123456@192.168.1.64:554 #延迟1s

(2). 关闭缓存

ffplay -fflags nobuffer rtsp://admin:abc123456@192.168.1.64:554 #延迟300ms


http://www.ppmy.cn/news/271308.html

相关文章

一、人像分割

开源PP-HumanSegl模型,提供了三个高质量的人像分割模型:有应用于服务端GPU部署的PP-HumanSegl模型,有适用于移动端的轻量PP-HumanSeg模型,还有能够在浏览器部署的超轻量模型PP-HumanSegs模型。 近期百度视频会议 上线了虚拟背景功能,支持在网页端视频会议时进行背景切…

反馈 术语 串小鸭 并大流

反馈 术语 串小鸭 并大流 反馈 术语 串小压 并大流 串联反馈是电压反馈量&#xff0c;适用于电压源的电路 并联反馈是电流反馈量&#xff0c;适用于电流源的电路 这个鸭&#xff08;压&#xff09; 有两重含义 1.反馈量是电压。2&#xff0c;适用于信号源是电压源的电路 这…

python 画笔画一些形状(八卦图、小鸭子、五角星等)

八卦图 from turtle import *def yin(radius, color1, color2):width(3)color("black", color1)begin_fill()circle(radius/2., 180)circle(radius, 180)left(180)circle(-radius/2., 180)end_fill()left(90)up()forward(radius*0.35)right(90)down()color(color1, c…

奇怪的小鸭子也增加了Java实现

题干 Description 有一个 AB 的大澡盆&#xff0c;还有若干个 ab 的长方形小鸭子&#xff0c;澡盆里最少放几只鸭子后&#xff0c;便无法再向其中放入更多的鸭子&#xff1f; 鸭子很倔强&#xff0c;不能旋转成 ba&#xff0c;也不能重叠放置。 Input 四个整数&#xff0c…

Python代码画小鸭穿雨靴--turtle绘图

效果图 代码如下 # 穿雨鞋的小鸭 from turtle import *# 扁嘴 pensize(2)pu() goto(-100, 100) # 上嘴最高顶点 seth(-50) pd() color(#6C3100, #FADD77) begin_fill() fd(16) vertex_right pos() # 嘴最右顶点 rt(50) fd(12) vertex_down pos() # 下嘴最低顶点 rt(80) f…

《奇怪的小鸭子》

题目描述&#xff1a;有一个A∗B的大矩形&#xff0c;同时有若干个a∗b的小矩形。小矩形不能旋转。问最少需要在大矩形中放入多少个小矩形&#xff0c;便再也无法放入更多的矩形。 水平方向如图放置&#xff0c;则水平方向的数量为&#xff1a;A-(a-0.000001)/2*a-0.000001向上…

快速通关作用域!

作用域 变量作用域 一个变量的作用域&#xff08;scope&#xff09;是程序源代码中定义这个变量的区域。全局变量拥有全局作用域&#xff0c;在 JavaScript 代码中的任何地方都是可以访问的。然而在函数内声明的变量只能在函数体内访问&#xff0c;它们是局部变量&#xff0c…

你还在观望吗?Creator3D小鲜肉《小鸭快跑》新鲜出炉!

date: 2019-10-16 摘要 CocosCreator 的 3D 版本正式上线&#xff01; 激动干嘛? 愣着啊! KUOKUO 正好手里有个小鸭子模型&#xff0c;于是就把它做成了一个小游戏。 正文 风骚的走位 系统事件来监听触摸 cc.systemEvent.on(SystemEventType.TOUCH_START, (e: EventTouch) >…