本专栏主要是提供一种国产化图像识别的解决方案,专栏中实现了YOLOv5/v8在国产化芯片上的使用部署,并可以实现网页端实时查看。根据自己的具体需求可以直接产品化部署使用。
B站配套视频:https://www.bilibili.com/video/BV1or421T74f
前言
通常我们项目上还会出现获取如海康、大华等摄像头厂商视频流的情况。一来客户可以充分利旧,而来可以打破边缘计算设备和摄像头必须在同一场地下的窘境。
此教程告诉大家如何在RK3588上利用mpp和rga对视频进行获取推流。
教程内容把代码打碎、磨成粉、冲成水让大家喝下去,请放心食用。
基本原理
大华、海康等网络摄像头厂商都会有一个RTSP的标准输出协议,这个大家可以找网上的文档材料可以找到,此处不作为重点。以下为海康常规品牌录像机为例:
bash
rtsp://admin:password@192.168.12.12:554/Streaming/Channels/101
获取该视频流后和通过usb获取的概念差不多,就是多了个解码的过程。
TCP 解码 推理 编码 直接输出 编码 RTSP RK3588 opencvImg 推理后opencvImg RTSP
核心代码
直接上B站看配套视频:https://www.bilibili.com/video/BV1or421T74f
>>>>>>>>>>>>>>>>>>>>>代码逻辑比较复杂看视频更直接<<<<<<<<<<<<<<<<<<<<
cpp
if (argc != 3)
{
printf("Usage: %s<video_path> <video_type 264/265>\n", argv[0]);
return -1;
}
char *stream_url = argv[1]; // 视频流地址
int video_type = atoi(argv[2]); // 视频流类型:264/265
// 初始化流媒体
mk_config config;
memset(&config, 0, sizeof(mk_config));
config.log_mask = LOG_CONSOLE;
mk_env_init(&config);
mk_rtsp_server_start(3554, 0);
rknn_app_context_t app_ctx; // 创建上下文
memset(&app_ctx, 0, sizeof(rknn_app_context_t)); // 初始化上下文
app_ctx.video_type = video_type;
app_ctx.push_path_first = "live";
app_ctx.push_path_second = "test";
process_video_rtsp(&app_ctx, stream_url);
>>>>>>>>>>>>>>>>>>>>>代码已开源直接B站或站内私信加绿泡泡获取<<<<<<<<<<<<<<<<<<<<