基于HTTP的流媒体AI处理框架

该博客介绍了如何构建一个实时视频流处理系统,包括从摄像头拉流、AI处理、HTTP-FLV推送、无人值守关闭流的实现。系统采用epoll线程池处理TCP连接,创建流时进行状态检查并返回http-flv地址。处理流程涉及解码、AI分析、编码和媒体源推送。此外,还详细描述了线程池、全局队列的使用以及AI模型检测线程池的工作方式。
摘要由CSDN通过智能技术生成

1、实现从摄像头拉流后AI处理;
2、实现将处理后的流HTTP-FLV推送;
3、实现无人值守关闭流;

具体框架图如下:

在这里插入图片描述

说明:
1、通过epoll线程池监听TCP连接,抢到fd的epoll线程去处理后期该fd上的所有事物;
2、两种请求,第一是携带配置创建流,第二种是根据创建流返回的http-flv url拉流。
3、创建流就是创建一条可以处理流链路的线程,线程创建后,立即返回,回复客户端,回复的body里面包含创建的流的http-flv地址。
1)创建流的时候先去查询该路视频是否已经被创建,如果已经被创建,则直接返回该路流的http-flv.
4、处理流链路流程为:
1)拉流
2)解码
3)AI处理
4)可视化处理
5)编码
6)送入媒体源
5、拉流
1)检查流是否存在,不存在直接返回404
2)流存在,发送flv tag

6、服务启动的时候,总共有两种线程池需要创建,第一种是epoll线程池,第二种是AI模型检测线程池。
7、三个全局队列,第一个是存放所有相机解码图片,第二是存放所有相机AI处理后图片,AI模型线程池从上述第一个队列中争夺处理图片,处理后的图片放在第二个队列中,各路过滤模块从第二个队列中获取属于自己流的处理后图片做可视化处理(框线,轨迹,以及稳定性处理)。
8、第三个队列为MediaSource队列,创建的视频源都存放在该队列中,每个视频源有一个环形队列和分发器,通过处理该路请求的epoll线程发送数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值