如何在Android应用程序中添加g729编解码器?

2024-05-01

我正在开发一个用于拨打和接听电话的 SIP 应用程序,我想在我的应用程序中添加 G729 编解码器。

目前我正在对开源项目进行分析SipDroid http://code.google.com/p/sipdroid/。如果我想让该应用程序支持 G729 编解码器,该怎么做?

有一个不同的编解码器配置文件org.sipdroid.codecs http://code.google.com/p/sipdroid/source/browse/#svn%2Ftrunk%2Fsrc%2Forg%2Fsipdroid%2Fcodecspackage.如何为G729编解码器创建这种.java文件?

任何建议和回应将不胜感激。

星号的日志消息

Found RTP audio format 101
Found audio description format telephone-event for ID 101
Found RTP video format 103
Found video description format h263-1998 for ID 103
Capabilities: us - 0x100 (g729), peer - audio=0x0 (nothing)/video=0x100000 (h263p)/text=0x0 (nothing), combined - 0x0 (nothing)
Non-codec capabilities (dtmf): us - 0x1 (telephone-event|), peer - 0x1 (telephone-event|), combined - 0x1 (telephone-event|)
[Apr  9 18:00:25] NOTICE[3813]: chan_sip.c:9187 process_sdp: **No compatible codecs**, not accepting this offer!

SDP

To: <sip:[email protected] /cdn-cgi/l/email-protection>
From: <sip:[email protected] /cdn-cgi/l/email-protection>;tag=z9hG4bK80811693
Call-ID: [email protected] /cdn-cgi/l/email-protection
CSeq: 2 INVITE
Contact: <sip:[email protected] /cdn-cgi/l/email-protection:36252;transport=udp>
Expires: 3600
User-Agent: MySipdroid. !/2.4 beta/sdk
Authorization: Digest username="5004", realm="asterisk", nonce="6264308a", uri="sip:[email protected] /cdn-cgi/l/email-protection", algorithm=MD5, response="fb6dfb528d362657ef01458f96653adb"
Content-Length: 137
Content-Type: application/sdp

v=0
[email protected] /cdn-cgi/l/email-protection 0 0 IN IP4 10.0.2.15
s=Session SIP/SDP
c=IN IP4 10.0.2.15
t=0 0
m=audio 21000 RTP/AVP
a=fmtp:18 annexb=no
<------------->
--- (13 headers 7 lines) ---
Sending to 192.168.1.17:35370 (NAT)
Using INVITE request as basis request - [email protected] /cdn-cgi/l/email-protection
Found peer '5004' for '5004' from 192.168.1.17:35370
  == Using SIP RTP CoS mark 5
Capabilities: us - 0x100 (g729), peer - audio=0x0 (nothing)/video=0x0 (nothing)/text=0x0 (nothing), combined - 0x0 (nothing)
Non-codec capabilities (dtmf): us - 0x1 (telephone-event|), peer - 0x0 (nothing), combined - 0x0 (nothing)
[Apr 10 12:01:05] NOTICE[3524]: chan_sip.c:9187 process_sdp: No compatible codecs, not accepting this offer!

演出翻译结果

core show translation
         Translation times between formats (in microseconds) for one second of data
          Source Format (Rows) Destination Format (Columns)

           g723   gsm  ulaw  alaw g726aal2 adpcm  slin lpc10  g729 speex  ilbc  g726  g722 siren7 siren14 slin16  g719 speex16 testlaw
     g723     -     -     -     -        -     -     -     -     -     -     -     -     -      -       -      -     -       -       -
      gsm     -     -  1001  1001     3000  2000  1000  3000  3999     -  8999  3999  1001      -       -   1002     -       -    1001
     ulaw     -  2000     -     1     2001  1001     1  2001  3000     -  8000  3000     2      -       -      3     -       -       2
     alaw     -  2000     1     -     2001  1001     1  2001  3000     -  8000  3000     2      -       -      3     -       -       2
 g726aal2     -  2999  1001  1001        -  2000  1000  3000  3999     -  8999  3999  1001      -       -   1002     -       -    1001
    adpcm     -  2000     2     2     2001     -     1  2001  3000     -  8000  3000     2      -       -      3     -       -       2
     slin     -  1999     1     1     2000  1000     -  2000  2999     -  7999  2999     1      -       -      2     -       -       1
    lpc10     -  2999  1001  1001     3000  2000  1000     -  3999     -  8999  3999  1001      -       -   1002     -       -    1001
     g729     -  2999  1001  1001     3000  2000  1000  3000     -     -  8999  3999  1001      -       -   1002     -       -    1001
    speex     -     -     -     -        -     -     -     -     -     -     -     -     -      -       -      -     -       -       -
     ilbc     -  2998  1000  1000     2999  1999   999  2999  3998     -     -  3998  1000      -       -   1001     -       -    1000
     g726     -  2999  1001  1001     3000  2000  1000  3000  3999     -  8999     -  1001      -       -   1002     -       -    1001
     g722     -  2000     2     2     2001  1001     1  2001  3000     -  8000  3000     -      -       -      1     -       -       2
   siren7     -     -     -     -        -     -     -     -     -     -     -     -     -      -       -      -     -       -       -
  siren14     -     -     -     -        -     -     -     -     -     -     -     -     -      -       -      -     -       -       -
   slin16     -  3000  1002  1002     3001  2001  1001  3001  4000     -  9000  4000  1000      -       -      -     -       -    1002
     g719     -     -     -     -        -     -     -     -     -     -     -     -     -      -       -      -     -       -       -
  speex16     -     -     -     -        -     -     -     -     -     -     -     -     -      -       -      -     -       -       -
  testlaw     -  2000     2     2     2001  1001     1  2001  3000     -  8000  3000     2      -       -      3     -       -       -

sip.conf

[5004]
type=friend
username=5004
secret=5004
host=dynamic
context=testcontext
nat=yes
disallow=all
allow=g729
qualify=yes
callerid="919999121312"<5004>

您的星号日志看起来非常适合支持编解码器,但是您需要在客户端 Android 应用程序上使用 g729 编码器(目前似乎是商业许可证),如果您有幸获得编解码器的开源许可证,请告诉我。

许可

G.729 包含多家公司的专利,并由 Sipro Lab Telecom 授权。 Sipro Lab Telecom 是 G.729 技术和专利池的授权知识产权许可管理员。[3][4][5][6]在许多国家/地区,使用 G.729 可能需要支付许可费和/或特许权使用费。 [5]

Source: http://en.wikipedia.org/wiki/G.729 http://en.wikipedia.org/wiki/G.729

Regards.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在Android应用程序中添加g729编解码器? 的相关文章

随机推荐