San*_*nto 7 sockets qt live-video ip-camera
我们有一台配有模拟摄像头的设备.我们有一张卡片可以对其进行采样并将其数字化.这一切都在directx中完成.此时,替换硬件不是一种选择,但我们需要编码,以便我们可以实时看到此视频源,无论将来是否发生任何硬件或底层操作系统更改.
沿着这条线,我们选择了Qt来实现一个GUI来查看这个摄像头输入.但是,如果我们将来迁移到Linux或其他嵌入式平台并更换其他硬件(包括摄像机/视频采样器所在的物理设备),我们也需要更换摄像机显示软件,这将是痛苦是因为我们需要将它集成到我们的GUI中.
我提出的是迁移到更抽象的模型,其中数据通过套接字发送到GUI,并且视频在从套接字流解析后实时显示.
首先,这是一个好主意还是一个坏主意?
其次,你会如何实现这样的事情?视频采样器通常如何提供可用的输出?如何将此输出推到套接字上?一旦我在接收端解析输出,我怎么知道如何处理输出(如何如何获得输出渲染)?我唯一能想到的是将每个样本写入文件,然后在每次新样本到达时显示文件的内容.这对我来说似乎是一个低效的解决方案,如果它可以工作的话.
你怎么建议我处理这个?有没有可用于这种事情的跨平台库?
谢谢.
编辑:我愿意接受不同的建议,而不是上面列出的内容.
任何重复视频流的操作都会降低性能,尤其是在嵌入式空间中。在大多数视频情况下,我认为您最好尝试使用本地硬件加速将视频直接播放到屏幕上。通过一些适当的封装,您应该能够使用 Qt 作为视频周围的 GUI,并拥有一个特定于平台的类,用于控制实际的视频绘制到屏幕上(绘制的位置、大小等)。 )。
编辑:
您可能还想查看声子库。我没怎么看过它,但它似乎支持显示可以从各种不同来源获取的视频。