theta s + raspberry pi 2でライブストリーミングしてみた(続)
TRANSCRIPT
• 結婚式に寝たきりのおばあちゃんを連れて行きたい
• HMD + Pepper + 二眼カメラで解決!
• http://hugproject.net/
HUG Projectの課題• 器材調達の困難さHMD + Pepper + 二眼カメラ (+ Kinect)が必要⇒用意できる人がほとんどいない
• 手軽に使えない⇒持ち運びができないので、普及が難しそう
Elementとは?
• 流れてきたデータを加工、出力する
• Padでデータの入出力を行う
• 入力をsrc、出力をsinkと呼ぶ
• 形が合わないと接続できない (要・video convert)
Pipelineとは?
• Source Element: カメラなどからデータを入力
• Filter Element: データを加工(エンコード等を行う)
• Sink Element: パイプライン外にデータを出力 (PC上のアプリケーション、UDP、TCPなど)
記事の簡単な解説
• v4l2src: Video for Linux 2。カメラの映像を取得
• videoconvert: 次のElementとPadが合わなかった時に、合う形に変換する
• omxh264enc: h264に動画をエンコードする
• rtph264pay: RTPのヘッダをデータに追加する
• udpsink: UDPでデータを送信
• gst-launch-1.0 v4l2src ! videoconvert ! omxh264enc ! rtph264pay pt=96 config-interval=1 ! udpsink host=$1 port=$2
Unityへの配信• GStreamer SDK(C, C++用)を使ったネイティブプラグインを作れば出来そう
• appsinkを利用すれば、ストリーム内の画像データを取得できる⇒これをUnityのTexture2Dに流し込めば表示できそう
• 凹みTipsを読みながら挑戦中(最近進捗なし…汗)
WebRTC
• NoraさんのThetaShaderPack(http://stereoarts.jp/)を参考に、Equirectangularの画像に変換するGLSLを書いて、Three.jsで表示
• WebVRを使ってOculus Riftでも見れるようにしました
• デモ展示します!