




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、七:视频通信系统的基本原理学习 VideoNet 提纲提纲 实验七实验七 视频通信系统的基本原理学习视频通信系统的基本原理学习 1、通过实际程序例子来了解视频通信系统 的基本框架和结构。 2、进一步提高学生独立研究和钻研文献的 能力,以及文档的写作能力。 1 实验目的与任务实验目的与任务 报告要求: (1)程序的流程图必须使用Visio来画,按模块或者按功能来分析 程序,画相关流程图。 (2)认真结合网络协议来分析程序中在发送各种信息时的数据。 2.2 基本概念 2.3 基于UDP的socket编程 2.1 TCP/IP体系结构 2.4 基于TCP的socket编程 视频通信系统的基本原理学习
2、视频通信系统的基本原理学习 2 TCP/IP体系结构和体系结构和socket网络编程网络编程 链路层 应用层 运输层 网络层 物理层 链路层 应用层 运输层 网络层 物理层 H1H2 主机之间的通信 应用层:处理网络应用,远程登录协议Telnet、文件传输协 议FTP、 超文本传输协议HTTP、域名服务DNS、简单邮件 传输协议SMTP、邮局协议POP3等。 传输层:负责主机中两个进程间的通信。传输控制协议TCP、 用户数据报协议UDP。 TCP:面向连接的可靠的传输协议。 UDP:无连接的,不可靠的传输协议(best-effort-delivery)。 网络层:负责为分组选择合适的路由。网际
3、协议IP、Internet 互联网控制报文协议ICMP、Internet组管理协议IGMP。 数据链路层:将在网络层交下来的数组 报组装成帧,在两上相邻结点间的链路 上实现无差错传输。 物理层:透明地传输比特流。 2.2 两台计算机通过网络进行通信 AB 网络网络 58 协议协议协议协议 端端 口口 号号 端端 口口 号号 2 TCP/IP体系结构和体系结构和socket网络编程网络编程 A向B发送数据时:A是客户端,B是服务端 B向A发送数据时:B是客户端,A是服务端 2.3 基于UDP(面向无连接)的socket编程 服务器端(接收端)程序: 1
4、、创建套接字(socket)。 2、将套接字绑定到一个本地 地址和端口上(bind)。 3、等待接收数据 (recvfrom)。 4、关闭套接字。 客户端(发送端)程序: 1、创建套接字(socket)。 2、向服务器发送数据 (sendto)。 3、关闭套接字。 2 TCP/IP体系结构和体系结构和socket网络编程网络编程 2 TCP/IP体系结构和体系结构和socket网络编程网络编程 2.4 基于TCP(面向连接)的socket编程 服务器端程序: 1、创建套接字(socket)。 2、将套接字绑定到一个本地地址和 端口上(bind)。 3、将套接字设为监听模式,准备接 收客户请求(
5、listen)。 4、等待客户请求到来;当请求到来 后,接受连接请求,返回一个新的对 应于此次连接的套接字(accept)。 5、用返回的套接字和客户端进行通 信(send/recv)。 6、返回,等待另一客户请求。 7、关闭套接字。 客户端程序: 1、创建套接字(socket)。 2、向服务器发出连接请求 (connect)。 3、和服务器端进行通信 (send/recv)。 4、关闭套接字。 3.2 VideoNet程序流程和数据流图 3.1 一般视频通信程序基本框架 视频通信系统的基本原理学习视频通信系统的基本原理学习 3 主程序流程和数据流图主程序流程和数据流图 3.1 一般视频通信系
6、统基本框架 3 主程序流程和数据流图主程序流程和数据流图 3.2 VideoNet程序系统基本框架 采集数据 必要的数据 编码 发送数据接收数据 解码取出数 据 回显数据 网络 发送湍接收湍 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是微软推出的
7、一个关于数字视频的软件包,它能把模 拟视频转化成为数字信号进行播放,使得用户在不需要了 解硬件设备的基础下对视频设备进行控制,VFW的特点是 使用简单方便,但是功能比较单一,灵活性比较差(一般以 cap开头的函数)。 l directshow是微软推出的一个全新的,基于COM机制的多 媒体开发包,它支持多种音视频编码解码器和多种媒体类 型,并能根据用户自定义的filter对视频流进行特定的处理, 极大的增加了对用户对视频操作的灵活性。 4 VideoNet程序各个模块程序各个模块 4.2 DrawDib视频显示 l 方法一:采用API的DrawDib函数,因为该函数可 以直接写视频缓存,性能较
8、好,特别是对设备无关 图像(一般以DrawDib开头的函数)。 l 方法二:采用SetDIBitsToDevice(),但该函数是基 于GDI的,速度较慢,在需要实时传输来说较次些。 l 方法三:采用DirectDraw。 4 VideoNet程序各个模块程序各个模块 4.3 视频帧编码与解码 l 采用H.263算法,有现成的代码,主要在文件 Tmndec.h和Tmndec.cpp中 l 知识点:RGB24转成YUV420、YUV420转成 RGB、回调函数、多线程 4 VideoNet程序各个模块程序各个模块 4.4 声音的采集和回放 在windows程序设计当中,波形声音的采集和回 放有两
9、种方式来实现: (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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (高清版)DB50∕T 807-2017 渝小吃 鸡丝凉面烹饪技术规范
- 农作物生产线管理情况试题及答案
- 如何提升模具设计效率试题及答案
- 2024年裁判员考试全真试题及答案
- 2024年足球裁判员专项试题及答案
- 农作物种子的适应性研究试题及答案
- 导入信息技术提升急诊的服务效率计划
- 模具设计师资格考试难易程度分析试题及答案
- 条播草种施工方案
- 学习团队组建计划
- 室内线路的安装-课件
- 儿科学:21-三体综合征课件
- 水运工程重大事故隐患清单
- 安徽省阜阳市2022-2023学年高二下学期期末教学质量统测历史试题
- 人工智能语言与伦理学习通课后章节答案期末考试题库2023年
- 铜陵恒达新材料科技有限公司《年产5万吨铝锭和5万吨铝棒项目(重新报批)》
- 焊接工序首件检验记录表
- 南昌大学论文格式样板
- “四会”教学基本概述
- 义务教育语文课程标准(2022)测试题带答案(20套)
- 05G359-3 悬挂运输设备轨道(适用于一般混凝土梁)
评论
0/150
提交评论