Partage
  • Partager sur Facebook
  • Partager sur Twitter

GTK + OpenGL + Gstreamer

Comment faire un OSD en OpenGL sur une vidéo Gstreamer ?

    15 novembre 2011 à 22:27:20

    Bonjour,

    Petite intro ;)
    J'ai développé une application en Python et GTK pour afficher le tableau de bords de mon quadricoptère. Je reçois par liaison radio les données d'inclinaisons, vitesse des moteurs, etc. et je lui envoi les données de mon joystick pour le pilotage.
    J'ai actuellement des représentations en 3D du modèle en OpenGL dans la fenêtre GTK en fonction de l'inclinaison de l'engin. J'ai également créer un horizon artificiel plus tôt sympa.
    Depuis peu, j'ai installé un système de FPV (First Person Viewer) avec une caméra sur le quadricoptère dont l'image est retransmise via gstreamer sur le tableau de bords pour piloter comme si on se trouvait à l'intérieur. Je n'ai pas eu trop de problème à insérer le flux. Pour rendre ça encore mieux, je voudrais intégrer un nouvel horizon artificiel mais directement sur la vidéo, comme un OSD, et du coups avoir un répère de l'inclinaison au milieu de la vidéo.
    Pour ça, j'ai plusieurs solutions :
    • Garder Gstreamer dans un conteneur de GTK, et ajouter par dessus un OpenGL avec un arrière plan transparent (genre composite ?)
    • Utiliser OpenGL dans Gstreamer pour faire du traitement sur la vidéo directement.
      J'aime pas trop ce choix, car il pourrait ajouter de la latence à la vidéo par rapport à la réalité, ce qui ne faut surtout pas.
    • Utiliser OpenGL et inclure un genre de texture donnée par Gstreamer pour le background fictif
      J'ai pas l'impression que pour cette exemple, il utilise une texture, http://macslow.thepimp.net/?p=127. Malheureusement, je ne peux pas récupérer son code source. :(

    Que conseillez vous ? et comment ?
    Personnellement, je préfère la première, mais encore faut-il les superposer (j'ai entendu parler de gtkOverlay pour GTK+3.x, mais si une solution existe pour la version 2, je préfère) et savoir comment rendre transparent un "widget" d'OpenGL, surtout au dessus d'un Gstreamer.

    Si vous le demandez, je pourrai vous coller le code source actuel du Gstreamer et de l'horizon artificiel en OpenGL.

    Merci, de votre aide.
    Je suis conscient que ma requête n'est pas évidente. :p
    En attendant, je vais continuer à fouiller la moindre information sur internet. ^^

    Lien vers le projet du quadricoptère : http://yanonix.fr/projet-2-quadricopt%C3%A8re/
    • Partager sur Facebook
    • Partager sur Twitter

    GTK + OpenGL + Gstreamer

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown