スポンサーリンク

自宅サーバーのライブカメラを1920の高画質化

スポンサーリンク
スポンサーリンク

このブログ、以前は自宅サーバーから配信していましたが、現在はレンタルサーバーを借りてそちらで運用しています。
しかし今でも自宅サーバーはネットには接続していませんが運用していて、駐車場や庭の様子を確認するために複数のカメラを接続して365日24時間稼働させています。 動体検知型なので動くモノ(人、車、動物等)があると静止画と動画で保存してくれています。

自宅サーバーはOSはUbuntuで、動画ソフトはmotionを使用しています。
接続しているカメラは同じ機種のモノを使うとコマンドで設定する時にどれなのかわからなくなるのでそれぞれ別の機種を使っています。
そのうちのこちらのカメラですが、NUROUM V15-AFというウェブカメラで特徴は、
・最大解像度 2K 2560✕1440ピクセル
・オートフォーカス
・視野角 75度
・自動調光補正AC
・ノイズキャンセリング
・OS Windows/Mac/inux
というかなりハイスペックなモノです。

ところがこれを接続してmotionで稼働させているのですが設定をどうやっても解像度は 640✕480にしかなりませんでした。
状況としては、このカメラ(video0)の設定は1920✕1080にしていますが、映し出される映像は640✕480より大きくなっていません。
しかたなくその設定で半年ほどやっていましたがどうにも納得いかなかったのでいろいろ調べてみましたがようやく成功しました。

解決した手順としてはまず、自宅サーバーにv4l2-utilsをインストールしてからv4l2-ctlコマンドを使用します。
次のコマンドでこのカメラで設定できる解像度とコマ数を確認します。
$ v4l2-ctl -d /dev/video0 –list-formats-ext
結果は、

やはり最高で、2560✕1440、ほかにも1920✕1080、1280✕720で映像が表示できるはずです。

よく見てみると上記の設定ができるのは「MJPG」となっています。
もう一つの設定である「YUYV」では640✕480、640✕360しか設定されていません。
どうもこれが原因で解像度が上がっていなかったようです。

もう一度 /etc/motion/motion.conf の設定を確認してみました。
ここで、「v4l2_palette」がデフォルトで「17」になっていたところを「8」に設定し直してみました。

これで自宅サーバーを再起動させたところ、見事に映像が1920✕1080になりました。
ほかにも1280✕720にも設定できました。

ほんの一つのコマンドでずっと悩んでいたのがウソのようです。

コメント

タイトルとURLをコピーしました