视频摄像机流媒体预览软件的实现【毕业论文】.doc

上传人:文初 文档编号:281079 上传时间:2018-08-23 格式:DOC 页数:35 大小:988.59KB
下载 相关 举报
视频摄像机流媒体预览软件的实现【毕业论文】.doc_第1页
第1页 / 共35页
视频摄像机流媒体预览软件的实现【毕业论文】.doc_第2页
第2页 / 共35页
视频摄像机流媒体预览软件的实现【毕业论文】.doc_第3页
第3页 / 共35页
视频摄像机流媒体预览软件的实现【毕业论文】.doc_第4页
第4页 / 共35页
视频摄像机流媒体预览软件的实现【毕业论文】.doc_第5页
第5页 / 共35页
点击查看更多>>
资源描述

1、 本科毕业设计 ( 20 届) 视频摄像机流媒体预览软件的实现 所在学院 专业班级 通信工程 学生姓名 学号 指导教师 职称 完成日期 年 月 摘 要 近几 年来,随着流媒体技术的发展,视频摄像机流媒体预览软件的应用越来越广泛。 流媒体技术是指将连续视频流封装后按照一定 的时序要求发给接收端,保证接收端可以一边接收数据一边实时播放,提高了系统的实时性。 有了 流媒体技术后,视频监控预览软件得到了进一步的发展, 视频摄像机流媒体预览软件 也给 人们的生活带来 了 很 多 好处。 本文的视频摄像机流媒体预览软件是通过 C+ Builder 开发平台来实现的。该软件 通过 摄像机连接到网络上后,再通

2、过网络连接到 PC 终端上来实现监控,软件的实现、运行和预览都在 PC 机上。视频摄像机流媒体预览软件具有随时随地的监控录像功能,无论身在何处,通过身边的电脑联网连接到监控网点,可以看到任意监控网点的即时图像并根据需 要录像, 这样就 避免了地理位置间隔原因造成的不便。用户使用软件时, 需要输入 用户名和密码,登入成功后, 用户就 可以进行监控 了 。在监控过程中用户可以通过一些按键来实现录像、抓图、声音控制和云台控制 等 功能。用户退出系统时, 其登入的 用户名和密码 就会 注销 。 关键词: C+ Builder; 流媒体;监控;预览软 件 - 2 - Abstract In recent

3、 years, along with the development of streaming media technology, video camera streaming media preview software used more widely. Streaming media technology will encapsulate video continuously, then according to certain timing requirements to the receiver, to guarantee the receiver can receive data

4、and broadcast real-time, improving the system of real-time. After using streaming media technology, video monitoring preview software has been further development, video cameras streaming media preview software will bring many benefits for peoples life. This article said the video camera streaming m

5、edia preview software is realized by C+ Builder development platform. The software is a camera connect to the web, again through network connected to PC terminals up the realization of monitoring, realize, operation and preview the software on their PC. The software of video cameras streaming media

6、preview has surveillance video functions anytime and anywhere, no matter where you are, through the computer connected to the monitoring network, that you can see any monitoring network real-time image and according to need to video, avoid the geographical position interval causes the inconvenience.

7、 User use the software, can pass your user name and password to login in, user login in successfully, can monitor. In monitoring process, users can through some pressing buttons to video, catch figure, voice control and PTZ control. When the user exit the system, user name and password will be cance

8、lled. Key Words:C+ Builder;streaming media;monitor;preview software - 3 - 目 录 1 概述 . 1 1.1 课题研究背景及意义 . 1 1.2 开发工作与论文主要内容 . 1 2 流媒体及编程技术 . 3 2.1 流媒体 . 4 2.2 流媒体传输协议 . 3 2.3 编程主要函数说明 . 5 3 预览 软件的实现 . 7 3.1 总体方案 . 7 3.2 C+ Builder 开发平台 . 8 3.3 DLL调用技术 . 8 3.3.1 DLL原理及特点 . 8 3.3.2 DLL导入与导出 . 9 3.4 预览 软件

