流媒体世界专稿:四项音频编码并发性能测试报告
woodman| 本站原创| 2004-11-02

一、测试目的
检测以下四种编码音频的混音和语音编码性能,为实际使用提供试验依据。
 

 

 

二、测试环境
     

设备/软件

数量

说明

MCU服务器

1

P4 1.8G/256M/40G 工控机

IntelPro/100+ (82559)网卡

MCU服务器操作系统

1

Redhat Linux 8.0

TMCMCU软件

1

MCU 模块(T-mcu)

PC

3

一台安装NetMeetingPC作为会议参与者,监听语音质量

二台各安装模拟客户端tstClientPC模拟大量的会议参加方

tstClien软件

2

模拟客户端软件,可以同时支持50路以上的话路

录制好的g711ug723.1gsm610wav格式的音频文件

 

通过tstClient连续循环播放


三、语音编码器说明
g711u采用Sun Microsystems的开源代码;
gsm610采用Technische Universitaet Berlin的开源代码;
g723.1采用根据ITU参考代码优化重写的代码,其执行效率提高约80%;
g729a采用根据ITU参考代码优化重写的代码,其执行效率提高约40%;
 
四、测试方案
 
测试时间:
2004年10
 
测试内容:
l       使用g711u编码,进行多方会议,且各方同时发言;
l       使用g723.1编码,进行多方会议,且各方同时发言;
l       使用g723.1编码,进行多方会议,每个会议只有一个发言者,其他只听;
l       使用gsm610编码,进行多方会议,且各方同时发言;
l       使用gsm610编码,进行多方会议,每个会议只有一个发言者,其他只听。
 
测试环境:


图1 测试环境
 
说明:
 
1、 
模拟客户端3上的NetMeeting和模拟客户端端2上的一个模拟用户加入会议999,会议999播放背景音乐,并且模拟客户不断发送语音数据,NetMeeting监听混合后的背景音乐和语音,
其本身也可以发言。
 
2、 
实验显示当MCU的CPU利用率接近100%左右时(MCU进程以最高优先级运行于实时模式下),才会影响话音的连贯性,因此我们将92%作为CPU的最大可利用率。
 
3、 模拟客户端1和模拟客户端2模拟大量的用户分别加入其它的会议,一般一个会议为5人或十人。
 
4、 会议分为两种模式:
a)  全并发发言模式,会议所有的参与者不间断的并发发言和接收,以此模拟最苛刻的使用情况;
b)  单用户发言模式,每个会议中只有一个用户发言,其它处于只听状态,模拟最宽松的使用情况。
 
5、 所有会议按照实际运行情况运行,即执行解码—>混音—>编码的标准过程;
 
6、 由于受环境限制,本实验中模拟的客户端数量没有超过100方,超过100方的容量通过模拟外推方法得到。
 
五、 测试结果
 

g711u

g711u

CPU % (Send and Recv)

CPU % (One Send and Others Recv only)

Client Count

Max

Min

Avg(5 min)

Max

Min

Avg(5 min)

1

0

0

0

 

 

 

10

0.9

0.5

0.7

 

 

 

20

1.3

1.1

1.2

 

 

 

40

6.3

6.1

6.2

 

 

 

60

7.3

7.5

7.4

 

 

 

80

8.7

9.1

8.9

 

 

 

100

10.1

10.3

10.2

 

 

 

表格 1 G711性能测试结果
         

图表 1 G711 全并发模式
 
说明:g711尽管占用带宽资源比较多(64kbps),但其编解码开销非常少,因此实验中的MCU可以支持的并发用户数量非常大。从实测数据和拟合外推得到的结果,该MCU能支持的全并发用户数大于500。由于全并发情况下的容量已经非常巨大,因此g711u的单用户发言模式测试不再进行。
g723.1

g723.1

CPU % (Send and Recv)

CPU % (On Send and Four Recv)

CLIENT Count

Max

Min

Avg(5 min)

Max

