GStreamer · OpenCV 实战
📚 30章 联合开发
🎯
从入门到部署
1
01
GStreamer初探
什么是GStreamer?多媒体框架的前世今生,为什么选择GStreamer + OpenCV组合?
2
02
开发环境搭建
Ubuntu下GStreamer安装、OpenCV编译、Python绑定配置、验证Hello World管道。
3
03
GStreamer核心概念
Pipeline、Element、Pad、Bin、Bus,用生活中的例子帮你理解。
4
04
第一个GStreamer管道
从文件读取视频并显示,用gst-launch-1.0命令行工具快速上手。
5
05
GStreamer数据类型
Buffer、Caps、Event、Query,数据在管道中怎么流动?
6
06
用Python构建管道
GStreamer的Python绑定详解,创建第一个Python + GStreamer程序。
7
07
OpenCV基础回顾
Mat结构、图像读取/显示/保存、视频捕获,为联合开发热身。
8
08
GStreamer与OpenCV的桥梁
GstBuffer与cv::Mat互转,核心代码实现与性能分析。
9
09
实战:摄像头实时采集
用GStreamer管道打开摄像头,OpenCV显示并处理每一帧。
10
10
视频文件读写
用GStreamer解码视频文件,OpenCV处理后重新编码保存。
11
11
图像预处理管道
缩放、裁剪、色彩空间转换,用GStreamer的videoconvert和videoscale。
12
12
OpenCV滤镜集成
在GStreamer管道中插入OpenCV图像处理(高斯模糊、边缘检测)。
13
13
性能优化:零拷贝
零拷贝技术,如何避免GstBuffer到cv::Mat的重复内存分配?
14
14
多线程管道设计
GStreamer的队列(Queue)元素,实现生产者-消费者模式。
15
15
实战:实时人脸检测
GStreamer采集视频,OpenCV Haar Cascade检测人脸并绘制框。
16
16
视频流推送
用GStreamer的RTSP/RTMP推流,将处理后的视频发送到网络。
17
17
视频流接收
从网络拉取RTSP流,OpenCV解码并实时分析。
18
18
硬件加速
利用VAAPI/NVDEC进行硬件编解码,大幅降低CPU占用。
19
19
GStreamer Appsink详解
如何从管道中高效拉取视频帧到应用程序。
20
20
GStreamer Appsrc详解
如何将OpenCV处理后的数据注入GStreamer管道。
21
21
实战:视频拼接与画中画
用GStreamer compositor实现多路视频合成。
22
22
音频处理入门
GStreamer音频管道基础,音频与视频的同步(A/V Sync)。
23
23
实战:视频录制与时间戳
录制带时间戳的视频,OpenCV添加OSD信息。
24
24
GStreamer插件开发入门
编写一个简单的GStreamer插件,封装OpenCV算法。
25
25
动态管道修改
运行时添加/移除元素,实现动态滤镜切换。
26
26
错误处理与调试
GStreamer日志系统、管道状态机、常见错误排查。
27
27
实战:运动检测系统
结合OpenCV背景减除器,实现实时运动报警。
28
28
实战:车牌识别流水线
GStreamer采集 -> OpenCV预处理 -> OCR识别 -> 结果推送。
29
29
性能基准测试
对比纯OpenCV、纯GStreamer、联合方案的CPU/内存/延迟。
30
30
综合项目:智能视频监控
从架构设计到部署,完整项目实战复盘。