9、设计 . 10 3.4.1 基本思路 . 10 3.4.2 关键代码分析 . 12 4 运行结果分析 . 16 4.1 运行情况 . 16 4.2 结果分析 . 20 4.3 有待于开发的地方 . 20 5 结论 . 21 致 谢 . 22 参考文献 . 23 附录 1 主要源程序代码 . 22 附录 2 毕业设计作品说明书 . 32 1 概述 1.1 课题研究背景及意义 随着流媒体技术和网络技术的发展,网络视频监控软件在现实生活中的应用越来越 广泛,而一直以来网络监控软件的实时性不高和视频数据的网络传输效率低下等缺点限制了它的发展。近几年来流媒体技术的兴起较好的解决了这个问题,它将连续视频流

10、封装后按照一定的时序要求发给接收端,保证接收端可以一边接收数据一边实时播放,提高了系统的实时性。 目前,网络视频监控系统正处于发展和变革的进程之中,以 IP 摄像机为核心的网络视频监控系统将会得到更广泛的普及与提升。社会的进步与发展促进了人们对安全防范及监控产品需求的持续增长。如何有效地提高视频监控系统对主机资源和网络资源的利用效率,使其能够优质、高效、灵活地为工 业生产和社会生活提供服务,成为当前视频监控系统研究的核心 1。 视频监控领域的应用呈现了两大需求特点 : 一方面是需要实施视频监控的范围越来越广阔,而且对同一套系统的覆盖面和实施距离也提出了更高的要求 ; 另一方面是监控系统与管理信

11、息系统、网络系统的结合使用,实现对大量视频数据的压缩存储、传输和自动处理,从而达到资源共享,为各级管理人员和决策者提供方便、快捷、有效的服务 2。另外视频监控在家庭、政府、商业等各个方面的应用也呈乐观态势,随着人们对安全需求的日益增长,采用监控系统来保障安全的意识明显加强,视频监控市 场领域的范围将不断扩大。 1.2 开发工作与论文主要内容 本次课题主要研究的内容是视频摄像机流媒体预览软件的实现, 该软件是用网络摄像机和 PC 终端通过网络的连接后,在 PC 终端上来运行软件实现监控。最终的设计目标是通过 C+ Builder 开发平台生成一个预览软件,用户可以通过该 软件运行后的界面登入。登

12、入错误时,用户无权预览。用户正常登入时,可以在预览窗口监控 安装 摄像机的地方。在预览过程中,用户可以通过相应的按键实现抓图、录像、声音控制和云台控制 等 功能。预览一段时间后,如果用户想停止- 2 - 预览,可以通过退出按键来实现 ,然后退出程序。 为实现以上内容,主要需要对 C+ Builder 开发平台 和 客户端 SDK 使用手册方面的知识有所了解,同时还要熟悉流媒体及其网络传输协议方面的知识。 论文介绍了视频摄像机流媒体预览软件的实现,从开发所需要的相关知识到开发的方案以及开发过程都有所涉及。首先介绍了视频监控软件方面的背景、现状和研究意义等。 论文 还讲述了本次预览软件开发需要做的

13、事项以及论文的主要内容。 其次 介绍了流媒体技术及其传输协议,主要 包括 资源预留协议 RSVP、 实时传输协议 RTP、 实时传输控制协议 RTCP、 实时流协议 RTSP 和 微软媒 体服务协议 MMS。 然后 介绍了在 C+ Builder 上对 预览软件 的 开发设计 ,在开发过程中所使用的 DLL 调用技术和 总体方案,又重点介绍了软件开发的思路以及程序中关键代码的解析。 最后 对运行结果的情况 进行了 说明,对本预览软件进行测试,给出测试结果分析,同时讲述了本次设计不足的地方。 论文的结尾是 对本次 软件设计做的 一个简单的 总结。 - 3 - 2 流媒体及编程技术 2.1 流媒体

