📷 网络摄像头 · 采集与编码精讲
30章 从入门到实战
硬核编码
全链路
🎯 友好色系
⚡ 紧凑目录
📚 30个章节
01
摄像头选型
接口与协议
USB vs MIPI vs 网络 · 分辨率帧率 · UVC/V4L2
02
V4L2框架
架构与ioctl
设备节点 · 缓冲区管理 mmap/userptr/dmabuf
03
OpenCV
VideoCapture
打开摄像头 · 属性设置 · 多摄像头管理
04
帧采集
格式转换与预处理
BGR/YUV/RGB · resize · ROI裁剪 · 镜像翻转
05
帧率控制
时间戳与丢帧
帧率计算 · 固定帧率 · 时间戳同步 · 丢帧策略
06
多线程采集
生产者-消费者
线程安全队列 · 双缓冲/三缓冲 · 锁优化
07
硬件加速
GPU Direct & 零拷贝
V4L2零拷贝 · DMA-BUF · Jetson硬件编码器
08
编码基础
H.264/H.265/VP9/AV1
编码标准对比 · GOP · 码率 · profile · 质量评估
09
libx264
参数调优
preset/tune/profile · CBR/VBR/CRF码率控制
10
libx265
HEVC优化
10bit编码 · 编码速度与质量平衡
11
硬件编码器
NVENC/VAAPI/QSV
NVIDIA · Intel QSV · AMD VCE · 参数调优
12
编码器API
统一封装
状态机 · 参数动态调整 · 编码器热切换
13
封装格式
MP4/MKV/TS/FLV
moov box · fmp4分段 · 音视频交错
14
FFmpeg muxer
封装实战
AVFormatContext · AVStream · packet写入 · moov优化
15
实时流协议
RTSP/RTMP/HLS/WebRTC
协议对比 · 延迟分析 · 场景选择
16
RTSP服务器
Live555 & FFmpeg
SDP描述 · RTP打包 · TCP/UDP传输模式
17
RTMP推流
FFmpeg & librtmp
FLV封装 · RTMP握手 · 连接管理
18
HLS切片
m3u8与TS/fMP4
切片时长 · 低延迟HLS · 索引文件
19
WebRTC
视频传输
SDP协商 · ICE/STUN/TURN · Simulcast/SVC
20
GStreamer
管道构建
元素与管道 · appsink/appsrc · caps协商
21
GStreamer
硬件加速
nvarguscamerasrc · vaapi · mfx · V4L2集成
22
质量监控
PSNR/SSIM/VMAF
编码质量实时监测 · 自动码率调整
23
低延迟编码
优化策略
B帧禁用 · lookahead · 编码线程优化
24
多路同步
时间同步与帧对齐
PTP/GPIO同步 · 多路编码资源分配
25
存储回放
环形缓冲区与录制
事件触发 · 定时录制 · 快进/慢放/跳转
26
AI推理
视频帧叠加
推理结果叠加 · 编码前/后叠加 · ROI编码
27
编码自适应
场景检测
动态码率/帧率/GOP · ROI编码优化
28
性能分析
CPU/GPU/内存
编码延迟测量 · 瓶颈定位 · 多核优化
29
嵌入式部署
Jetson/RK3588
NPU集成 · 功耗优化 · 散热管理
30
完整实战
采集到Web播放
全链路实现 · 架构设计 · 代码组织 · 部署运维