这是适用于Android的最佳SIP兼容编解码器类型

Foy*_*rim 2 rest android voip sip sip-server

我想开发一个Android应用程序,它将使用我的客户端的SIP服务器.我的客户端从SIP服务器公开了几个REST API,用于与应用程序通信.

我想知道哪个是这个应用程序的最佳编解码器类型

基本上,我想创建一个SIP-Stack并将SIP数据包发送到服务器.因此,应该有数据包的编码和解码系统.我的客户喜欢16 kb /秒,但我不确定应该使用哪个.

小智 10

正如其他人所说,SIP不传输音频或视频.虽然从理论上讲,您可以通过任何传输方式发送数据,包括ATM,模拟线路,DS0等,但在现实世界中,RTP是最常见的.RTP(实时协议)和RTCP(实时控制协议)或SRTP(安全RTP)通常承载音频和视频.

就编解码器而言,您将受到服务器支持的限制.以下是一些常见的编解码器以及每种编解码器的优缺点.

G.711 - 收费质量(即好的模拟电话线,甚至更好一点)."通用"几乎每个设备都支持G.711.占用大量带宽,它并不真正压缩数据(G.711是"压缩扩展器").基线G.711非常简单(它实际上是几个查找表).附录I增加了数据包丢失隐藏(PLC)和附录II增加了静音抑制和舒适噪声的产生.

GSM - 用于手机,听起来不错,PLC好,压缩性好

G.729A - 广泛使用,接近收费质量,良好的压缩(8Kbps)

G.723.1 - 广泛使用,几乎与G.729一样好,压缩效果更好(4-5Kbps)

G.722 - 听起来比G.711好,宽带(G.711或模拟呼叫的音频带宽的两倍),与G.711相同的带宽使用

GIPS - 存在各种实现,一个是免费的.IIRC,在线上使用大约13.5Kbps,声音不如G.723.1(但这是一个感知度量,YMMV)占用了大量的处理器.

所有编解码器都使用一些处理器和其他系统资源,根据经验,编解码器越激进(带宽越小)处理器使用的越多.此外,所有这些特定的编解码器都是有损编解码器 - 它们会丢失一些数据.这意味着存在压缩,而不是由于路由不良和线路质量差而导致部分音频丢失.很像MP3被认为是LOSSY编解码器,而FLAC被认为是无损.如果您对以下维基百科文章感兴趣,可以进一步详细解释:http://en.wikipedia.org/wiki/Lossy_compression