Aujourd'hui je vais vous présenter un retour d'expérience sur l'intégration dans Jeedom et Homebridge d’une camera IP Hikvision, visualisation dans l’App Maison, avec Wi-Fi en local, et 4G à distance via l’Homepod.
Les équipements et versions utilisés sont les suivants :
- Jeedom 3.2.11
- plugin Homebridge v1.4.5 23/11/2018, Homebridge v0.4.45 (le plugin camera n’est pas nécessaire).
- HomePod 12.1, iPhone IOS 12.1
- Caméra IP Hikvision DS-2CD1121-I dôme Full HD PoE, firmware V5.5.54_180821
J’ai testé sur différents équipements pour comparer la qualité/fluidité Vidéo :
- JeedomSmart Stretch
- Odroid-C2 Armbian Stretch
- RPI3B Rasbian Stretch (nécessite de préciser h264_omx comme codec video)
- NUC Intel i7Gen7, ProxMox 5.2, VM Debian Stretch
configuration de la caméra IP :
La configuration vidéo de la caméra Hikvision est la suivante (accessible en http sur son adresse IP) :
Stream Type : Main Stream(Normal)
Video Type : Video Stream
Resolution : 1280*720p
Bitrate Type : Variable
Video Quality : Medium
Frame Rate : 25 fps
Max. Bitrate : 4915 Kbps
Video Encoding H.264
H.264+ : OFF
Profile ; Main Profile
I Frame Interval : 50
Smoothing : 50
test flux vidéo avec VLC :
Média → Ouvrir un flux vidéo
rtsp://login:password@ipcamera:554/Streaming/Channels/1
Outils → Informations sur les codecs : H264 – MPEG-4 AVC (part 10), 1280x720, 25 FPS
Le plugin Homebridge charge par défaut le plugin homebridge-camera-ffmpeg, nécessaire au fonctionnement de la caméra IP compatible h264 et rtsp.
Dans la configuration avancée du plugin Homebridge, la plateforme Homebridge supplémentaire ajouter les lignes suivantes :
Code : Tout sélectionner
{
"platform": "Camera-ffmpeg",
"cameras": [
{
"name": "hikvision1",
"videoConfig": {
"source": "-i rtsp://login:password@IPcamera:554/Streaming/Channels/1",
"debug": true
}
}
]
}
Par défaut le plugin homebridge-camera-ffmpeg configure la commande ffmpeg avec :
-vcodec libx264
-r 10 (il s’agit du FPS, débit d’images, nombre d’images par secondes)
Redémarrer le démon Homebridge.
Sur la page d’accueil de l’App Maison, cliquer « + » en haut à droite et cliquer « Ajouter un accessoire ». Cliquer « code absent ou impossible à scanner ? »
Cliquer l’icône accessoire de la caméra IP. Cliquer « Poursuivre l’ajout ». Saisir le PIN Hombridge indiqué dans la configuration du plugin. Mettre l’accessoire dans la pièce désirée.
(Pour supprimer la caméra de App Maison, aller dans réglages de la caméra.)
Pour le RPI3B, ajouter en plus dans la configuration de la plateforme, la ligne suivante :
"vcodec": "h264_omx",
(à insérer avant le ligne "debug": true)
Voici le résultat des tests :
Exemple d’extrait de log du démon Homebridge pour un accès local (via Wi-Fi) :
Code : Tout sélectionner
[2018-11-24 12:49:04] [Camera-ffmpeg] Snapshot from hikvision1 at 480x270
ffmpeg -i rtsp://login:password@ipcamera:554/Streaming/Channels/1 -t 1 -s 480x270 -f image2 -
[2018-11-24 12:49:09] [Camera-ffmpeg] Start streaming video from hikvision1 with 1280x720@299kBit
ffmpeg -i rtsp://login:password@ipcamera:554/Streaming/Channels/1
-map 0:0 -vcodec libx264 -pix_fmt yuv420p -r 10
-f rawvideo -tune zerolatency -vf scale=1280:720 -b:v 299k -bufsize 299k -maxrate 299k
-payload_type 99 -ssrc 12670570 -f rtp
-srtp_out_suite AES_CM_128_HMAC_SHA1_80
-srtp_out_params UYv0VkRlv0fTu+oXelIVpHmfr7HwgMPNY+OVVGK6
srtp://ipiphone:53066?rtcpport=53066&localrtcpport=53066&pkt_size=1316
[2018-11-24 12:49:20] [Camera-ffmpeg] Stopped streaming
Code : Tout sélectionner
[2018-11-24 09:52:53] [Camera-ffmpeg] Snapshot from hikvision1 at 480x270
ffmpeg -i rtsp://login:password@ipcamera:554/Streaming/Channels/1 -t 1 -s 480x270 -f image2 -
[2018-11-24 09:53:03] [Camera-ffmpeg] Start streaming video from hikvision1 with 640x360@132kBit
ffmpeg -i rtsp://login:password@ipcamera:554/Streaming/Channels/1
-map 0:0 -vcodec libx264 -pix_fmt yuv420p -r 10
-f rawvideo -tune zerolatency -vf scale=640:360 -b:v 132k -bufsize 132k -maxrate 132k
-payload_type 99 -ssrc 7834614 -f rtp
-srtp_out_suite AES_CM_128_HMAC_SHA1_80
-srtp_out_params H81bxyd1YxtudYWecCW4Ol+cc7N7DYFV0VDVpp6u
srtp://iphomepod:54581?rtcpport=54581&localrtcpport=54581&pkt_size=1316
[2018-11-24 09:53:12] [Camera-ffmpeg] Stopped streaming
Voila j'espère que ce retour d’expérience sera utile aux membres Jeedom.
akenad