Intel Edisonを動かす(12) ライブストリーミングを考える編

edison_001_R

Intel Edsionによるストリーミングライブカメラの作成も今回で4回目です。今回はいよいよ、ライブストリーミングについて考えてみたいと思います。ライブストリーミングにはさまざまな実現方法があります。
一つは映像をそのまま流す方法です。映像のフォーマットは色々ありますが、基本的にはカメラから出力される映像をネットワークに適したプロトコルに変換し、転送する方法です。この映像の受けて側はクライアントであったり、サーバだったりします。クライアントの場合は直接カメラから映像を受け取ります。このときの接続は1対1だったり、1対多だったりします。つまり送る側は1で、受け取る側は1つだったり複数だったりします。受け取る側が複数の場合、送る側はクライアント1つ1つに送る方法では非常に負荷がかかるため、まとめて送ったりします。
また受け手がサーバの場合は、この問題を解決することが出来ます。送り側は常にサーバに送るだけで済みます。受けてであるクライアントはサーバに接続して映像を受信します。こうすることにより、送り側の負荷は非常に少なくなります。またクライアントが増えた場合、サーバのリソースを増やすことにより対応可能です。

さて、Edisonではどうするか?今現在は製品を作るわけでもなく、Edisonの可能性を見出すための工作ですので、手段云々でなく、最も簡単で手間のかからない方法をとりたいと思います。

ではその方法は一体何か?といいいますと

apt-get

でしょうか。
apt-getで目的のソフトを一発インストール!
果たしてこれで組み込みソフト開発と言えるのか?少々疑問が残ります。これではWindowsでアプリ開発していることと何ら変わりません。いやもしかするとそれ以下かもしれません。ここはやはりソースからコンパイルするのがLinuxらしいと愚考します。

さてさてそれではどのソフトを使うかですが、まず最初に試してみたいのがffmpeg+ffmpegです。これはカメラからの映像の取り出しをffmepで行い、その映像データをffserverで配信する仕組みです。

もうひとつが、これはもうおなじみかもしれません、mjpeg-streamerです。これは字のごとく、mjpegです。なんのことかと言うと、カメラからjpeg画像を取り出し、それをHTTPで連続で流すという仕組みです。通常HTTPは1リクエストに対し1りぷらいを1コネクションでやりとりします。このmjpeg-streamerは1リクエストに対しjpeg画像を1コネクションで連続で流します。そうコネクションを切らないのです。送る映像はjpegですので、動画とはいえないかもしれませんが、実際にその映像を見てみると何ら遜色が無いことが分かります。

ではffmpegによるライブストリーミングを実際に取り組んでみます、
次回お楽しみに♪

 

⇐(11)続カメラ編へ戻る

(13)ffmpegによるライブストリーミング編その1へ⇒

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です