Welcome! 『 P・C・P・M Papa-Net パソコン“だめ”乳(おやじ) 』  Presennt by Papa
PC関係 ≫ 自宅サーバー ≫ Linux Server ≫ Alma Linux 9 ≫ motion conf ファイル解説(motion)★
◆ almalinux9.5 と motion 解説

CentOS で motion を稼働していましたが OS を almalinux9.5 に変更したので motion をインストールして稼働させようとしましたが上手く行かず苦労しました

そこで色々調べましたがラズパイの設定は多く見られますが almalinux9.5 の情報はほとんど見つかりません
何とかインストールと設定ができましたので備忘録として motion のインストール、ストリーミングカメラ、監視カメラの設定を残しておくことにしました

今回は motion シリーズの第3弾として motion.conf 解説をアップしました
よろしければ前弾の ライブカメラサーバー(motion)監視カメラサーバー(motion) も合わせて読んでみて下さい

◆ motion 設定ファイル motion.conf 解説

[root@alma]# vi /etc/motion/motion.conf

# Rename this distribution example file to motion.conf
#
# This config file was generated by motion 4.7.0
# Documentation: /usr/local/share/doc/motion/motion_guide.html
#
# This file contains only the basic configuration options to get a
# system working. There are many more options available. Please
# consult the documentation for the complete list of all options.
#

<<<システム制御設定>>>

############################################################
# System control configuration parameters
############################################################

<<<デーモン(バックグラウンド)モードで開始>>>

# Start in daemon (background) mode and release terminal.
daemon off

・設定範囲:on・off
・デフォルト:off
・Motion が起動したら、すぐにデーモンモードに移動し端末を解放するかどうかを指定します

※on に変更

<<<セットアップモードで開始>>>

# Start in Setup-Mode, daemon disabled.
setup_mode off

・設定範囲:on・off
・デフォルト:off
・このオプションをオンにすると、Motion は設定モードで開始されるため、パラメータをより簡単に設定できます
・デーモンは無効です

※特に変更の必要ありません

<<<プロセスIDを保存するファイル>>>

# File to store the process ID.
; pid_file value

・設定範囲:最大4095文字の文字列
・デフォルト:未定義
・処理用の pid を格納するために、完全パスでファイル名を指定します

※特に変更の必要ありません

<<<ログメッセージを書き込むファイル>>>

# File to write logs messages into. If not defined stderr and syslog is used.
; log_file value

・設定範囲:最大4095文字の文字列
・デフォルト:未定義
・定義されていない場合は、標準エラー出力とsyslogが使用されます

※特に変更の必要ありません

<<<ログメッセージレベルの指定>>>

# Level of log messages [1..9] (EMG, ALR, CRT, ERR, WRN, NTC, INF, DBG, ALL).
log_level 6

・設定範囲:1~9 の整数
・デフォルト:未定義
・Motion から送信されるメッセージの詳細レベルを指定します
  1(EMR)のレベルでは、実質的にメッセージは出力されず、9(ALL)では全てのメッセージが出力されます
  Motion アプリケーションに関連する問題やエラーを報告する場合は、INF レベルを使用しています

※特に変更の必要ありませんが上記の理由で 7 (INF) に変更することも良いのではないでしょうか

<<<映像・写真・スナップショットの保存ディレクトリ>>>

# Target directory for pictures, snapshots and movies
; target_dir value

・設定範囲:最大4095文字の文字列
・デフォルト:/
・すべての映像・写真・スナップショットァイルが / に保存されます

※特に変更の必要ありませんが変更する場合はフォルダを作りフォルダのパスを指定します

<<<キャプチャに使用するビデオデバイス>>>

# Video device (e.g. /dev/video0) to be used for capturing.
video_device /dev/video0

・設定範囲:最大4095文字の文字列
・デフォルト:/dev/video0
・キャプチャに使用するビデオ デバイス

※特に変更の必要ありません

<<<ビデオデバイスの制御>>>

# Parameters to control video device. See motion_guide.html
; video_params value

・設定範囲:最大4095文字の文字列
・デフォルト:未定義
・v4l2 および bktr デバイスの場合、ほとんどの構成オプションは自動です
・ほとんどのデバイスでは、特定の設定に変更することも可能ですが変更内容はデバイスに依存します

※特に変更の必要ありません

