Une autre utilisation de Motion avec un Raspi
A l’origine ce document avait été rédigé en 2019, une évolution du matériel et des logiciels amène à revoir ce document.
Passage à un PI4B sous Pi OS (Rasbian) et motion 4.5.1
Objectif : Enregistrer une séquence vidéo (de jour comme de nuit) déclenchée par le déplacement d’un animal.
Utilisation d’une caméra IP connectée au réseau local, ce qui permet de visualiser les séquences vidéo enregistrées sur la carte SD du Raspi, sans arrêter la surveillance.
Ci-dessous les fichiers de configurations utilisés pour réaliser l’objectif.
Un fichier configuration commun
Trois fichiers configuration spécifique pour chaque caméra.
A noter il est possible d’utiliser 4 caméras si le Raspi est capable de traiter (le PI4 peut aller jusqu’à 8 Gb de RAM).
On peut mixer de l’USB , du LAN ou WAN ainsi que la caméra du Raspberry .
Les exemples qui suivent concernent des caméras réseaux.
-Config1 une caméra HD de marque AZISN en TCP et RTSP
-Config2 une caméra Déricam P2 en TCP et RTSP
-Config3 une caméra SRICAM SP007 et UDP et RTSP
A noter seulement des vidéos « déclenchées » et pas de photo dans ces exemples.
Les paramètres généraux sont décrits dans ce fichier .conf
Fichier commun
# Rename this distribution example file to motion.conf
#
# This config file was generated by motion 4.5.1
# Documentation: /usr/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
# Start in Setup-Mode, daemon disabled.
setup_mode off
# File to store the process ID.
; pid_file value
# File to write logs messages into. If not defined stderr and syslog is used.
log_file /tmp/motion_log
# Level of log messages [1..9] (EMG, ALR, CRT, ERR, WRN, NTC, INF, DBG, ALL).
log_level 6
# Target directory for pictures, snapshots and movies
target_dir /var/motion
# Video device (e.g. /dev/video0) to be used for capturing.
#video_device /dev/video0
# Parameters to control video device. See motion_guide.html
; video_params value
# The full URL of the network camera stream.
; netcam_url value
# Name of mmal camera (e.g. vc.ril.camera for pi camera).
; mmalcam_name value
# Camera control parameters (see raspivid/raspistill tool documentation)
; mmalcam_params value
############################################################
# Image Processing configuration parameters
############################################################
# Image width in pixels.
#width 640
# Image height in pixels.
#height 480
# Maximum number of frames to be captured per second.
#framerate 15
# Text to be overlayed in the lower left corner of images
#text_left CAMERA1
# Text to be overlayed in the lower right corner of images.
#text_right %Y-%m-%d\n%T-%q
############################################################
# Motion detection configuration parameters
############################################################
# Always save pictures and movies even if there was no motion.
emulate_motion off
# Threshold for number of changed pixels that triggers motion.
threshold 1500
# Noise threshold for the motion detection.
; noise_level 32
# Despeckle the image using (E/e)rode or (D/d)ilate or (l)abel.
despeckle_filter EedDl
# Number of images that must contain motion to trigger an event.
minimum_motion_frames 1
# Gap in seconds of no motion detected that triggers the end of an event.
event_gap 60
# The number of pre-captured (buffered) pictures from before motion.
pre_capture 3
# Number of frames to capture after motion is no longer detected.
post_capture 1
############################################################
# Script execution configuration parameters
############################################################
# Command to be executed when an event starts.
; on_event_start value
# Command to be executed when an event ends.
; on_event_end value
# Command to be executed when a movie file is closed.
; on_movie_end value
############################################################
# Picture output configuration parameters
############################################################
# Output pictures when motion is detected
#picture_output off
#picture_output on
# File name(without extension) for pictures relative to target directory
#picture_filename %Y%m%d%H%M%S-%q
############################################################
# Movie output configuration parameters
############################################################
# Create movies of motion events.
movie_output on
# Maximum length of movie in seconds.
movie_max_time 60
# The encoding quality of the movie. (0=use bitrate. 1=worst quality, 100=best)
movie_quality 100
# Container/Codec to used for the movie. See motion_guide.html
#movie_codec mkv
movie_codec mepg4
# File name(without extension) for movies relative to target directory
#movie_filename %t-%v-%Y%m%d%H%M%S
############################################################
# Webcontrol configuration parameters
############################################################
# Port number used for the webcontrol.
webcontrol_port 8080
# Restrict webcontrol connections to the localhost.
webcontrol_localhost off
# Type of configuration options to allow via the webcontrol.
webcontrol_parms 2
webcontrol_interface 0
webcontrol_auth_method 0
############################################################
# Live stream configuration parameters
############################################################
# The port number for the live stream.
#stream_port 8081
##############################################################
# Camera config files - One for each camera.
##############################################################
camera /home/pi/camera1.conf
camera /home/pi/camera2.conf
camera /home/pi/camera3.conf
; camera /usr/etc/motion/camera4.conf
##############################################################
# Directory to read '.conf' files for cameras.
##############################################################
; camera_dir /usr/etc/motion/conf.d
Les paramètres spécifiques à la caméra 1 sont décrits dans ce fichier .conf
Fichier pour la caméra1
# /etc/motion/camera1.conf
#
# This config file was generated by motion 4.5.1
###########################################################
# Configuration options specific to camera 1
############################################################
# User defined name for the camera.
camera_name AZISHN
# Numeric identifier for the camera.
camera_id 1
video_device /dev/video1
# The full URL of the network camera stream.
# netcam_url http://yourcamera2ip:port/camera/specific/url
netcam_url rtsp://192.168.1.155/onvif1 # cam AZISHN
netcam_userpass admin:admin
# Image width in pixels.
width 1920 # HD
#width 1280 # Dericam old
#width 640 #Lidl
# Image height in pixels.
height 1080 # HD
#height 720 # Dericam old
# ajout pour prendre un cliché sur motion
#picture_output best
#picture_type jpeg
#picture_filename C1-%Y%m%d%H%M%S
#locate_motion_style redcross
# File name(without extension) for movies relative to target directory
#noise_tune on
emulate_motion off
despeckle_filter EedD
minimum_motion_frames 10
event_gap 10
pre_capture 1
post_capture 5
# The encoding quality of the movie. (0=use bitrate. 1=worst quality, 100=best)
movie_quality 100
# Container/Codec to used for the movie. See motion_guide.html
#movie_codec mkv
movie_codec mepg4
movie_max_time 60
movie_quality 95
movie_passthrough on
movie_filename C1-%Y%m%d%H%M%S
# Threshold for number of changed pixels that triggers motion.
threshold 8000
#threshold 6000 #pour le composteur
#
# The port number for the live stream off pour accéder depuis un autre PC.
stream_localhost off
stream_port 8081
# Text to be overlayed in the lower left corner of images
#text_left Camera1
# Text to be overlayed in the lower right corner of images.
#text_right Patio\n%Y-%m-%d\n%T-%q
Les paramètres spécifiques à la caméra 2 sont décrits dans ce fichier .conf
Fichier pour la caméra2
# /usr/etc/motion/camera2.conf
#
# This config file was generated by motion 4.5.1
###########################################################
# Configuration options specific to camera 2
############################################################
# User defined name for the camera.
camera_name Dericam P2
# Numeric identifier for the camera.
camera_id 2
video_device /dev/video2
# The full URL of the network camera stream.
# netcam_url http://yourcamera2ip:port/camera/specific/url
netcam_url rtsp://admin:PierreBQV@192.168.1.88/11 #dericam P2
netcam_userpass admin:PierreBQV
# Image width in pixels.
width 1920 # Dericam new
#width 1280 # Dericam old
#width 640 #Lidl
# Image height in pixels.
height 1080 # Dericam new
#height 720 # Dericam old
#height 480 #Lidl
#rotate 0
# ajout pour prendre un cliché sur motion
#picture_output best
#picture_type jpeg
#picture_filename C2-%Y%m%d%H%M%S
#locate_motion_style redcross
# File name(without extension) for movies relative to target directory
#noise_tune on
#emulate_motion on
despeckle_filter EedD
minimum_motion_frames 5
event_gap 50
pre_capture 1
post_capture 5
movie_max_time 60
movie_quality 95
movie_passthrough on
movie_filename C2-%Y%m%d%H%M%S
# Threshold for number of changed pixels that triggers motion.
threshold 8000
#threshold 6000 #pour le composteur
#
# The port number for the live stream off pour accéder depuis un autre PC.
stream_localhost off
stream_port 8082
# Text to be overlayed in the lower left corner of images
#text_left Camera2
# Text to be overlayed in the lower right corner of images.
#text_right Patio\n%Y-%m-%d\n%T-%q
Les paramètres spécifiques à la caméra 3 sont décrits dans ce fichier .conf
Fichier pour la caméra3
# /usr/etc/motion/camera3.conf
#
# This config file was generated by motion 4.5.1
###########################################################
# Configuration options specific to camera 3
############################################################
# User defined name for the camera.
camera_name Test
video_device /dev/video3
# Numeric identifier for the camera.
camera_id 3
# The full URL of the network camera stream.
#netcam_url rtmp://yourcamera3ip:port/camera/specific/url
#netcam_url rtsp://192.168.1.64:554/onvif1
netcam_url rtsp://192.168.1.150:554/onvif1
netcam_userpass admin:PierreBQV
netcam_params keepalive = off,tolerant_check = off,rtsp_transport = udp
#netcam_high_url
#netcam_high_params
# Image width in pixels.
width 1920
# Image height in pixels.
height 1080
# Text to be overlayed in the lower left corner of images
text_left Cam3
noise_tune on
despeckle_filter EedD
minimum_motion_frames 5
event_gap 10
#pre_capture 1
post_capture 2
# Text to be overlayed in the lower right corner of images.
#text_right FrontDoor\n%Y-%m-%d\n%T-%q
framerate 15
movie_output on
#movie_codec mkv
movie_codec mpeg4
# File name(without extension) for movies relative to target directory
movie_filename C3-%Y%m%d%H%M%S
movie_max_time 60
movie_quality 95
#Enregistre depuis la caméra sans traitement (plus rapide H264 seulement)
#movie_passthrough on
# Threshold for number of changed pixels that triggers motion.
threshold 4000
# permet le live sur un autre PC par un navigateur
stream_localhost off
# The port number for the live stream.
stream_port 8083
#picture_output best
#picture_type jpeg
#picture_filename C3-%Y%m%d%H%M%S
Pierre Schuster 10 avril 2024
Retour à l’accueil http://f5bqv.fr