RPi_Cam_Web_Interface
RPi_Cam_Web_Interface est une excellente solution de détection de surveillance,
avec détection de mouvement et durée de vidéo paramétrable.
Image seulement, pas de son.
Installation sur raspberry
Source : Webcam Raspberry Pi Geek
sudo apt-get update && sudo apt-get dist-upgrade -y
git clone https://github.com/silvanmelchior/RPi_Cam_Web_Interface.git
cd RPi_Cam_Web_Interface
chmod u+x *.sh
./RPi_Cam_Web_Interface_Installer.sh
Script concaténation fichiers mkv ou mp4 journée
# /home/pi/Desktop/a_balcon/scripts/serie_mkv_en_un_fichier_journee.sh
# version 1.1
# 2023-03-06 Xavier Gangand
# liste fichiers .mkv
lst_mkv=liste_mkv.txt
ls -1 *mkv | sort > ${lst_mkv}
# procéder
echo $(date +%r) $(wc -l < ${lst_mkv}) fichiers à traiter, taille $(du -hs *mkv | tail -1| cut -f1)
while read f; do
echo ffmpeg -loglevel quiet -stats -i $f $f.mp4
done < ${lst_mkv} > go_ffmpeg.sh
echo "-----------------------------------"
echo "$(date +%r) lancement go_ffmpeg.sh"
echo "-----------------------------------"
bash go_ffmpeg.sh
#~ rm go_ffmpeg.sh
echo "-----------------------------------"
# concaténer en un mp4
concat_file=concat_mp4.sh
journee_mp4=$(basename $(pwd))_journee.mp4
(echo -n "MP4Box "; for i in *.mp4; do echo -n " -cat $i"; done; echo -n " ${journee_mp4}") > ${concat_file}
bash ./${concat_file}
echo $(date +%r) concaténation des mp4 créés
#~ rm ${concat_file}
# débarrasser fichiers inutiles
dir_move=_mp4_et_mkv_
mkdir ${dir_move}
echo $(date +%r) déplacement des fichiers atomiques vers ${dir_move}
while read f; do
# ne surtout pas mettre de echo dans la boucle !!!
# car elle consomme des données en entrée
# et fait planter le traitement
#~ echo $(date +%r) mv $f ${dir_move}
mv $f ${dir_move}
#~ echo $(date +%r) mv $g ${dir_move}
mv $f.mp4 ${dir_move}
done < ${lst_mkv}
# compresser en x265 le fichier journee.mp4 en journee.mkv
echo "$(date +%r) fichier journee,$(ffmpeg -i ${journee_mp4} 2>&1 | grep Duration | cut -f2-4 -d':' | cut -f1 -d',')"
journee_mkv=$(basename $(pwd))_journee.mkv
ffmpeg -loglevel quiet -stats -hide_banner -i ${journee_mp4} -c:v libx265 -x265-params crf=25 -c:a libmp3lame ${journee_mkv}
rename 's/.mp4.x265//' *
# fichier post_traitement.sh éventuel
[ -x post-traitement-serie-mkv.sh ] && ./post-traitement-serie-mkv.sh
Ou bien à télécharger dans le dossier files
Script téléchargement/conversion continus des vidéos
# /home/pi/Desktop/a_balcon/ip22_download_videos.sh
remote_dir=/run/user/1000/gvfs/sftp:host=192.168.1.22,user=pi/var/www/html/media
local_dir=/home/pi/Desktop/a_balcon
while true; do
cd ${remote_dir}
ls -1 *4 | sort > /tmp/ls4
while read fichier; do
if [ -f ${local_dir}/$fichier ]; then
echo $(date +%r) Fichier $fichier déjà traité
else
cd ${remote_dir}
echo $(date +%r) cp $fichier ${local_dir}
cp $fichier ${local_dir}
cd ${local_dir}
#~ ffmpeg -hide_banner -i vi_0027_20230226_100508.mp4 -c:v libx265 -x265-params crf=25 -c:a libmp3lame vi_0027_20230226_100508.mp4.x265.mkv
#~ ffmpeg_compression_x265.sh mp4; ./go.mp4.x265.sh ; rename 's/.mp4.x265//' *
echo '-----------------------------------------'
echo ffmpeg -loglevel quiet -hide_banner -i ${fichier} -c:v libx265 -x265-params crf=25 -c:a libmp3lame ${fichier}.x265.mkv
echo '-----------------------------------------'
ffmpeg -loglevel quiet -hide_banner -i ${fichier} -c:v libx265 -x265-params crf=25 -c:a libmp3lame ${fichier}.x265.mkv
echo '-----------------------------------------'
mv *mkv mkv_faits
fi
done < /tmp/ls4
sleep 1m
done