14、 流媒体是指采用流式传输的方式在 Internet 播放的媒体格式。流媒体又叫流式媒体,它是指商家用一个视频传送服务器把节目当成数据包发出,传送到网络上 。用户通过解压设备对这些数据进行解压后,节目就会像发送前那样显示出来。 所谓流媒体技术,简单的来说就是要把连续的影 像 和声音信息经过 压缩 处理后放上网站服务器,让用户一边下载一边观看、收听,而不需要等整个压缩文件下载到自己机器后才可以观看的网络传输技术。该技术先在用户端的计算机上创造一个缓冲区,在播放前预先下载一段资料作为缓冲,当网络实际连接速度小于播放所耗用资料的速度时,播放程序就会取用这一小段缓冲区内的资料,避免播放的中断,也使得播放

15、质量得以维持 34。 Internet 是以包为单位进行异步传输的,因 此多媒体数据在传输中要被分解成许多包,由于网络传输的不稳定性,各个包选择的路由不同,所以到达客户端的时间次序可能发生改变,甚至产生丢包的现象。为此,必须采用缓存技术来纠正由于数据到达次序发生改变而产生的混乱状况,利用缓存对到达的数据包进行正确排序,从而使视音频数据能连续正确地播放。缓存中存储的是某一段时间内的数据,数据在缓存中存放的时间是暂时的,缓存中的数据也是动态的,不断更新的。流媒体在播放时不断读取缓存中的数据进行播放,播放完后该数据便被立即清除,新的数据将存入到缓存中。因此,在播放流媒体文件时并不需占 用太大的缓存空

16、间 56。 传统的网络传输音视频等多媒体信息的方式是完全下载后再播放,下载常常要花数分钟甚至数小时。而采用流媒体技术,就可实现流式传输,将声音、影像或动画由服务器向用户计算机进行连续、不间断传送,用户不必等到整个文件全部下载完毕,而只需经过几秒或十几秒的启动延时即可进行观看。当声音视频等在用户的机器上播放时,文件的剩余部分还会从服务器上继续下载。 - 4 - 2.2 流媒体传输协议 流媒体传输协议主要有以下几种:资源预留协议 RSVP,实时传输协议 RTP( Real-time Transport Protocol) ,实时传输控制协议 RTCP( Real-time Transport Co

17、ntrol Protocol) ,实时流协议 RTSP( Real Time Streaming Protocol) , 微软媒体服务协议 MMS( Microsoft Media Serverprotocol) 。 资源预留协议 RSVP,是非路由协议,与 IP 协议配合使用,属于 TCP/IP 协议栈中的传输层 。 RSVP 分组不携带任何应用数据,只是用来控制 IP 包的传输,它同路由协议协同工作,建立与路由协议计算出路由等价的动态访问列表帮助数据接收方 沿数据传输路径向支持该协议的路由器预留必要的网络资源,确保端到端的传输宽带,尽量减少实时流媒体通信中的传输延迟和数据到达时间间隔的抖动

18、,使应用 Internet 传输数据流时能够获得特殊 QoS7。 这 是一种用于互联网上质量整合服务的协议,通常 RSVP 请求将会引起每个节点数据路径上的资源预留。 实时传输协议 RTP 是用于 Internet 上针对多媒体数据流的一种传输协议。RTP 协议被定义为传输音频、视频 和 模拟数据等实时数据的传输协议。 RTP 协议通常根据一个具体的应用来提供服务, RTP 只提供协议框架,开发者可以根据应用的具体要求对协议进行充分的扩展。 RTP 被定义为在一对一或一对多的传输情况下工作,其目的是提供时间信息和实现流同步。 RTP 通常使用 UDP 来传送数据,但 RTP 也可以在 TCP

19、或 ATM 等其他协议之上工作。当应用程序开始一个RTP 会话时将使用两个端口:一个给 RTP,一个给 RTCP89。 RTP 本身并不能为按顺序传送 的 数据包提供可靠的传送机制,也不提供流量控制或拥塞控制,它依靠 RTCP 提供这些服务。通常 RTP 算法并不作为一个独立的网络层来实现,而是作为应用程序代码的一部分。 实时传输控制协议 RTCP 负责管理传输 质量在当前应用进程之间交换控制信息。 RTCP 在流媒体传输中主要是为数据传输的质量提供反馈,并提供 QoS 检测,提供不同媒体间的同步,在会话的用户界面上显示会话参与者的标志,调节信息的缩放 10。 RTCP 和 RTP 一起提供流

