Mac 環境で、音声編集ソフト Audacity に FFmpeg を導入する

Podcastの音声編集にAudacityを使用しているのですが、
とあるMac環境(64bit 2012 Macbook Pro)にAudacityをいれたらFFmepgがないと怒られました。

なので、その備忘録。

Audacity自体は下記URLの “Audacity macOS DMG” をダウンロード

https://www.fosshub.com/Audacity.html

audacity

ダウンロードが終わったら、Audacityをインストールしてアプリケーションフォルダにドラッグすれば完了。

で、アプリケーションフォルダのAudacityをダブルクリックで起動すると、
Application supportのAudacityにffmpegがないというエラーが出た。

確認してみると本当にない。ちなみにこのApplication supportフォルダを確認しようとターミナルで、
/Libraly/Application Support
ではアクセスできなくて一瞬あれ?となりました。
Finderで、
ライブラリ/Application Support
ですぐにアクセスできるので、どうでもいい話ですが。

audacity library

肝心のFFmpegを下記からダウンロードしてインストールすれば自動的にAudacityのlibに入るので、これで問題解決です。
今回の場合には、64bit Mac OS X用をダウンロードします。

https://lame.buanzo.org/#lameosx64bitdl

CentOS 7.7 への Docker-CE インストール

2020年1月10日時点でのCent OS 7.7へDockerCE(安定板)をインストールする方法になります。
ブログ公開から時間が経過して、リポジトリに変更等があった場合には、適宜設定し直してください。

1. 古いバージョンのDockerをインストールしていた場合、アンインストールする(1.13.1などのリビジョン番号のルール変更前のバージョン)

$ sudo yum remove docker \ 
                  docker-client \ 
                  docker-client-latest \ 
                  docker-common \ 
                  docker-latest \ 
                  docker-latest-logrotate \ 
                  docker-logrotate \ 
                  docker-engine

2. yumリポジトリを追加するために依存関係モジュールをインストール

$ sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

3. Docker-CE(安定版)のリポジトリを追加

$ sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

4. Docker-CEのインストール

$ sudo yum install docker-ce docker-ce-cli containerd.io

5. Docker起動

$ sudo systemctl start docker

Dockerを自動起動させたい場合には下記も
# sudo systemctl enable docker

6. Dockerインストールされたかの確認にバージョンを確認

$ docker -v
Docker version 19.03.5, build 633a0ea

7. Hello Worldしてみる

$ sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete 
Digest: sha256:d1668a9a1f5b42ed3f46b70b9cb7c88fd8bdc8a2d73509bb0041cf436018fbf5
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

深セン華強北 アイデアポート・グループ代表 鈴木陽介さんのオフィス訪問

kindle unlimitedで下記の本を見つけ、読ませていただきました。

問屋街オタクの深セン起業「ウラ話」: 華強北でハースタしています!! 問屋街オタクシリーズ

これがきっかけでご連絡させていただいたところ、ご訪問OKということになり、実際に2019年10月17日に華強北にある鈴木陽介さんオフィス(深圳技知港諮詢有限公司)を訪問させていただきました。

場所はこのブログでもよく紹介している深セン(Shenzhen)の電気街、華強北エリアにある
華強北国際創客中心(Huaqiangbei International Maker Center)
というところになります。

華強北国際創客中心(Huaqiangbei International Maker Center)

入ってすぐに入居企業のプロダクトショーケースが鎮座。

華強北国際創客中心 プロダクトショーケース

施設の紹介や、現在やられているビジネスについてなどいろいろとご説明をしていただきました。

鈴木さんのブース前はこんな感じで本の紹介が貼ってありました。
深センのことをよく知らない方、華強北に興味がある方はご一読を。

鈴木陽介さん著作 深セン本

華強北でのIoTプロトタイピングのワークショップをやられているとのことなので、
ハードウェア制作に興味がある方は是非ご連絡してみてください!

申し込みなどのご連絡先は下記になります。
ipt@@ideaport.com.hk
注:@@を@に変えてメールを送ってください。迷惑メール対策です

今後も定期的にやっていきたいとのことだったので、
もし、今回都合があわなくても次回がありますので、次回開催の連絡等もしておくといいかもしれません。

