并发视频分析管道优化
本样本应用程序会使用英特尔® Media SDK 和英特尔® Distribution of OpenVINO™ 工具套件实施一套端到端的管道。英特尔® 显卡加速了视频处理和分析的过程。
目标操作系统:Ubuntu* 18.04 LTS
完成时间:40 分钟
使用的软件:
英特尔® Distribution of OpenVINO™ 工具套件
使用的模型:
vehicle-license-plate-detection-barrier-0106
vehicle-attributes-recognition-barrier-0039
您的学习内容
深入了解以下解决方案:
- 按通道启用或禁用推理结果渲染
- 通过 H264 或 H265 编解码器进行编码和解码,为编码提供许多选项
- 可配置的多显示器支持
- 基于 H264 串流编解码器的实时流协议 (RTSP),可选择保存在本地
- 可配置的构成布局和颜色格式
学习构建并运行一个应用程序,其功能为:
- ❶ 从 RTSP 服务器获取视频流,并在解码的同时将它们保存到本地磁盘。
- ❷ 复合多个视频解码输出到同一个表面,然后将其生成在显示器上。
- ❸ 将输入视频扩展到合适的尺寸和颜色格式,使用英特尔 Distribution of OpenVINO 工具套件 model zoo 模型库中的模型用于推理和渲染。
- ❹ 将构成表面编码到视频流,然后将其保存到本地磁盘。
如何工作
该应用程序从参数输入文件(称为 par 文件)读取工作负载配置。文件中的每个行都代表着一个子管道、一个源节点或一个宿节点。
源节点:
❶ 输入收集自 RTSP 流或本地文件。
❷ 应用程序用户界面:该应用程序使用 MQTT 中介与计算机视觉分析服务互动,并基于 Node.js* 以在用户接入站上提供视觉反馈。
❸ 基于 OpenCV 的扩展和色彩空间转换在解码流上执行。
❹ 预处理的帧已发送到英特尔 Distribution of OpenVINO 工具套件,用于推断和深度学习分析。
宿节点:
此子管道的输入与源节点相同。完成解码输出后,会出现以下情况:
❶ 创建另一条线程来使用英特尔 Media SDK 复合多个解码输出。
❷ 从这里,它可以发送至显示器或进行编码,或者两者。您可以为多个显示器指定多个参数输入文件(par 文件)。