当前位置:网站首页>五、视频处理与GStreamer
五、视频处理与GStreamer
2022-07-28 05:22:00 【Aaaaaki】
五、视频处理与GStreamer
1 视频处理流程
视频处理的经典流程

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

硬件依赖

各阶段任务均可在CPU、GPU、FPGA以及AI加速器上运行,因此采用异构系统,将各阶段任务部署到不同硬件设备上,可以在同一系统上处理更多任务,最大限度的发挥系统效能
视频解码实战
通过下述代码,可选择各类解码方式
##### Decode #### # 3 options to decode #1) decode using OpenCV cap = cv2.VideoCapture("road.mp4") #2) Use GSTREAMER # cap = cv2.VideoCapture('filesrc location=road.mp4 ! decodebin ! videoconvert !appsink sync=false', cv2.CAP_GSTREAMER) #3) Use media-SDK,if don't have iGPU(集成显卡),these codes can't work, just for reference # cap = cv2.VideoCapture('road.h264', cv2.CAP_INTEL_MFX)
解码结果:

2 GStreamer流水线
适用场景
- 多个模型并行进行测量推理性能
- 对一个特殊视频流进行要素整合处理
- 解决多个视频流的解码密度问题
DL-Streamer
用于构建计算图或流水线,支持将开发的视频分析元素添加至GStreamer Elements的列表中,通过OpenVINO进行检测、分类以及可视化等操作。
边栏推荐
- What are the detailed steps of wechat applet development?
- 小程序制作小程序开发适合哪些企业?
- vscode uniapp
- Deep learning (self supervision: Moco V2) -- improved bases with momentum contractual learning
- 如何选择小程序开发企业
- 深度学习——Pay Attention to MLPs
- alpine,debian替换源
- 将项目部署到GPU上,并且运行
- 微信小程序开发详细步骤是什么?
- Installing redis under Linux (centos7)
猜你喜欢

transformer的理解

高端大气的小程序开发设计有哪些注意点?

5、 Video processing and GStreamer

强化学习——策略学习

Deep learning (incremental learning) -- iccv2021:ss-il: separated softmax for incremental learning

Micro service architecture cognition and service governance Eureka

Using neural network to predict the weather

深度学习(自监督:SimCLR)——A Simple Framework for Contrastive Learning of Visual Representations

Deep learning - patches are all you need

Interface anti duplicate submission
随机推荐
小程序开发流程详细是什么呢?
无约束低分辨率人脸识别综述三:同质低分辨率人脸识别方法
There is a problem with MySQL paging
强化学习——策略学习
Reinforcement learning - Basic Concepts
The signature of the update package is inconsistent with that of the installed app
机器学习之聚类
卷积神经网络
小程序开发要多少钱?两种开发方法分析!
alpine,debian替换源
How much does it cost to make a small program mall? What are the general expenses?
Deep learning (self supervision: simpl) -- a simple framework for contractual learning of visual representations
word2vec+回归模型实现分类任务
无约束低分辨率人脸识别综述二:异构低分辨率人脸识别方法
1: Why should databases be divided into databases and tables
Deep learning (incremental learning) -- iccv2021:ss-il: separated softmax for incremental learning
Bert based data preprocessing in NLP
uView上传组件upload上传auto-upload模式图片压缩
Deep learning (self supervision: CPC V2) -- data efficient image recognition with contractual predictive coding
基于tensorflow搭建神经网络