ニュース Opus に対応した Twilio Client JS SDK 1.7 正式リリースのご案内

2019.04.08

米国Twilio社よりAnnouncing Twilio Client JS SDK 1.7 GA with Opus Codec Support and Codec Preference APIが公開されました。抄訳でご案内します。

 

Opus対応とCodec Preference APIに対応したTwilio Client JS SDK 1.7リリースのご案内

 

Twilio Client JS SDK 1.7正式リリースをご案内します。本リリースでは様々なネットワーク環境下で優れた音質をお届けするコーディックであるOpusと、新しい Codec Preference APIを提供します。

現在Twilio Client JS SDKで提供するコーディックのG.711(PCMU)と比較し、Opusは半分の帯域幅(80kb/sに対して40kb/s)でよりよい音質の提供が可能です。そのため Opus の利用を強くお勧めいたします。

 

1.7 のアップグレード方法

1.3、1.4、1.5、1.6からのアップグレード方法は簡単です。既存環境に更新を強いる変更はないためtwilio.jsを変更するだけです。

CDN URL

https://media.twiliocdn.com/sdk/js/client/v1.7/twilio.min.js

https://media.twiliocdn.com/sdk/js/client/v1.7/twilio.js

NPM

npm install --save twilio-client@^1.7.0

 

Codec Preference API

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);

 

コーデックについてとOpusの特徴

コーデックとは決められた形式でデータをエンコード(符号化)とデコード(復号)するアルゴリズムです。VoIPの場合、送信側ではアナログ音声信号がデジタル化(エンコード)されて受信側にデータが送られます。受信側はエンコードされたデータをデコードしてアナログ信号に変換されて再生されます。

メディア間送信におけるコーデックの役割

さまざまなコーディックが存在し、それぞれに下記の機能有無や性能といった特徴を持ちます。

  • ビットレート - 正しく機能するために必要なネットワーク帯域幅
  • ダイナミックビットレート - ネットワーク品質や帯域幅の変化に応じて利用するビットレートを増減する機能
  • パケットロスの補完と前方誤り訂正 - パケットがロストした場合に埋める処理
  • 音声区間検出 - 無音の場合にパケットの送信を止める
  • 必要な計算量 - エンコードとデコードが複雑な場合はモバイルアプリケーションには適しません

一般的にコーディックは音声の品質に応じてネットワーク帯域幅を利用するように設計されています。品質と帯域幅はトレードオフの関係にあり、高品質の音声はより多くの帯域幅が必要になります。

 

Opusの特徴について

Opusの魅力的な特徴は幅広い帯域幅で利用ができることです。下記の図をご覧ください。

 

 

従来Twilioが提供してきたG.711は帯域幅が下がると音声の品質が大幅に劣化しました。Opus であれば許容可能な音声品質が提供可能です。そのため全ての Twilio Client JS SDKを利用したサービスのエンドユーザ向けに、ベストの通話品質を提供するために1.7 のアップグレードとOpusの利用をお勧めいたします。

 

We can't wait to see what you build!

 

参考資料

 

この記事をシェア


すべての記事へ