Aller au contenu principal

Configuration multi-caméras

GoCam de FLYOS-FAST v1.4.0 prend en charge le raccordement de plusieurs caméras UVC sur le même hôte. Cet article explique la méthode de configuration complète en prenant l'exemple de deux caméras ; il en va de même pour trois ou quatre caméras.

Versions concernées

La prise en charge multi-caméras dépend de GoCam et n'est disponible qu'à partir de FLYOS-FAST v1.4.0. Pour les machines utilisant Crowsnest, veuillez consulter Connexion et utilisation de la caméra ; pour l'utilisation de base d'une seule caméra GoCam, veuillez consulter Service de caméra GoCam.

Ports et adresses d'accès​

Le port et le chemin web de chaque caméra sont en correspondance univoque ; le préfixe /webcamN/ est préconfiguré par nginx en usine et ne nécessite aucune modification. Cliquez sur l'icône à droite de l'adresse pour la copier :

Voie et portFlux vidéo en directCapture instantanée
Voie 1 · 8080
Loading...
Loading...
Voie 2 · 8081
Loading...
Loading...
Voie 3 · 8082
Loading...
Loading...
Voie 4 · 8083
Loading...
Loading...

La règle est la suivante : le port de la voie N est 8080 + (N - 1), le chemin web est /webcamN/, où le chiffre est omis pour la voie 1 et s'écrit /webcam/.

?action=stream et ?action=snapshot sont des écritures compatibles avec mjpg-streamer de GoCam, respectivement équivalentes à /stream et /snapshot ; il s'agit d'un comportement intégré à l'interface, et non d'options à configurer.

Connexion des caméras​

Pour le choix des caméras, le mode de câblage et les exigences UVC sans pilote, veuillez consulter Connexion et utilisation de la caméra.

Dans un scénario multi-caméras, chaque caméra doit être raccordée à un port USB différent de l'hôte, sans passer par le même concentrateur non alimenté ; avant de brancher ou de débrancher une caméra, veuillez éteindre complètement l'imprimante et couper l'alimentation.

Étape 1 : Ouvrir la configuration​

Pour la méthode d'ouverture du fichier de configuration et de consultation des nœuds de périphérique (ID de caméra) dans Fluidd, veuillez consulter Ouvrir la configuration.

Dans un scénario multi-caméras, chaque voie doit renseigner le nœud de capture de la caméra (video-index0), et non pointer vers le nœud metadata ; fixez-le en fonction du port USB physique afin d'éviter qu'un changement de numérotation des nœuds après redémarrage ne provoque une défaillance.

Étape 2 : Rédiger la configuration multi-voies​

Le fichier de configuration se trouve à l'emplacement suivant :

/usr/share/printer_data/config/gocam.conf

Exemple de configuration à deux voies (device fixé via by-path, résolution renseignée selon les mesures réelles) :

[cam 1]
port: 8080
device: /dev/v4l/by-path/platform-5311000.usb-usb-0:1:1.0-video-index0
resolution: 640x480
max_fps: 15
quality: 5

[cam 2]
port: 8081
device: /dev/v4l/by-path/platform-5101000.usb-usb-0:1:1.0-video-index0
resolution: 640x480
max_fps: 15
quality: 5
ParamètreDescription
portPort HTTP écouté par cette voie, ne doit pas être répété entre les voies
deviceChemin du nœud de capture (video-index0) de cette caméra
resolutionRésolution réellement prise en charge par la caméra, au format largeurxhauteur
max_fpsFréquence d'images maximale, il est recommandé de ne pas dépasser la valeur énumérée par la caméra
qualityQualité MJPEG, valeur de 1 à 31, plus la valeur est petite, meilleure est la qualité et plus élevée est la bande passante
v4l2ctlFacultatif, paramètres UVC ; les paramètres enregistrés depuis la page de gestion sont écrits dans cet élément
ffmpeg_flagsFacultatif, paramètres FFmpeg
Encodage logiciel et transmission directe

Les caméras ne prenant en charge que le format YUYV nécessitent un encodage logiciel en MJPEG par l'hôte, ce qui entraîne une charge CPU élevée ; les caméras prenant en charge MJPG peuvent être transmises directement, avec une consommation CPU quasi nulle. Si les deux voies ne prennent en charge que YUYV, il est recommandé de commencer par 640x480 à 15 images/s ; si une voie prend en charge MJPG, sa résolution peut être augmentée individuellement.

Étape 3 : Ajouter des panneaux de caméra dans l'interface web​

Après avoir configuré GoCam, il faut également enregistrer les caméras dans Moonraker pour que Fluidd / Mainsail affichent les panneaux.

Dans Fluidd, ouvrez Paramètres → Caméras, et vérifiez que les deux entrées sont renseignées respectivement :

EntréeAdresse du flux vidéoAdresse de capture
Voie 1
Loading...
Loading...
Voie 2
Loading...
Loading...
Erreurs courantes
  • La deuxième voie est encore écrite en /webcam/ : les deux panneaux afficheront l'image de la même caméra. La voie N doit utiliser /webcamN/.
  • Les entrées ajoutées dans l'interface web sont stockées dans la base de données de Moonraker (source vaut database) ; modifier uniquement moonraker.conf ne prendra pas effet, il faut modifier dans l'interface.
  • L'interface /server/webcams/item de Moonraker ne prend en charge que la consultation, l'ajout et la suppression, pas la modification ; veuillez également effectuer les opérations dans l'interface.

Si vous devez ajouter des entrées via le fichier de configuration (sans modifier les entrées existantes dans la base de données), vous pouvez ajouter dans moonraker.conf :

[webcam cam2]
enabled: true
service: mjpegstreamer-adaptive
target_fps: 15
stream_url: /webcam2/?action=stream
snapshot_url: /webcam2/?action=snapshot

Questions fréquentes​

PhénomèneCause possibleTraitement
La page affiche NO SIGNAL, frames reste à 0device pointe vers le nœud metadata, ou resolution dépasse les capacités de la caméraVérifiez avec --list-formats-ext, utilisez video-index0
Les deux panneaux affichent exactement la même imageL'URL de la deuxième voie est encore écrite en /webcam/Remplacez par /webcam2/?action=stream
Une voie devient inopérante après redémarrageLe numéro /dev/videoN change selon l'ordre de branchementRemplacez device par /dev/v4l/by-path/...-video-index0
Le port de la deuxième voie est inaccessible[cam 2] n'est pas configuré, ou conflit avec le port d'un autre serviceVérifiez l'écoute avec ss -lntp | grep 8081
Image saccadée, charge de l'hôte élevéeEncodage logiciel YUYV combiné à une résolution et une fréquence d'images élevéesRéduisez la résolution ou la fréquence d'images, ou utilisez une caméra prenant en charge MJPG
Loading...