Il est vrai qu'un ancien sujet évoque largement le streaming, dans celui-ci, je vais parler de la même chose mais exécutée différemment.
Pour commencer, je reviens vers vous après la lecture de l'article de François :
http://www.framboise314.fr/une-camera-d ... pberry-pi/
Dans les 129 commentaires laissés à la suite de l'article, on y apprend ceci :
Il possible d'utiliser directement la camera comme une webcam traditionnelle avec le module "bcm2835-v4l2" :
Code : Tout sélectionner
pi@raspberrypi ~ $ sudo modeprode bcm2835-v4l2
Code : Tout sélectionner
pi@raspberrypi ~ $ ls -lah /dev/video0
crw-rw---T 1 root video 81, 0 Nov 16 20:17 /dev/video0
Dans mon cas, j'utilise ZoneMinder pour mes caméras (je me ferai un plaisir de faire un article dessus dans les prochains jours si je remarque un intérêt pour celui-ci dans vos réponses).
Cependant, ce système de gestion de la vidéo surveillance est assez gourmand, celui-ci ne peut donc tourné correctement sur un RPI, il doit nécessairement fonctionner sur un autre système.
En fait, je ne l'ai pas testé sur un RPI, mais comme il est très gourmand, je n'essayerai pas.
Cette article est également valable (mais non testé) pour tous ceux qui possède un NAS Synology avec la fonction vidéo surveillance.
Mon but donc est d'avoir la vidéo sur mon réseau au format 1024x768 codée en H264 sans utiliser raspivid et ce afin que mon ZoneMinder puisse obtenir et traiter la vidéo.
Voici comment j'ai opéré pour que cela soit possible :
Pour streamer la camera sur le réseau, il existe plusieurs possibilités, dans mon cas, je vais parler des 2 principales : l'unicast et le multicast.
Dans le cas de l'unicast, le client se connecte à la source et le débit sur le réseau ainsi que l’utilisation de CPU de la source augmentent proportionnellement selon le nombre de client, cette technologie est d’ailleurs utilisée par la majorité des fournisseurs de VOD.
Dans le cas du multicast, la source envoie directement le flux sur le réseau ce qui fait que le débit sur le réseau reste constant et ce peu importe le nombre de clients "à l’écoute", cette technologie est d’ailleurs utilisée par la majorité des fournisseurs de TV numérique.
Pour celui ou celle qui le souhaite, je vous ai mis les liens vers les différentes pages Wikipédia des différents protocoles.
Pour lancer VLC en unicast, voici la commande :
Code : Tout sélectionner
pi@raspberri ~ $ cvlc v4l2:///dev/video0:chroma=h264:width=1024:height=768 --sout '#rtp{sdp=rtsp://:8554/}' -vvv
Ou pour lancer VLC en version multicast (le protocole utilise les adresses de 224.0.0.0 à 239.255.255.255), voici la commande :
Code : Tout sélectionner
pi@raspberri ~ $ cvlc v4l2:///dev/video0:chroma=h264:width=1024:height=768 --sout '#standard{access=udp,mux=ts,dst=239.255.1.2:1234,sap,name="RPIStream"}' -vvv
Pour lire le flux sur un client VLC en unicast (changer l'adresse IP du RPI : aaa.bbb.ccc.ddd) :
Code : Tout sélectionner
$ vlc rtsp://aaa.bbb.ccc.ddd:8554/
Code : Tout sélectionner
$ vlc udp://@239.255.1.2:1234/
Attention, si vous coupez le serveur multicast alors que votre client écoute toujours, vous allez remarquer que le client ne s’arrêtera pas d'écouter le flux multicast, n'oubliez pas de le couper manuellement.
Voici un petit résumé de mes observations actuelles :
Avec les commandes en unicast ci-dessus et 1 client, j'obtiens pour l'instance de VLC une utilisation du CPU du RPI de ± 20%, de ± 3.5% de RAM et une utilisation de bande passant réseau de ± 5.50 mbps (+/- 700 ko/s) en wifi.
Avec les commandes en multicast ci-dessus, j'obtiens pour l'instance de VLC une utilisation du CPU du RPI de ± 11%, de ± 3.5% de RAM et une utilisation de bande passant réseau de ± 4 mbps (+/- 500 ko/s) en wifi.
EXPLICATION du [unstable]
J'ai remarqué durant mes différents tests que l'image est parfois instable et ce sans explications, peut-être le codage H264 ou tout simplement VLC.
J'ai également remarqué qu'après un certains temps le RPI freeze en multicast, cela ne m'est arrivé qu'une seule fois, et je n'ai aucune explication sur les raisons de ce phénomène.
Je continue a investiguer sur ces 2 phénomènes et j'espère enlever rapidement le [unstable]
En espérant que ces informations vous soient utiles.
Je vous souhaites une très bonne soirée.