このブログにコメントしていただいた場合には、私が代わりに伝えておきます(笑)(コメントに気づかなかったらすみません、不安な方は直接上記にご連絡を)

華強北での IoT プロトタイピング ワークショップ

 

アイデアポート・グループ代表の鈴木陽介さんが他にやられている事業のご紹介

深センの工場通訳派遣なら、深セン通訳ドットコム!!

深センコネファクトリー

PoE非対応のIPカメラを長距離延長する方法

防犯カメラを屋外で長距離延長して設置したときの、よくあるトラブルを解説!

レコーダーやルーターから遠く離れた箇所に防犯カメラを設置しようとして、うまくいかなかったことはありませんか?
もしくは、これから設置しようとして、簡単にできる方法はないかと探しているところでしょうか?

特にPoE非対応のIPカメラの場合、
■電源ケーブル
■通信のためのLANケーブル
この2本を引かなくてはいかないので、けっこう大変です。
かといってPoE対応IPカメラやPoEルーターは高額。

こういうときにPoEスプリッター(LANコネクタ)がとても便利。
これを使うと、先ほどの電源ケーブルとLANケーブルを1本のLANケーブルにまとめて通信、給電することができるので、設置の際のケーブルコストや設置場所、手間を削減できます。

12V PoEスプリッター IPカメラ用

上記がそのPoEスプリッターでLANケーブル両端(IPカメラ側、ACアダプタ・ルーター側)に上記を取り付けることで、通信、給電をLANケーブル1本にまとめることができます。

ちなみに屋外に設置するから防水が気になるという方は、下記のような防水タイプもあります。


【 防水仕様 】 12V PoEスプリッター IPカメラ用

通信の場合にはLANケーブルを100m以上延長したとしてもそんなに問題はでません。
問題になるのは、給電(電源)になります。
これは、ケーブル自体が電気抵抗になるため、ケーブルが長くなるほど(延長距離が長いほど)入力した電気が、カメラに到達するまでに減衰してしまいます。

電圧降下、大きな電流が流れない等 ⇒ 要は電力不足

なので、対策としてLANケーブルは必ず下記の仕様のものを使用しましょう。

LANケーブル規格: CAT5e以上
ゲージ規格: 24~16AWG / 単線 / ストレート結線  (単線を選ぼう!)

※AWGは数字が小さくなるほど良いです (AWG16のほうがAWG24よりも給電に良いということ)
※屋外で使用する場合には、被覆がしっかりした屋外用のLANケーブルが売られているので、なるべくならそれを利用したほうが長持ちします

これで、50m延長したとしても通常のIPカメラであれば、電力不足になることは少ないかと思います。

あるとすれば、大きな赤外線を多数搭載しているようなIPカメラPTZカメラになります。

これらは、夜間の赤外線を使用する際に一番消費電力が高くなるため、夜間に電力不足になることがあります。
なので、なぜか夜間の映像だけ不安定だった場合、赤外線による電力不足を疑った方がいいでしょう。

また、PTZカメラは駆動に通常二つ以上のモーターが搭載されているため、これがけっこう電力を食います。また、モーターは電圧にセンシティブなため
電圧降下を起こしていると動きがおかしくなったり、突然再起動したりすることがあると思います(安全装置作動による再起動)
この場合もいはゆる電力不足が原因です。

ただ、LANケーブルも上記規格のものを使用している場合には、下記の24V PoEスプリッターを試してみるのをお勧めします。

また、予算の問題もあるかと思いますが、二度手間を未然に防ぐためにもお勧めです。

24V PoEスプリッター
24V PoEスプリッター IPカメラを最大100m延長可能

これは、今までご紹介した12V用のスプリッターと違い、24VのACアダプタを用意して入力することになります。
今までのものであれば、IPカメラに付属している12VのACアダプタをそのまま流用できましたが、このスプリッターを使う場合には24VのACアダプタを用意する必要がございます。
厳密には12V~24Vの間であれば16Vとかでも使えます。

要は高い電圧を入力して、カメラの直前のスプリッターで12Vに変圧してカメラに出力します。(最大1A)

【流れはこんな感じ】
スプリッター(小)に24V入力⇒途中の経路で電圧降下~15Vとかまで落ちる⇒スプリッター(大)で12Vに調節(変圧)する⇒IPカメラに12Vを供給

