• タグ別アーカイブ: zoneminder
  • ZoneMinderでの上書き録画(定期削除)方法

    ZoneMinderをデフォルトインストールした直後は、HDD容量が一杯になる前に古い録画ファイルを削除して空き容量を確保する設定がされていません。長期運用するためには必須の機能となる為、その設定方法を紹介します。

    設定方法

    1. フィルター画面より「フィルタを使用する」から、PurgeWhenFullを選択します。
    2. ディスクの割合が95%以上になったら削除されるよう、以下の通り設定します。
    3. 「マッチした全てを削除」及び「バックグラウンドでフィルタを実行」を選択します。
    4. 「保存」を押下します。
    5. 「実行」を押下します。
    6. 上記までで設定完了です。数日間運用し、DISKが一杯になった場合に削除されることを確認してください。

    その他TIPS

    録画期間を非常に長く設定するために、8TBやそれ以上のHDDをあてがっている場合、95%も録画がされるのは半年後、1年後になる可能性もあります。そういった場合、手っ取り早くテストするためには、「ディスクの割合」を「10」%以上等、少ない値を設定してみてください。

    または、該当HDDの録画エリア以外の場所に、適当なファイルを連続コピーしてHDDの空き容量をわざと上げて検証するのもいいかもしれません。


  • zoneminderへONVIF対応ネットワークカメラを登録する方法

    zoneminderにONVIF対応のネットワークカメラを登録する方法です。「ONVIF対応のネットワークカメラ」と書きましたが結局のところは数千円で購入可能なスマートカメラです。

    USB接続のWebCamについては、別途登録方法を紹介します。

    追加を押下
    画面右上の電波のマーク(ONVIF設定)を押下
    「検出されたカメラ」をプルダウンから選択し、カメラ側に設定したユーザー名、パスワードを入力して次へ。
    対象のカメラがサポートする解像度やONVIFバージョン等が一覧表示されるので、好きな解像度を選んで「保存」を押下

    上記までで、zoneminderが自動検出したONVIFカメラの情報が、カメラ登録画面に反映されます。この時点ではまだ「zoneminderが機器情報から読み取った情報を登録画面に入れてくれた」だけの状態です。

    以下の一般設定~Miscまでの各画面で必要項目を入れて保存して登録完了となります。(左側のリンクを押してページ移動しても、入力値は保たれます)

    名前に適当な名前を入れてください。英語表記をお勧めします。また、ソースタイプには「Ffmpeg」、機能には「Mcord」を入力してください。また、その下の「有効化」チェックボックスはONにしてください。
    ONVIF検索結果から、「ソースパス」、「Method」が入力されているはずです。各々設定内容を確認してください。なお、MethodはUDPが好ましいですが、エラーが出る場合にはTCP等、他のプロトコルを選択して試してみてください。

    DecoderHWAccelNameと、DecoderHWAccelDeviceは、GPUエンコードの指定です。GPUエンコードをサポートしたハードウェアかつ、ffmpegがGPUエンコードをサポートした状態でコンパイルされているときは、指定可能です。

    「Storage Area」は、オプション画面から設定可能な「Storage Area」を選択します。デフォルトのままでも構いませんが、可能であれば、zoneminder用にのパーティションを選択してください(windowsで言うところの「データはDドライブに置く」みたいな感じです)。
    タイムスタンプは、お好みで編集してください。特に設定する必要はありません。
    「バッファ」の「画面バッファサイズ」は「60」あたりを入れておくといいです。あまり小さい値を設定すると、ログにワーニングが出て、「最低でもこのサイズにしてください」的なログが出ます。その場合には、指摘されたサイズ以上のバッファサイズを指定します。
    コントロールは、カメラをリモートからコントロール可能であれば設定します。(首振りとかを制御するようです。対応したカメラを持っていないので未検証ですが・・・・)
    最後に、「Misc」の値を確認して「保存」を押下して完了です。

    登録完了すると、以下画面のように、対象カメラからの録画が開始されます。ソース列にあるIPアドレスをクリックすることで、先ほどまで設定したカメラの設定画面を表示可能です。設定値を見直したい場合には、そちらから設定しなおしてください。

    他に、機能列で「Mcord」となっている箇所は、以下の何れかに変更することが可能です。

    用途に合わせて適宜選択してください。私の場合には「Mcord」での運用が多いです。

    Function意味
    Noneモニターは現在無効になっています。ストリームを表示したり、イベントを生成したりすることはできません。何も記録されません。
    Monitorモニターはライブストリーミングでのみ使用できます。画像分析は行われないため、アラームやイベントは生成されず、何も記録されません。
    ModectMOtion DEteCTtionの略。キャプチャされたすべての画像が分析され、モーションが検出された録画ビデオでイベントが生成されます。
    Recordモニターは継続的に記録されます。固定長のイベントは、従来のタイムラプスビデオレコーダーと同様に、モーションに関係なく生成されます。このモードでは、動きの検出は行われません。
    Mocordモニターは継続的に記録され、それらのイベント内でモーションが強調表示されます。
    NodecNo DEteCTtioの略。外部トリガーで使用するように設計された特別なモードです。 Nodectではモーション検出は行われませんが、外部トリガーで必要な場合はイベントが記録されます。

    以上でONVIF対応カメラの登録は完了です。


  • zoneminderの日本語化パッチ

    zoneminderをインストールしたところ、「LANG_DEFAULT」に「ja_jp」を選択しても殆どの項目が英語表記のままで、「専門用語も多く、設定が難しい」状態となりましたので、各種日本語化を図りました。その成果物は以下ファイルとなります。

    利用においては自己責任にて利用をお願いいたします。他サイトでの紹介などを検討している場合には、コメント欄からご連絡いただければ特に問題ありません。

    なお、現状は自身で作った設定で、実運用しながら設定をアップデートしている最中となります。ある程度固まったら本家サイトへのフィードバックもしたいと思います。

    なお、ファイルへの直リンクではなく、当ページへのリンクとしてください。(手順中でwgetで取得する場合には、近くに参考サイトとして記載頂ければ問題ありません。)

    日本語化した画面

    ダウンロード

    ja_jp.php.zip

    • 2020/09/22・・・新規作成

    説明

    メニューやボタンを日本語化します。

    使い方

    以下のように、ja_jp.phpファイルを差し替えてください。

    sudo cp /usr/share/zoneminder/www/lang/ja_jp.php /usr/share/zoneminder/www/lang/ja_jp.php.bak
    cd /tmp
    wget https://zoneminder.senritu.net/wp-content/downloads/ja_jp.php.zip
    unzip ja_jp.php.zip
    sudo mv ja_jp.php /usr/share/zoneminder/www/lang/ja_jp.php
    sudo chown root:root /usr/share/zoneminder/www/lang/ja_jp.php
    
    # 文字コードをUTF-8に変更してください。
    sudo sed -i 's/Shift_JIS/UTF-8/g' /usr/share/zoneminder/www/lang/ja_jp.php

    update_db_to_japanease.sql.zip

    • 2020/09/22・・・新規作成

    説明

    Configの説明文を日本語化します。こちらは正式な使い方ではないので、動作保証は致しません。・・・・しかし、私の環境では動いています。

    使い方

    以下のように、SQL文を実行してください。

    cd /tmp
    wget https://zoneminder.senritu.net/wp-content/downloads/update_db_to_japanease.sql.zip
    unzip update_db_to_japanease.sql.zip
    sudo mysql zm < update_db_to_japanease.sql

    改善依頼について

    現状、日本語化に向けて、文言の調整をしています。もし間違いや改善要望があれば、コメント欄からお願い致します。


  • zoneminderのインストール

    以下の構成を前提にインストール作業を行います。ここでは、Linux初心者も対象としているため、Ubuntuのインストールから解説します。

    • Ubuntu20.04
    • Apache
    • MySQL
    • zoneminder 1.35.6~1.35.9

    Ubuntu20.04のインストール

    zoneminderをインストールする先のOSとして、人気のあるLinuxディストリビューションの1つであるUbuntu20.04(Server)をインストールします。Windowsとは違って無料のOSとなります。

    追って、設定中で日本語化する為、ここでは「English」を選択します。
    場合によっては、上記画面が出る事があります。単純にインストールしようとしているよりも新しいパッケージがある旨の注意となります。どちらでもいい為、「Continue without updating」を選択しています。
    キーボードのレイアウトに「Japanese」を選択します。
    IPアドレスを設定します。説明の都合上、ここではDHCPで自動取得したIPが表示されていることを確認します。サーバの場合は、固定IPが好まれることもある為、ここで固定IPを指定しても問題ありません。(インストール後に固定IPに設定しなおすことも可能です)
    proxyは無しのままとします。
    Mirror addressはデフォルトのままにします。
    ここでは、LVMをそのまま使うことにして、次へ行っています。ストレージ情報を個々に設定したい場合には、「Custom storage Layout」を選択します。
    必要に応じて、パーティションを設定します。/mnt/camera等のパーティションに1TB以上のディスクを割り当てられるとより良いです。
    HDDに設定値を書き込み、インストールする為データが消える旨の警告です。新規のHDDや、データ消去して問題ないHDDを使っていると思いますので、「Continue」を押下します。
    ユーザー名とそのパスワード、サーバ名を入力します。ここではユーザー名はzm、サーバー名はmyserverとしています。お好きな名前で設定してください。
    後でメンテナンスしやすいようにSSHをインストールしておきます。
    他のパッケージについては特にインストールしません。
    インストール中は、上記のような画面となりますので、インストール完了するまで待ちます。
    インストール完了したら「Reboot」が選べるようになるので、押下して再起動します。

    zoneminderのインストール

    ubuntu20.04のインストールが完了したら、zoneminderをインストールします。

    ログインプロンプトに、先ほどインストールした際に指定したユーザー名を入力し、「Enter」を押下します。続いてパスワードを入力して「Enter」を押下します。
    ip addr コマンドを打つと、上記画面のように、inetに続いてサーバのIPアドレスが表示されます。IPアドレスが解ったら、手元のWindowsクライアントなどから、Putty等を利用してSSH接続してください。(もちろん、このままサーバ上のコンソールで作業しても問題ありませんが、SSH接続しての作業の場合、コマンドのコピペがしやすいので、その方が良いかと思います。)

    SSHログインした後、以下の通り、必要なソフトウェアのインストールを行っていきます。

    # パッケージの最新化
    sudo apt update ; sudo apt upgrade
    sudo reboot
    
    # 再起動完了後に必要パッケージを追加インストール
    sudo apt update && sudo apt install -y \
        apt-transport-https curl wget gnupg ca-certificates
    
    # zoneminderのリポジトリを追加
    sudo cp /etc/apt/sources.list /etc/apt/sources.list.org
    echo "deb https://zmrepo.zoneminder.com/debian/master focal/" | sudo tee -a /etc/apt/sources.list
    wget -O - https://zmrepo.zoneminder.com/debian/archive-keyring.gpg | sudo apt-key add -
    
    # 必要なパッケージをまとめてインストール 
    sudo apt update && sudo apt upgrade && sudo apt install -y \
        sudo git build-essential cmake gdb ccache devscripts debhelper \
        cdbs fakeroot lintian equivs rpm alien dh-systemd \
        libdistro-info-perl apache2-dev bzip2 dh-linktree docutils-common \
        ffmpeg fontconfig fontconfig-config fonts-dejavu-core gir1.2-polkit-1.0 \
        libapr1 libapr1-dev libaprutil1 libaprutil1-dev libasound2 libasound2-data \
        libass9 libasyncns0 libavc1394-0 libavcodec-dev libavcodec58 libavdevice-dev \
        libavdevice58 libavfilter-dev libavfilter7 libavformat-dev libavformat58 \
        libswresample-dev libswresample3 libavutil-dev libavutil56 \
        libb-hooks-op-check-perl libbluray2 libbs2b0 libbz2-1.0 libbz2-dev libcaca0 \
        libcairo2 libcdio-cdda2 libcdio-paranoia2 libcdio18 libchromaprint1 \
        libclass-mix-perl libcrypt-eksblowfish-perl libcrypt-rijndael-perl \
        libcrystalhd3 libcurl3-gnutls libcurl4-gnutls-dev libdata-entropy-perl \
        libdata-float-perl libdata-uuid-perl libdate-manip-perl libdatrie1 \
        libdbd-mysql-perl libdbi-perl libdc1394-22 libdevel-callchecker-perl \
        libdrm-amdgpu1 libdrm-common libdrm-intel1 libdrm-nouveau2 libdrm-radeon1 \
        libdrm2 libdynaloader-functions-perl libedit2 libexpat1 \
        libexpat1-dev libfftw3-double3 libflac8 libflite1 libfontconfig1 \
        libfreetype6 libfribidi0 libgcrypt20-dev libgdk-pixbuf2.0-0 \
        libgdk-pixbuf2.0-common libgl1 libgl1-mesa-dri libglapi-mesa libglib2.0-0 \
        libglib2.0-bin libglib2.0-data libglib2.0-dev libglib2.0-dev-bin libglvnd0 \
        libglx-mesa0 libglx0 libgme0 libgmp-dev libgmpxx4ldbl libgnutls-dane0 \
        libgnutls-openssl27 libgnutls28-dev libgnutls30 libgnutlsxx28 \
        libgpg-error-dev libgraphite2-3 libgsm1 libharfbuzz0b libhttp-lite-perl \
        libidn11 libidn2-0-dev libidn2-dev libiec61883-0 libjack-jackd2-0 libjbig0 \
        libjpeg-turbo8 libjpeg-turbo8-dev libjs-jquery \
        libjs-mootools libjs-sphinxdoc libjs-underscore libldap-2.4-2 libldap-common  \
        libldap2-dev libllvm7 libmp3lame0 libmp4v2-2 libmp4v2-dev libmpg123-0 \
        libmysofa1 libmariadb-dev-compat libmariadb3 libnorm1 libnuma1 libogg0 \
        libopenal-data libopenal1 libopenjp2-7 libopenmpt0 libopus0 libp11-kit-dev \
        libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libparams-classify-perl \
        libpciaccess0 libpcre16-3 libpcre3-dev libpcre32-3 libpcrecpp0v5 \
        libpgm-5.2-0 libphp-serialization-perl libpixman-1-0 libpng16-16 \
        libpolkit-agent-1-0 libpolkit-gobject-1-0 libpolkit-gobject-1-dev \
        libpostproc-dev libpostproc55 libpulse0 libpython2-stdlib \
        libraw1394-11 librsvg2-2 \
        librubberband2 libsamplerate0 libsctp-dev libsctp1 libsdl2-2.0-0 libsensors5 \
        libshine3 libslang2 libsnappy1v5 libsndfile1 libsndio7.0 libsodium23 \
        libsoxr0 libspeex1 libssh-gcrypt-4 libssl-dev libssl1.1 \
        libswscale-dev libswscale5 libsys-mmap-perl libtasn1-6-dev \
        libthai-data libthai0 libtheora0 libtiff5 libtwolame0 libunbound8 \
        libusb-1.0-0 libuuid1 libv4l-0 libv4l-dev libv4l2rds0 libv4lconvert0 \
        libva-drm2 libva-x11-2 libva2 libvdpau1 libvlc-dev libvlc5 libvlccore9 \
        libvorbis0a libvorbisenc2 libvorbisfile3 libvpx6 libwavpack1 \
        libwayland-client0 libwayland-cursor0 libwayland-egl1 libwebp6 libwebpmux3 \
        libwrap0 libx11-6 libx11-data libx11-xcb1 libx264-155 libx264-dev \
        libx265-179 libxau6 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-present0 \
        libxcb-render0 libxcb-shape0 libxcb-shm0 libxcb-sync1 libxcb-xfixes0 libxcb1 \
        libxcursor1 libxdamage1 libxdmcp6 libxext6 libxfixes3 libxi6 libxinerama1 \
        libxkbcommon0 libxrandr2 libxrender1 libxshmfence1 libxss1 libxv1 \
        libxvidcore4 libxxf86vm1 libzmq5 libzvbi-common libzvbi0 mysql-common \
        net-tools nettle-dev pkg-config python python-alabaster python-babel \
        python-babel-localedata python-certifi python-chardet python-docutils \
        python-idna python-imagesize python-jinja2 python-markupsafe \
        python-pkg-resources python-pygments python-roman python-six \
        sphinx-doc python3-sphinx python-typing python-tz \
        python3-distutils python3-lib2to3 sgml-base zlib1g-dev \
        shared-mime-info sphinx-common tzdata uuid-dev x11-common xkb-data xml-core \
        bzip2 libbz2-1.0 libcurl3-gnutls libexpat1 libglib2.0-0 libglib2.0-data \
        libgnutls30 libldap-2.4-2 libpcre3 libssl1.1 shared-mime-info
    
    # zoneminderをインストールするうえで必要になるサーバソフトウェア関係をインストール
    sudo apt install mysql-server mysql-client apache2 php php-mysql \
        libapache2-mod-php php-mbstring build-essential \
        libmysqlclient-dev libssl-dev libnumber-bytes-human-perl \
        language-pack-ja-base language-pack-ja ibus-mozc
    
    # mysqlの文字コードがuft8mb4になっていることを確認
    # 注意:uft8mb4ではないと、日本語が使えない
    sudo mysql
    mysql> show variables like "char%";
    +--------------------------+----------------------------+
    | Variable_name            | Value                      |
    +--------------------------+----------------------------+
    | character_set_client     | utf8mb4                    |
    | character_set_connection | utf8mb4                    |
    | character_set_database   | utf8mb4                    |
    | character_set_filesystem | binary                     |
    | character_set_results    | utf8mb4                    |
    | character_set_server     | utf8mb4                    |
    | character_set_system     | utf8                       |
    | character_sets_dir       | /usr/share/mysql/charsets/ |
    +--------------------------+----------------------------+
    8 rows in set (0.00 sec)
    
    > exit
    
    # zoneminderをインストールしてDBを作成する。
    sudo apt install zoneminder
    sudo mysql -uroot < /usr/share/zoneminder/db/zm_create.sql
    
    # ZoneMinderのDBへ権限設定
    sudo mysql
    CREATE USER 'zoneminder'@'localhost' IDENTIFIED BY '98jZX*()j32jiodsfadfdcsa)(D3';
    GRANT ALL ON zm.* TO 'zoneminder'@'localhost';
    flush privileges;
    exit;
    
    # ZoneMinderのconfファイルを編集。
    # ZM_DB_PASSは適当なパスワードを指定していますので、適宜変更してください。
    sudo cp /etc/zm/zm.conf /etc/zm/zm.conf.org
    sudo sed -i "s/^[# ]*ZM_DB_PASS *=.*/ZM_DB_PASS=98jZX*()j32jiodsfadfdcsa)(D3/g" /etc/zm/zm.conf
    sudo sed -i "s/^[# ]*ZM_DB_USER *=.*/ZM_DB_USER=zoneminder/g" /etc/zm/zm.conf
    sudo diff /etc/zm/zm.conf /etc/zm/zm.conf.org
    
    # ZoneMinderの日本語対応
    sudo cp /etc/php/7.4/cli/php.ini /etc/php/7.4/cli/php.ini.bak
    sudo sed -i 's/;date.timezone =/date.timezone = "Asia\/Tokyo"/g' /etc/php/7.4/cli/php.ini
    sudo diff /etc/php/7.4/cli/php.ini /etc/php/7.4/cli/php.ini.bak
    
    # Shift_JISのままだと文字化けする為、UTF-8へ変更
    sudo sed -i 's/Shift_JIS/UTF-8/g' /usr/share/zoneminder/www/lang/ja_jp.php
    
    
    # 当サイト上に格納されている日本語ランゲージセットをダウンロードして差し替えます。
    sudo cp /usr/share/zoneminder/www/lang/ja_jp.php /usr/share/zoneminder/www/lang/ja_jp.php.bak
    cd /tmp
    wget https://zoneminder.senritu.net/wp-content/downloads/ja_jp.php.zip
    unzip ja_jp.php.zip
    sudo mv ja_jp.php /usr/share/zoneminder/www/lang/ja_jp.php
    sudo chown root:root /usr/share/zoneminder/www/lang/ja_jp.php
    
    # Apacheの設定
    sudo a2enmod cgi
    sudo a2enmod rewrite
    sudo a2enconf zoneminder
    sudo systemctl restart apache2.service
    
    # 関係サービスの起動と登録
    sudo systemctl enable zoneminder
    sudo systemctl start zoneminder
    
    # USB WebCamを使う場合があるときのみ実行してください。
    sudo usermod -a -G video www-data
    
    
    
    
    

    zoneminderインストール完了後の初期設定

    zoneminderのインストールが完了した後は、ブラウザでzoneminderサーバにアクセスして設定を行っていきます。

    接続先URLは以下の通りで、【zoneminderインストール先サーバのIP】には、SSH接続した際のサーバのIPアドレスを入れてください。

    http://【zoneminderインストール先サーバのIP】/zm

    画面下の「Accept」を選択して「APPLY」を押下

    上記画面がエンドレスループしてしまう場合は「こちら」を参考に直してください。

    ログイン直後は、以下のようにコンコール画面が表示されます。監視カメラを登録するごとに、そのカメラのサマリ情報が表示されるようになりますが、まだインストール直後で未登録の為、以下のようにこざっぱりした画面となっています。

    「Options」を選ぶと、「Systems」の中が表示されます。その中にあるLANG_DEFAULTを「ja_jp」にします。

    上記の設定までを実施したことで、下記画面のように、メニュー回りが日本語化されます。しかし、設定項目の説明等がまだ英語のままなので、そちらも日本語化することにします。

    設定項目の説明を日本語化する

    こちらで紹介している日本語化用のSQLを実行することで、設定項目が日本語化できます。

    cd /tmp
    wget https://zoneminder.senritu.net/wp-content/downloads/update_db_to_japanease.sql.zip
    unzip update_db_to_japanease.sql.zip
    sudo mysql zm < update_db_to_japanease.sql

    ログイン認証の有効化

    オプション⇒システムから、以下赤枠を設定して、一番右下の保存を押下します。

    OPT_USE_AUTHログイン認証の有効化
    AUTH_TYPEzoneminderのビルトインを使うか、リモート認証を使うか選択できます。builtinを選択します。
    AUTH_RELAYhashedを選択します
    AUTH_HASH_SECRET認証を強固にするために文字列を指定します。
    AUTH_HASH_IPS認証元のIPが固定の場合は有効にしても問題ありませんが、VPN経由でアクセスする要件やDHCPを使っている環境では無効にしてください。
    AUTH_HASH_LOGINS有効にします

    ログイン設定を有効にすると、ログイン画面になります。初期ユーザー名と初期パスワードは「admin/admin」です。

    ログイン後、adminユーザーのパスワードを変更します。

    オプション⇒利用者⇒adminを押下

    新しいパスワードと、言語を「ja_jp」にして保存します。

    コンソール画面の機能説明

    zoneminderのコンソール画面の主な機能説明は以下の通りです。

    No項目説明
    コンソールカメラの概要やイベント情報等、サマリ的な画面となります。
    オプションzoneminderの設定画面
    ログログ一覧画面
    グループ
    フィルター特定の条件が満たされたときにアクションを実行するメカニズムを指定可能。例えば、特定のイベントが発生した際にメール送信する等はここで指定できます。
    サイクル表示構成された各モニターのライブビューをサイクル表示します。
    大型店舗でお客様向けに防犯カメラ映像を見せる用途等に使われることのある機能です。
    カメラ映像リアルタイムのカメラ映像を確認できます。
    録画映像録画した映像を表示します。過去のある時点を確認する際などに利用します。
    監査イベントレポートパワーユーザー向け機能。イベントのギャップの記録とmp4ファイルの記録に関する問題を探すのに利用できます。
    ログインユーザー現在ログインしているユーザー
    機能カメラ映像を記録する方法を定義する。詳細は下表「カメラ映像を記録する方法」参照。
    ソースカメラのタイプ(IPカメラ、USBカメラ)を示す。緑色は問題なし。赤色はカメラに問題がある事を示します。
    イベント情報zoneminderの主機能の一つです。イベントの記録結果を、時間、日、週、月に記録された数を表示します。
    ゾーンカメラのイベント検知エリアを指定できます。デフォルトだとカメラ全体を検知エリアとしています。
    しかし、カメラの中に常時動きのある物体があった場合、常に検知イベントがあがってしまいます。そのような状態を回避するために、検知対象のエリア(ゾーン)を設定可能です。設定時はゾーン列の下の数字のリンクをクリックします。
    Function意味
    Noneモニターは現在無効になっています。ストリームを表示したり、イベントを生成したりすることはできません。何も記録されません。
    Monitorモニターはライブストリーミングでのみ使用できます。画像分析は行われないため、アラームやイベントは生成されず、何も記録されません。
    ModectMOtion DEteCTtionの略。キャプチャされたすべての画像が分析され、モーションが検出された録画ビデオでイベントが生成されます。
    Recordモニターは継続的に記録されます。固定長のイベントは、従来のタイムラプスビデオレコーダーと同様に、モーションに関係なく生成されます。このモードでは、動きの検出は行われません。
    Mocordモニターは継続的に記録され、それらのイベント内でモーションが強調表示されます。
    NodecNo DEteCTtioの略。外部トリガーで使用するように設計された特別なモードです。 Nodectではモーション検出は行われませんが、外部トリガーで必要な場合はイベントが記録されます。
    カメラ映像を記録する方法

    設定完了後にすること

    ZoneMinderリポジトリのコメントアウト

    /etc/apt/sources.list.orgに追加したリポジトリは、頻繁に更新が行われています。それ自体は非常にありがたいのですが、日本語化した場所が都度、元に戻ってしまい、DBの更新も手動で行わないとエラーでZoneMinderが起動しないこともあります。
    ですので、以下行をコメントアウトしてください。
    
    sudo vi /etc/apt/sources.list.org
    #deb https://zmrepo.zoneminder.com/debian/master focal/ <<コメントアウト

    最初のころ、上記を気にせず運用しており、ZoneMinderが起動しなくなったり、文字化けするたびに修正しておりました。お勧めは、メジャーバージョンアップ時にのみコメントアウトを戻してアップグレードする運用です。

    上記まででzoneminderのインストールから初期設定が完了しました。しかし、まだカメラを登録していないので、カメラ画像が一切映っておらずつまらないと思います。

    ですので、次にカメラを登録してください。