智慧园区、安防监控、视频平台音视频技术并不需要全部精通但需要建立完整的知识体系。下面按照实际项目中的数据流来介绍。一、完整的音视频技术栈摄像机 │ ▼ 视频采集 │ ▼ 视频编码(H264/H265) │ ▼ RTSP/GB28181/RTMP │ ▼ 流媒体服务器(ZLMediaKit、SRS...) │ ▼ 协议转换(WebRTC、FLV、HLS) │ ▼ 浏览器播放整个过程中涉及的技术可以分为几个部分。二、视频采集来源包括IPC 摄像机USB 摄像头手机摄像头无人机视频文件采集到的是原始图像(Frame)例如1920×1080 RGB YUV这时候数据量非常大。例如1080PRGB一秒25帧1920×1080×3×25 ≈150MB/s因此必须编码。三、视频编码Codec编码器负责压缩视频。常见编码特点H.264最普及H.265HEVC更省带宽AV1新一代编码VP8WebRTCVP9YouTube 常用例如原始150MB/s编码后2Mbps可以理解成ZIP 压缩。四、音频编码常见编码用途AAC最常见G711安防G726IPCOpusWebRTCMP3音乐很多摄像机视频 H264 音频 G711五、封装格式Container编码不是文件。需要封装。例如H264 ↓ MP4常见封装封装用途MP4最常见FLV直播TSHLSMKV高清AVI老格式例如MP4 里面 视频H264 音频AAC六、流媒体协议视频如何发送常见协议协议场景RTSP摄像机RTP视频数据RTMP推流HLS浏览器直播WebRTC超低延迟HTTP-FLVWeb直播SRT广播电视例如摄像机RTSPOBSRTMP浏览器WebRTC HLS HTTP-FLV七、流媒体服务器作用拉流推流转协议转封装录像分发常见产品特点ZLMediaKit安防最火SRS直播EasyCVR视频平台Live555RTSPNginx-RTMPRTMP例如RTSP ↓ HTTP-FLV就是流媒体服务器完成。八、解码Decoder什么时候需要例如做人脸识别。流程H264 ↓ 解码 ↓ 图片使用FFmpegOpenCV得到RGB YUV九、转码Transcoding例如摄像机H265浏览器不支持。需要H265 ↓ 解码 ↓ 重新编码H264这叫转码。CPU消耗最高。十、播放器PCVLCPotPlayer浏览器videoflv.jshls.jsWebRTCAndroidExoPlayeriOSAVPlayer十一、浏览器播放技术浏览器不能播放RTSP可以播放技术延迟WebRTC100msHTTP-FLV1秒HLS5~20秒十二、AI视频分析流程RTSP ↓ FFmpeg ↓ 解码 ↓ OpenCV ↓ YOLO ↓ 人脸 ↓ 车辆 ↓ 行为分析这里AI需要的是图片。不是H264。十三、GPU硬件加速CPU软件编码。GPU硬件编码。例如NVIDIANVENC编码NVDEC解码IntelQuick Sync海思VENCVDEC这样1080P几十路视频GPU即可完成。十四、智慧园区常见架构摄像机 │ RTSP/GB28181 │ ┌───────────┴────────────┐ │ │ ▼ ▼ 流媒体服务器 AI分析服务 (ZLMediaKit/EasyCVR) (FFmpegOpenCVYOLO) │ │ │ ▼ │ 人脸识别 │ 车牌识别 │ 行为分析 │ ▼ Java后台(Spring Boot) │ ▼ Vue前端 (flv.js / WebRTC / hls.js)