没有合适的资源?快使用搜索试试~ 我知道了~
基于c#局域网视频聊天设计-学位论文.doc
0 下载量 95 浏览量
2023-07-03
23:03:56
上传
评论
收藏 462KB DOC 举报
温馨提示
试读
35页
基于c#局域网视频聊天设计-学位论文.doc
资源推荐
资源详情
资源评论
- 0 -
1 绪论
视频监控是各行业重点部门或重要场所进行实时监控的物理基础,管理部门可通过它
获得有效数据、图像或声音信息,对突发性异常事件的过程进行及时的监视和记忆,用以提
供高效、及时地指挥和高度、布置警力、处理案件等。
本系统采用 DirectShow 网络组播技术实现了视频捕获、视频压缩、网络传输、视频解
码和实时回放,减小了网络带宽占用,高效的传输视频数据,独立于硬件。可扩展性好。完
全利用现有 1P 数据网络传输数据.不需要单独布线,显著降低了系统成本,缩短了系统开
发周期,并且可以容易的实现远程监测
2 Windows 服务
一个 Windows 服务程序是在 Windows 操作系统下能完成特定功能的可执行的应用程序。
Windows 服务程序虽然是可执行的,但是它不像一般的可执行文件通过双击就能开始运行了,
它必须有特定的启动方式。这些启动方式包括了自动启动和手动启动两种。对于自动启动的
Windows 服务程序,它们在 Windows 启动或是重启之后用户登录之前就开始执行了。
而对于手动启动的 Windows 服务程序,你可以通过命令行工具的 NET START 命令来启动
它,或是通过控制面板中管理工具下的服务一项来启动相应的 Windows 服务程序。同样,一
个 Windows 服务程序也不能像一般的应用程序那样被终止。因为 Windows 服务程序一般是没
有用户界面的,所以你也要通过命令行工具或是下面图中的工具来停止它,或是在系统关闭
时使得 Windows 服务程序自动停止。因为 Windows 服务程序没有用户界面,为了能使一个
Windows 服务程序能够正常并有效的在系统环境下工作,程序员必须实现一系列的方法来完
成其服务功能。Windows 服务程序的应用范围很广,典型的 Windows 服务程序包含了硬件控
制、应用程序监视、系统级应用、诊断、报告、Web 和文件系统服务等功能。
2.1 添加文件监视服务
将生成的服务名为 Webcamservice 的服务添加视频监视功能:
➢ 首先,在 C 盘创建文件夹 w
➢ 将程序生成的 debug 中的文件复制到 w 文件夹
➢ 在 C/windows/搜索 installutil.exe 执行文件,将其复制到 w 文件夹
- 1 -
➢ 启动 cmd,打开命令提示符窗体键入如图 2-1 所示
图 2-1 添加服务功能
➢ 用 net start 命令启动服务 Webcamservice 如图 2-2 所示
图 2-2 启动 Webcamservice
3 项目的设计原理
- 2 -
3.1 DirectShow 技术
采用网络摄像机的远程视频监控具有录像时间长、图像质量好、查询速度快等优点,目
前应用非常广泛。对于网络摄像机传输的视频数据,需要专门的 Filter 来处理并在
DirectShow 的框架下或回放,或保存。监控服务器通过 Internet/Intranet 轮询网络摄像
机获取视频。本文以视频数据接收 Filter 的设计过程介绍基于 DirectShow 的视频数据流的
传输以及通过自定义的通讯协议的数据解析过程和 Filter 程序设计与实现过程。
DirectShow
[1]
是微软公司在 ActiveMovie 和 Video for Windows 的基础上推出的基于 COM
的流媒体处理的开发包,与 DirectX 开发包一起发布。DirectShow 为多媒体流的捕捉和回
放以及二次开发提供了强有力的支持。
运用 DirectShow,可以很方便地从支持 WDM 驱动模型的采集卡上采集数据,并且调用
其 API 函数进行后期处理。它广泛地支持各种媒体格式,包括 Asf,Mpeg,Avi,Dv,Mp3,
Wave 等等,使得多媒体数据的回放变得轻而易举。DirectShow 是一个开放的框架,因此只
要有合适的 Filter 来分析和解码,可以支持任何格式。
3.2 TCP/IP 协议
在 TCP/IP 协议组分两种协议:网络层的协议,应用层的协议
➢ 网络层协议
网络层协议管理离散的计算机间的数据传输。这些协议是在系统表层以下工作的。比如,
IP 协议为用户和远程计算机提供了信息包的传输方法。它是在许多信息的基础上工作的,
好比说是机器的 IP 地址。在机器 IP 地址和其它信息的基础上,IP 确保信息包能正确地到
达目的机器。通过这一过程,IP 和其它网络层的协议共同用于数据传输。如果没有网络工
具,用户就看不到在系统里工作的 IP。
➢ 应用层协议
相反地,应用层协议用户是可以看得到的。比如,文件传输协议(FTP)用户是看得到的。
用户为了传输一个文件请求一个和其它计算机的连接,连接建立后,就开始传输文件。在传
输时,用户和远程计算机的交换的一部分是能看到的。
➢ IP
IP 层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数
据包发送到更高层---TCP 或 UDP 层;相反,IP 层也把从 TCP 或 UDP 层接收来的数据包传送
到更低层。IP 数据包是不可靠的,因为 IP 并没有做任何事情来确认数据包是按顺序发送的
或者没有被破坏。IP 数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址
- 3 -
(目的地址)。高层的 TCP 和 UDP 服务在接收数据包时,通常假设包中的源地址是有效的。
也可以这样说,IP 地址形成了许多服务的认证基础,这些服务相信数据包是从一个有效的
主机发送来的。
➢ TCP
如果 IP 数据包中有已经封好的 TCP 数据包,那么 IP 将把它们向上传送到 TCP 层。TCP
将包排序并进行错误检查,同时实现虚电路间的连接。TCP 数据包中包括序号和确认,所以
未按照顺序收到的包可以被排序,而损坏的包可以被重传。TCP 将它的信息送到更高层的应
用程序,例如 Telnet 的服务程序和客户程序。应用程序轮流将信息送回 TCP 层,TCP 层便
将它们向下传送到 IP 层,设备驱动程序和物理介质,最后到接收方。
3.3 C/S 架构
在网络连接模式中 除对等 网外,还有另 一种形 式的网络,即客户机/服务器网,
Client/Server。在客户机/服务器网络中,服务器是网络的核心,而客户机是网络的
基础,客户机依靠服务器获得所需要的网络资源,而服务器为客户机提供网络必须的
资源。
图 3-1 c/s 结构
4 程序流程图及设计
4.1 程序时序图与系统架构
本系统采用面向连接的客户/服务模型,服务器必须首先启动,否则客户进程的 Connect
()系统调用将返回错误代码表示连接失败。无连接的服务进程也必须首先启动以指定本地
的套接字地址否则客户进程的数据服务请求传送不到服务器进程。
面向连接的 c/s 时序图如图 4-1 所示
服务器
客户端
客户端
.
.
.
- 4 -
图 4-1 程序时序图
系统由服务器终端采集传输系统和客户端接收系统两部分组,系统构架如图 4-2 所示
图 4-2 系统架构
4.2 程序设计分析
Accept()
Recv()
Send()
Close()
Listen()
Bind()
Socket()
服务器
发送数据
<--------------------------
<-------------------------
确认发送数据
<---------------------------
请求建立连接
Recv()
Close()
Send()
Connect()
Socket()
客户
摄像头
采集卡
服务器服务程序
网络传输模块
网络接收模块
客户端程序
解码
显示
视频流
控制指令
视频流
控制指令
剩余34页未读,继续阅读
资源评论
matlab大师
- 粉丝: 2451
- 资源: 9万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功