五、视频处理与GStreamer
1 视频处理流程
-
视频处理的经典流程
- 解码(Decode):负责对压缩的视频进行解压缩,将压缩视频解码为Raw格式的原始视频流。在实际应用中,可能会并行解码多个流,且每个流拥有不同的分辨率与格式。常用解码方式有Media-SDK、OpenCV、GStreamer以及FFMPEG等,但需要注意的是,Media-SDK并不支持MP4这类容器文件。
- 预处理(Pre-Processing):将解码后获得的Raw原始视频流进行预处理,获取每一帧图像,使之匹配神经网络的输入格式,作为blob输入到神经网络中。该阶段包括转换图像格式、调整图像尺寸以及增强模糊图像等。
- 推理(Inference):使用基于深度学习的模型进行分类、检测以及分割等操作,可支持并行或串行多个模型的多个推理任务
- 后处理(Post-Processing):对推理结果进行处理,如加上识别框以及识别置信度等。
- 编码(Encode):获得视频流的处理结果后,重新对视频流进行压缩,以便用于存储或上传云端。
-
各阶段的软硬件依赖
-
软件依赖
-