🚀 GPU 编解码·实战
📚 30 章 · 嵌入式加速
v2.0
1
GPU视频编解码概述
为什么加速
GPU加速必要性 · 嵌入式 vs 桌面 · 主流硬件引擎
2
硬件平台选型
Jetson/RK3588/CM4
NVIDIA Jetson · 瑞芯微RK3588 · 树莓派CM4 性能功耗对比
3
开发环境搭建
工具链·驱动·FFmpeg
交叉编译链 · CUDA/OpenCL驱动 · FFmpeg源码编译
4
视频编解码基础
H.264/H.265
编码原理 · I/P/B帧 · 码率控制 · GOP结构
5
FFmpeg核心API
数据结构详解
AVFormatContext · AVCodecContext · AVPacket · AVFrame
6
GPU内存管理
cudaMalloc/零拷贝
cudaMalloc/cudaMemcpy · 零拷贝技术 · 内存池设计
7
硬件编码器初始化
NVENC配置
NVIDIA NVENC参数 · 码率控制模式选择
8
硬件解码器初始化
NVDEC创建
NVDEC解码器创建 · 解码表面池管理
9
视频帧处理流水线
完整pipeline
解码→预处理→推理→后处理→编码 全流程
10
色彩空间转换
NV12/YUV/RGB
GPU加速色彩转换 · 自定义CUDA kernel
11
图像缩放与裁剪
GPU加速resize
GPU加速resize/crop · 性能对比CPU
12
多路视频并发处理
多线程架构
多线程架构 · GPU上下文共享 · 同步机制
13
零拷贝技术实战
DMABUF/EGLImage
DMABUF · EGLImage · CUDA External Resource互操作
14
低延迟编码优化
B帧去除/IDR
B帧去除 · IDR帧间隔 · Lookahead设置
15
码率控制进阶
CBR/VBR/CQP
CBR/VBR/CQP模式 · 动态码率调整策略
16
硬件编码器质量调优
QP/参考帧
QP范围 · 参考帧数量 · 运动估计参数
17
视频流封装与推流
RTMP/HLS
RTMP/RTSP/HLS集成 · GPU加速muxer
18
GPU视频分析
YOLOv5+DeepStream
基于NVDEC实时目标检测 · YOLOv5+DeepStream
19
DeepStream框架入门
Pipeline构建
Pipeline构建 · 插件配置 · 自定义GStreamer插件
20
DeepStream多路流管理
批处理/监控
批处理 · 流复用 · 性能监控
21
TensorRT集成
INT8量化
模型转TensorRT引擎 · INT8量化
22
端到端AI应用
车牌/人流/异常
车牌识别 · 人流统计 · 异常检测完整实现
23
性能分析工具
Nsight/nvprof
NVIDIA Nsight Systems · nvprof · tegrastats
24
功耗优化
DVFS/频率锁定
DVFS调优 · GPU频率锁定 · 动态电源管理
25
常见问题排查
花屏/卡顿/崩溃
解码花屏 · 编码卡顿 · 内存泄漏 · 驱动崩溃
26
瑞芯微RK3588平台
MPP/RGA/OpenCL
MPP库使用 · RGA硬件加速 · Mali GPU OpenCL
27
树莓派CM4平台
VideoCore/MMAL
VideoCore GPU编解码 · MMAL/IL组件编程
28
跨平台移植
Jetson→RK3588
代码迁移 · 抽象层设计
29
项目实战一
4K@60fps推流
4K@60fps视频实时推流系统设计与实现
30
项目实战二
16路AI分析服务器
16路视频AI分析服务器 · 架构到部署