前言
应客户方的一个实际项目需求,需要在Linux操作系统下拉取多路摄像头的RTSP数据流并实时显示。
该项目的硬件平台基于飞腾2000四核处理器与景嘉微显卡,搭载了Kylin V10操作系统。 当前景嘉微GPU最多支持同时连接16路摄像头,拉取1920x1080分辨率的RTSP视频流进行硬解并实时显示。
方案
需求分析后, 设计了两种技术方案:
方案1:Qt + FFmpeg
FFmpeg是一个强大的多媒体处理库,支持多种音视频格式的编解码、转码、复用等操作。在本方案中,FFmpeg主要用于拉取RTSP视频流并进行解码。使用FFmpeg的一个繁琐点在于需要手动编译FFmpeg库,以支持硬件加速。硬件加速的实现需要在编译时指定参数`--enable-vaapi`,以便充分利用景嘉微9230显卡的硬件解码能力。
然而,FFmpeg方案的复杂性较高,尤其是在处理视频格式转换和渲染显示时,需要进行额外的开发工作。此外,FFmpeg本身并未提供直接的UI集成方案,导致在Qt中进行视频显示时,需要开发额外的代码来处理视频帧的格式转换、缓冲和渲染。这一系列的操作使得FFmpeg方案在开发和维护成本上较为复杂。


904

被折叠的 条评论
为什么被折叠?



