全国咨询热线:010-62575310 13581952983
行业动态
DYNAMIC

视频会议软件中的开源数据传输库评测

视频会议软件的开发当中,由于需要传输一些音、视频等实时性非常强的数据,这些数据相对于一般的文本数据,显得非常巨大,因此我们在视频会议软件开发当中最重要的是解决如何传输实时、大容量数据的问题。由此可见选择一个合适的数据传输库对我们开发来说非常关键。而在视频会议软件的开发过程中,供我们选择的数据传输库非常多,我们在这里主要对用于视频会议软件开发的开源数据传输库,进行一个评测(jrtplib、UDT、Raknet),主要从实时性、传输效率、调用复杂度、可靠性、大数据、跨平台性这几个方面进行一个全面的对比。
1、jrtplib库 (总体 :★★★★☆)
jrtplib库是应用最广的RTP传输库,其主要是通过UDP协议封装RTP数据包来实现数据的实时传输,由于RTP协议是通过时间戳来实现数据的实时传输,因此jrtplib在视频会议软件开发当中,通常可以传输音、视频等实时的数据。除此之外,jrtplib库可以在 Windows、Linux、 FreeBSD、Solaris、Unix和VxWorks 等多种操作系统上运行。
实时性 (★★★★★):由于采用UDP的数据传输而且没有进行相应重发等操作,因此其实时性非常高。
传输效率(★★★★★):jrtplib算法简单,因此占用cpu非常小
调用复杂度(★★★☆☆):jrtplib依赖其他的库,因此编译起来比较困难,但使用较为方便。
可靠性(★☆☆☆☆):jrtplib库只在UDP上面进行了RTP数据包封装,没有进行可靠性控制,因此可靠性不能保证。
大数据(★★★★☆):jrtplib在传输大数据的时候,需要把大的数据进行分包,其每个包的大小都不能超过RTP设定的最大包的大小。
跨平台性(★★★★★):jrtplib跨平台性较高,可以在多种操作系统上运行。

2、UDT库(总体 :★★★☆☆)
UDT库是一个非常著名的RUDP库(可靠的UDP库),其主要通过重发来实现UDP数据的可靠性,既可以保持数据的实时传输,也可以达到可靠的数据传输。在视频会议软件开发当中,可以传输一些信令或者实时性比较高的控制信息等。
实时性(★★★★☆):由于采用UDP的数据传输,而且采用了重发等可靠的传输操作,因此其实时性比用jrtplib传输要低,但比直接采用TCP要高。
传输效率(★★★☆☆):UDT的滑动窗口算法比较复杂,占用cpu有点高。
调用复杂度(★★★☆☆):UDT调用较为简单,但没有分包算法,要自己进行分包处理,因此使用起来比较困难。
可靠性(★★★★★):由于UDT是进行可靠的验证,因此数据能保证可靠。
大数据(★★★☆☆):UDT在传输大数据的时候,同样需要把大数据进行分包进行传输,其每个包的大小不能超过UDT设定的最大包大小。
跨平台性(★★★★☆):UDT也能进行跨平台性编译,但最新版本在ios编译会出现错误。

3、Raknet(总体 :★★★★☆)
Raknet本来是一个游戏引擎,同时它也是一个非常优秀的RUDP传输库,在游戏领域拥有众多的开发者用户,而在视频会议软件开发当中,我们也可以利用这个优秀的游戏引擎来传输实时可靠的数据。Raknet传输库可以在非商业用途上开源,但在商业应用中收费,但我们一般项目还是可以直接使用它,它可以编译成静态库,因此Raknet也是一个不错的选择。
实时性(★★★☆☆):Raknet采用单线程的RUDP进行数据传输,因此其实时性要比jrtplib和UDT都要低一些。
传输效率(★★★★☆):Raknet由于采用单线程的接收方式,因此效率比jrtplib要高,CPU占用也较小。
调用复杂度(★★★★★):Raknet调用较为简单,而其带有分包功能,不用自己进行分包操作,因此使用起来比较方便。
可靠性(★★★★★):由于Raknet通过重发和校验来保持数据的实时性,因此数据能保持可靠性。
大数据(★★★★☆):Raknet不需要进行分包操作,但由于其采用单线程设计,因此当网络堵塞的情况下,数据会重发,导致数据更加堵塞。
跨平台性(★★★★★):Raknet支持多系统的编译,跨平台性非常好。

提示:本文章内容由视频会议视频会议系统宝利通视频会议终端电话会议系统宝利通视频会议服务提供商科立讯(北京)科技有限公司整理发布,转载请标注来源,谢谢!
科立讯(北京)科技有限公司 地址:北京市丰台区星火科技大厦606
联系电话:13581952983 Email:janly@kelixun.com.cn QQ:45812189 电话:010-62575310
技术支持:长智信达
点击这里给我发消息 点击这里给我发消息