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

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

関連記事: WEBRTCとは

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 – Source

 

また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に今後も目が話せません。

WebRTCとはWeb Real-Time Communicationの略で、Webブラウザにプラグインを追加することなくブラウザ上でリアルタイムなコミュニケーションを実現するフレームワークです。

 

https://onetech.jp

無料相談・お問い合わせ
・見積もりの相談 (システム開発の費用を概算で知りたい方?)
・企画段階からの相談 (こんなアプリの開発できますか?)
・オフショア開発に不安のある方 (オフショア開発って何ですか?)
・ベトナムやONETECHに興味のある方 (ベトナムでビジネスしたいのですが)
・エンジニア人材不足にお悩みの方 (エンジニアを採用したいのですが?)
ご相談やお見積もりは全て無料で対応いたします。

下記入力フォームに入力し、送信をお願いいたします。後日、担当者から折り返しご連絡させていただきます。また、ご送信頂いた内容によっては、ご回答にお時間がかかる場合がございますのでご了承ください。

返信を残す

無料相談・お問い合わせ
・見積もりの相談 (システム開発の費用を概算で知りたい方?)
・企画段階からの相談 (こんなアプリの開発できますか?)
・オフショア開発に不安のある方 (オフショア開発って何ですか?)
・ベトナムやONETECHに興味のある方 (ベトナムでビジネスしたいのですが)
・エンジニア人材不足にお悩みの方 (エンジニアを採用したいのですが?)
ご相談やお見積もりは全て無料で対応いたします。

下記入力フォームに入力し、送信をお願いいたします。後日、担当者から折り返しご連絡させていただきます。また、ご送信頂いた内容によっては、ご回答にお時間がかかる場合がございますのでご了承ください。