Raspberry Pi に USB Web カメラ C270 を繋げて、Mjpeg-Streamer で、以前問題無く表示されていたのに、最近久しぶりに試してみたら画像が出てきません。
結論から先に言えば、最近のパッケージアップデートで、kernel 3.18 になって、bcm2835-v4l2 カーネルモジュールが、YUYVモードでしか動作せず、MJPEGモードで動作しなくなったのが原因みたいです。
結論から先に言えば、最近のパッケージアップデートで、kernel 3.18 になって、bcm2835-v4l2 カーネルモジュールが、YUYVモードでしか動作せず、MJPEGモードで動作しなくなったのが原因みたいです。
原因がわかるまで、散々あちこち変更して試してみたけれど、結局、上手く見えなくてあきらめかけていました。
が、Mjpeg-Streamer の起動オプションを、他の人の設定値と見比べていたら、 -y を使った人がいたので、試してみたら、やっと見えるようになりました。
以前は、-y は使わずに、MJPEGで問題無く表示されていたのに。
一応、動画が見える様になったけど、かなり遅くなった様な気がします。
今は、3fps くらい。
以前の、MJPEGモードの時は、もっと早く見えていた気がしますが、 9fps くらいかな?
YUYVモードで見える様になってから、グーグルで、 "Raspbian Mjpeg-Streamer YUYV MJPEG" などで検索してみたら、同じ現象に見舞われていた人がこの事を書いていました。
2015年1月には、この現象が出ていたみたいです。
https://www.raspberrypi.org/forums/viewtopic.php?t=97983
https://github.com/raspberrypi/firmware/issues/347
2月9日には、fixしたと書いているのになーあ、でも改善されないのは、なぜ!
IMHO it is fixed. Streaming is working fine on 3.18.xx with the above patches.
おんちゃんは、最近、初めて、ファームウエアの更新もちゃんとしました。
uname -r でみたら、3.18.11+ だけど、状況は、同じみたいだけど
カーネルモジュールが再度、修正されるまでは、これで我慢するしか仕方がないみたいです。