J'ouvre deux webcams en utilisant v4l2. Avec 30 fps tout fonctionne bien. Avec 60 fps, les ennuis commencent. FPS sur la première cam environ 20, FPS sur la deuxième cam environ 0-3. J'essaie d'exécuter dans différents threads (et différents noyaux de processeur) - le même problème. Je pense que le problème dans le pilote v4l2.v4l2 panne de plusieurs périphériques
Ma tâche est très simple - capturer des données de deux webcams sur un ordinateur avec 60 fps. C'est possible? En quoi pourrait être le problème? Je peux montrer le code, mais c'est gros.
Désolé pour mon anglais.
Merci pour la réponse. Mais comment puis-je utiliser DMA? Maintenant, j'utilise juste l'API v4l2. Si le problème se situe dans la courte file d'attente du tampon, l'augmentation du nombre de tampons ne résoudra pas le problème. Donc, ou la performance est suffisante, ou la performance ne suffit pas et alors rien ne va aider. – herolover
Vous pouvez utiliser DMA si votre matériel peut faire du DMA. V4L2 offre le framework VideoBuf2 pour gérer les buffers. Ici vous pouvez trouver différents allocateurs de mémoire DMA vb2-dma-contig, vb2-dma-sg. Évidemment, si vos webcams sont plus rapides que votre processeur, une longue file d'attente ne résout pas le problème. Mais si vous avez une file d'attente de 10 tampons et que vous acquérez 15 images à la fois, vous pouvez définir 10 tampons, mais vous devez attendre pour définir les 5 autres. – Federico