ねこライブ配信システム 全体(その1)







我が家のねこ達(他の人間を含む動物)をライブカメラを通じて見守っていただきありがとうゴザイマス。




3年ほど前に構築したライブカメラシステムですが、その仕組みなどを知りたいというファンの方がいらしたのでその概要をまとめてみました。




ハードウエアも進歩していますので、新しいハードウエアを使えばもっと性能、品質の良いライブ配信ができるかもしれません。




まずは、構築しているライブ配信のシステム図から。





上記画像をクリックすると少し高解像度になります



注意:この図では、6台あるカメラをすべて記述していません。
6台のうち2種類のタイプの違うカメラについて描いています。
これから各要素についてどんなことをしているか列挙します。
まず最初にお断りしておくのは、以下の事項です。

* システムのセキュリティにかかわることはあまり記述していません。実用の場合にはよく検討クダサイ。
* 記述しているのは2013年時点での内容です。もっと良い方法があると思います。
* 画像圧縮はすべて h.264を使い、圧縮形式はできるだけそのまま使っています。





図に登場する主な機能は以下のようなものです。

追記: 図中うすい黄色で囲った部分は、撮影からストリーミング配信までの最小構成の場合です。


1.raspberrypi と USBカメラによる撮影とエンコード、そして映像データをcrtmpserverへ送出。
2.crtmpserver による映像データの受け取りから、そのストリーミングデータのリクエストに応じた配信。
3.自動録画のHDDへの保管はffmpeg
4.5秒おきのサムネイル画像生成,ffmpeg(サムネイルから画像統合は別のツールを使っています)
5.Ustreamライブ放送への接続もffmpeg
6.Flashを使わないと宣言しているiOSやAndroidへの動画はApple推奨のHLS形式でffmpegを使い配信
7.まみむめも ライブ配信閲覧ページではFlowPlayer(Flash版)を使ってパソコンのブラウザから動画を見えるようにしています。
8.crtmpserverからはrtmpによるストリーミング配信が可能です。rtmpを直接受信できるVLCなどのプログラムでもビデオを見ることができます。




すでにインターネットでもいくつか解説済みのものがあるので、リンクなどを交えながら折を見て順番に説明していきたいと思います。




マー君、頑張るんだッ!





いやですニャっ。



解説記事はわかりやすさなどを考慮し、勝手に変更しています。ご了承ください。

ねこライブ配信システム 全体(その1)
ねこライブ配信システム gstreamerでカメラから転送(その2)
ねこライブ配信システム v4l-utilsでカメラ制御(その3)
ねこライブ配信システム crtmpserver配信の主役(その4)
ねこライブ配信システム WEBで動画再生FlowPlayer(その5)
ねこライブ配信システム 便利ツールffmpegの準備(その6)
ねこライブ配信システム ffmpegでサムネイル生成(その7)


関連記事

ねこライブ配信システム 全体(その1)” への5件のコメント

  1. こんにちは。
    その2の公開ありがとうございます。
    (あちらではコメント欄が無かったのでこちらで失礼します。)
    その2も大変判りやすく毎回感謝しております。

    raspberry pi 3 ですが、ラズベリー関係を調べていて発見してました。(笑

    値段も安めで無線も付いてて魅力的なのですが有線100とストレージ(HDD)等を付けるのがUSB経由となるのでそこがボトルネックになるかなと思ってます。
    後はサーバや色々な機能を入れるとDISKI/Oも増えると思いますが、SDの耐久(書込回数)で良くSDカードがお亡くなりになるとかもあるみたいです。(ネット調べ)
    (とすると外付けで・・・でUSBのボトルネックとループしてます。
    新型で有線ギガ化とUSBとIOを独立したSATAポートを付けて出してくれれば即決なんですけどね)

    類似品のBANANA PIやCubieboardや中古(古い)PC等も見ているのですが、値段、無線利用不可(国内技適)等どれも一長一短あるのでどうしようかと悩んでいるところです(笑

    構成要素等の記事も楽しみにしております。
    (ただ本当にお手すきの時でかまいませんので)
    ではではっ

    • くーたさん、

      その2にコメント許可をしてなくてスミマセン。 今はコメントできるようにしています。

      RaspberryPiは歴代、ネットワーク関連がすべてUSB経由をしているのでおっしゃるようなボトルネックが気になりますね。 外付けHDDまでつけて処理をするとなると影響があるかもしれません。

      なお、SDカードへの書き込み回数制限の件、これも今後の記事にしようと思っていますが、SDカードはReadOnlyにして、RAMDISKに情報を書き込ませるようにしています。

      電源をねこがいつ引っこ抜くかわからないので、そのような対策をしています。

      RaspberryPiについてはログを残していませんが、これまでのところその必要もないようです。

      冬本番。 好きな魚釣りも行けないので、週末には記事を少しずつ書き溜めてます。笑 では。

  2. こんばんは。
    マー君、早速の開設ありがとうございます。(違?
    お礼に頭をナデナデしてあげたいです(むしろさせて頂きたいデス
    と冗談はさておき、本当に早くにありがとうございます。

    とても判りやすくて参考になります
    (しかもサーバがopteronとはシブイですね。)
    自習内容とあわせて色々弄ってみます。

      • くーたさん、

        ご参考になればうれしいです。

        raspberrypi はすでに3になっていて、驚異的に高性能になっているようです。無線LANも内蔵されているので、crtmpserverもraspberrypiに内蔵させて「手のひら」で配信ができるようにできるんぢゃないですかね!

        raspberry pi 3 が欲しくなる今日この頃でした。

        各構成要素についても手のあいたときに記事にしていくつもりです。 では。

コメントを残す

メールアドレスが公開されることはありません。


6 − 五 =