在QT中的label控件显示mjpg-stream的视频流画面

最近到了大四,想对大学期间做过的项目进行回顾和总结,故写此博客。

其中的一个项目就是视频监控的智能小车,此博客着重记录视频传输问题。

 

一、首先确定使用什么工具来发送视频流和接受视频流

        在arm主控板方面,我将其作为客户端,使用mjpg-stream来作为视频流的发送。在服务端,我使用QT中的label控件来接受视频流,并设计UI进行运动控制。

 

二、确定服务端接受视频流的方法

       当确定工具和平台以后,接下来需要确定的就是接受视频流的方法,至于客户端发送视频流的问题,由于mjpg-stream中是将摄像头所捕捉到的视频流发送到对应的地址的网页,所以接受视频流需要从对应网页获取。

       于是有了两个方法:

       1、原来在html中只要直接插入图片标签,对应的地址"/?action=stream" ,在打开mjpeg-streamer的时候,就能在网页中显示对应的画面。于是自然想到能否将图片下载到本地,然后循环显示成了视频。

       2、直接使用opencv接受视频流。因为opencv提供了获取接口能够获取网页的图片。

 

三、实现方法

先介绍第一种方法的实现。

1、由于该方法只要能够准确的获取网页对应的画面,并下载循环显示在label标签中,便可以实现视频监控。那么问题就是如何获取网页上的图片。查阅资料发现QT提供了QtNetwork模块,很好的完成了该方法的接口。

下面添代码更好理解,对应的接口请参考官方文档。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值