WebRTCのアプリケーションをより簡単にしてくれる!Kurentoとは?

ブラウザ上でのリアルタイムコミュニケーションをより簡単にし、発達させてきたWebRTCWebRTCのおかげで、ビデオチャットやボイスチャットなどのリアルタイムコミュニケーションをプラグインなしで可能することができています。今回はそんなWebRTCのサーバーである、Kurentoについてご紹介していきます。

Kurento media server

Kurento media server

Kurentoとは

Kurentoは、Apatche2.0で提供されているWebRTCのオープンサーバーのことを指しているのですが、サーバーだけではなく、WebRTCのアプリをより簡単にするためのクライアントAPIも同時に提供しています。

 

Kurentoの主な機能は以下のようなものが主な機能になっています

・グループコミュニケーション(複数人対話)

・トランスコーティング(解像度交換)

・録画・録音

・ミキシング

・ブロードキャスティング(配信主と多数の視聴者の配信)

・コンピュータービジョン(画像認識)

 

Kurentoは一般的なWebRTCサーバーと比較して、サーバー側で上記で記述したような、録画・録音やトランスコーティングなど様々な機能を持たせることができることが特徴です。映像・音声データは通常、サーバーを経由して読み込まれるので、サーバーからそれらのストリーミングデータを処理するのは非常に理にかなっている仕組みであることが言えます。WebRTCはP2P通信をサポートしていますが、Kurentoを利用する場合、1対1の会話でもKurentoサーバーを経由しているのでサーバー型の通信になります。また、サーバー側でストリーミング処理をすることができるので、映像や音声を使った新しいサービスの発信をすることができるのではないかと期待されています。

Kurentoのアーキテクチャ

ここまでで、Kurentoがどんなものなのか、だいたい掴んで頂けたと思います。では次に、Kurentoのアーキテクチャーについて説明していきます。

Kurentoのストリーミングデータを処理するコアとなる部分は、Kurento Media Serverと呼ばれていて、単純に端末からストリーミングデータを相互に配信することができるようになるだけでなく、サーバーで録画をすることが出来たり、サーバーを経由するビデオデータに対して画像処理を行うといったことが可能ですが、それらはMedia Elementと呼ばれる各機能のコンポーネントを組み合わせて使用することができるようになっています。

 

Kurento ClientのAPIは、Media Elementの概念に基づいていて、例えば下の図でいうと、WebRtcEndPointというメディア要素WebRTCメディアストリームの送受信機能を持ち、ReacoderEndPointというメディア要素は受信したメディアストリームをファイルシステムに記録する機能を持ち、FaceOverlayFilterは交換されたメディアストリームのフェイスを検出して画像などを表示する役割を担っています。

Kurento Media Server

Kurento Media Server

(https://fiwaretourguide.letsfiware.jp/real-time-processing-of-media-streams/whats-the-architecture-of-a-kurento-enabled-application/)

 

またKurento Media Serverに対して、Media Elementの設定を行うために、Kurento APIの設定を行うために、Kurento APIと呼ばれるAPIが用意されていて、このAPIはKurento Clientと呼ばれるライブラリによって実装されています。Kurentoには、JavaとJavaScript用の2つのクライアントが用意されていて、別の好きな言語がある場合でも、Kurentoのプロトコルを直接使用して、Kurentoを使用することが出来ます。アクセス方法は3つあり、

Kurentoクライアントを使用する方法を示しています

Kurentoクライアントを使用する方法を示しています

Kurento Java Scriptクライアントを準拠したWebRTCブラウザ直接使用する

Java EEアプリケーションサーバでのKurento Javaクライアントを使用する

Node.jsサーバでのKurento Java Scriptクライアントを使用する

 

以上の方法があります。

アクセス方法は説明した3つほどありますが、映像・音声といったストリーミングデータは、WebRTCクライアント端末から直接Kurento Media Serverとやり取りをするという点だけは変わらないので、注意してください。

 

TwilioがKurentoの開発チームを買収

2016年9月に、アメリカのクラウド通信企業で、電話やテキストメッセージの送受信をすることができるようになるプログラムのクラウドAPIサービスを提供しているTwilioがKurentoの技術自体を買収するとともに、Kurentoの開発チームを招き入れることを発表しました。これによってKurentoはTwilioの傘下に入って、大きなリソースの元によりサービスを充実させていくことになり、良い相乗効果が期待されていました。

 

TwilioのCEOである、Jeff LawsonはKurentoの開発チームとともに、開発者にとってより強力なプラットフォームとAPIを提供していくことを目標としていて、通信の未来を切り開いていくことに尽力していくことを表明し、現在に至るまでサービスの向上に尽力しています。

 

まとめ

いかがだったでしょうか。今回はWebRTCのオープンサーバーであり、クライアントAPIでもあるKurentoについて主にご紹介してきました。Kurentoはこれまで、WebRTCの技術の使用をデベロッパーに促し、発展させることに貢献してきました。Wilioの傘下に入ったことで、より大きなリソースで開発され、アップデートしていくKurentoに今後も目が話せません。

 

https://onetech.jp

お問い合わせ
- -