ISSN在线(2278 - 8875)打印(2320 - 3765)
教授k . p . Satheyamoorthy博士 迪恩,部门的EEE M.G.博士R教育研究院[大学],钦奈,印度泰米尔纳德邦, |
相关文章Pubmed,谷歌学者 |
访问更多的相关文章国际先进研究期刊》的研究在电子、电子、仪表工程
项目的目标是设计和实现通过网络视频会议。软件不仅保证更好的实时服务,而且性能良好的流媒体数据的回放。因此,需要创建软件允许网络允许的时间内。为此,有必要创建一个方法包实时MPEG视频协议(RTP)包。RTP是一种besteffort协议面向对多媒体数据实时传输,因此,还需要提供一个图形界面的列表显示在客户现场服务器和媒体文件用于玩和基于JMF实时的球员也被证明是通过适当的GUI提供与客户互动。这包括控制面板选项如转发、暂停音量控制和关闭播放器。
关键字 |
RTP, GUI, MPEG视频会议 |
介绍 |
该系统主要分为三个模块。 |
客户端接口 |
传输模块 |
视频采集模块 |
会话分配视频 |
数据传输 |
接收模块 |
视频数据接收 |
会话分离 |
视频执行 |
客户端接口: |
这个图形模块提供在客户端站点和充当简单的浏览器。它显示的列表服务器可用的ip地址和对应的媒体文件到服务器由客户选择。当客户端选择服务器和媒体文件,传输模块在服务器上网站是通过一个线程调用。 |
传输模块: |
这个模块从客户机通过网络传输媒体,提供了在服务器上的网站。它接收三个参数即源定位、客户端ip地址和一个基本目的端口号追踪客户端接口模块。 |
接收模块: |
这个模块从服务器接收媒体流的传输。这个模块提供了在客户端站点。它执行t他以下任务: |
打开一个RTP会话每会话地址。 |
侦听器接收流的新的接收流事件侦听器。 |
创建一个流JMF球员获得回放。 |
基本的实时传输协议的细节 |
RTP是一个实时应用程序的传输协议。该协议用于传输实时数据,包括音频和视频。它可以用于media-on-demand以及电话等互动服务。RTP提供支持实时的应用程序属性比如连续媒体(比如音频和视频),包括损失检测安全性和内容识别。RTP的最初目标是UDP / IP网络环境。 |
RTP并没有解决资源预订和实时服务并不能保证服务质量。从而增强了数据传输控制协议(服务器)允许监测数据交付可伸缩的方式大规模多播网络,并提供最小的控制和识别功能。RTP和媒体服务器被设计为独立的基础传输和网络层。RTP本身并不提供任何机制来确保及时提供或提供其他的服务质量保证,但依赖于下层服务。它不能保证交货或防止无序交付,也不认为底层网络是可靠的,并将数据包序列。序列号包含在RTP允许接收器重建发送方的数据包序列,但序列号也可能被用来确定数据包的适当的位置。 |
流媒体: |
关键特征的基于时间的媒体,它需要及时发货和处理。一旦流媒体数据的开始,有严格的时间期限,必须满足,无论是接收和显示数据。出于这个原因,基于时间的媒体通常被称为流媒体在源源不断,必须接收和处理在一个特定的时间内产生可接受的结果。 |
例如,当一个电影播放,如果媒体数据不能交付速度不够快,可能会有奇怪的停顿和延迟播放。另一方面,如果数据不能接收和处理速度不够快,这部电影可能出现跳动的数据丢失。 |
内容类型: |
媒体数据存储的格式被称为它的内容类型。快速的时间、MPEG和WAV都是内容类型的例子。 |
媒体流: |
获得一个媒体流媒体数据从本地文件,通过网络获得,或者从摄像头或麦克风捕获。媒体流通常包含多个通道的数据称为跟踪。媒体流,包含多个追踪通常被称为多路复用或复杂的媒体流。多路分解提取单曲的过程是一个复杂的媒体流。 |
跟踪的类型识别它所包含的类型的数据,比如音频或视频。跟踪的格式定义了如何跟踪的数据结构。媒体流可以确定它的位置和使用的协议来访问它。例如,URL可能被用来描述一个快速时间文件的位置在一个本地或远程系统。媒体定位器提供了一种方法来识别一个媒体流的位置当一个URL不能被使用。 |
媒体格式的细节: |
下表确定一些常见的媒体格式的特点。当选择一个格式,其重要的考虑目标受众的特点。例如,在这种情况下,我们提供媒体内容通过网络,因此应该特别注意的网络,因此应特别注意带宽需求。CPU列特征表示的指定格式。宽带要求栏描述发送或接收数据所需的传输速度足够快的最佳展示。 |
媒体演示质量: |
表示媒体的蒸汽的质量取决于几个因素,包括: |
1。所使用的压缩方案。 |
2。回放系统的处理能力。 |
3所示。可用的带宽(通过网络媒体流获得)来实现高质量的视频演示,帧的数量显示在每一段时间(帧率)应该尽可能高。 |
测试 |
测试计划: |
这部分解决问题”做什么之前实现的系统,包括各种测试系统和现有系统的变化提出系统详细讨论。 |
系统测试: |
下面讨论一些测试技术需要注意的任何安装冲突,系统测试是在几个方面做了一些讨论如下。 |
功能测试: |
测试的应用程序设置填充身份框架包括用户id、密码和ODBC连接的客户端浏览器是被选中的密码。一旦没有连接应用程序失败。 |
压力测试: |
仅在客户端授权客户端可以访问该网站提供检查所需细节管理的局限性和力量的应用软件的重要作用的地方。 |
结构性测试: |
测试系统也通过SSPL团队的其他成员行使内部逻辑的应用程序,他们从一个应用程序切换到另一个操作,因此保留应用程序的可靠性。 |
变化: |
变化的过程是将一个系统到另一个地方。新系统可能需要安装新的软件和准备数据。有三个操作系统转换的方法。 |
直接的变化: |
这个方法完成替换旧系统,提出了系统的一个举动。它应该是一个大胆的举动,应该只有当每个人都在公司进行提出系统的信心。这种方法可能是最便宜的但最危险。 |
并联运行: |
并联运行或操作方式处理当前数据通过新系统交叉检查结果与整个系统。它的主要吸引力是旧系统维持生存和操作,直到该系统已经被证明是成功的。其主要缺点是额外的成本。 |
试点运行: |
试点运行的概念类似于并行运行。这个方法更像是一个扩展的系统测试,但可能被认为是更实用的组织形式的变化原因。 |
黑盒测试: |
黑盒测试方法关注软件的功能需求因此黑盒测试使软件工程师开集的输入条件,将锻炼所有项目的功能需求。黑盒测试并不是一个替代白盒技术,但它是一个互补的方法,可能会发现一个不同的类的错误比白盒方法屏蔽箱测试试图在以下类别找到错误。 |
错误或缺失的功能 |
界面错误 |
在数据结构或外部数据库访问错误 |
性能错误 |
初始化和终止错误 |
白盒测试: |
白盒测试用例设计方法,使用程序的控制结构设计获得测试用例。使用白盒测试方法,软件工程师可以用以下品质驱动测试用例。 |
保证所有的测试用例模块的独立路径至少锻炼一次。 |
测试用例锻炼逻辑决定他们的真假。 |
测试用例执行所有操作界限和循环 |
测试用例执行内部数据结构以确保其有效性。 |
有一些软件缺陷的白盒测试。 |
逻辑错误和不正确的假设是成反比的概率将执行程序路径。错误进入我们的工作,当我们设计和实现功能,条件,或控制的主流。 |
相信一个逻辑路径时不可能执行定期执行。关于控制和数据流的假设可能导致设计错误时只发现一次测试开始。 |
印刷上的错误是随机的。当一个程序翻译成编程语言源代码,很可能就会发生一些打字错误。将发现许多语法检查机制,但是其他人将未被发现,直到测试开始了。 |
系统实现 |
这个申请人是建立在以下模块: |
1。客户端接口 |
2。传输模块 |
3所示。接收模块 |
客户端接口: |
这个图形模块开发提供了在Java中使用代码战士和在客户端站点和充当一个简单的浏览器。它显示的列表服务器可用的ip地址和对应的媒体文件到服务器由客户选定。 |
当客户选择所涉及的服务器站点是通过一个线程。三个参数是传输模块发送源定位,客户端ip地址和基本目的端口号。经过一些延迟创建另一个线程调用接收模块。RTP会话地址发送接收模块的参数在JMF球员被关闭时,发射和接收模块都停止了。 |
传输模块: |
这个模块也在Java开发和传输媒体通过网络从服务器到客户端使用JMF和RTP。这个模块提供了现场。 |
它接收三个参数即源定位、客户端ip地址和一个基本目的端口号的追踪客户端接口模块。 |
源定位 |
1。一个文件名,例如:文件:/ c /视频/ los.mpeg” |
2。一个http定位器等 |
http://funvideos.com/spech.avi |
3所示。或捕获数据来源如“javasound: / / 8000” |
计算机的ip地址应该接收传输。 |
底端口号可以是任何端口号,不是用电脑上的任何其他服务。例如,可以使用“22222”。确保它是偶数。第一个媒体确定它是一个偶数。第一个媒体跟踪将从底端口号传播+ 2等等。在本模块首先创建一个处理器的媒体定位器。 |
数据来源; |
ds = javax.media.Manager。创建数据源(定位); |
这个数据源用于创建处理器如下; |
私有流程处理器=零; |
处理器= javax.media.Manager。创建处理器(ds); |
然后处理器配置。后处理器配置跟踪得到的处理器。 |
跟踪控制[]跟踪= processor.getTrackControls (); |
描述符设置为RAW_RTP输出内容。接下来的视频跟踪格式JPEG和h .操纵实时缩放和音轨独处没有任何变化。下一个处理器是用来被意识到,以创建一个输出数据源JPEG / RTP。 |
私人数据源数据输出=零; |
数据输出= processor.getDataOutput (); |
获取数据的输出方法返回一个处理器对象的输出作为数据源。这个数据源可以用作输入到另一个球员或处理器作为输入数据接收器。在本例中,它是用作输入的球员。 |
接下来使用RTP Manager API创建为每个媒体跟踪会话。现在跟踪通过RTP蒸会话。第一个跟踪流从基端口号和下一个基地端口号+ 2。 |
接收模块: |
这个模块还在Java开发和收到的RTP媒体流 |
从服务器传播。这个模块提供了在客户端站点。 |
它执行以下任务: |
打开一个RTP会话每会话地址。 |
听新接收流事件接收流侦听器。 |
创建一个流JMF球员获得回放。 |
RTP会话地址接收一个字符串作为它的参数从客户机接口模块。RTP会话地址格式是ip地址/端口号码。 |
计算机的IP地址指定地址的传输媒体我服务器和端口号一样,用于传输模块。由于Mpeg数据文件包含两个跟踪这样两个RTP会话地址是必需的。 |
例如:如果服务器的IP地址是192.168.0.4和底端口号是4000然后两个RTP会话地址are192.168.0.4/4000视频和192.168.0.4/4002音频。 |
在这个模块根据会话地址的数量通过RTP会话的客户端接口模块解析。会议地址解析ip地址端口是否和ttl是指定的。 |
在客户端设置缓冲区的长度,虽然可能根据需要设置为不同的值。 |
公元前缓冲控制= |
(缓冲控制)mgrs[我].getControl (“javax.media。控制。缓冲控制”) |
如果(是! = null) |
bc.setBufferLength (350); |
这里的缓冲区长度设置为350。模块等待数据到达。会话侦听器接口接收通知的状态变化的新的参与者。接收机流侦听器将收到通知的状态变化的RTP流接收,这是用来检查任何RTP载荷变化事件如果是显示一个错误消息,因为模块不处理它。 |
获取下一个RTP流的格式如下: |
ReceiveStreamstream = evt.getReceiveStream (); |
流= ((NewReceiveStreamEvent) evt)。getReceiveStream (); |
数据源ds = streams.getDataSource (); |
RTP控制细胞毒性t淋巴细胞(RTPControl) ds。getControl (“javax.media.rtp.RTPControl”); |
然后通过数据源创建一个球员对媒体管理器 |
球员p = javax.media.Manager。创建的球员(ds); |
如果(p = = null) |
返回: |
控制器侦听器被添加到播放器,处理用户调用的事件。然后意识到玩家。 |
p.addControlListener(这个); |
p.realize (); |
球员意识到后开始播放流。 |
p.star (); |
玩家一般有两种类型的用户界面组件,一个可视组件和一个控制面板组件。这些组件之后才得到实现。 |
显示一个可视化组件: |
可视化组件是一个球员提出了可视化表示的媒体。甚至一个音频播放器可能有一个视觉组件,如波形显示或动画角色。 |
显示玩家对象的可视化组件,你: |
1。被调用的组件可视化组件。 |
2。将它添加到applet的表示空间或应用程序窗口。 |
球员的布局组件通过AWT布局管理器控制。 |
如果((vc = p.getVisualCompomnent ()) != null)添加(“中心”,vc);显示控制面板组件 |
玩家有一个控制面板,允许控制媒体表示。玩家可能会与一组按钮开始,停止和暂停媒体流,滑动控制来调整音量。 |
如果((cc = p.getControlPanelComponent ()) ! = null)添加(“欧洲南部国家”(cc); |
Impementing控制器监听器接口 |
实现控制器接口,您需要: |
1。在一个类实现控制器的侦听器接口。 |
2。注册这个类作为一个侦听器通过调用添加侦听器的控制器,你想接收事件。 |
控制器的帖子一个事件时,它调用控制器更新在每个侦听器注册。 |
通常情况下,控制器更新被实现为一个系列的if - else语句事件实现控制器更新响应的球员。 |
如果(事件事件类型的实例){ |
……………。 |
}else if(甚至甚至其他类型的实例){ |
……………。 |
} |
由于JMF实现的限制,重要的是要注意,音频和视频不严格同步。 |
结果和讨论 |
应用程序是建立在三个模块,客户端接口模块、发送模块和接收模块。这三个模块分别进行了测试我客户端接口模块测试的目的是显示可用的服务器IP地址列表和相应的媒体数据。在这一过程中遇到的错误删除成功。传输模块进行了测试的目的传输媒体的数据从服务器到客户端通过RTP流。遇到的异常都是妥善处理。同样的接收模块的测试目的接收RTP流和使用JMF玩家玩它。也在这个过程中遇到的错误和异常都是后来这些模块集成和测试处理,必要的改变是为应用程序提供更好的性能。尽管严格同步的音频和视频可能无法实现。 |
结论 |
此应用程序的基本目标是流媒体数据从服务器到客户端我包化媒体数据RTP数据包,然后这些数据包通过RTP流会话,后来收到这些溪流和他们通过创建的球员。我们的目标是通过提供一个图形界面模块客户网站显示的列表服务器和媒体文件可供玩耍。传输模块是在服务器开发的网站通过RTP流媒体数据传输。接收模块是在客户端开发的网站接收RTP流和流媒体。基于JMF实时球员也提供了适当的GUI提供与客户互动。模块测试和集成进行视频会议的任务。模块的集成是成功提供预期的结果。收购的媒体,其传播,接待和表示支持JMF的使用和RTP。RTP是因为它实时应用程序。也用于实时数据的传输,包括音频和视频和media-on-demand服务。主要的缺点是不提供严格的同步音频和视频由于JMF实现的局限性。 |
引用 |
|