最大で1Aの供給なので、大きなPTZカメラになるとやはり電力不足になりますが、小型のタイプであればこれでけっこうなんとかなります。

もし、原因不明のカメラ不安定問題があった場合には、電力が問題なことも多いので、一度お試しください。

アナログカメラ(AHD, HD-CVI, TVI, CVBS等の規格)をLANケーブルで延長したい場合はこれ(最大50m)↓


【映像・電源対応タイプ】アナログ 防犯カメラ LANコネクター AHD/HD-CVI/TVI/CVBS 対応

VPSに CentOS7 + Nginx + php-fpm でPHP環境を設定する方法

nginxでWordpressのようなPHPのWebアプリケーションを動作させるには
「php-fpm」
というアプリケーションを組み合わせます。

VPSがデフォルトの状態でPHPもまだインストールされていない状態と想定して説明しています。

VPSにはWebArena VPS CentOS 7.4を使用。

php-fpm入れる前にnginxをインストールしておきましょう
WebArena VPS CentOS 7.4 への Nginx mainline版 インストール

nginxインストールが完了したら、下記のようにphpをインストールします。

・remiリポジトリをインストール
# sudo yum install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

・PHPのバージョン情報を確認
# yum info php --enablerepo=remi-php73
利用可能なパッケージ
名前                : php
アーキテクチャー    : x86_64
バージョン          : 7.3.2
リリース            : 1.el7.remi
容量                : 3.2 M
リポジトリー        : remi-php73

・PHP 7.3 のインストール
--enablerepo オプションで remi リポジトリを指定、
その他phpの拡張パッケージも一緒にインストールします。
途中、公開鍵が入ってないよ!といわれますが探してくれるので聞かれたらyでリターンしてください。
# yum install --enablerepo=remi,remi-php73 php php-devel php-mbstring php-mysqlnd php-pdo php-gd

・バージョンを確認
# php --version
PHP 7.3.2 (cli) (built: Feb  5 2019 13:10:03) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.2, Copyright (c) 1998-2018 Zend Technologies

これで、2019年2月23日時点での最新のPHPバージョンがインストールされました。

PHP-FPMをインストールします

$ sudo yum --enablerepo=remi-php73 install php-fpm

Apacheを使用する場合は特に変更の必要はないのですが、
Nginxを使用する場合は設定ファイルの変更が必要になります。
/etc/php-fpm.d/www.conf内のusergroupnginxに変更します。

$ sudo nano /etc/php-fpm.d/www.conf
user = nginx
group = nginx

保存したら、PHP-FPMを再起動します
$ sudo systemctl restart php-fpm

Nginxの設定を変更してPHPを実行できるようにします。
/etc/nginx/conf.d/default.conf を編集します。

・今後のためにバックアップをとっておきましょう
$ sudo cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/defaul-backup.conf

・設定ファイルを編集 index.phpを追加
$ sudo nano /etc/nginx/conf.d/default.conf

location / {

      root   /usr/share/nginx/html;

      index index.php index.html index.htm;

}

・php-fpmの設定を有効化
default.confをさらに下にスクロールしていくと、下記のようなphp-fpmを動作させる部分がコメントアウトされているので、「#」を削除します。

   location ~ \.php$ {

            root           /usr/share/nginx/html;

            fastcgi_pass   127.0.0.1:9000;

            fastcgi_index  index.php;

            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

            include        fastcgi_params;

    }

nginxとphp-fpmの起動

$ systemctl start php-fpm
$ systemctl start nginx

・起動時にNginxとphpが立ち上げるようにする
sudo chkconfig php-fpm on
sudo chkconfig nginx on

ブラウザから下記にアクセスしてnginxのページが表示されれば成功
http://IPアドレス/

WebArena VPS CentOS 7.4 への Nginx mainline版 インストール

2019年2月22日時点で最新のバージョンをインストールする方法になります。
時間が経過後にリポジトリに変更があった場合には、適宜設定し直してください。

nginxのリポジトリの作成及び設定
# sudo nano /etc/yum.repos.d/nginx.repo

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key


nginxをインストール
# yum install nginx                 
nginx         x86_64         1:1.15.8-1.el7_4.ngx

CentOS7のGPGキーインポートしてない場合に、キー探していますみたいなのが表示されて、聞かれますが自動で探してくれるのでYESでOK。
しばらくすると、インストール成功!

