LoginSignup
12
11

More than 5 years have passed since last update.

THETA SをRaspberryPi2に接続したら自動的にustreamに配信するようにしてみた

Posted at

THETA S + Raspberry Pi 2でライブストリーミングしてみた - Qiitaを参照してRaspberryPI2にTHETA Sをライブストリーミングモードでさしたら自動的にustreamに投稿するようにしてみた。
忘れてしまうのでやったことを記録しておく。

その他参照サイト

mount - Autorun a script after I plugged or unplugged a USB device - Ask Ubuntuを参照してTHETAが接続されたらスクリプトを自動起動するように設定
gstreamerの使い方はRaspberry Piを弄り倒す【自宅用ペット監視用カメラ設定編】 | 馬鹿王きんぐが全ぶっぱ!を参照

やったこと

Raspbian 8.0 (jessie)で確認

/home/pi/stream.shに以下のスクリプトを作成

#! /bin/sh

sleep 1

# [url]と[key]はUstreamのダッシュボード→チャンネル設定→(配信対象チャンネル)→ライブ配信設定→エンコーダー設定で確認
RTMP_URL="[url]"
STREAM_KEY="[key]"

FLASHVER='FME/3.0%20(compatible;%20FMSc%201.0)'

LOCATION="$RTMP_URL/$STREAM_KEY live=1 flashver=$FLASHVER"

CMD="gst-launch-1.0 v4l2src ! videoconvert ! omxh264enc ! h264parse ! flvmux ! rtmpsink location='$LOCATION'"

$CMD &

ライブストリーミングモードのTHETAをさして確認

$ lsusb
Bus 001 Device 006: ID 05ca:2711 Ricoh Co., Ltd 
# => VendorID:05ca
# => ProductID:2711

/etc/udev/rules.d/00-usb-theta.rulesを作成して以下のようにする。

ACTION=="add", ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="2711", OWNER="pi", RUN+="/home/pi/stream.sh"

THETAをさしなおしてustreamに配信されることを確認。

はまったこと

実行スクリプトに#! /bin/shがなくて以下のページと同じエラーが発生していた。
debian - Executing backup script on external HDD plug using udev - Unix & Linux Stack Exchange

ログは以下のように確認した。

$ sudo vi /etc/udev/udev.conf
# => udev_log="info"追加
$ sudo /etc/init.d/udev reload
$ sudo less /var/log/syslog 

課題

しばらくするとgstreamerが落ちたりする。
調べてた範囲では原因よくわからなかった。

最初はTHETAをさした瞬間にwifiドングルを認識しなくなったりと問題が出ていたが、Raspberry Pi用にUSBハブを購入する | ものづくりエクスペリメントを参照して、電源供給したUSBハブごしにTHETAなどを接続するようにしたら解消した。

12
11
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
12
11