G.722 是一种语音编解码技术。是使用16kHz采样率的宽带语音编码。适合应用在高质量的会议电话系统。
它有三个版本,G.722 (SB-ADPCM): 带宽48,56,64kbit/s. G.722.1 (Siren7): 带宽 16,24,32kbit/s. G.722.2 (AMR-WB): 带宽 6.6-23.85kbit/s (9种)。
再详细的不再介绍,可以到网上找一下就有了。这里主要记录一下之前我做过的几个测试。
AMR-WB encode and decode
源代码 amrwb-7.0.0.3.tar.bz2, 在这里获取
其中有两种算法
AMR-WB: RFC 3267 (Sections 5.1 and 5.3))
amrwb-decoder
amrwb-encoder
AMR-WB: 3GPP specification TS26.201
amrwb-encoder-if2
amrwb-decoder-if2
编译通过就可以使用了, test.wav 是16khz/Mono 16bit PCM audio data:
amrwb-encoder 8 test.wav test.amr
amrwb-decoder test.amr test.raw
Realplay 可以播放 .amr的格式的文件
realplay test.amr
openRTSP test
采用了 live555 中的openRTSP 的工具来做streaming test
源代码 live555-latest.tar.gz , 在这里获取
在两台机器上安装,一个做server, 一个做client。
Server机器上, 在testProgs/目录下放置一个叫 test.amr的文件,然后
./testOnDemandRTSPServer
Client机器上 (假设server ip: 192.168.1.100 ),
./openRTSP rtsp://192.168.1.100:8554/amrAudioTest
便可以接收到server 上test.amr, 文件名默认为 audio-AMR-WB-1
或者也可以用 realplay直接播放
realplay rtsp://192.168.1.100:8554/amrAudioTest
AMR and AMR-WB RTP/Storage payload 参考RFC4867
注意: 在RTP payload 和storage payload之间有些不同,所以在做从网络中取出数据存入一个文件中(或反之)时需要做转换的动作。
阅读(5566) | 评论(0) | 转发(0) |