目前的无线视频的传输由于视频的传输数据很大,并且要求实时性,因此对网络的要求比较高,一般采用无线的Wi-Fi进行传输视频传输需要。经过查阅相关文献,找到以下的三种方案
(1) 直接使用TCP/IP协议,建立Android与LabVIEW之间的连接,进行实时的视频传输,这种方案实时性较好,但是由于两端的程序都要重现编程,因此方案实现较为复杂。
(2) Android手机以MJPEG的格式流发送图像数据到网站上,PC端安装一个虚拟的网络摄像头软件(e2eSoftVCam),将无线传输的图像数据接收,并且输出到一个虚拟的摄像头接口,LabVIEW只需要像普通USB摄像头一样读取该虚拟接口,即可读取到图像数据。这种方法虽然简单,但是这种方法的传输速度较慢。具体方案见NI官网的一篇说明文档,链接如下:http://digital.ni.com/public.nsf/allkb/48A4D7BA7DBC13AF86257A640035C080
(3) Android手机以MJPEG的格式流发送图像数据到网站上,LabVIEW采用浏览器插件,直接访问该网站。这种方不但法简单,而且传输速度可以满足实时性要求。
通过以上三种方案的对比,我们采用最后一种方案,这种方案简单,并且实时性好。实现的方法如下:
(1) 在手机安装一个名为“IP摄像头”的软件(或者在Android应用商店搜索),该软件可以将手机摄像头的数据以MJPEG格式流上传到一个网站。因此我们只需要通过浏览器就可以访问这个网站,看到无线实时传输的图像。
图1
图1为该软件的界面,在界面中可以对传输的图像进行设置等操作,最后找到“开启服务器”,单击该选项,弹出以下图2所示的窗口。
图2 无线视频传输的网站地址
在确保你的电脑与手机处于同一局域网中(连接到相同的wifi,或者连接两者之中发送的热点),然后再浏览器中输入图2中的网站地址,即可访问手机摄像头,为了直接访问实时传输的图像,应在以上网址加上“/jsfs.html”,假设网站地址为http://192.168.43.1:8080,那么在浏览器输入http://192.168.43.1:8080/jsfs.html即可直接访问手机传输的实时图像,如果对于图像的实时性要求较高,可以设置软件传输的图像的大小。
(2) LabVIEW中使用IE浏览器插件,直接访问该网站,即可获取实时的图像数据。如图3所示。
图3 LabVIEW接收到的实时传输图像
(3) LabVIEW后面板的程序如图4所示。
其流程如下:
2、导航到指定URL的网页,即在URL输入网站,即可访问无线传输的图像。
3、网页的插件会自动更新网页的内容,因此主程序中只需要等待用户结束程序。
4、关闭引用,释放资源。
(4) 说明
如果按照以上步骤,程序不能正常运行或者无法访问到无线传输的图像。请确认一下操作是否完成。
1. 手机与电脑处于同一局域网
2. IE浏览器中也可以访问该网站来看到无线传输的图像。
3. LabVIEW中输入正确的网址来访问。
本人之间花了不少时间来做LabVIEW与手机之间的无线视频传输,但是网上以及相关的论文上的方法要么实现复杂,要么实时性无法满足要求。因此找到本文的实现方法之后,做了相应的记录,以供大家学习参考,希望可以给予大家一些帮助。最后谢谢NI的工程师以及老师,在实现这个传输的过程,提供很多的帮助以及建议。限于时间和水平关系,难免有所疏漏或者部分内容不够详细,[url=mailto:%E5%A6%82%E6%9E%9C%E4%BD%A0%E6%9C%89%E4%BB%BB%E4%BD%95%E9%97%AE%E9%A2%98%E6%88%96%E8%80%85%E5%BB%BA%E8%AE%AE%E5%8F%AF%E4%BB%A5%E7%9B%B4%E6%8E%A5%E4%B8%8E%E6%88%91%E8%81%94%E7%B3%
BB1053088640@qq.com]如果你有任何问题或者建议可以直接与我联系
1053088640@qq.com[/url],谢谢。
LabVIEW程序下载链接:
IP摄像头软件下载链接
https://play.google.com/store/apps/details?id=com.pas.***&hl=en
参考资料:
http://digital.ni.com/public.nsf/allkb/48A4D7BA7DBC13AF86257A640035C080
http://download.csdn.net/detail/eeeeeeeff/5006835
Jianbo2006
2014年05月18日