WebArena VPS CentOS 7.4 への Apache2.4.6 インストール

WebArena VPS CentOS 7.4 へのApache2.4.6のインストール方法を丁寧に解説
※Macのターミナル利用

WebArenaのコンパネでセキュリティーグループに
sshポートの22、ウェブポートの80のアクセスを可能にしておく

tcp:22,22,ip4:0.0.0.0/0 (自分のIPアドレスを入れるほうがベター)
tcp:80,80,ip4:0.0.0.0/0(自分のIPアドレスを入れるほうがベター)

WebArenaのコンパネでキーペア(***.pem)を作成し、ダウンロード

おそらくsshキーをまとめていると思うので、Macのsshキーを保存しているフォルダに入れておく
ちなみに後で間違えないようにするためにリネームしておくといいかも

mv 元のファイル名.pem 変更後のファイル名.pem

ターミナルからSSHでVPSに接続する

sudo ssh root@VPSのIPアドレス -i キーペアの名前.pem

Apacheのインストールファイルを調べておくと

# yum list | grep httpd
httpd.x86_64                           2.4.6-88.el7.centos        base          
httpd-devel.x86_64                     2.4.6-88.el7.centos        base          
httpd-manual.noarch                    2.4.6-88.el7.centos        base          
httpd-tools.x86_64                     2.4.6-88.el7.centos        base          
keycloak-httpd-client-install.noarch   0.6-3.el7                  base          
libmicrohttpd.i686                     0.9.33-2.el7               base          
libmicrohttpd.x86_64                   0.9.33-2.el7               base          
libmicrohttpd-devel.i686               0.9.33-2.el7               base          
libmicrohttpd-devel.x86_64             0.9.33-2.el7               base          
libmicrohttpd-doc.noarch               0.9.33-2.el7               base          
python2-keycloak-httpd-client-install.noarch

下記4つをインストールすればOK
httpd.x86_64 2.4.6-88.el7.centos base
httpd-devel.x86_64 2.4.6-88.el7.centos base
httpd-manual.noarch 2.4.6-88.el7.centos base
httpd-tools.x86_64

Apacheをインストール

yum -y install httpd httpd-tools httpd-devel httpd-manual
面倒であれば下記でもよい
yum -y install httpd

Apacheがインストールされたかを確認、バージョンも確認

# yum list installed | grep httpd
httpd.x86_64                       2.4.6-88.el7.centos            @base         
httpd-devel.x86_64                 2.4.6-88.el7.centos            @base         
httpd-manual.noarch                2.4.6-88.el7.centos            @base         
httpd-tools.x86_64                 2.4.6-88.el7.centos            @base  

# httpd -version
Server version: Apache/2.4.6 (CentOS)

Apacheを起動して起動したサービスの状態を確認

# systemctl start httpd
# systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: active (running) since 木 2019-02-21 20:16:27 JST; 26min ago
     Docs: man:httpd(8)
           man:apachectl(8)
 Main PID: 1182 (httpd)
   Status: "Total requests: 0; Current requests/sec: 0; Current traffic:   0 B/sec"
   CGroup: /system.slice/httpd.service
           ├─1182 /usr/sbin/httpd -DFOREGROUND
           ├─1183 /usr/sbin/httpd -DFOREGROUND
           ├─1184 /usr/sbin/httpd -DFOREGROUND
           ├─1185 /usr/sbin/httpd -DFOREGROUND
           ├─1186 /usr/sbin/httpd -DFOREGROUND
           └─1187 /usr/sbin/httpd -DFOREGROUND
.....

firewall-cmdコマンドで、httpアクセスするための80番ポートに外部からの接続を許可設定を追加 (iptablesコマンドで行ってもよい)

# firewall-cmd --add-service=http --permanent
success

設定を反映するために再読み込み
# firewall-cmd --reload
success

設定の確認
# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources: 
  services: ssh dhcpv6-client http
  ports: 
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

services: ssh dhcpv6-client http
のようにhttpが追加されていればOK
Webブラウザから下記にアクセスしてページが表示されればOK
http://IPアドレス/

VPS サーバー CentOS 7.4 の初期設定 1

