LoginSignup
18
18

More than 5 years have passed since last update.

Pepper のカメラ映像をライブ配信する実験 その3 (いったん整理・まとめ)

Posted at

はじめに

  • まだまだ実現はできていないのですが、何となく可能そうな方法は見えてきた感じはします。
  • ただ、すぐに確認に使える Pepper 実機もないし、いったん内容を整理・まとめておこうと思います。

前提

  • Pepper のカメラ映像を、外部の PC やタブレットのブラウザで、html5 の video タグを使用して表示することを想定します。
  • Pepper とクライアントのみで構成できるのなら、そのほうが良いのですが、間にサーバも入る構成も検討します。

1. NAOqi API を使用する

方法

以下のどちらかの API を使用し、一定のタイミングで画像を取得し、クライアント側での表示画像を更新します。

1.1 ALPhotoCaptureProxy::takePicture(s)

1.2 ALVideoDeviceProxy::get(DirectRaw)Image(Local|Remote)

メリット・デメリット

メリット

  • 比較的手軽に実現可能と思われます。
  • ALFaceDetection 等、他の画像認識系 API との相性は良いと思われます。

デメリット

  • fps は出ない(出せない)ように思いますので、頑張ってもパラパラ漫画でしょう。

2. NAOqi API を使用しない

方法

API は使用せず、ビデオデバイス直のデータを処理します。以下のどちらかのコマンドを使用し、適当な形式でデータを出力し、適当な方法で配信します。

2.1 FFmpeg を使用

2.2 GStremer を使用

適当な形式、適当な配信方法

適当な形式

Pepper 内蔵の FFmpeg, GStreamer で実行可能な、設定項目の形式を選択します。
あるいはサポート可能な外部サーバを用意して、Pepper と連携して処理します。

  • 映像サイズ
  • フレームレート
  • ビットレート
  • ファイル形式
  • コーデック

適当な配信方法

Pepper 内蔵の FFmpeg, GStreamer で実行可能な配信方法を選択します。
あるいはサポート可能な外部サーバを用意して、Pepper と連携して可能な配信方法を選択します。

  • HTTP Live Streaming (HLS)
  • MPEG-DASH
  • Real Time Streaming Protocol (RTSP)

Pepper 単体では HLS・DASH は難しそう。RTSP はもしかしたら、という感じでしょうか。

メリット・デメリット

メリット

  • そこそこの fps は出せるのではないかと思われます。

デメリット

  • 映像・音声配信に関する知識がそれなりに必要になります。
  • 構成要素が多く、そこそこに見られるレベルの組み合わせを探すのが大変。
  • ヘタなコマンドを実行すると、Pepper のカメラ機能が停止したり、接続が切れたりします。さらに Pepper の再起動が必要になるケースも発生します。原因は不明。
  • 問題なく実行できたような場合でも、カメラに影響が出ているケースがあります。Choregraphe のビデオモニターが表示されなくなったり、映像が乱れたりします。原因は不明。

感想

  • 何か 2 は大変なだけな感じもしてきましたが、やはりそこそこキレイな映像を見たい。
  • もう少し映像・音声関連知識とコマンドの使い方を勉強しないといけない。
18
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
18