版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、七:视频通信系统的基本原理学习VideoNet提纲提纲实验七实验七 视频通信系统的基本原理学习视频通信系统的基本原理学习1、通过实际程序例子来了解视频通信系统的基本框架和结构。2、进一步提高学生独立研究和钻研文献的能力,以及文档的写作能力。1 实验目的与任务实验目的与任务 报告要求: 程序的流程图必须使用Visio来画,按模块或者按功能来分析程序,画相关流程图。(1)认真结合网络协议来分析程序中在发送各种信息时的数据。2.2 基本概念2.3 基于UDP的socket编程2.1 TCP/IP体系结构2.4 基于TCP的socket编程视频通信系统的基本原理学习视频通信系统的基本原理学习2 TCP
2、/IP体系结构和体系结构和socket网络编程网络编程 链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层H1H2主机之间的通信 应用层:处理网络应用,远程登录协议Telnet、文件传输协议FTP、 超文本传输协议HTTP、域名服务DNS、简单邮件传输协议SMTP、邮局协议POP3等。 传输层:负责主机中两个进程间的通信。传输控制协议TCP、用户数据报协议UDP。 TCP:面向连接的可靠的传输协议。 UDP:无连接的,不可靠的传输协议(best-effort-delivery)。 网络层:负责为分组选择合适的路由。网际协议IP、Internet互联网控制报文协议ICMP、Intern
3、et组管理协议IGMP。 数据链路层:将在网络层交下来的数组 报组装成帧,在两上相邻结点间的链路 上实现无差错传输。 物理层:透明地传输比特流。2.2 两台计算机通过网络进行通信AB网络网络58协议协议协议协议端端口口号号端端口口号号2 TCP/IP体系结构和体系结构和socket网络编程网络编程 A向B发送数据时:A是客户端,B是服务端B向A发送数据时:B是客户端,A是服务端2.3 基于UDP(面向无连接)的socket编程服务器端(接收端)程序:1、创建套接字(socket)。2、将套接字绑定到一个本地地址和端口上(bind)。3、等待接收数据(
4、recvfrom)。4、关闭套接字。客户端(发送端)程序:1、创建套接字(socket)。2、向服务器发送数据(sendto)。3、关闭套接字。2 TCP/IP体系结构和体系结构和socket网络编程网络编程 2 TCP/IP体系结构和体系结构和socket网络编程网络编程 2.4 基于TCP(面向连接)的socket编程服务器端程序:1、创建套接字(socket)。2、将套接字绑定到一个本地地址和端口上(bind)。3、将套接字设为监听模式,准备接收客户请求(listen)。4、等待客户请求到来;当请求到来后,接受连接请求,返回一个新的对应于此次连接的套接字(accept)。5、用返回的套接
5、字和客户端进行通信(send/recv)。6、返回,等待另一客户请求。7、关闭套接字。客户端程序:1、创建套接字(socket)。2、向服务器发出连接请求(connect)。3、和服务器端进行通信(send/recv)。4、关闭套接字。3.2 VideoNet程序流程和数据流图3.1 一般视频通信程序基本框架视频通信系统的基本原理学习视频通信系统的基本原理学习3 主程序流程和数据流图主程序流程和数据流图 3.1 一般视频通信系统基本框架3 主程序流程和数据流图主程序流程和数据流图 3.2 VideoNet程序系统基本框架采集数据必要的数据编码发送数据接收数据解码取出数据回显数据网络发送湍接收湍
6、4.2 DrawDib视频显示4.3 视频帧编码与解码4.1 VFW视频采集4.4声音的采集和回放视频通信系统的基本原理学习视频通信系统的基本原理学习4.5 网络通信模块4 VideoNet程序各个模块程序各个模块4.1 VFW视频采集在Windows环境下微软提供了种多媒体开发框架:一个是VFW(Video For Windows),一个是directshow。l VFW是微软推出的一个关于数字视频的软件包,它能把模拟视频转化成为数字信号进行播放,使得用户在不需要了解硬件设备的基础下对视频设备进行控制,VFW的特点是使用简单方便,但是功能比较单一,灵活性比较差(一般以cap开头的函数)。l
7、directshow是微软推出的一个全新的,基于COM机制的多媒体开发包,它支持多种音视频编码解码器和多种媒体类型,并能根据用户自定义的filter对视频流进行特定的处理,极大的增加了对用户对视频操作的灵活性。4 VideoNet程序各个模块程序各个模块4.2 DrawDib视频显示l 方法一:采用API的DrawDib函数,因为该函数可以直接写视频缓存,性能较好,特别是对设备无关图像(一般以DrawDib开头的函数)。l 方法二:采用SetDIBitsToDevice(),但该函数是基于GDI的,速度较慢,在需要实时传输来说较次些。l 方法三:采用DirectDraw。4 VideoNet程
8、序各个模块程序各个模块4.3 视频帧编码与解码l 采用H.263算法,有现成的代码,主要在文件Tmndec.h和Tmndec.cpp中l 知识点:RGB24转成YUV420、YUV420转成RGB、回调函数、多线程4 VideoNet程序各个模块程序各个模块4.4 声音的采集和回放在windows程序设计当中,波形声音的采集和回放有两种方式来实现: (1)使用一系列底层的函数调用来实现(一般以wave开头的函数); (2)是使用MCI接口来实现。我们首先介绍底层函数的使用(一般以mci开头的函数)。4 VideoNet程序各个模块程序各个模块4.5 网络通信模块 本程序是采用UDP协议,利用数据报式套接字来完成网络传输的功能。 本程序在类DSocket中封装了Socket的功能,它是派生于SOCKET类的,而SOCKET又派生于CAsyncSocket类,CAsyncSocket是比较底层的类,为了方便,该程序选择派生于socket类。 本程序中定义了四个DSocket类对象,分别用于传输视频、音频、文本和控制信息,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中考物理复习主题单元8第19课时合理利用机械能小粒子与大宇宙课件
- 主播 课件教学课件
- 小学数学新人教版一年级下册20以内口算练习题大全
- 《两只小象》教学设计教学设计 教案
- 智能家居电气设施安装合同
- 幼儿园智能照明系统招投标攻略
- 展会设备租赁合同
- 幼儿园园长聘用合同范本
- 建筑公司员工意见箱管理准则
- 石油提炼班组安全作业规范
- 蓝色简约风中国空军成立75周年纪念日
- 期中考试卷(试题)-2024-2025学年苏教版二年级数学上册
- 2024年全国企业员工全面质量管理知识竞赛题库(含答案)(共132题)
- 《国有企业采购操作规范》【2023修订版】
- 野生动物管理学智慧树知到答案章节测试2023年东北林业大学
- 城市经济学习题与答案
- 迅达SWE30-100K自动扶梯电路分析_图文
- 中药知识文库:冬葵子
- [新版]高速公路交安工程监理实施细则
- 品质周报模板
- 压力管道焊接工艺、工艺卡、规程及工艺评定
评论
0/150
提交评论