WebRTCで録画 (チュートリアル6)

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

今回は、WebRTCでやり取りする映像・音声データを録画するサンプルをご紹介したいと思います。

チュートリアル6: WebRTC 録画(Recording)

このチュートリアルでは、Kurentoサーバで、WebRTCのストリーミングデータ(映像、音声)を録画します。

WebRTCで録画機能を実装する場合、P2P方式を採用した場合、クライアント端末で録画する形になります。しかし、クライアント端末で録画した場合、録画映像を共有しずらい問題があり、録画機能が必要な場合には、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-hello-world-recordingフォルダに移動して、mvnでビルドします。

$ cd kurento-tutorial-java/kurento-hello-world-recording
$ git checkout 6.6.2
$ mvn compile exec:java

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

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

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

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

「Start」ボタンを押すと、チュートリアル1と同様にループバックで自映像が右側に表示されます。ただしチュートリアル1と違うのは、右側に表示されている間、サーバ側でその映像が録画されています。

「Stop」ボタンを押した後、「Play」ボタンを押すと、Kurentoサーバ側で録画された映像が、右側に再生されます。

 

本チュートリアルのMedia Elementの構成は以下のようになっています。

 

「Start」ボタンを押したときは、Pileline#1の構成がとられ、WebRtcEndpoint で受信したストリーミングデータが、WebRtcEndpoint からループバックで送信されるのと同時に、RecorderEnpointに渡されて、Kurentoサーバのストレージに保存されます。

次に、「Play」ボタンを押したときは、Pipeline#2の構成がとられ、映像配信のチュートリアルで紹介したPlayerEndpointから録画映像が再生されて、WebRtcEndpoint を通じて送信されます。

 

WebRTCのアプリを開発する場合、録画機能は最もよく利用する機能の一つではないかと思います。

 

コメントを残す

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