More Related Content
Similar to ひよこch 配信中 (20)
More from Kenichiro MATOHARA
More from Kenichiro MATOHARA (20)
ひよこch 配信中
- 4. OSM 的にも未開の地?
●
主要道路,警察,学校あたりは入っているけ
どその他のPOI とか全然ないのでいっぱい入
れられそう.
●
でも,精米所って,乾燥場って,たこ焼き屋
はfast food? とか結構謎だったり.
●
細い道路とかも結構入ってないのでぼちぼち
埋めて行こうと思っています.
- 6. 本題
●
先週の土曜日ひよこがやって来ました
●
有精卵を預けて孵してくれるところがある
●
40個預けて37個孵る
● Hiyocochang kawaii!
●
Raspberry Pi もwebcam もある
●
配信してみよう
- 8. 配信方法
●
ブラウザ + Flash は重い
●
Webcamstudio 以前かじって重い&不安定だっ
た
●
最近のffmpeg は普通にRTMP が使える
– RTMP : Real Time Messaging Protocol
– Adobe Flash のストリーミングプロトコル
– Ustream.tv/Justin.tv/Radoko とかとか
- 9. 早速試す
●
流しっぱなしにしたいので配信サービスは
Justin.tv を選択
– Ustream でも同じように配信可能だけど確か6時
間で切れちゃうので再接続が必要
●
Raspberry Pi にはWebCam(UVC が楽だけど引越し
荷物から初めに出てきたCreative Live! Cam
Notebook Pro (gspca_ov519)とWiFi アダプタ
PLANEX GW-USHYPER300(r8712u) を接続.
- 10. 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 を投げるだけで配信開始
- 11. 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 で確認済み.
- 12. 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 とか><
- 13. 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
- 14. クロックアップを試みる
●
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><
●
ちなみにRaspberry Pi のハードウェアエンコードが使えればfullHD(1080p) の
60fps 30fps出るはず.
- 15. その後
●
とりあえず見られるからいいかとそのまま放置.
●
よく切断されるようになる(ffmpeg が何故か落ちる)
– Shell Script でffmpeg を無限ループにした
●
昨日から全然配信できなくなる(ffmpeg が起動して配信開始
前にffmpeg が落ちる)
– さっき電源付きUSB ハブ経由でカメラ&WiFi を繋いだら安定した
ぽい.( Raspberry Pi のUSB は140mA しか電流が流れません>< )
- 16. これから
●
ハードウェアエンコードできるようにしたいですが….
– 今のところ望み薄?
– もうすぐ出るカメラボード(
http://www.raspberrypi.org/archives/3432 )はいけるようになる?
●
画面上に温度なども合成したい.
– 温度センサから温度管理もしたい(コタツヒーター)
●
#実は静止画を配信したほうが幸せに慣れたりして><
●
##それかRaspberry Pi を諦める?
- 18. 発表後
●
三浦さんからOpenMAX というのがエンコー
ドに使えるんじゃないかという話が.
– “OpenMAX - The Standard for Media Library
Portability” http://www.khronos.org/openmax/
– “H.264 | Raspberry Pi”
http://www.raspberrypi.org/archives/tag/h-264
期待できそう.確認してみます.