2014年6月16日月曜日

Raspberry PI Camera module で撮影した動画を iOS デバイスにリアルタイム配信

Raspberry PI Camera module で撮影するハイビジョン映像を、そのまま HLS で iOS デバイスに送信することを試してみました。

参考にしたのは以下、このままだと胸像反転した映像になるのと、古い画像がプレイリストに残って遅延するので、送信のためのスクリプトは以下のように変更

raspivid -n -w 720 -h 405 -fps 25 -vf -hf -t 86400000 -b 1800000 -ih -o - \
| ffmpeg -y \
    -i - \
    -c:v copy \
    -map 0:0 \
    -f ssegment \
    -segment_time 4 \
    -segment_format mpegts \
    -segment_list stream.m3u8 \
    -segment_list_size 1 \
    -segment_list_flags live \
    -segment_list_type m3u8 \
    "segments/%01d.ts" 


trap "rm stream.m3u8 segments/*.ts" EXIT



セグメンタ(ここでは ffmpeg をその目的で使用)にまだチューニングの余地はありそうですが、とりあえず撮影画像を4秒毎にセグメントに切って配信すると、こんな感じで 8 秒ぐらいの遅延(リアルタイム?)で配信できました。左側の iPad mini の、カンファレンス時計の映像を、左下の Raspberry PI で撮影して HLS で配信し、右側の iPad2のブラウザで再生しています。 

左の iPad mini を撮影して右の iPad2 で再生

配信映像を iOS で受けることができるので、簡易なモニタシステムを素早く安価に設置するなどの目的に便利に使えそうです。

0 件のコメント:

コメントを投稿