le
248 mots - 2 minutes de lecture
Camera reolink - récupérer les flux vidéos rstp
Présentation (rapide)
Reolink fabrique des caméras de surveillance qui ont pas mal d’avantages pour peu d’incovenients:
- ils font des caméras POE
- ils font des caméras avec zoom optique ET motorisées ET POE
- l’interface web de ces caméras est accessible à partir d’un navigateur sous linux.
- la qualité d’image est très bonne de jour comme de nuit
- les caméras ne sont pas chères
- le seul gros défaut que je leur trouve : il faut Flash pour voir l’image en temps réél dans le navigateur
Et c’est là que le TIL intervient.
Le problème
Je veux pouvoir voir l’image en temps réél de ma caméra sans avoir à ouvrir un navigateur et sans avoir besoin de flash. Besoin subsidiaire : je veux pouvoir enregistrer le flux vidéo pour visionnage ultérieur
Ca tombe bien, ces caméras font nativement du RSTP. Evidemment tout ceci est assez mal documenté.
La solution
Flux RSTP
L’url du flux RSTP de la caméra est :
rtsp://${USER}:${PASS}@${CAM_HOSTNAME}:554/h264Preview_01_main
Ca se visualise bien avec VLC (par exemple)
cvlc rtsp://${USER}:${PASS}@${CAM_HOSTNAME}:554/h264Preview_01_main
Snapshot
Pour récupérer une image, il y a une petite subtilité, l’URL est :
http://${CAM_HOSTNAME}/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=repieZeeshooc4oS&user=${USER}&password=${PASS}
Un wget fait très bien le job :
wget -O /tmp/${CAM_HOSTNAME}.jpg "http://${CAM_HOSTNAME}/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=repieZeeshooc4oS&user=${USER}&password=${PASS}"
Enregistrement en continu
Enfin si comme moi vous voulez enregistrer le flux vidéo en continu, installez FFmpeg. La commande magique pour faire des enregistrements de taille de 5 minutes est :
ffmpeg -loglevel quiet -i rtsp://${USER}:${PASS}@${CAM_HOSTNAME}:554/h264Preview_01_main -c copy -map 0 -f segment -segment_time 300
-segment_atclocktime 1 -reset_timestamps 1 -strftime 1 -segment_format mp4 "${DIR}/%Y/%m/%d/${CAM_HOSTNAME}-%Y%m%d-%H%M%S.mp4"