实验三_数字视频流通信传输

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

数字视频流通信传输 一 实验目的 1.了解流传输的原理。2.理解计算机网络体系结构3.掌握SOCKET编程4.了解TIDSP平台下网络开发工具NDK5.结合原理对程序进行分析6.运行.out文件看到视频流传输的效果。二 实验原理 1.流媒体实现的关键技术就是流式传输。流式传输定义很广泛,现在主要指通过网络传送媒体(如视频、音频)的技术的总称。其特定含义为通过Internet将影视节目传送到PC机。实现流式传输有两种方法:实时流式传输(RealtimeStreaming)和顺序流式传输(progressiveStreaming)。一般说来,如视频为实时广播,使用流式传输媒体服务器,或应用如RTSP的实时协议,即为实时流式传输。如使用HTTP服务器,文件即通过顺序流式传输。2.要使得计算机在网络中有条不紊地交换数据,就要为网络中数据交换建立统一的规则、标准或约定,称为网络协议;各层协议的集合构成了网络的体系结构。计算机网络的五层协议体系结构图2.1所示:应用层运输层网络层数据链路层物理层图2.1计算机网络五层协议①应用层是所有用户所面向的应用程序的统称。ICP/IP协议族在这一层面有着很多协议来支持不同的应用,许多大家所熟悉的基于Internet的应用的实现就离不开这些协议。如我们进行万维网()访问用到了HTTP协议、文件传输用FTP协议、电子邮件发送用SMTP、域名的解析用DNS协议、远程登录用Telnet协议等等,都是属于TCP/IP应用层的;就用户而言,看到的是由一个个软件所构筑的大多为图形化的操作界面,而实际后台运行的便是上述协议。②传输层的功能主要是提供应用程序间的通信,TCP/IP协议族在这一层的协议有TCP和UDP。③网络层是TCP/IP协议族中非常关键的一层,主要定义了IP地址格式,从而能够使得不同应用类型的数据在Internet上通畅地传输,IP协议就是一个网络层协议。④网络接口层是TCP/IP软件的最低层,负责接收IP数据包并通过网络发送之,或者从网络上接收物理帧,抽出IP数据报,交给IP层。3.UDP和TCP使用了应用层接口处的端口(port)与上层的应用进程提供通信,因此在运输协议数据单元(即UDP报文段或TCP用户数据报)的首部中都要写入源端口和目的端口。运输层收到IP层交上来的数据后,要根据其目的端口号决定当通过哪个端口号交给目的进程。为了在通信时不致发生混乱,必须把端口号和主机的IP地址结合在一起使用。如一个TCP连接由它两个端点来标志,而每一个端点又是由IP地址和端口号决定的。因此将TCP连接的端点称为插口(Socket),或套接字、套接口。套接字=(IP地址,端口号)运输层和应用层之间进行交换的数据称为报文(Message),而在运输层和网络层之间进行交换的数据称为数据报(Datagram)。运输层可以使用运输控制协议(TCP)来封装数据,也可以使用数据报协议(UDP)来封装数据。TCP提供的是面向连接的、可靠的数据流传输。TCP的数据包开头就有详细的IP地址,要求接受方返回“收到”的信息,这样才继续发送。TCP的安全性较高,保证了传输数据的正确性,但由于数据量大,要等待对方的反馈,其速度比不上UDP。UDP提供的是非面向连接的、不可靠的数据流传输。UDP传输中不管其顺序,数据到达收端后再进行排序组装,有数据包丢失等情况,但它的传输效率比较高,速度较快。使用TCP协议时的Client/Server结构程序模型如图3.1所示:面向连接的服务器Socket()bind()Listen()accetp()阻塞直到收到一个客户的请求recv()处理服务请求Send()服务器主机面向连接的客户Socket()Connect()send()recv()客户主机数据(请求)数据(应答)请求建立连接图3.1使用TCP协议的Client/Server结构程序模型使用UDP协议时的Client/Server结构程序模型如图3.2所示:无连接的服务器Socket()bind()Recefrom()阻塞直到收到一个客户的请求处理服务请求Sendto()服务器主机无连接的客户Socket()bind()sendto()recvfrom()客户主机数据(请求)数据(应答)图3.2使用UDP协议的Client/Server结构程序模型由图3.1和3.2可看出,使用TCP协议使用connect()和accetp(),确定了连接成功,从而建立了端口点对点的连接,确保了传输的可靠性。而使用UDP时,不需建立点到点的连接,只有建立了端口,就可以把数据sendto()发送出去。4.NDK是TI提供的一个相对完整的TCP/IPStack及一些网络工具包,还集成了一些常用的网络服务器组件。NDK的编程请参考文档TIC64系列网络开发技术.ppt,PP:19~57.三 程序设计 本程序是利用TI提供的JPEG的编码与解码库,加之TCP/IP协议栈来实现的视频采集,回放与网络的传输。工作过程如下:①首先由SEEDVPM642将图像采集,并过行JPEG的压缩;②可以由TCP/IP传到PC机上进行JPEG的解压与显示,也可以由DSP完成解压,由监视设备进行显示。(1)程序主要的执行流程jpeg_network\src\main\jpegmain.c中的main()函数所示,下面对主要函数进行简要的介绍:tskVideoInputInit();//初始化输入输出设备tskVideoOutputInit();tskVideoInputStart();//获得输入数据流,并将图像数据转换为YUV420格式存储,方便后面压缩处理tskVideoOutputStart();//将图像数据转换为YUV422格式,然后在显示器上播放tskEncodeInit();//初始化编码器tskDecodeInit();//初始化解码器tskEncodeStart();//开始编码tskDecodeStart();//开始解码thrControlInit();thrControlStartup();//获取网页上传输回来的控制信息UTL_showHeapUsage(intHeap);//cgi编程,实现web网页与服务器的信息交互UTL_showHeapUsage(extHeap);(2)NDK网络编程NDK的使用请参考文档DM642上TCP_IP协议的实现及性能测试.pdf。下面对程序中NDK编程进行简要的分析。①\jpeg_network\src\network\network_main.c中函数network_main()的功能设置本地的IP地址、子码掩码等,流程图如图3.3所示,请结合原理分析函数network_main()。图3.3network_main()函数的功能流程图②\jpeg_network\src\network\tskNetwork.c中函数tskNetworkTx()的功能为使用TCP协议实现图像数据的传输,将实验板上采集到的图像数据经过网络传送到PC上。Socket的使用如图3.1所示。请结合原理分析函数tskNetworkTx()。四 实验步骤 1.实验准备(1)连接设备参考前一节实验中的硬件连接方法,将硬件连接好。(2)开启设备①打开计算机电源(注意:连接设备时并不需要关闭计算机,但要关闭实验箱电源;如在连接设备前已经打开计算机,就不需要进行此步骤了)。②打开实验箱电源开关③打开显示器开关。(3)设置CodeComposerStudio为Emulator方式参见“第一部分实验环境的建立”的“二软件的安装和配置”部分。如先前已经设置过,就不需再进行设置了。(4)双击usb20emurst.exe,如果出现提示“SEEDUSB2.0XDS510CARDISRESET,HARDWAREVERSION1”,证明仿真器与目标系统连接正常。否则请检查电源是否打开,仿真器驱动是否安装正确以及硬件。(5)启动CodeComposerStudio双击桌面上“CCS2(‘C6000)”图标,启动CodeComposerStudio。成功后可看到CCS环境界面。2.浏览工程中源程序并分析函数jpeg_network\src\main\jpegmain.c\main()\;\jpeg_network\src\network\network_main.c\network_main();\jpeg_network\src\network\tskNetwork.c\tskNetworkTx()。3.安装ActiveX控件:JavaSetup6u22.exe(注意安装时要连接网络,因为安装时需要从网上下载文件)。4.将网线的一边接入实验板上的RJ45的端子(J8),另一边与电脑连接。5.手动配置电脑的ip,确认电脑与实验板的网络连通。6.打开文件\jpeg_network\out,直接运行jpeg_network.out。7.打开电脑上的IE浏览器,在地址栏内写入192.168.253.44,则可在IE内看到,由SEEDVPM642采集的图像。8.观察显示。五 实验结果 运行jpeg_network.out,在ccs的输出栏上可以看到实验板的ip地址,物理地址,子码掩码等。在浏览器上输入192.168.253.44可以看到下面的效果图:六 思考 TCP与UDP协议的区别是什么,在什么情况下使用TCP协议传输数据比较合适?在什么情况下使用UDP协议传输数据比较合适?

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功