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

  • 11
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

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などを接続するようにしたら解消した。