VPSサーバーを初めて利用する際に最初にしたほうがいいこと書いてみました。
WebArenaのCentOS7.4のVPSサーバーとMacのターミナルを利用。

① 作業用ユーザーを作成して、rootログインを禁止する

デフォルトではrootログインしかできない状態ですが、rootログインできる状態という事は、もし誰かにrootログインされてしまうと、なんでもできてしまう非常に危険な状態なので これを禁止します。

まずRPMパッケージを最新に更新しておきましょう
sudo yum -y update
VPSにMACターミナルからSSHで接続してください(デフォルトではroot)
sudo ssh root@IPアドレス -i ./.ssh/デフォルトのroot用sshキー.pem

1. ユーザー作成 (ユーザー名hogeは自由に置き換えてください)
# useradd -G wheel hoge 
※グループ名のwheelはsudoコマンドが使える管理者グループ名として使われる

2. 作成したユーザーにパスワードを設定する 
# passwd hoge
→エンター後にパスワードを求められるので、そこで入力する

nanoエディタのインストール(デフォルトでvi入っているので、好きなエディタ使ってください)
# yum install nano

3. 作業用ユーザーにsudo権限を付与
# nano /etc/sudoers (もしくは sudo visudo )
設定ファイル中で下記がコメント(#)されていた場合はコメントを外して保存
%wheel  ALL=(ALL)       ALL

4. SSHの設定ファイル確認・変更
# nano /etc/ssh/sshd_config

下記2箇所がコメント(#)されていた場合はコメントを外して保存
PubkeyAuthentication yes
AuthorizedkeysFile .ssh/authorized_keys
念のため
PasswordAuthentication no
になっているかも確認

RSSAuthentication no
を設定する必要は2016年のopenSSH7.4から必要なくなりました。

5. sshdをリロードする
(CentOS7からはserviceコマンではなくsystemctlコマンドを使います)
# systemctl reload sshd

アクセス元(自分以外のIP1アドレスからのアクセス)を制限したい場合には下記に設定する
# nano /etc/hosts.allow
→sshd: IPアドレス
を追記する
6. 作業用ユーザー(hoge)の公開鍵保存ディレクトリ作成
(ユーザー名hogeは自由に置き換えてください)
# sudo -u hoge mkdir /home/hoge/.ssh

Macでキーペア作成するので一時SSH終了する
# exit

7. 作業用ユーザーSSH用のキーペアをMacで作成
ssh-keygen -t rsa -b 4096 -f id_rsa_filename
(filenameは他のキーと混同しないよう自由に変えてください、id_rsaだけでもOK)

パスフレーズを設定

8. キーペアがホームに作成されるのでsshを管理している.sshフォルダに移動させる
mv id_rsa_filename ~/.ssh 
mv id_rsa_filename.pub ~/.ssh

9. キーペアのうち公開鍵であるid_rsa_filename.pubファイルをVPSサーバーにSCP(rootの鍵認証を使ってリモートにコピーする)
sudo scp -i ~/.ssh/デフォルトのroot用sshキー.pem ~/.ssh/id_rsa_filename.pub root@IPアドレス:/home/hoge/.ssh/

10. アップロードした公開鍵の名前、所有者・グループ、パーミッション変更
VPSサーバーとssh接続してから下記を実行
# cd /home/hoge/.ssh/
# mv id_rsa_filename.pub authorized_keys
# chown hoge:hoge authorized_keys
# chmod 600 authorized_keys
# chmod 700 /home/hoge/.ssh
# exit

11. Macから作業用ユーザーでSSH
sudo ssh hoge@IPアドレス -i ./.ssh/id_rsa_filename
パスワードいれて接続できれば成功

12. root接続(rootログイン)を禁止する
# sudo nano /etc/ssh/sshd_config
PermitRootLogin without-password
↓
PermitRootLogin no
というように
"without-password → no"
に変更して、保存。

13. sshdリロードする
# systemctl reload sshd
これで最初できていた、rootログインを試して拒否されれば成功

顔認識 顔検出 防犯カメラ録画機 (DVR, NVR)

防犯カメラを設置して、映像を確認する際、早送りしているものの
延々と動画を凝視し続けなくてはいけないストレスを感じたことはありませんか?

もしくは、これから設置しようと考えているけど、動体検知機能があれば、それで十分だろう!と思っていませんか?

動体検知も便利な機能ではありますが、風や犬など動くものには全て反応してしまいます。そのため、結局何かあったときに延々と動画を観察して証拠を探すということをしなくてはいけない羽目になります。

で、よくよく考えてみると、
「何かあったときくらいにしか映像を見返さない」

「何かを起こす原因は?」

「人間の可能性が一番高い」
ということで、人間がカメラの前を通った時にトリガーが起き録画が開始される機能。こういうのを動体検知と組み合わせると見返すのがとても楽になる。
※問題起こすのが動物の場合や車の場合もあるので、そういうときは動体検知が役立つ

ということで、顔認識機能が搭載されたDVR (NVR) がこれ
アナログカメラIPカメラ合計4台まで接続できる録画機で、
下記の写真のように1台のカメラ画像に対して顔認識をかける事ができる。

顔検出 防犯カメラ 顔認識
顔認識 防犯カメラ

全ての顔を認識できるわけではなく、夜間になると認識できなくなったり、
速いスピードで横切られると認識できなかったりなどありますが、
下記のような顔一覧でイベントを探すこともでき、何か起こった際の映像を見返す際の作業が便利にはなると思います。

顔検出 防犯カメラ 顔検出一覧画面

なので、もし録画機(DVRやNVR)のご購入を考えている方には
エントリーモデルとして、まずはこの顔検出DVRお勧めです。
※アナログカメラはAHD, CVI. TVIなどのハイビジョン規格カメラ1080P(200万画素)まで対応

ただ、ネットワークの設定などご自分でできる方向けの商品なので、
素人の方で、ご自分でネットで調べたり出来ない方はご購入されないほうがよい
商品となりますのでご注意ください。

購入できるお店は下記
倉庫ダイレクト東京 楽天市場店
ハイバリューダイレクト Yahoo!ショッピング店

防犯カメラの選び方 CMOSの画素数だけに惑わされないために

防犯カメラを選ぶ際に検索してみると、
200万画素はザラで500万画素なんてのもよく見かけるようになりました。

でも、価格はバラバラですよね?
200万画素のほうが何故か500万画素よりも高いものなんてのもよく見かけます。

画質を決定するものにCMOSサイズが重要です。
カメラの詳細を見ると
「1/2.8″ SONY CMOS IMX323」
みたいにcmosの前に分数で1/2.8″というようにサイズが表記してあるものがあります。
これがcmosサイズになります。

※レンズサイズと混同しないようご注意。レンズは2.8mmや3.6mmなどと表示されており混同しやすいです。
わからない場合には販売店に問い合わせて確認しましょう

高級なカメラ、ミラーレスや一眼レフなどでとても高価なものには
cmos 1/1 が使用されている場合もございますが、
価格を安くするために、ここを何分の1かにしてコストを下げているのです

つまり、cmosサイズが大きいほど画質は向上します。
(価格も上がります)
なので、同じ画素数でカメラを探す場合には、cmosサイズが大きいものを選択することを
お勧めします。

今まで、高画質なものを選んできたのに、同じ画素数のはずなのに
なぜか画質がカメラ毎に違うんだろう?
と感じていた場合、
cmosサイズcmosメーカー名を確認してみてください。

防犯カメラにも高画質の波がきており、比較的廉価の部類でもCMOSサイズが
1/1.8〜1/4
の広い範囲で選べるようになってきています。

cmosメーカーも画質に影響します。

sonyが一番価格は高いですが、低照度で赤外線無しでカラー撮影ができたりと
画質にこだわる場合には一番お勧めです

画質よりも価格という場合には、OV(米OmniVision)やAptinaというところでしょうか。

Raspberry Piを触ったことがある方も多いかとおもうのですが、
専用のカメラの表記には800万画素や500万画素となっているのに、
撮影すると思ったより画質がよくない
と思ったことありませんか?

それは、価格を抑えるためにRaspberry Pi用カメラのcmosは
1/4サイズ
だからです。けっこう小さいです。

なので、同じ800万画素と表記されていても一眼レフのほうが
綺麗にとれたりするのはこのためです。
500万画素の防犯カメラのほうが綺麗にとれるということも普通にあると思います。

簡単にご紹介しましたが、防犯カメラを選ぶ際に
CMOSサイズ
CMOSメーカー名
を確認してみましょう。