现在的位置: 首页 > 综合 > 正文

基于B/S结构的无线视频传输方案

2018年02月01日 ⁄ 综合 ⁄ 共 1743字 ⁄ 字号 评论关闭

浏览器、嵌入式Web服务器(boa)、wifi无线网络、视频传输、设备管理

1、总体结构

2、工作流程

用户在浏览器中登录设备管理网站,向嵌入式Web服务器发出视频监控请求,通过CGI程序与嵌入式Web服务器进行交互,Web服务器接到请求后启动相应的服务,由摄像头采集的视频经过流媒体服务器处理后存储并通过RTP/RTCP协议传输到浏览器监控端,这样,用户就能实时地对视频进行监控。工作流程如图:

3、流媒体服务器

主要包括以下3个功能模块:视频采集、视频编码以及视频传输。

 

3.1视频采集

编译linux-2.6的内核支持USB摄像头硬件驱动,将生成的zImage烧写到s3c6410开发板上,使用内核支持的video4linux设备API实现视频采集。

 

3.2视频编码

采用MPEG-4视频编码器对视频图像进行压缩编码。使用开放源代码的MPEG-4编码软件FFmpeg。将编码器交叉编译后移植到处理器s3C6410的ARM9开发平台上。

 

3.3视频传输

采用RTP/RTCP/RTSP协议实现视频流的实时传送。

RTSP(real-timestreaming protocol)是一个应用层协议,用来控制具有实时特性的数据传送。它提供了一种可扩展框架,使得可控的、点播的实时数据的传送成为可能。数据源可以是直播数据或者存储的媒体片断。

RTP(Real-timeTransport Protocol)是用于htemet上针对多媒体数据流的一种传输协议。RTP被定义为在一对一或一对多的传输情况下工作。其目的是提供时间信息和实现流同步。

RTP通常使用UDP来传送数据。当应用程序开始一个RTP会话时将使用两个端口:一个给RTP,一个给RTCP(RTP control protocol)。RTP本身并不能为按顺序传送数据包提供可靠的传送机制,也不提供流量控制或拥塞控制,它依靠RTCP提供这些服务。

RTCP和RTP一起提供流量控制和拥塞控制服务。在RTP会话期间,各参与者周期性地传送RTCP包。RTCP包中含有已发送的数据包的数量、丢失的数据包的数量等统计资料,因此,服务器可以利用这些信息动态地改变传输速率,甚至改变有效载荷类型。RTP和RTCP配合使用,能以有效的反馈和最小的开销使传输效率最佳化,因而特别适合传送网络上的实时数据。

 

4、嵌入式web服务器

嵌入式Web服务器用来处理用户的请求,和浏览器端进行交互。

在传统的视频监控系统中,基本上采用的是基于C/S的模式,这种模式需要在监控端安装客户端软件。因此,需要用户花费大量时间和精力维护。采用B/S模式,真正的实现了用户零维护,并且还可以跨平台操作,不仅省去了人力物力还能够使用户在只要有网络的环境中就可以进行视频监控,真正方便了用户。

 

5、web网页的设计

目前实现动态Web页面有多种技术可供选择,CGI、ASP、PHP等技术在高端平台上都能很好地实现用户所需的功能。但在嵌入式Linux系统中实现动态网页。目前只能采用CGI。

CGl(common gate interface,即通用网关接口),是一个连接外部应用程序到服务器的标准。一个简单的静态HTML文档是没有交互后台程序,而CGI程序则可以实时执行并输出动态信息。使用CGI需要一个输入界面,一般就是一个包含了表单(FORM)的页面。FORM在CGI中是最常被使用的输入界面,它由一组标签所组成,目前的标准中,FORM的标签可分为3大类:INPUT、SELECT以及TEXTAREA。在设置了一系列有关的标签后,每个FORM通常需要一个SUBMIT按钮用来发送表单内容。

当用户在客户端按下FORM上的SUBMIT按钮,浏览器(Browser)将客户端输入的参数传回服务器,服务器启动指定的程序并将封装的参数传入,后台程序依照传入的参数完成指定的工作。如果此时有需要传回结果的话,则程序会把结果传回给服务器并发送到浏览器。CGI程序可以用任何程序设计语言编写,如Shell脚本语言、Perl、Fortran、Pascal、C语言等。但是用C语言编写的CGI程序具有执行速度快、安全性高(因为C语言程序是编译执行且不可被修改)等特点。

 

6、wifi无线网络

选WiFi无线模块实现WLAN无线接入。

抱歉!评论已关闭.