Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

THETA S + Raspberry pi 2でライブストリーミングしてみた(続)

6,294 views

Published on

THETA S + Raspberry Pi 2でライブストリーミングしてみた - on Qiita
http://qiita.com/syumai/items/ccf4a0116c3986e90c74
Twitter @__syumai

Published in: Technology

THETA S + Raspberry pi 2でライブストリーミングしてみた(続)

  1. 1. THETA S + Raspberry pi 2でラ イブストリーミングしてみた(続) syumai
  2. 2. 自己紹介 • 名前: syumai • 職業: ソフトウェアエンジニア
    (アルバイト) • 勤務先: Ducklings • Twitter: @__syumai
  3. 3. Agenda • Qiita投稿記事の概要 • この記事を書いた経緯 • GStreamerについて • 記事の解説 • 試してみたこと • 次のステップ
  4. 4. Qiitaに投稿した記事
  5. 5. 『THETA S + Raspberry pi2 で ライブストリーミングしてみた』
  6. 6. 記事の概要 • Raspberry pi 2 + THETA S + GStreamerで、 全天球動画をライブストリーミングする • 今日の話は、GStreamerメインです
  7. 7. 経緯
  8. 8. • 結婚式に寝たきりのおばあちゃんを連れて行きたい • HMD + Pepper + 二眼カメラで解決! • http://hugproject.net/
  9. 9. HUG Projectの課題 • 器材調達の困難さ
 HMD + Pepper + 二眼カメラ (+ Kinect)が必要
 用意できる人がほとんどいない • 手軽に使えない
 持ち運びができないので、普及が難しそう
  10. 10. そこに現れたのが THETA S
  11. 11. THETA Sなら…、 • 器材調達の困難さ
 THETA S + 配信用PCだけでOK! • 手軽に使えない
 簡単に持ち運べる!
  12. 12. GStreamerについて
  13. 13. 何が出来るのか • 動画・音声などのデータのストリームをパイプライ ンに流し込む • パイプライン中で、動画をエンコードしたり、画像 加工フィルタをかけられる • UDPやTCPで動画を配信できる
  14. 14. GStreamerを利用した部分 • 記事の最後の部分 • ここを解説します
  15. 15. GStreamerの主な登場人物 • Element • データを加工したり、処理を行う部分 • Pipeline • Element同士を接続して作った一通りの流れ
  16. 16. Elementとは? • 流れてきたデータを加工、出力する • Padでデータの入出力を行う • 入力をsrc、出力をsinkと呼ぶ • 形が合わないと接続できない (要・video convert)
  17. 17. Pipelineとは? • Source Element: カメラなどからデータを入力 • Filter Element: データを加工(エンコード等を行う) • Sink Element: パイプライン外にデータを出力
        (PC上のアプリケーション、UDP、TCPなど)
  18. 18. 記事の簡単な解説 • 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
  19. 19. 試してみたこと
  20. 20. ラズパイ以外 • Mouse computerのスティックPCでも検証 • スティックPCの利点 • Windowsが動く • openh264encを利用できる • ストリーミング速い
  21. 21. Unityへの配信 • GStreamer SDK(C, C++用)を使ったネイティブプ ラグインを作れば出来そう • appsinkを利用すれば、ストリーム内の画像データ を取得できる
 これをUnityのTexture2Dに流し込めば表示でき そう • 凹みTipsを読みながら挑戦中(最近進 なし…汗)
  22. 22. WebRTC • ブラウザだけあれば実現可能 • NAT越えの困難さを克服できる
  23. 23. WebRTC • NoraさんのThetaShaderPack(http://stereoarts.jp/)を参考に、 Equirectangularの画像に変換するGLSLを書いて、Three.jsで表示 • WebVRを使ってOculus Riftでも見れるようにしました • デモ展示します!
  24. 24. 目指すところ • 肩乗せ配信を実現したい

×