基于异构平台的视频拼接项目 一个高性能、低延迟的多路视频实时拼接系统。
本项目旨在实现一个高性能、低延迟的多路视频实时拼接系统。
系统利用CUDA GPU加速与多线程优化技术,能够同时从多路相机采集视频流,进行解码、拼接、显示、编码、rtsp推流与性能监测。
目前已经在普通家用电脑与jetson orinX平台完成适配。
项目特点- 多摄像头实时拼接:支持多路 RTSP、USB 或本地视频输入。
- GPU 加速:基于 CUDA 实现高效视频处理与图像拼接。
- 硬件编解码:使用cuvid和nvenc对编解码进行加速(在orinX上使用nvmpi)。
- 多线程架构:采用生产者-消费者模型,保证数据流畅。
- 性能监测模块(Timing Watcher): 自动记录每个处理阶段的耗时(如接收、解码、拼接、显示),并输出为 CSV 文件,方便后续性能分析与可视化。
- Qt 界面展示:提供实时拼接结果显示与调试界面。
- 模块化设计:核心逻辑与界面层完全解耦,易于扩展与维护。
前置条件[td]| 环境 | 最低要求 | | NVIDIA 驱动 | ≥ 535 | | CUDA | ≥ 11.8 | | FFmpeg | 需要手动编译,要支持硬件编解码 | | openGL | 任意版本 | | Qt | ≥ 5.0 | | spdlog | 任意版本
| 编译及运行步骤- # 配置环境
- bash set_env.sh
- # 编译并运行程序
- bash start_camera.sh -c (相机配置)
复制代码
各阶段耗时曲线视频解码耗时
基于异构平台的视频拼接项目 一个高性能、低延迟的多路视频实时拼接系统。 ...
拼接阶段耗时
基于异构平台的视频拼接项目 一个高性能、低延迟的多路视频实时拼接系统。 ...
 显示阶段耗时
基于异构平台的视频拼接项目 一个高性能、低延迟的多路视频实时拼接系统。 ...
 全流程耗时
基于异构平台的视频拼接项目 一个高性能、低延迟的多路视频实时拼接系统。 ...
 最终效果图图中是使用cam5.json文件,配置生成的五路拼接图像的效果,目前平均延时可以做到≤300ms
基于异构平台的视频拼接项目 一个高性能、低延迟的多路视频实时拼接系统。 ...

链接: https://pan.baidu.com/s/1KcI-kbR1v51-lls1r2MWfw
提取码下载:
|