主页 > 其他  > 

VideoPipe-使用VLC构建RTSP串流显示

VideoPipe-使用VLC构建RTSP串流显示

文章目录 VideoPipe简介VideoPipe-SamplesVideoPipe-nodesvp_rtsp_src_node VLC搭建本地RTSP串流服务器测试

VideoPipe简介

VideoPipe是一个用 C++ 编写的视频分析和结构化框架。它具有最小的依赖性并且易于使用。它的运行方式类似于管道,其中每个节点都是独立的,可以以各种方式组合。VideoPipe可用于构建不同类型的视频分析应用程序,适用于视频结构化、图像搜索、人脸识别和交通/安全领域的行为分析(例如交通事件检测)等场景。

项目地址:sherlockchou86/VideoPipe

VideoPipe-Samples

VideoPipe 提供了大量丰富、开源的测试样例供用户把玩尝试,对新手十分友好,包括人脸识别、换脸,车流量统计、越线检测计数、停车检测(基于Yolov3-tiny/Yolov8x)、目标追踪等案例(这里也向开源作者致敬!感谢分享,Respect!!!)

VideoPipe-nodes

VideoPipe通过将功能封装成节点的方式,将大量常用、实用的视频结构化开发工具集成到nodes目录中,方便用户构建Pipeline时可以像搭积木一样调用;此外,VideoPipe还支持各种算力架构的加速节点支持,包括CUDA、Tensorrt(实测大大降低显存、CPU占用率,具有超高推理性能),用户也可以自己创建推理结点编写自定义样例(欢迎基础样例源码开源共享、教程分享!)

vp_rtsp_src_node

以nodes目录下的vp_rtsp_src_node.cpp/.h为例,作者已经提供了通过rtsp串流输入视频的节点,具体调用参数含义如下:

#include "vp_rtsp_src_node.h" int main() { // 创建一个 vp_rtsp_src_node 实例 std::string node_name = "rtsp_node"; int channel_index = 0; std::string rtsp_url = "rtsp://admin:admin12345@192.168.77.110:554/"; float resize_ratio = 0.5; // 可选参数,调整帧大小的比例 std::string gst_decoder_name = "avdec_h264"; // 可选参数,指定解码器 int skip_interval = 2; // 可选参数,跳过帧的间隔 auto rtsp_node = std::make_shared<vp_nodes::vp_rtsp_src_node>( node_name, channel_index, rtsp_url, resize_ratio, gst_decoder_name, skip_interval ); // 启动节点处理线程 rtsp_node->start(); // 其他处理逻辑... // 停止节点处理线程 rtsp_node->stop(); return 0; }

所以在构建Pipeline时可以通过像rtsp_sample中的读取本地视频的方式一样声明: 这样就可以通过rtsp串流作为视频信号输入: 同理也可以尝试使用vp_rtsp_des_node进行串流输出。

VLC搭建本地RTSP串流服务器测试

参考教程: 使用VLC 搭建 RTSP 服务器

需要注意的地方:教程里没有勾选转码,这里我们需要改为勾选转码,否则声明vp_rtsp_src_node时需要添加转码的参数。

标签:

VideoPipe-使用VLC构建RTSP串流显示由讯客互联其他栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“VideoPipe-使用VLC构建RTSP串流显示