RTSP时,客户机和服务器都可以发出请求,即RTSP可以是双向的。在本次课设中要求应用所学计算机网络课程中的知识,利用网络实用程序实现其协议使用两台计算机进行视频流的传输。需要编制相应的网络实用程序,并且设计若干用例,上机测试并分析所设计的程序。
2、设计说明
该项目可以分为发送端和接收端两个模块。发送端模块负责RTP数据的转换及传输,接收模块负责RTP数据的接收与呈现。
21发送端的设计
发送端模块主要需要实现:文件类型过滤,文件的选择,本地文件的转换以及RTP数据的传输等四个主要功能。发送端模块包括:MyFileFilterRTPSe
der以及Se
dFrame三个类。MyFileFilter类主要是处理文件的过滤RTPSe
der类主要实现本地数据的转换与传输,Se
dFrame类提供了文件的选择与发送界面。211文件过滤类MyFileFilter
f武汉理工大学《计算机网络》课程设计
MyFileFilter类主要实现了文件过滤功能,类的组要函数组成如下:accpetFilefile实现了FileFilter接口对应的方法。其功能是判断给定的文件是否符合相应的过滤规则。getDescriptio
()发发覆盖了javaxswi
gfilechooserFileFilter类的同名方法。由于获取对文件类型的描述信息。getExte
sio
Filefile方法用于获得指定文件的扩展名,即文件类型。setComme
t()方法用于设置文件类型的语言描述。
212发送RTP数据类RTPSe
derRTPSe
der类实现了两部分功能其一,对本地文件的数据进行转换,以符合RTP协议数据传输的要求;其二,将经过转换的数据发送到目的主机的相应端口。类的组要函数组成如下:createRTPSessio
)(方法中为处理器的每一个媒体磁道产生一个RTP会话,并设置相应的会话状态管理器。Start()方法中首先调用getProcessor方法创建处理器对象,然后调用createRTPSessio
方法创建RTP会话,把处理器处理过的数据传给目的IP地址指定的端口号。ha
dleStateCha
ge()方法用于保证处理器对象到达正确的状态。在该方法中,通过设定等待锁,来保证处理器出于适当的状态。videoSizeCheck()方法由于JPEG和H263编码标准,只支持一些特定的图像大小,所以这里进行必要的检查,以确保其可以正确编码classMyListe
er类作为监听类,实现了Co
trollerListe
er接口。
213发送界面类Se
dFrame发送界面类Se
dFrame提供了选择文件以及传输RTP数据的界面。用户可以单击“选择文件”按钮,通过文件浏览窗口选择需要传输的文件。然后再IP地址文本框中填入目的主机的IP地址,在端口文本框中输入目的机器的端口号。最后单击“传输”按钮。在发送的过程中,可以单击r