




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉理工大学计算机网络课程设计课程设计任务书学生姓名: 专业班级: 指导教师: 工作单位: 题 目: 网上视频流的传输 初始条件:理论:学完“操作系统”和“计算机网络”课程,掌握一种高级程序设计语言(C+、C#、Java、Delphi)及集成开发平台的使用。实践:计算机学院科学系实验中心提供计算机、软件平台和网络环境。如果自己有计算机可以在其上进行设计。要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)(1)主要功能: 1 了解流式实时传输协议,即采用RTP等实时传输协议实现视频流的传输,RTP适合网上的流式实时传输。2 使用两台计算机进行视频流的传输。(2)应用所学计算机网络课程中的知识,利用网络实用程序实现其协议。(3)编制好网络实用程序后,设计若干用例,上机测试并分析所设计的程序。(4)设计报告格式按附件要求书写。课程设计报告书正文的内容应包括:设计题目;需求说明(要求、功能简述)或问题描述;设计说明(简要的分析与概要设计);详细的算法描述;源程序与执行结果(含测试方法和测试结果);使用说明;设计心得(设计的特点、不足、收获与体会);展望(该实用程序进一步改进扩展的设想)。时间安排:设计时间一周: 周1:查阅相关资料。周2:系统分析,设计。周3周4:编程并上机调试周5:撰写课程设计报告。设计验收安排:17周星期五8:00起到计算机学院科学系实验中心进行上机验收。设计报告书收取时间:17周的星期五下午5:00之前。指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日1武汉理工大学计算机网络课程设计计算机网络课程设计1、设计题目1.1 课设题目网上视屏流的传输1.2 需求分析本次课设是实现网上视屏流的传输,主要是在学习了计算机网络这门课程之后为了了解流式实时传输协议,即采用RTSP等实时传输协议实现视频流的传输,RTSP适合网上的流式实时传输。RTSP(Real Time Streaming Protocol),实时流传输协议,是TCP/IP协议体系中的一个应用层协议,由哥伦比亚大学、网景和RealNetworks公司提交的IETF RFC标准。该协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据。RTSP在体系结构上位于RTP和RTCP之上,它使用TCP或RTP完成数据传输。HTTP与RTSP相比,HTTP传送HTML,而RTSP传送的是多媒体数据。HTTP请求由客户机发出,服务器作出响应;使用RTSP时,客户机和服务器都可以发出请求,即RTSP可以是双向的。在本次课设中要求应用所学计算机网络课程中的知识,利用网络实用程序实现其协议使用两台计算机进行视频流的传输。需要编制相应的网络实用程序,并且设计若干用例,上机测试并分析所设计的程序。2、设计说明该项目可以分为发送端和接收端两个模块。发送端模块负责RTP数据的转换及传输,接收模块负责RTP数据的接收与呈现。2.1发送端的设计发送端模块主要需要实现:文件类型过滤,文件的选择,本地文件的转换以及RTP数据的传输等四个主要功能。发送端模块包括:MyFileFilter,RTPSender以及SendFrame三个类。MyFileFilter类主要是处理文件的过滤, RTPSender类主要实现本地数据的转换与传输,SendFrame类提供了文件的选择与发送界面。2.1.1 文件过滤类MyFileFilterMyFileFilter类主要实现了文件过滤功能,类的组要函数组成如下:accpet(File file)实现了FileFilter接口对应的方法。其功能是判断给定的文件是否符合相应的过滤规则。getDescription()发发覆盖了javax.swing.filechooser.FileFilter类的同名方法。由于获取对文件类型的描述信息。getExtension(File file)方法用于获得指定文件的扩展名,即文件类型。setComment()方法用于设置文件类型的语言描述。2.1.2发送RTP数据类RTPSenderRTPSender类实现了两部分功能:其一,对本地文件的数据进行转换,以符合RTP协议数据传输的要求;其二,将经过转换的数据发送到目的主机的相应端口。类的组要函数组成如下:createRTPSession()方法中为处理器的每一个媒体磁道产生一个RTP会话,并设置相应的会话状态管理器。Start()方法中首先调用getProcessor()方法创建处理器对象,然后调用createRTPSession()方法创建RTP会话,把处理器处理过的数据传给目的IP地址指定的端口号。handleStateChange()方法用于保证处理器对象到达正确的状态。在该方法中,通过设定等待锁,来保证处理器出于适当的状态。videoSizeCheck()方法由于JPEG和H.263编码标准,只支持一些特定的图像大小,所以这里进行必要的检查,以确保其可以正确编码class MyListener 类作为监听类,实现了ControllerListener接口。2.1.3发送界面类SendFrame发送界面类SendFrame提供了选择文件以及传输RTP数据的界面。用户可以单击“选择文件”按钮,通过文件浏览窗口选择需要传输的文件。然后再IP地址文本框中填入目的主机的IP地址,在端口文本框中输入目的机器的端口号。最后单击“传输”按钮。在发送的过程中,可以单击“停止”按钮停止传输。类的组要函数组成如下:jbInit()方法里初始化了界面的各个组件,同时为相应组件设置了监听类。getFileType()方法用于获取文件类型。tranButPress()方法是当“传输”按钮被按下后调用的。该方法主要是将用户输入的目的主机的IP信息,端口号以及文件名称传送到RTPSender类。browButPress()方法响应“选择文件”按钮的点击的事件。该方法先获得用户选择文件的类型信息,然后调用JFileChooser提供的方法,浏览本机文件。后将选定的文件信息写入文件名称文本框。stopButPress()方法用于处理“停止”按钮的点击事件。该方法将调用RTPSender累的stop方法,终止传输。2,2 接收端模块设计接收端模块要实现:RTP数据的接收,以及RTP数据的呈现功能。接收端模块包括:MyReceiver,PlayerFrame以及SessionARP三个类。MyReceiver主要实现从指定的机器接收RTP数据,PlayerFrame类提供了媒体播放器的界面,SessionARP类实现了RTP会话的解析功能,从中取出IP地址,端口等相关信息。2.2.1接收数据类MyReceiverMyReceiver通过传入的IP地址和端口信息,将从对应端口传入的RTP数据流捕捉,并进行处理。类的组要函数组成如下:shutDownAll()方法用于关闭播放器和会话管理器initReceiver()方法初始化RTP会话。把所有播放窗口放入容器中统一管理,并为每一个RTP会话建立一个管理器,注册数据流监听器和会话监听器。find(Player p)方法通过传入的播放器对象查找相应的播放对象。find(ReceiverStream strm)方法通过传入的流对象查找相应的播放窗口。controllerUpdate()方法实现了ControllerListener接口的同名的方法。方法中处理了RealizeCompleteEvent,ControllerErrorEvent等事件。update(ReceiveStreamEvent event)方法实现了ReceiveStreamListener接口的同名方法。该方法处理了New ReceiveStreamEvent, ReceiveMappedEvent以及ByeEvent事件。update(SessionEvent evnet)方法实现了SessionListener接口中的同名方法。2.2.2媒体播放器类PlayerFrame媒体播放器类PlayerFrame提供了把播放器的界面,加入了进度条以及音量控制等可视化组件。类的组要函数组成如下:Initialize()用于初始化播放器。addNotify()用于增加组建之后来调整窗口大小。Close()用于关闭播放器。2.2.3 RTP会化解系类SessionARPSessionARP类实现了RTP会话的解析功能,该类将RTP会话中的IP地址,端口等相关信息取出来,供MyReceiver类使用。类的组要函数组成如下:SessionARP(String rtpSession)方法从传入的rtpSession字符串中分离出IP地址和端口号。3源程序与执行结果4设计心得首先,这次课程设计的特点在于:发送端界面简单直观,易于操作。用到了JMF的相关知识,可以支持多种不同类型的视频流的传输与播放。该程序可放在不同的平台上运行,不需要修改,可移植性好。其次,此次课程设计还存在以下一些不足之处:在视频没传输和播放完之前,不能在接收端停止传输。播放器的界面不够人性化,不易于接受方对播放器进行相关设置。数据源不是用视频捕捉设备获得的,不能一边获取一边传输与播放。完成了此次课程设计我可谓收获颇丰,不仅学会了JavaWeb编程,也对RTP协议和JMF的使用有了一定了解。尤其是对JMF这个以前从没涉及过的知识领域有了较多的了解,对JMF的层次结构和相关类和方法的使用有了一定程度的掌握,大大的扩宽了我的知识面。这次课设加强了我对JavaWeb编程的兴趣,将会促使我在以后的学习中更多的编写JavaWeb程序,也给予了我在专业方面不断探索的动力。这次课程设计,给了我很大的启示:无论做什么实验一定要细心,要亲自动手实践;只有这样,才能更好的体会实验的要领、原理。要善于将所学的知识运用到实际操作中,加强自己的动手能力,加强独立思考分析的能力并以此检验所学知识的是否牢固扎实;此次课设还提醒我,知识的缺乏和漏洞以及运用知识实现真正需求的问题总是存在的,因此,我必须在以后进一步加强运用知识解决问题和实际动手的能力。我会更加努力。路漫漫其修远兮,吾将上下而求索!最后感谢学校及老师给了我们这次上机实习的机会。它与实际生活联系比较密切,让我们感受到了实战的感觉。在实践过程中积累了宝贵的经验。与此同时,在课程设计的过程中,进一步提高了对计算机网络的认识,发现了许多问题,更学到了许多知识。 5展望此次的课设虽然完成的还算圆满,但在某些方面仍有很大的改进余地,尤其是视频资源数据的获取方面,可以通过摄像头来获取,一边获取一边进行传输与播放,实现真正的“实时传输”,JMF支持用相关设备对视频的捕捉
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 诺特传媒专业知识培训课件
- 2025版少数民族离婚协议财产分割与财产继承合同
- 2025年金融纠纷调解服务合同范本
- 2025年度特色美食街区摊位租赁合同样本
- 2025版网络平台用户投票权委托代理合同
- 2025年度工业自动化产品技术解决方案合同范本下载
- 2025二手公寓买卖中介服务合同
- 2025年学生宿舍租赁及管理服务合同
- 2025年度商业综合体店铺租赁及商业运营服务合同
- 2025年度车位买卖合同(含车位产权证及车位设施安装标准)
- 2025年度中国工商银行河南省分行社会招聘120人备考练习试题及答案解析
- (2025年标准)酒店政府采购协议书
- 2025河北保定市唐县招聘社区工作者64人考试备考试题及答案解析
- 2025年菏泽市中考英语试卷真题(含答案及解析)
- 2025至2030年中国物业管理行业市场发展现状及投资前景展望报告
- 《2025基本医疗卫生与健康促进法》知识测试题附答案
- 气动阀基础知识培训课件
- 2025云南昆明巫家坝建设发展有限责任公司招聘23人笔试参考题库附答案解析
- 2025奇台县公安局招聘警务辅助人员(144人)考试模拟试题及答案解析
- 2025-2026学年浙教版(2024)初中科学八年级上册教学计划及进度表
- 2025年育婴师考试必考知识试题及答案
评论
0/150
提交评论