ニュース

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!

 

参考資料

 

Share!!

  • お役立ち情報
  • イベント情報
  • 相談会申込
  • 導入事例