随着社会信息化程度的提高以及计算机技术、多媒体技术、通信技术等高新技术的蓬勃发展,特别是网络带宽、计算机处理能力和存储容量的迅速提高以及各种实用视频信息处理技术的出现,以视频监控技术为基础的流媒体技术,正向着网络化、大众化、多用途的方向发展.

    流媒体系统主要有以下几个部分组成:DVS/DVR(前端设备)、流媒体服务器、转发服务器和客户端程序。

    1)前端设备(DVS/DVR)

前端设备主要负责捕获视频信号,通过模数转换器A/D(通常为一电子元件)把模拟信号转换成数字信号,然后按照一定的编码方案编码,按照一定的压缩算法压缩。之后,就可以

把可以把数字流上传到流媒体服务器了。

    2)流媒体服务器(Stream Media Server)

   流媒体服务器开启后,侦听(listening)线程打开,整个服务器处于“待命”状态。一旦有客户端命令发送过来,立刻处理。如果客户命令是请求某DVS(命令格式:rtsp://流媒体服务器IP:流媒体服务器Port/设备IP:设备PORT:正通道好:副通道号:用户名:密码/av_stream),流媒体服务器根据客户端提供的DVS信息找到DVS,获取数据并转发给客户端。
功能模块(用户角度):视频模块,连接信息模块,客户端操作信息模块,服务器管理模块
功能模块(程序员角度):核心服务模块,信息显示模块,服务器控制模块,服务器参数设置模块

   3)转发服务器(Transmit Server)

    设置流媒体转发服务器的目的在于缓解前端监控的网络带宽需求,对该前端的视频访问全部通过流媒体转发服务器来进行转发,使得该前端的每个视频通道在多个用户同时访问时,只占一个视频流的网络带宽.流媒体转发服务器的多级设置可提高响应访问的效率,更好的提高带宽利用率.
        转发服务器与流媒体服务器的区别在于,核心模块实现的功能不同,另外不需要显示模块。其它连接信息和客户操作信息与流媒体服务器相同,实现时可考虑代码重用。
 
   4)客户端

   客户端主要给用户提供一个命令接口,和其它一些人性化操作功能。用户通过输入正确的URL信息就可以访问DVS,获得视频流。
客户端还要对接收到的流进行解码还原,然后播放。如果用户请求的是VOD文件,只需在URL中把设备信息部分换成录像文件的路径,其他部分不变。
功能模块:视/音模块,播放控制模块,云台控制模块,网络参数设置模块。