Raspberry Pi : stream → HDMI¶
L’idée est la suivante : afficher le flux vidéo d’une caméra IP sur un écran. Pour ce faire, nous utiliserons un Raspberry Pi (abrégé Rpi par la suite) qui fera la transition entre le flux (stream) de la caméra vers l’écran, via la sortie HDMI. Première étape, la plus hasardeuse et plus ou moins complexe : récupérer l’adresse du flux vidéo. Cet article ne décrira pas comment le faire puisque la méthode changera suivant la marque de la caméra, voire suivant le modèle au sein d’une même marque. Format d’adresse du flux vidéo : Note Si l’accès au flux est sécurisé par une authentification simple à l’aide d’un nom d’utilisateur et d’un mot de passe, l’adresse complète du flux vidéo sera plutôt de ce genre : Une Raspbian minimale fera l’affaire sur votre Rpi. Nous allons installer OMXPlayer, un lecteur vidéo spécialement conçu pour le processeur graphique (GPU) du Rpi : Ensuite, voici la ligne de commande pour lire le flux vidéo vers la sortie HDMI : Ci-dessous est le script complet qui lancera automatiquement l’affichage de la caméra sur l’écran : Note l’utilité du Un exemple concret avec la caméra de surveillance D-Link DCS-2210 : Le flux choisi est le profile n°2, configuré comme tel : Mode : JPEG (car le Raspberry Pi 1 n’est pas assez puissant pour décoder du MPEG4/H264 en haute qualité) ; Frame size : 1280x720 ; View window area : 1280x720 ; Maximum frame rate : 25 (ou 30 suivant le modèle) ; Video quality : Excellent. Plusieurs solutions s’offrent à nous : Déplacement de l’article depuis le blog. Suppression de l’argument Ajout de l’exemple D-Link DCS-2210. Utilisation de l’argument Premier jet.Le Flux Vidéo¶
http://IP/live/0/mjpeg.jpg
http://USER:PASSWORD@IP/live/0/mjpeg.jpg
Mise en Place¶
sudo apt install omxplayer
omxplayer -o hdmi URL
Script Complet¶
#!/bin/bash
user='user'
password='password'
ip='127.0.0.1'
url='/live/0/mjpeg.jpg'
stream="http://${user}:${password}@${ip}${url}"
while true; do
for n in $(seq 10 -1 1); do
clear
echo "Vidéo dans ${n}s…"
sleep 1
done
omxplayer -o hdmi \
--no-osd \
--no-keys \
--aidx -1 \
--refresh \
--live \
"${stream}"
done
sleep 10
est important, sans ça, OMXPlayer s’arrête sur une erreur « Aborted » ;--aidx
permet de choisir la piste audio (-1 pour désactiver l’audio) ;while true
est de relancer OMXPlayer en cas de rupture du flux vidéo de la part de la caméra.Exemple¶
D-Link DCS-2210¶
user='admin'
password='password'
ip='192.168.0.24'
url='/video/mjpg.cgi?profileid=2'
Lancement au Démarrage¶
# (…)
sh /opt/stream-hdmi.sh &
@reboot USER sh /opt/stream-hdmi.sh &
# (…)
sh /opt/stream-hdmi.sh &
exit 0
📜 Historique¶
--loop
(convient pour les fichiers, pas les flux).--aidx
.