Accueil > Divers (et d’été) > Non classés > La solution de vidéo-surveillance HIK / iVMS...
Convertir et agréger des vidéos de surveillance HIK / iVMS
La solution de vidéo-surveillance HIK / iVMS...
mardi 25 octobre 2022, par
La solution de vidéo-surveillance HIK / iVMS permet de télécharger des vidéos enregistrées pour les transmettre à un tiers (Police, Gendarmerie, etc...). Malheureusement les vidéos ainsi téléchargées sont en plusieurs morceaux et non sont visualisables qu’avec un logiciel spécifique (même si elles sont en théorie en MP4).
Voici un petit script pour les transformer en un fichier vidéo unique au format standard lisible avec VLC par exemple.
Bonus : comment zoomer sur une partie de la vidéo.
Il faut commencer par télécharger la vidéo. Dans IVMS cela se fait en :
- visualisant la vidéo avec le Remote PlayBack (choisissez une seule caméra)
- cliquer sur les ciseaux en bas à gauche pour choisir le début/fin exacts et pour donner un nom au fichier
- inutile de cocher « Download Player », vous n’en aurez pas besoin
- cliquez sur l’icône de téléchargement en haut à droite et vous verrez le pourcentage de téléchargement
- attendre (c’est lent)
- attendre (c’est très lent)
- attendre (c’est vraiment très long)
Lorsque le téléchargement est terminé, rendez-vous sur « C :\Users\Public\iVMS-4200 Site\UserData\Video », vous y trouverez un répertoire portant le nom que vous avez choisi pour l’export.
Copier et lancer alors le script suivant (nécessite Cygwin sous Windows et ffmpeg).
#!/bin/sh
N=1000
rm -f liste_videos.txt
rm -f tempo_video_file_*.mp4
rm -f video_complete.mp4
echo "# Liste des fichiers" > liste_videos.txt
for i in *.mp4
do
ffmpeg -err_detect ignore_err -i "$i" -vcodec libx264 tempo_video_file_$N.mp4 < /dev/null
echo "file './tempo_video_file_$N.mp4" >> liste_videos.txt
N=`expr $N + 1`
done
rm -f video_complete.mp4
ffmpeg -f concat -safe 0 -i liste_videos.txt -c copy video_complete.mp4
Vous obtiendrez, après convention, un fichier unique : video_complete.mp4
Si vous avez plusieurs caméras à sauvegarder, répétez cela autant de fois que nécessaire.
Pour Zoomer sur une partie de l’image, vous pouvez utiliser la commande suivante :
ffmpeg -i video_complete.mp4 -filter:v crop=W:H:MW:MH zoom.mp4 < /dev/null
En remplaçant :
- W par la largeur désirée
- H par la hauteur désirée
- MW par la marge à laisser à gauche
- MH par la marge à laisser en haut
Pour déterminer les paramètres à utiliser vous pouvez vous aider en extrayant une image de la vidéo avec la commande suivante qui va transformer la première frame de la vidéo en jpeg :
ffmpeg -y -i video_complete.mp4 -vframes 1 first_image.jpg < /dev/null
Vous pouvez alors l’éditer avec un éditeur d’image pour mesurer les pixels et déterminer la zone à conserver dans la vidéo.