# 基于v4l2 ffmpeg rkmpp rtmp yolov11的Qt应用 **Repository Path**: gll555/Qt-application-based-on-v4l2-ffmpeg-rkmpp-rtmp-and-yolov11 ## Basic Information - **Project Name**: 基于v4l2 ffmpeg rkmpp rtmp yolov11的Qt应用 - **Description**: 这个项目是一个基于 Qt 和 V4L2 的视频捕获与处理应用,结合 FFmpeg(RTMP) 和 Rockchip MPP(媒体处理平台)以及YOLOv11实现摄像头视频的捕获、显示、录制、快照、RTMP 推流和YOLO物体实时检测功能。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 2 - **Created**: 2025-05-06 - **Last Updated**: 2026-02-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 基于v4l2 ffmpeg rkmpp rtmp yolov11的Qt应用 #### 介绍 这个项目是一个基于 Qt 和 V4L2 的视频捕获与处理应用,结合 FFmpeg(RTMP) 和 Rockchip MPP(媒体处理平台)以及YOLOv11实现摄像头视频的捕获、显示、录制、快照、RTMP 推流和YOLO物体实时检测功能。 #### 软件架构 香橙派3B rk3566 树莓派CSI摄像头 v4l2捕获UYVY422帧格式 香橙派RKMPP硬件加速编解码 使用YOLO11 rknn模型 #### 安装教程 1. 安装ffmpeg https://github.com/FFmpeg/FFmpeg/tree/master 2. 注意我的摄像头不支持单平面捕获,是多平面捕获,因此您可能需要修改对应的 V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE(多平面) ![输入图片说明](image.png) 3. 我的v4l2设置的视频帧格式为 V4L2_PIX_FMT_UYVY ,虽然查询到的帧格式不止这一个,但只有它能用,这个您也可以对应修改,参考网上的v4l2教程和官方源码 ![输入图片说明](image1.png) 4. rtmp推流 url: "rtmp://47.110.53.247:1935/live/stream" ,47.110.53.247是我的云服务器地址,这里您可以更改为你的服务端地址 ![输入图片说明](image3.png) rtmp配置可参考,或者自己上网搜索 : https://blog.csdn.net/qq_46470984/article/details/123756377 https://www.cnblogs.com/linuxAndMcu/p/12517787.html https://www.cnblogs.com/zhuzi1/p/17056030.html #### 使用说明 1. qmake qt_v4l2_ffmpeg.pro 生成Makefile 2. make -j$(nproc) 编译生成可执行程序 qt_v4l2_ffmpeg 3. qt_v4l2_ffmpeg.pro文件里面需要添加链接库文件路径 第一行是ffmpeg的库文件 ![输入图片说明](image4.png) ![输入图片说明](image5.png) 以及 rkmpp rknnrt rga turbojpeg的库文件路径 4. 以及头文件的搜素路径 ![输入图片说明](image6.png) 5. 编译后执行程序 ./qt_v4l2_ffmpeg ![输入图片说明](image7.png) ![输入图片说明](image8.png) 6. 在主目录下会自动生成,保存图片的视频的目录 保存的图片和视频保存在主目录下 ![输入图片说明](image9.png) ![输入图片说明](image10.png) #### 参与贡献 v4l2 https://github.com/torvalds/linux/blob/master/include/uapi/linux/videodev2.h https://www.cnblogs.com/emouse/archive/2013/03/04/2943243.html https://blog.csdn.net/Cgs723/article/details/113826652 https://www.cnblogs.com/silence-hust/p/4464291.html ffmpeg https://github.com/FFmpeg/FFmpeg/tree/master 编解码的demo https://github.com/FFmpeg/FFmpeg/tree/master/doc/examples ### 注意在配置ffmpeg的时候 ./configure --prefix=/usr/local --enable-gpl --enable-version3 --enable-libdrm --enable-rkmpp --enable-rkrga --enable-shared, 要加上 --enable-shared rkmpp https://github.com/nyanmisaka/ffmpeg-rockchip 编译方法 :https://github.com/nyanmisaka/ffmpeg-rockchip/wiki/Compilation rknn部署 https://doc.embedfire.com/linux/rk356x/Ai/zh/latest/lubancat_ai/example/yolo11.html https://github.com/airockchip/rknn-toolkit2/ ## 注意 部署yolo11时,可能发生RKNN模型不兼容问题。 可参考yolo11部署.one #### 效果展示 yolo ![输入图片说明](image11.png) ![输入图片说明](image13.png)