<<<ネットワークカメラのアドレス>>>

# The full URL of the network camera stream.
; netcam_url value

・設定範囲:最大4095文字の文字列
・デフォルト:未定義
・ネットワークカメラを使用している場合に使用するカメラのアドレスを指定します
  http://、ftp://、rtsp://、rtmp://、mjpeg://、file://、v4l2://、mjpg://、jpeg:// が指定できまsy

※特に変更の必要ありません

<<<画像処理の設定パラメータ>>>

############################################################
# Image Processing configuration parameters
############################################################

<<<フレームの横幅>>>

# Image width in pixels.
width 640

・設定範囲:整数
・デフォルト:640
・フレームの横幅 (ピクセル単位)を指定(有効な範囲はカメラに依存)横幅は 8 の倍数

※必要に応じ変更します

<<<フレームの高さ>>>

# Image height in pixels.
height 480

・設定範囲:整数
・デフォルト:480
・フレームの高さ (ピクセル単位)を指定(有効な範囲はカメラに依存)高さは 8 の倍数

※必要に応じ変更します

<<<1秒あたりにキャプチャされる最大フレーム数>>>

# Maximum number of frames to be captured per second.
framerate 15

・設定範囲:2~100整数
・デフォルト:15
・カメラからキャプチャされるフレームの最大数/秒
カメラから写真を素早く取り出すほど、CPUの負荷が高くなり、Motionが検出されたときにより多くの写真が含まれます  フレームレートが 2 未満に設定されている場合、モーションは画像の保存を停止します
このパラメーターは、イメージまたはムービーとして保存するイメージの 1 秒あたりの最大数に設定します

※必要に応じ変更します

<<<画像の左下隅に表示されるテキスト>>>

# Text to be overlayed in the lower left corner of images
text_left CAMERA1

・設定範囲:最大4095文字の文字列
・デフォルト:CAMERA1
・画像・映像の左下に表示される文字列

※必要に応じ変更します

<<<画像の右下隅に表示されるテキスト>>>

text_right %Y-%m-%d\n%T-%q

・設定範囲:最大4095文字の文字列
・デフォルト:%Y-%m-%d\n%T-%q (日付・時間表示)
・画像・映像の右下に表示される文字列

※特に変更の必要ありません

<<<動作検出設定>>>

############################################################
# Motion detection configuration parameters
############################################################

<<<動きがなくても、常に写真や映画を保存>>>

# Always save pictures and movies even if there was no motion.
emulate_motion off

・設定範囲:on・off
・デフォルト:off
・動きがなくても常に画像を保存するか動きがあった時だけ保存するかの設定をします

※動きがあった時だけ保存するので特に変更の必要はありません

<<<動体検知を認知する値>>>

# Threshold for number of changed pixels that triggers motion.
threshold 1500

・設定範囲:1~21474836470の整数
・デフォルト:1500
・数字が小さいほど敏感に認知
 最大値にすると認知しなくなのるので監視カメラとして使用しない場合は最大値にします
 ※幅や高さ、解像度等とのバランスが重要になるのでデフォルトのままで運用し、必要に応じ変更します

<<<動体検知時のノイズ判定設定>>>
# Noise threshold for the motion detection.
; noise_level 32

・設定範囲: 1~255の整数
・デフォルト: 32(コメント化されているので事実上設定なし)
・動体検知かノイズかを判断する数値で大きくなれば鈍感になります

※デフォルトのままで運用し、必要に応じ変更します

<<<ノイズ処理設定>>>

# Despeckle the image using (E/e)rode or (D/d)ilate or (l)abel.
despeckle_filter EedDl

・設定範囲: E、e、D、d および l の組み合わせの文字列
・デフォルト: EedD|
・(E/e)乗り物または(D/ d)の ilate の組み合わせを使用して、反射モーション画像を設定します
 オプションの(l)アベリングで終わります
 ノイズを調整(除去または強化による)する方法
 オプションは、'e'、'E'、'd'、または'D'のいずれかでこれは、ラベリング機能を有効にします
 末尾の 'l' (文字 l) で組み合わせることができるます
 風が草や木を吹き回したり、光の状態が悪かったりすると、モーションイメージに多くのドット(またはノイズ)が表示される可能性があります
 この機能は、このノイズを除去(または強化)するので、動作の信頼性を向上させることができます

