iOSで音声圧縮
iOSで音声通信なアプリを作ってた時のこと。音声データを生のPCMのまま送るのは、サンプリングレートを落としても大変なデータ量なので、音声圧縮をどうするかという話。
オープンソースのVOIPアプリ/関連ライブラリには音声通信部分はもちろん、いろんな音声圧縮コーデックの実装コードも含まれているので、とても参考になります。色々眺めてみた結果、実装が簡単かつ圧縮率と音声品質的に効果が高そうな G.711 と GSM-FR と ADPCM あたりに目をつけてみました。参考にしたのはsipdroidとかpjsipとかlinphoneとかsnapdspとか。中でもsnapdspは色んなコーデックをCで実装してくれているので読みやすいです。
- http://code.google.com/p/sipdroid/
- http://www.pjsip.org/
- http://www.linphone.org/
- http://www.soft-switch.org/
snapdspのコードはここからダウンロードできます。
http://www.soft-switch.org/downloads/
最終的にはGSM-FRのコーデックの部分だけiOSアプリとVC++に移植しました。音声通信のデータ量がPCMの1/8以下になって、満足。
基礎からわかるTCP/IP SIPによるVoIPプログラミング―Linux対応
- 作者: マッキーソフト
- 出版社/メーカー: オーム社
- 発売日: 2004/03
- メディア: 単行本
- 購入: 1人 クリック: 24回
- この商品を含むブログ (2件) を見る