Aller au contenu

Projet ISPY

Afin d'avoir une surveillance visuelle d'une salle, nous avons décidé de mettre en place un serveur NVR pour centraliser l'ensemble des caméras disponibles.

Nous avons deux caméras POE "PLANET ICA-3280" qui permettent d'accéder à la vidéo via le protocole ONVIF.

Il est possible de consulter la documentation sur le protocole ONVIF via le lien suivant : https://www.onvif.org/

  • Les caméras seront alimentées via le câble réseau en POE.

Caméra principal

Utilisateur : admin
Mot de passe : admin

Caméra secondaire

Utilisateur : admin
Mot de passe : admin

Serveur et Switch

MODELE : DELL R210 II
RAM : 12GB
CPU : E3 1200 V2
DISQUES : 1000GB + 500GB en raid 0

Pour connecter les différentes caméras nécessitant une alimentation POE, j'ai utiliser un commutateur Cisco SG300-28P.

  • Aucune adresse IP n'a été configurée pour le moment sur ce commutateur.

Le système d'Hyperviseur Proxmox a été installer.

Installation

1. Proxmox

Proxmox est disponible en téléchargement sur le site officiel à l'adresse suivante : https://www.proxmox.com/en/downloads.

Pour créer un support d'installation de Proxmox, vous pouvez utiliser l'utilitaire Rufus pour écrire l'image ISO sur une clé USB.

Ensuite, vous devez changer l'ordre de démarrage du serveur pour pouvoir démarrer à partir de la clé USB et suivre les instructions pour installer Proxmox.

Utilisateur : root
Mot de passe : XXXX

2. Container LXC

Une fois connecté au panneau de gestion de Proxmox, il est nécessaire de télécharger une template Ubuntu avant de pouvoir installer notre conteneur.

Notez que la solution LXC est une solution de conteneurisation, donc les autorisations "administrateur/nesting" doivent être activées pour installer Docker sur celle-ci.

a. Téléchargement de la template

Cliquer sur le disque puis sur "CT Templates"

Juste après cela trouver le bouton "Templates" en haut de la page puis chercher ubuntu. Cliquer sur "Download" sur la version voulue.

b. Création du container LXC

Dans le coin supérieur gauche, il y a un bouton "create CT". Cliquez dessus, puis suivez les étapes en choisissant la template récemment téléchargée. À la dernière étape, assurez-vous de bien renseigner la configuration réseau.

Décochez la case "Unprivileged container" pour permettre l'installation de Docker sur le container.

Utilisateur : root
Mot de passe : `bestpassword``

c. Ajout d'un utilisateur local

Afin d'améliorer la sécurité de notre conteneur, un utilisateur secondaire a été ajouté.

Pour ce faire, il est nécessaire de se connecter en tant qu'utilisateur root depuis l'onglet console du conteneur, puis d'exécuter la commande suivante :

adduser superusersecret

Mot de passe du compte superusersecret: mypasswordisgood

d. Installation de docker

La commande "apt-get install docker.io" ne fonctionne pas car les dépôts Ubuntu ne sont pas à jour. Pour installer Docker sur Ubuntu, il est recommandé de suivre la documentation officielle qui se trouve à l'adresse suivante : https://docs.docker.com/engine/install/ubuntu/

e. Lancement du container

Le service "ISPY" mentionné dans cette commande est une solution open source de vidéo surveillance. Il est également disponible sous Windows.

docker run -it -network host \
-v /appdata/ispyagentdvr/config/:/agent/Media/XML/ \
-v /appdata/ispyagentdvr/media/:/agent/Media/WebServerRoot/Media/ \
-v /appdata/ispyagentdvr/commands:/agent/Commands/ \
--restart unless-stopped --name ispyagentdvr doitandbedone/ispyagentdvr

3. Ispy Agent DVR

Une interface web proposant diverses fonctionnalités est accessible sur l'adresse IP via le port 8090.

a. Ajouts des sources videos

Comme mentionné précédemment, les caméras utilisent le protocole ONVIF qui permet la transmission de diverses informations telles que la vidéo, l'audio, les mouvements, le PTZ, etc.

Pour cela, il suffit de cliquer sur le deuxième bouton en haut à gauche de l'écran et de sélectionner "Ajouter un périphérique".

Sélectionner ONVIF :

Pour accéder aux options supplémentaires, cliquez sur les trois petits points.

Ajoutez l'adresse IP de la caméra à l'aide du lien ci-dessous, puis cliquez sur "Obtenir des URL vidéo". Vous obtiendrez ainsi les flux vidéo disponibles avec plusieurs qualités.

Conclusion

En conclusion, j'ai pu mettre en pratique mes connaissances sur le protocole ONVIF que j'avais déjà expérimenté personnellement pour mon propre système de vidéo surveillance. J'ai également examiné les autres solutions disponibles pour l'enregistrement de vidéosurveillance.

Dans l'ensemble, je n'ai rencontré que peu de difficultés, à l'exception de la détection d'un disque dur dans le serveur. Nous avons résolu ce problème en remplaçant le serveur par un modèle identique qui possédait une carte RAID pour pouvoir configurer un RAID0.

Cependant, j'ai noté que l'utilisation du processeur était très élevée lors du décodage vidéo, atteignant jusqu'à 50% pour deux flux vidéo 1080P. Une amélioration pourrait être apportée en utilisant un GPU dédié pour soulager la charge de travail du processeur.

En somme, j'ai pu tirer de précieuses leçons de cette expérience et je suis satisfait des résultats obtenus. Je suis convaincu que ces connaissances me seront utiles dans mes projets futurs en matière de vidéosurveillance.