SlideShare a Scribd company logo
Raspberry Pi でリアルタイム動画配信
-ひよこch 配信-
KenichiroMATOHARA(@matoken)
http://matoken.org/
自己紹介
● KenichiroMATOHARA(@matoken)
http://matoken.org/
● 千葉でサーバ管理とかやってましたが3月から
鹿児島で就農!
● まさに畑違いに.
● でもこれまでの経験を
生かして行けたらと思
っています
“ ”新型ロケット 機体載せた車両が国道で立ち往生
イプシロンロケット試験機による
惑星分光観測衛星(SPRINT-A)の打上げ
平成25年8月22日(木)
Raspberry Pi でリアルタイム動画配信
-ひよこch 配信-
きっかけ
● 卵用に鶏も飼っています
● 有精卵を預けて孵してくれるところがある
● 40個預けて37個孵る
● ひよこ可愛い!
● Raspberry Pi もwebcam もある
● 配信してみよう
ひよこch 配信(してました)
justin.tv/matoken
Raspberry Pi ?
● 手のひらサイズのLinux ボード
● 英国でコンピュータ教育向けに作られた.
● 値段も$25(model A) / $35(model B)と安い
● CPU は ARM を採用しており Linux のイメージが提供されている
– 標準のOS のRasdebian はDebian Wheezy ベース(今はJessie もあるぽ
い)
– (*BSD 等他の OS を動かしている人も)
● USB x2(model A はx1 )や RJ-45(model Bのみ)や GPIO がついて
いて色々遊べる.
● HDMI/コンポジット出力なのでTV に映せる.(一般のご家庭でも)
配信方法
● ブラウザ + Flash は重い
● Webcamstudio 以前かじって重い&不安定だっ
た
● の最近 ffmpeg は に普通 RTMP が える使
– RTMP : Real Time Messaging Protocol
– Adobe Flash のストリーミングプロトコル
– Ustream.tv/Justin.tv/Radoko とかとか
早速試す
● 配信サービスはJustin.tv を選択(RaspberryPi
で完結できる)
● Raspberry Pi にはWebCam(UVC が楽)とWiFi アダプ
タPLANEX GW-USHYPER300(r8712u) を接続
– ひよこは離れの小屋にいるのでRJ-45 が無い
RasPi -+-- USB1 –- Wifi )))) AP -- Justin.tv
|
+-- USB2 -- WebCam --( (o> piyo
( )
ffmpeg でRTMP をサーバに投げる
(Justin.tv の場合)
● 160x120 で投げてみる.マイクはないので音声は投げていな
い.
$ padsp ffmpeg -f video4linux2 -s 160x120 -r 15 -i
/dev/video0 -vcodec libx264 -f flv
"rtmp://live.justin.tv/app/live_xxxxxx_xxxxxxxx"
live_xxxxxx_xxxxxxxx 部分は,Justin.tv にlogin した状態で
http://ja.justin.tv/broadcast/adv_other#fmle にアクセスして設
定ファイルをダウンロード.そのファイルの中の <stream> タ
グの中身を書きます.
※Justin.tv はRTMP を投げるだけで配信開始
ffmpeg でRTMP をサーバに投げる
(Ustream.tv の場合)
● ビデオソースをX のデスクトップにしてみている例.音声もあり.
$ ffmpeg -r 15 -s 800x600 -f x11grab -i :0.0 -f alsa -i default -acodec libmp3lame
-vcodec libx264 -b 300k -ar 22050 -ab 48k -threads 4 -vsync 1 -y -f flv
'rtmp://x.xxxxx.fme.ustream.tv/ustreamVideo/xxxx/xxxxxxxxxxxxx
flashver=FME/3.020(compatible;20FMSc/1.0)'
太線部分のRTMP のURL は,ダッシュボードから配信したい番組のリモートか
らRTMP URL とストリームキーを結合してつくる.
※Ustream.tv はffmpeg でデータを流し始めた後web管理画面で配信を行わない
といけない.
※Raspberry Pi では未だ試していない.PC で確認済み.
Raspberry Pi でJustin.tv への配信結
…果
● frame=39659 fps= 1 q=17.0 size= 279396kB
time=37567.14 bitrate= 60.9kbits/s dup=0
drop=64
160x120 でも1fps とか><
cpu が足りない><
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
2 0 0 302380 12464 68668 0 0 0 0 4082 244 91 9 0 0
2 0 0 302324 12464 68672 0 0 0 0 4053 190 99 1 0 0
1 0 0 302372 12464 68668 0 0 0 4 4067 204 95 5 0 0
1 0 0 302372 12464 68668 0 0 0 0 4058 128 100 0 0 0
2 0 0 302208 12464 68668 0 0 0 0 4047 188 92 8 0 0
1 0 0 302372 12464 68668 0 0 0 0 4089 151 99 1 0 0
1 0 0 302364 12464 68668 0 0 0 0 4125 172 96 4 0 0
1 0 0 302364 12472 68668 0 0 0 68 4049 140 97 3 0 0
1 0 0 302372 12472 68668 0 0 0 0 4047 172 97 3 0 0
1 0 0 302372 12472 68668 0 0 0 0 4047 116 100 0 0
クロックアップを試みる
● Raspberry Pi の設定コマンドから
$ sudo raspi-config
overclock Configure overclocking
で一番上のTurbo にしてみる&reboot …
frame= 174 fps= 2 q=19.0 size= 658kB
time=51.14 bitrate= 105.4kbits/s dup=0
drop=55 p=40
しかし2fps><
とりあえず運用
● よく切断されるようになる(ffmpeg が落ちる)
– Shell Script でffmpeg を無限ループにした
● あるときから全然配信できなくなる(ffmpeg が
起動して配信開始前にffmpeg が落ちる)
– 電源付きUSB ハブ経由でカメラ&WiFi を繋いだら
安定した( Raspberry Pi のUSB は140mA しか電流
が流れません>< )
実用度
● 1, 2fps とはいえひよこの状態がいつでも見ら
れる
● 温度計(物理) で温度が確認できたり
● 餌や水が減ったのがリモートで解ったり
– ひよこは日々成長するので餌の量がどんどん増える
● 案外実用的
これから
● ハードウェアエンコードできるようにしたい
…ですが .
– いくつか情報をもらっていますが今のところうま
く行っていません
● 画面上に温度なども合成したい.
– 温度センサから温度管理もしたい(ヒーターの制御
も)
● 次のひよこがやって来るまでにUpdate …を
孵卵器から出た直後
食欲が旺盛になってきた3日令
猫が興味津々過ぎてヤバイ
…あの頃の可愛さはどこへ

More Related Content

More from Kenichiro MATOHARA

Raspberry piのsdl等に対応したreal vncを試してみた
Raspberry piのsdl等に対応したreal vncを試してみたRaspberry piのsdl等に対応したreal vncを試してみた
Raspberry piのsdl等に対応したreal vncを試してみた
Kenichiro MATOHARA
 
ちょっと古いマシンにLinuxを
ちょっと古いマシンにLinuxをちょっと古いマシンにLinuxを
ちょっと古いマシンにLinuxを
Kenichiro MATOHARA
 
鹿児島Linux勉強会2016.04
鹿児島Linux勉強会2016.04鹿児島Linux勉強会2016.04
鹿児島Linux勉強会2016.04
Kenichiro MATOHARA
 
Raspberry Piにdiskless modeのalpine linuxを導入してみる
Raspberry Piにdiskless modeのalpine linuxを導入してみるRaspberry Piにdiskless modeのalpine linuxを導入してみる
Raspberry Piにdiskless modeのalpine linuxを導入してみる
Kenichiro MATOHARA
 
勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作る
勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作る勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作る
勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作る
Kenichiro MATOHARA
 
オープンソースカンファレンス大分参加報告 & 勉強会向けサーバを作ってみる
オープンソースカンファレンス大分参加報告 & 勉強会向けサーバを作ってみるオープンソースカンファレンス大分参加報告 & 勉強会向けサーバを作ってみる
オープンソースカンファレンス大分参加報告 & 勉強会向けサーバを作ってみる
Kenichiro MATOHARA
 
OSC15OT 配布ペーパー
OSC15OT 配布ペーパーOSC15OT 配布ペーパー
OSC15OT 配布ペーパー
Kenichiro MATOHARA
 
鹿児島らぐはじめました(オープンソースカンファレンス2015大分LT)
鹿児島らぐはじめました(オープンソースカンファレンス2015大分LT)鹿児島らぐはじめました(オープンソースカンファレンス2015大分LT)
鹿児島らぐはじめました(オープンソースカンファレンス2015大分LT)
Kenichiro MATOHARA
 
マウスを使わないでキーボードで快適に生活する方法(GNU Screen/tmux/byobu/awesome)
マウスを使わないでキーボードで快適に生活する方法(GNU Screen/tmux/byobu/awesome)マウスを使わないでキーボードで快適に生活する方法(GNU Screen/tmux/byobu/awesome)
マウスを使わないでキーボードで快適に生活する方法(GNU Screen/tmux/byobu/awesome)
Kenichiro MATOHARA
 
鹿児島らぐC87配布ペーパー
鹿児島らぐC87配布ペーパー鹿児島らぐC87配布ペーパー
鹿児島らぐC87配布ペーパー
Kenichiro MATOHARA
 
鹿児島に引っ越しました
鹿児島に引っ越しました鹿児島に引っ越しました
鹿児島に引っ越しました
Kenichiro MATOHARA
 
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい2
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい2技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい2
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい2
Kenichiro MATOHARA
 
鹿児島のOSM状況
鹿児島のOSM状況鹿児島のOSM状況
鹿児島のOSM状況
Kenichiro MATOHARA
 
鹿児島らぐはじめました & オープ ンソースアンカンファレンス鹿児 島のお誘い
鹿児島らぐはじめました & オープ ンソースアンカンファレンス鹿児 島のお誘い鹿児島らぐはじめました & オープ ンソースアンカンファレンス鹿児 島のお誘い
鹿児島らぐはじめました & オープ ンソースアンカンファレンス鹿児 島のお誘い
Kenichiro MATOHARA
 
「BluetoothでLinuxマシンとAndroidを繋いで話が出来るようにした話」「台風で停電になって省電力の設定をした話」「ネットワークの設定が引き...
「BluetoothでLinuxマシンとAndroidを繋いで話が出来るようにした話」「台風で停電になって省電力の設定をした話」「ネットワークの設定が引き...「BluetoothでLinuxマシンとAndroidを繋いで話が出来るようにした話」「台風で停電になって省電力の設定をした話」「ネットワークの設定が引き...
「BluetoothでLinuxマシンとAndroidを繋いで話が出来るようにした話」「台風で停電になって省電力の設定をした話」「ネットワークの設定が引き...
Kenichiro MATOHARA
 
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい
Kenichiro MATOHARA
 
寿司blogが書けなくて嵌った話(MySQL/絵文字対応)
寿司blogが書けなくて嵌った話(MySQL/絵文字対応)寿司blogが書けなくて嵌った話(MySQL/絵文字対応)
寿司blogが書けなくて嵌った話(MySQL/絵文字対応)
Kenichiro MATOHARA
 
ownCloud + andoroid + picasa + flickr連携
ownCloud + andoroid + picasa + flickr連携ownCloud + andoroid + picasa + flickr連携
ownCloud + andoroid + picasa + flickr連携
Kenichiro MATOHARA
 
鹿児島らぐはじめました
鹿児島らぐはじめました鹿児島らぐはじめました
鹿児島らぐはじめました
Kenichiro MATOHARA
 

More from Kenichiro MATOHARA (20)

Raspberry piのsdl等に対応したreal vncを試してみた
Raspberry piのsdl等に対応したreal vncを試してみたRaspberry piのsdl等に対応したreal vncを試してみた
Raspberry piのsdl等に対応したreal vncを試してみた
 
ちょっと古いマシンにLinuxを
ちょっと古いマシンにLinuxをちょっと古いマシンにLinuxを
ちょっと古いマシンにLinuxを
 
鹿児島Linux勉強会2016.04
鹿児島Linux勉強会2016.04鹿児島Linux勉強会2016.04
鹿児島Linux勉強会2016.04
 
Raspberry Piにdiskless modeのalpine linuxを導入してみる
Raspberry Piにdiskless modeのalpine linuxを導入してみるRaspberry Piにdiskless modeのalpine linuxを導入してみる
Raspberry Piにdiskless modeのalpine linuxを導入してみる
 
勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作る
勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作る勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作る
勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作る
 
オープンソースカンファレンス大分参加報告 & 勉強会向けサーバを作ってみる
オープンソースカンファレンス大分参加報告 & 勉強会向けサーバを作ってみるオープンソースカンファレンス大分参加報告 & 勉強会向けサーバを作ってみる
オープンソースカンファレンス大分参加報告 & 勉強会向けサーバを作ってみる
 
OSC15OT 配布ペーパー
OSC15OT 配布ペーパーOSC15OT 配布ペーパー
OSC15OT 配布ペーパー
 
鹿児島らぐはじめました(オープンソースカンファレンス2015大分LT)
鹿児島らぐはじめました(オープンソースカンファレンス2015大分LT)鹿児島らぐはじめました(オープンソースカンファレンス2015大分LT)
鹿児島らぐはじめました(オープンソースカンファレンス2015大分LT)
 
マウスを使わないでキーボードで快適に生活する方法(GNU Screen/tmux/byobu/awesome)
マウスを使わないでキーボードで快適に生活する方法(GNU Screen/tmux/byobu/awesome)マウスを使わないでキーボードで快適に生活する方法(GNU Screen/tmux/byobu/awesome)
マウスを使わないでキーボードで快適に生活する方法(GNU Screen/tmux/byobu/awesome)
 
鹿児島らぐC87配布ペーパー
鹿児島らぐC87配布ペーパー鹿児島らぐC87配布ペーパー
鹿児島らぐC87配布ペーパー
 
鹿児島に引っ越しました
鹿児島に引っ越しました鹿児島に引っ越しました
鹿児島に引っ越しました
 
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい2
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい2技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい2
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい2
 
鹿児島のOSM状況
鹿児島のOSM状況鹿児島のOSM状況
鹿児島のOSM状況
 
鹿児島らぐはじめました & オープ ンソースアンカンファレンス鹿児 島のお誘い
鹿児島らぐはじめました & オープ ンソースアンカンファレンス鹿児 島のお誘い鹿児島らぐはじめました & オープ ンソースアンカンファレンス鹿児 島のお誘い
鹿児島らぐはじめました & オープ ンソースアンカンファレンス鹿児 島のお誘い
 
「BluetoothでLinuxマシンとAndroidを繋いで話が出来るようにした話」「台風で停電になって省電力の設定をした話」「ネットワークの設定が引き...
「BluetoothでLinuxマシンとAndroidを繋いで話が出来るようにした話」「台風で停電になって省電力の設定をした話」「ネットワークの設定が引き...「BluetoothでLinuxマシンとAndroidを繋いで話が出来るようにした話」「台風で停電になって省電力の設定をした話」「ネットワークの設定が引き...
「BluetoothでLinuxマシンとAndroidを繋いで話が出来るようにした話」「台風で停電になって省電力の設定をした話」「ネットワークの設定が引き...
 
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい
 
Kof2014 kgo lug
Kof2014 kgo lugKof2014 kgo lug
Kof2014 kgo lug
 
寿司blogが書けなくて嵌った話(MySQL/絵文字対応)
寿司blogが書けなくて嵌った話(MySQL/絵文字対応)寿司blogが書けなくて嵌った話(MySQL/絵文字対応)
寿司blogが書けなくて嵌った話(MySQL/絵文字対応)
 
ownCloud + andoroid + picasa + flickr連携
ownCloud + andoroid + picasa + flickr連携ownCloud + andoroid + picasa + flickr連携
ownCloud + andoroid + picasa + flickr連携
 
鹿児島らぐはじめました
鹿児島らぐはじめました鹿児島らぐはじめました
鹿児島らぐはじめました
 

Lt raspberry piで動画配信