Min

Avg(5 min)

1

3.1

3.3

3.2

3.1

3.3

3.2

2

5.3

6.1

5.7

 

 

 

3

6.5

6.7

6.6

 

 

 

5

11.6

13.0

12.3

3.3

3.3

3.3

10

26.8

28.2

27.0

6.5

6.7

6.6

15

40.4

42.0

41.7

9.7

10.2

10.0

20

52.4

55.2

53.8

13.2

13.6

13.4

25

67.7

69.1

68.9

19.4

19.6

19.5

28

76.4

77.6

77.0

 

 

 

30

82.0

82.8

82.4

23.1

24.1

23.6

32

89.9

91.5

90.7

 

 

 

35

 

 

 

29.1

29.3

29.2

40

 

 

 

32.2

32.6

32.4

表格 2 G723性能测试结果

图表 2 g723.1 全并发模式
说明:g723.1尽管占用带宽资源最省(6.4kbps),但其编解码开销最大,因此实验中的MCU可以支持的并发用户数量有限。从实测数据得到的结果,该MCU能支持的全并发用户数约为32个。
 
图表 3 g723.1 每个会议只有一个发言者
说明:当每个会议只有一个发言者时,每个会议只进行二路的g723.1编码,(说话者一路,其它所有听众一路),所以CPU资源消耗相对较少。从实测数据和拟合外推得到的结果,该MCU能支持的并发用户数约为115个。
 
实际的应用情况应该界于两者之间,也即最大并发量位于32 — 100之间,根据使用模式以及客户端静音检测功能的性能而变化。 
gsm610

gsm610

CPU % (Send and Recv)

CPU % (On Send and Others Recv)

CLIENT Count

Max

Min

Avg(5 min)

Max

Min

Avg(5 min)

1

0.1

0.0

0.1

 

 

 

10

5.1

5.5

5.3

0.3

0.1

0.2

20

17.4

18.9

18.7

4.3

4.7

4.5

30

28.8

31.2

30.0

6.1

6.3

6.2

40

40.7

42.0

41.4

6.5

6.9

6.7

50

51.6

54.4

53.0

10.0

11.6

10.8

60

65.8

66.9

66.3

11.6

12.0

11.8

80

89.4

90.2

89.6

15.6

15.8

15.7

表格 3 gsm610性能测试结果
 
图表 4 gsm610 全并发模式
说明:gsm610占用带宽资源(13kbps)和编解码开销比较均衡,因此实验中的MCU可以支持的并发用户数量比较大。从实测数据得到的结果,该MCU能支持的全并发用户数约为85个。
图表 5 gsm610 每个会议只有一个发言者
说明:当每个会议只有一个发言者时,每个会议只进行二路的gsm610编码,所以CPU资源消耗相对较少。从实测数据和拟合外推得到的结果,该MCU能支持的并发用户数约为450个。
 
实际的应用情况应该界于两者之间,也即最大并发量位于85 — 400之间,根据使用模式以及客户端静音检测功能的性能而变化。


测试结论
 
在P4 1.8G 单CPU的硬件条件下:
 
l       g711u编码能够支持超过500路同时发言,g711A的性能和g711u相同;
l       g723.1编码能支持的并发用户数量界于32 — 100之间,根据使用情况的不同有所变化;
l       gsm610编码能支持的并发用户数量界于85 — 400之间,根据使用情况的不同有所变化;
l       g729a的编码性能比g723.1约高80%左右,因此能支持的并发用户数量约界于50 —
160之间,但其语音效果不如g723.1,详细数据图表就不在本文档中给出了。

作者邮件地址:woodman@liumeiti.org

 

责任编辑:lmtwadmin

版权声明:凡本网注明来源“流媒体网”的所有内容,版权均属流媒体网所有,转载需注明出处。凡注明来源非“流媒体网”的所有内容,其目的在于传递更多信息,并不意味着流媒体网赞同其观点或证实其内容的真实性。