最近到了大四,想对大学期间做过的项目进行回顾和总结,故写此博客。
其中的一个项目就是视频监控的智能小车,此博客着重记录视频传输问题。
一、首先确定使用什么工具来发送视频流和接受视频流
在arm主控板方面,我将其作为客户端,使用mjpg-stream来作为视频流的发送。在服务端,我使用QT中的label控件来接受视频流,并设计UI进行运动控制。
二、确定服务端接受视频流的方法
当确定工具和平台以后,接下来需要确定的就是接受视频流的方法,至于客户端发送视频流的问题,由于mjpg-stream中是将摄像头所捕捉到的视频流发送到对应的地址的网页,所以接受视频流需要从对应网页获取。
于是有了两个方法:
1、原来在html中只要直接插入图片标签,对应的地址"/?action=stream" ,在打开mjpeg-streamer的时候,就能在网页中显示对应的画面。于是自然想到能否将图片下载到本地,然后循环显示成了视频。
2、直接使用opencv接受视频流。因为opencv提供了获取接口能够获取网页的图片。
三、实现方法
先介绍第一种方法的实现。
1、由于该方法只要能够准确的获取网页对应的画面,并下载循环显示在label标签中,便可以实现视频监控。那么问题就是如何获取网页上的图片。查阅资料发现QT提供了QtNetwork模块,很好的完成了该方法的接口。
下面添代码更好理解,对应的接口请参考官方文档。

最低0.47元/天 解锁文章
1万+

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