20、量控制和拥塞控制服务。在 RTP 会话期间,各参与者周期性地传送 RTCP 包。 RTCP 包中含有已发送的数据包的数量、丢失的数据包的数量等统计资料。 - 5 - 实时流协议 RTSP 定义了如何有效地通过 IP 网络传送多媒体数据,是一种客户端到服务器端的多媒体描述协议。 RTSP 是一个非常类似于 HTTP 的应用层协议,每 个发布 的 媒体文件都被定义为 RTSP URL。媒体文件的发布信息被写成媒体发布文件,在这个文件中包括编码器、语言、 RTSP URL、地址、端口号以及其他相关参数。这个媒体发布文件可以在客户端通过 Web 网页形式获得。 微软媒体服务协议 MMS 是由微软发布的

21、流媒体协议,通过 MMS 协议可以在 Internet 上实现 Windows Media 服务器中流媒体文件的传送与播放。这些文件包括 asf、 wmv 等,可以使用 Windows Media Play等媒体播放软件来实时播放。MMS 建立在 UDP 或 TCP 传输上,与 RTSP 协议是 一样属于应用层的 1112。 2.3 编程主要函数说明 DLL: DLL是 Dynamic Link Library的缩写,意为动态链接库。在 Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即 DLL文件,放置于系统中。当我们执行某一个程序时,相应的

22、DLL文件就会被调用。一个应用程序可有多个 DLL文件,一个 DLL文件也可能被几个应用程序所共用,这样的 DLL文件被称为共享 DLL文件。 DLL文件一般被存放在C:WindowsSystem目录下。 初始化:使用客户端 软件包首先对系统进行初始化 NET_DVR_Init(),退出该软件包则调用 NET_DVR_Cleanup()释放资源。 用户注册:用户在访问设备之前必须通过 NET_DVR_Login()函数到设备上注册,注册成功后返回该用户的 ID值。此 ID值就像一把钥匙一样,之后该用户都必须通过此 ID号访问该设备,每台设备允许同时有 16个不同用户注册。退出对设备的操作则通过

23、 NET_DVR_Logout()函数在设备上注销此 ID号,该用户就无权访问设备了。 主动上传:软件包中所有需主动上传的信息 ( 异常除外 ) 都通过 NET_DVR_ SetDVRMessCallBack()函数设置的回调函数上传 ( 具体回调内容参见函数说明 ) 。软件包中的异常信息则通过 NET_DVR_SetDVRMessage()函数设置的消息窗口接收。 网络延时和流畅度:软解码时,通过 NET_DVR_SetPlayerBufNumber()函数- 6 - 调节播放的延时和流畅程度,如果 dwBufNum值越大,播放的流畅性越好,相应的延时比较大, dwBufNum值越小,播放的

24、延时很小,但是当网络不太顺畅的时候,会有丢帧现象,感觉播放不会很流畅。一般设置的帧缓冲大于等于 6帧时,音频 预览才会正常,如果不需要音频预览,只需要视频实时性则这个值可以设置的更小。此函数要紧跟在 NET_DVR_RealPlay()后使用,在图像播放之后设置则不起作用 ! 硬解码时则通过相应的硬解码的函数来调整延时和流畅程度 13。 云台 控制:云台控制分为两种模式,一种是通过图像预览返回的句柄进行控制, 另 一种是没有预览限制,通过用户 ID号进行云台控制。在控制云台之前,须先获取云台的控制权,返回该用户当前是否有权限控制云台,这样做的目的是为了防止优先级不同的用户同时控制云台造成的混乱。 回放和下载:在调用回放和下载命 令后,回放和下载并没有立即执行,要调用 开 始 播 放 NET_DVR_PLAYSTART() 来 启 动 当 前 操 作 , 用NET_DVR_PlayBackControl()函数实现。在调用开始播放之前,可以设置保存数据 NET_DVR_PlayBackSaveData()和回调函数 NET_DVR_SetPlayDataCallBack()。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。