※設定が難しいためデフォルトのままで運用し、必要に応じ変更します

<<<動きとして検出される前のフレーム数>>>

# Number of images that must contain motion to trigger an event.
minimum_motion_frames 1

・設定範囲: 1~1000の整数
・デフォルト: 1
・実際の動きとして検出される前に、少なくとも指定された数のフレームを含む必要があり、デフォルトの 1 では、すべての動体検知が検出されます
 有効な範囲は 1 から1000だが、1~5 の範囲内に収めるのが推奨されています

※特に変更の必要ありません

<<<動態検知を終了する秒数>>>

# Gap in seconds of no motion detected that triggers the end of an event.
event_gap 60

・設定範囲: 1~2147483647の整数
・デフォルト: 60
・動態検知を終了する秒数です
 デフォルトでは60秒間動態検知がなければイベントを終了します

※特に変更の必要ありません

<<<動態検知前にキャプチャされた (バッファされた) 画像の数>>>

# The number of pre-captured (buffered) pictures from before motion.
pre_capture 3

・設定範囲: 1~100の整数
・デフォルト: 3
・動態検知時に出力される動態検知前にキャプチャされた (バッファされた) 画像の数を指定します
 推奨される範囲は 1 から5(0は設定無効)

※特に変更の必要ありません

<<<動態検知後にキャプチャされる (バッファされる) フレーム数>>><

# Number of frames to capture after motion is no longer detected.
post_capture 0

・設定範囲: 1~2147483647の整数
・デフォルト: 0 (無効)
・動態検知後にキャプチャされる (バッファされる) フレーム数を指定します

※特に変更の必要ありません

<<<スクリプト実行設定>>>

############################################################
# Script execution configuration parameters
############################################################

<<<イベントが開始されたときに実行されるコマンド>>>

# Command to be executed when an event starts.
; on_event_start value

・設定範囲:最大4095文字の文字列
・デフォルト: 未定義
・イベントの開始時に実行されるプログラム/スクリプトの絶対パスとファイル名を指定します

※特に変更の必要ありません

<<<映像ファイルが閉じられたときに実行されるコマンド>>>

# Command to be executed when a movie file is closed.
on_movie_end value

・設定範囲:最大4095文字の文字列
・デフォルト: 未定義
・新しいムービーの作成後に実行されるプログラム/スクリプトの絶対パスとファイル名を指定します

※動体検知し映像を保存した場合の処理を設定します
 当方はメール送信するクリプトの絶対パスとファイル名を指定しています
 on_movie_end bash /usr/local/mutt/on_movie_end.sh %f


<<<画像出力設定>>>

############################################################
# Picture output configuration parameters
############################################################

<<<動きが検出された時に画像を出力する設定>>>

# Output pictures when motion is detected
picture_output off

・設定範囲:on・off・first・best
・デフォルト:off
・on は、通常出力
 off は、何もしない
 first は、イベントごとに検出された最初のモーション画像のみを保存します
 best は、Motion はイベント中に変更されたピクセルのほとんどで画像を保存します

※特に変更の必要はありません

<<<保存した画像ファイルの名前設定>>>

# File name(without extension) for pictures relative to target directory
picture_filename %Y%m%d%H%M%S-%q

・設定範囲:最大4095文字の文字列
・デフォルト: %Y%m%d%H%M%S-%q (日付・時間表示)
・ファイル拡張子.jpg、webp または .ppm が自動的に追加された名前で保存されます

※特に変更の必要はありません

<<<映像の出力設定>>>

############################################################
# Movie output configuration parameters
############################################################

<<<動態検知時の映像作成設定画>>>

# Create movies of motion events.
movie_output on

・設定範囲:on・off
・デフォルト:on
・ffmpeg ライブラリを使用して、モーションのムービーをエンコード
 ファイル拡張子.jpg、webp または .ppm が自動的に追加されます

※特に変更の必要はありません

<<<映像の最大長さ(秒)>>>

# Maximum length of movie in seconds.
movie_max_time 60

・設定範囲: 1~2147483647の整数
・デフォルト: 60
・ムービーの最大長さ (秒単位)を指定します
・長さを制限しない場合は 0 を指定します

※特に変更の必要はありません

<<<映像のエンコーディング品質設定>>>
# The encoding quality of the movie. (0=use bitrate. 1=worst quality, 100=best)
movie_quality 45

