Question

Nous avons un dispositif qui a une caméra analogique. Nous avons une carte qui échantillonne et numérise. Tout cela est fait dans directx. A ce moment, le remplacement du matériel n'est pas une option, mais nous avons besoin de code tel que nous pouvons voir ce flux vidéo en temps réel indépendamment de tout changement de système d'exploitation matériel ou sous-jacente se produisent à l'avenir.

Le long de cette ligne, nous avons choisi Qt pour mettre en œuvre une interface graphique pour afficher ce flux de la caméra. Toutefois, si nous passons à un linux ou autre plate-forme embarquée dans l'avenir et changer d'autres matériels (y compris le dispositif physique où la caméra / sampler vidéo vit), nous devrons changer le logiciel d'affichage de la caméra ainsi, et que ça va être une douleur parce que nous devons intégrer dans notre interface graphique.

Qu'est-ce que j'ai proposé a été la migration vers un modèle plus abstrait où les données sont envoyées sur une prise à l'interface graphique et la vidéo est affichée en direct après avoir été analysé à partir du flux de socket.

Tout d'abord, est-ce une bonne idée ou une mauvaise idée?

En second lieu, comment voulez-vous mettre en œuvre une telle chose? Comment les échantillonneurs vidéo donnent généralement la sortie utilisable? Comment puis-je pousser cette sortie sur une prise de courant? Une fois que je suis sur la réception de l'analyse de la sortie, comment puis-je savoir quoi faire avec la sortie (comme dans la façon d'obtenir la sortie de rendre)? La seule chose que je peux penser serait d'écrire chaque échantillon à un fichier, puis pour afficher le contenu du fichier à chaque fois qu'un nouvel échantillon arrive. Cela semble être une solution inefficace pour moi, si cela fonctionnerait du tout.

Comment recommanderiez-vous gérer cela? Y a-t-il des bibliothèques multi-plateforme disponible pour une telle chose?

Merci.

edit: je suis prêt à accepter les suggestions de quelque chose de différent plutôt que ce qui est indiqué ci-dessus

.
Était-ce utile?

La solution

Tout ce qui fait double emploi avec le flux vidéo va vous coûter cher en performance, en particulier dans un espace intégré. Dans la plupart des cas pour la vidéo, je pense que vous êtes mieux d'essayer d'utiliser l'accélération matérielle locale pour faire sauter la vidéo directement à l'écran. Avec une encapsulation appropriée, vous devriez être en mesure d'utiliser Qt pour l'interface graphique autour de la vidéo, et une classe qui est la plate-forme spécifique que vous utilisez pour contrôler l'affichage de la vidéo réelle à l'écran (où dessiner, et la taille, etc. ).

Modifier

Vous pouvez également consulter la bibliothèque de Phonon. Je ne l'ai pas regardé beaucoup, mais il semble soutenir l'affichage vidéo qui peuvent être acquises à partir d'une gamme de différentes sources.

Autres conseils

Avez-vous regardé QVision ? Il est un cadre basé sur Qt pour gérer le traitement vidéo et la vidéo. Vous n'avez pas besoin du traitement, mais je pense qu'il va faire ce que vous voulez.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top