2019.04.08
米国Twilio社よりAnnouncing Twilio Client JS SDK 1.7 GA with Opus Codec Support and Codec Preference APIが公開されました。抄訳でご案内します。
Twilio Client JS SDK 1.7正式リリースをご案内します。本リリースでは様々なネットワーク環境下で優れた音質をお届けするコーディックであるOpusと、新しい Codec Preference APIを提供します。
現在Twilio Client JS SDKで提供するコーディックのG.711(PCMU)と比較し、Opusは半分の帯域幅(80kb/sに対して40kb/s)でよりよい音質の提供が可能です。そのため Opus の利用を強くお勧めいたします。
1.3、1.4、1.5、1.6からのアップグレード方法は簡単です。既存環境に更新を強いる変更はないためtwilio.jsを変更するだけです。
https://media.twiliocdn.com/sdk/js/client/v1.7/twilio.min.js
https://media.twiliocdn.com/sdk/js/client/v1.7/twilio.js
npm install --save twilio-client@^1.7.0
Codec Preference APIはコーデックを切り替える新しいシンプルなAPIです。
引き続き G.711 (PCMU) はデフォルトのままです。ただし、将来のメジャーバージョンでOpusをデフォルトのコーデックにする予定です。
下記のコードはOpusを優先的なコーデックとして設定する例となります。
var device;
// Setup Twilio.Device
device = new Twilio.Device(YOUR_TOKEN, {
codecPreferences: ['opus', 'pcmu'] });
var params = {
To: '+8150XXXXYYYY'
};
device.connect(params);
コーデックとは決められた形式でデータをエンコード(符号化)とデコード(復号)するアルゴリズムです。VoIPの場合、送信側ではアナログ音声信号がデジタル化(エンコード)されて受信側にデータが送られます。受信側はエンコードされたデータをデコードしてアナログ信号に変換されて再生されます。
さまざまなコーディックが存在し、それぞれに下記の機能有無や性能といった特徴を持ちます。
一般的にコーディックは音声の品質に応じてネットワーク帯域幅を利用するように設計されています。品質と帯域幅はトレードオフの関係にあり、高品質の音声はより多くの帯域幅が必要になります。
Opusの魅力的な特徴は幅広い帯域幅で利用ができることです。下記の図をご覧ください。
従来Twilioが提供してきたG.711は帯域幅が下がると音声の品質が大幅に劣化しました。Opus であれば許容可能な音声品質が提供可能です。そのため全ての Twilio Client JS SDKを利用したサービスのエンドユーザ向けに、ベストの通話品質を提供するために1.7 のアップグレードとOpusの利用をお勧めいたします。
We can't wait to see what you build!