SlideShare a Scribd company logo
THETA S + Raspberry pi 2でラ
イブストリーミングしてみた(続)
syumai
自己紹介
• 名前: syumai
• 職業: ソフトウェアエンジニア

   (アルバイト)
• 勤務先: Ducklings
• Twitter: @__syumai
Agenda
• Qiita投稿記事の概要
• この記事を書いた経緯
• GStreamerについて
• 記事の解説
• 試してみたこと
• 次のステップ
Qiitaに投稿した記事
『THETA S + Raspberry pi2 で
ライブストリーミングしてみた』
記事の概要
• Raspberry pi 2 + THETA S + GStreamerで、
全天球動画をライブストリーミングする
• 今日の話は、GStreamerメインです
経緯
• 結婚式に寝たきりのおばあちゃんを連れて行きたい
• HMD + Pepper + 二眼カメラで解決!
• http://hugproject.net/
HUG Projectの課題
• 器材調達の困難さ

HMD + Pepper + 二眼カメラ (+ Kinect)が必要

用意できる人がほとんどいない
• 手軽に使えない

持ち運びができないので、普及が難しそう
そこに現れたのが
THETA S
THETA Sなら…、
• 器材調達の困難さ

THETA S + 配信用PCだけでOK!
• 手軽に使えない

簡単に持ち運べる!
GStreamerについて
何が出来るのか
• 動画・音声などのデータのストリームをパイプライ
ンに流し込む
• パイプライン中で、動画をエンコードしたり、画像
加工フィルタをかけられる
• UDPやTCPで動画を配信できる
GStreamerを利用した部分
• 記事の最後の部分
• ここを解説します
GStreamerの主な登場人物
• Element
• データを加工したり、処理を行う部分
• Pipeline
• Element同士を接続して作った一通りの流れ
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
試してみたこと
ラズパイ以外
• Mouse computerのスティックPCでも検証
• スティックPCの利点
• Windowsが動く
• openh264encを利用できる
• ストリーミング速い
Unityへの配信
• GStreamer SDK(C, C++用)を使ったネイティブプ
ラグインを作れば出来そう
• appsinkを利用すれば、ストリーム内の画像データ
を取得できる

これをUnityのTexture2Dに流し込めば表示でき
そう
• 凹みTipsを読みながら挑戦中(最近進 なし…汗)
WebRTC
• ブラウザだけあれば実現可能
• NAT越えの困難さを克服できる
WebRTC
• NoraさんのThetaShaderPack(http://stereoarts.jp/)を参考に、
Equirectangularの画像に変換するGLSLを書いて、Three.jsで表示
• WebVRを使ってOculus Riftでも見れるようにしました
• デモ展示します!
目指すところ
• 肩乗せ配信を実現したい

More Related Content

PDF
Raspberry Pi で作る無線開発環境
PDF
TIMEMAPとインプレスグループ
PPTX
インターネットの維持 近況
PPTX
Google IO 2015は それ以外も楽しいよ というお話
PPTX
メタ プログラミングについて
PDF
Rubyistがgemの前にPypiデビューするのは間違っているだろうか
PPTX
Type script x azure x pwa
PDF
IoT ChatOps #IoTLT
Raspberry Pi で作る無線開発環境
TIMEMAPとインプレスグループ
インターネットの維持 近況
Google IO 2015は それ以外も楽しいよ というお話
メタ プログラミングについて
Rubyistがgemの前にPypiデビューするのは間違っているだろうか
Type script x azure x pwa
IoT ChatOps #IoTLT
Ad

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