・設定範囲: 1~100の整数
・デフォルト: 45
・ffmpeg エンコーダーの可変ビットレートを有効にして定義します
 可変ビットレートが有効になっている場合、movie_bpsのオプションは無視されます
 値 0 を指定するとこのオプションは無効になります
 1 は、最低品質、100 は最高の品質になります

※デフォルトのままで運用し、必要に応じ変更します

<<<映画に使用するコンテナ/コーデック(拡張子)設定>>>

# Container/Codec to used for the movie. See motion_guide.html
movie_codec mkv

・設定範囲: mpeg4・msmpeg4・swf・flv・ffv1・mov・mp4・mkv・hevc
・デフォルト: mkv
・ビデオに使用するコンテナ/コーデック(拡張子)を設定します

※特に変更の必要はありませんが Windows 等で見る場合は mp4 が良いかもしれません

<<<保存した映像ファイルの名前設定>>>
# File name(without extension) for movies relative to target directory
movie_filename %t-%v-%Y%m%d%H%M%S

・設定範囲:最大4095文字の文字列
・デフォルト:%Y%m%d%H%M%S-%q (日付・時間表示)
・モーションファイル、target_dirで設定した場所に保存され、選択したコーデックに基づいて、ファイル拡張子が自動的に名前に追加されます

※特に変更の必要はありません

<<<Web コントロール設定>>>

############################################################
# Webcontrol configuration parameters
############################################################

<<<Web 上で各種設定を行う場合のポート>>>

# Port number used for the webcontrol.
webcontrol_port 8080

・設定範囲:0~65535の整数
・デフォルト:8080
・Webコントロールを行うポート番号を指定します

※特に変更の必要はありません

<<<ウェブコントロール接続をローカルホストに限定>>>

# Restrict webcontrol connections to the localhost.
webcontrol_localhost on

・設定範囲:on・off
・デフォルト:on
・ウェブコントロール接続をローカルホストに限定します

※特に変更の必要はありません

<<<ウェブコントロールで許可する設定オプションの種類>>>

# Type of configuration options to allow via the webcontrol.
webcontrol_parms 0

・設定範囲:0~3の整数
・デフォルト:0
・Webコントロールページに表示される変更可能なパラメーターの種類を設定します
  0: なし - 使用できる構成パラメータはなし
  1: 制限あり - 限られたパラメータのリストが利用可能
  2: 高度 - パラメーターの詳細リストが利用可能 有効にするには、Motion の再起動が必要
  3: 制限付き - ユーザー ID、パスワード、および「on_」コマンド

※特に変更の必要はありません

<<<ライブストリーム設定>>>

############################################################
# Live stream configuration parameters
############################################################

<<<ライブストリームのポート番号>>>

# The port number for the live stream.
stream_port 8081

・設定範囲:0~65535の整数
・デフォルト:8081
・ライブ配信を行うポート番号を指定します
 複数カメラに対して各々に一意のポートを設定する場合は、カメラ1では8081、カメラ2では8082、カメラ3では8083を指定せきます

※特に変更の必要はありません

<<<ストリーム接続をローカルホストに制限する>>>

# Restrict stream connections to the localhost.
stream_localhost on

・設定範囲:on・off
・デフォルト:on
・ストリーム接続をローカルホストに限定します

※ローカル以外から接続したい場合は off に設定

<<<カメラ設定ファイル>>>

##############################################################
# Camera config files - One for each camera.
##############################################################
; camera /usr/local/etc/motion/camera1.conf
; camera /usr/local/etc/motion/camera2.conf
; camera /usr/local/etc/motion/camera3.conf
; camera /usr/local/etc/motion/camera4.conf

・設定範囲:最大4095文字の文字列
・デフォルト:未定義
・カメラの設定ファイルを絶対パスで指定します

※複数のカメラを使用しない場合はに変更の必要はありません

<<<カメラの '.conf' ファイルを読むためのディレクトリ>>>

##############################################################
# Directory to read '.conf' files for cameras.
##############################################################
; camera_dir /usr/local/etc/motion/conf.d:q

・設定範囲:最大4095文字の文字列
・デフォルト:未定義
・カメラが読み込む.conf設定ファイルを絶対パスで指定します

※複数のカメラを使用しない場合はに変更の必要はありません