WebRTCで動画配信 (チュートリアル5)

こんにちは、ベーコン婆男です。

今回は、映像配信のチュートリアルを紹介したいと思います。例えば、Webセミナーで録画ビデオを配信したい場合などに使えます。

チュートリアル5: WebRTC 動画配信(Play media to WebRTC)

このチュートリアルでは、事前に用意しておいたwebmビデオをWebRTCで配信します。

チュートリアル1の繰り返しになりますが、以前投稿した「WebRTC Kurentoサーバの構築」の記事に従って、Kurento Media Serverのインストールとサービス起動をお願いします。

サービスが起動していないと、ビルド後にエラーが発生して動作しないため、必ずサービスを起動しておいてください。

また、チュートリアル1に記載した手順で、チュートリアルのコードをGitHubからダウンロードしてください。全チュートリアルのコードがダウンロードされますので、一度ダウンロードすれば再実行する必要はありません。その場合はこの手順はスキップしてください。

$ mkdir kurento-tutorial
$ cd kurento-tutorial
$ git clone https://github.com/Kurento/kurento-tutorial-java.git

kurento-tutorialフォルダにgitでソースコードを取得したら、kurento-playerフォルダに移動して、mvnでビルドします。

$ cd kurento-tutorial-java/kurento-player
$ git checkout 6.6.2
$ mvn compile exec:java

ビルドが成功すると、チュートリアルのアプリが起動します。

パソコンでブラウザを立ち上げて、Kurentoが起動しているサーバ(ポート8443)をhttpsで開いてください。

https://(サーバアドレス):8443/

サーバに証明書が実装されていない場合は警告が表示されますが、無視して開いてください。

 

「Start」ボタンを押すと、指定されたサーバのビデオ映像が再生されます。

左側中央に、Seek initと、Seek endがミリ秒単位で表示されていますので、その間の値を「Go to」欄に入力して、「Seek」ボタンを押せば、その時間までスキップすることができます。

映像配信だけであれば、通常のhttpでの配信でも構わないと思いますが、Kurentoを利用することでWebRTCプロトコルで配信できますので、WebセミナーやWeb会議の中でビデオ映像を配信したり、また回線が不安定な場合でもリアルタイムに配信することができるメリットがあります。

本チュートリアルのMedia Elementの構成は以下のようになっており、PlayerEndPointで再生したビデオ映像をWebRtcEndPointで各クライアント端末に配信しています。

PlayerEndpointは、再生だけでなく、

  • 再生
  • 停止
  • 一時停止
  • シーク

に対応していますので、最低限の機能ではありますが、ビデオプレイヤーとして使うことができます。

また、入力のビデオファイルのプロトコルは、

  • file://
  • http(s)://
  • rtsp://

に対応しています。(もちろん、異なるサーバにビデオファイルが配置されている場合は、上記プロトコルで通信できることが前提となります。)

ここで面白いのは、rtspプロトコルに対応していますので、ビデオファイルだけでなく、ネットワークカメラ(IP Camera)の映像を受信して再生することが可能です。

チュートリアル4で顔認識のサンプルを紹介しましたが、PlayerEndpointとKmsDetectFaces、KmsShowFacesを組み合わせて、立ち入り禁止場所をIP Cameraで監視撮影して、その場所に入った人を検出して映像配信するといったことが考えられます。

色々なチュートリアルをご紹介していますが、Kurentoでは、Media Elementモジュールを組み合わせて色々な機能を実現できますので、それぞれのチュートリアルでKurentoでできることのイメージをつかんでいただき、その内容を組み合わせながら、新しいコミュニケーションアプリを考えて頂ければと思います。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です