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:

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"