IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

[VLC] sortie frame buffer


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 49
    Par défaut [VLC] sortie frame buffer


    J'ai vu que VLC proposait plusieurs sorties pour la lecture d'un fichier. L'une d'entre elle m'intéresse assez, c'est la sortie frame buffer.
    Je suis sous Linux, dans les options le frame buffer est /dev/fb0.

    Je me pose la question de savoir s'il est possible de récupérer cette frame depuis un programme écrit en C++ pour pouvoir la manipuler ? Si oui, quelles fonctions sont nécessaires ?

    Merci bien

  2. #2
    screetch
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    int f = open("/dev/fb0");
    read(f, data, size);


    man framebuffer donne kekchose ?

    voila un tuto rapidos

    http://209.85.135.104/search?q=cache...ient=firefox-a

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 49
    Par défaut
    Excellent merci !

    Je n'avais pas trouvé de tuto jusqu'à présent pour pouvoir récupérer les frames dans ce buffer.

    Tu as répondu efficacement et très rapidement à ma question, merci beaucoup !

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 49
    Par défaut
    Re salut,

    Bon je viens de m'attaquer au problème, et malheureusement le cache pour le lien sur le tuto de VLC est mort.

    J'ai essayé avec tes méthodes simples en faisant un open sur le frame buffer /dev/fb0.
    Mon soucis c'est que je ne sais absolument pas dans quel format sont les frames dans ce buffer.

    Voici le code que j'ai utilisé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     // recuperation de la frame (frameBuffer = fileDescriptor de "/dev/fb0")
     nbBytesReaden = read ( frameBuffer, tempBuffer, TAILLEFRAMEVIDEOYUV ) ;
     // placement de l'offset en début pour lire la nouvelle frame
     lseek( frameBuffer, 0, SEEK_SET ) ;
    Ici TAILLEFRAMEVIDEOYUV est le format d'une frame au format YUY2 soit YCbCr 4:2:2 ( 576 * 720 * 2 octets ). Je peux changer ce format, mais je ne sais absolument pas la taille d'une frame écrite dans le frame buffer par vlc. Et, encore moins pour le son !

    J'ai joué sur une sortie SDI les frames lues (récupérées donc dans "tempBuffer") à l'aide d'un autre programme sur un moniteur, et l'écran reste figé avec des couleurs fluos ! Autant dire que je ne lis pas grand chose ...

    En entrée je lis un fichier .ts (transport stream), avec VLC (sortie en mode "GNU/Linux console framebuffer video output" ). Lorsque je lis la vidéo, je parviens à la visualiser avec le lecteur (sur mon écran pc, de manière classique).
    Sans doute que VLC écrit sur la sortie standard en plus du frameBuffer.

    Quelqu'un a-t-il une idée ?
    Merci d'avance !

    Raph

  5. #5
    screetch
    Invité(e)
    Par défaut
    salut,

    voila une copie du tuto qui marchait bien :

    http://qt.developpez.com/doc/3.3/emb-framebuffer-howto/

    tu verras comment recuperer des infos sur l'ecran et mapper l'image en memoire. Ensuite il "suffit" de lire cette memoire!
    Dernière modification par Deepin ; 01/09/2011 à 09h27.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 49
    Par défaut
    merci screetch,

    Je vais tester ça aujourd'hui et je te tiendrais au courant. En tout cas, ce tuto a l'air de répondre exactement à mes attentes !

Discussions similaires

  1. Utilisation du frame buffer avec Nvidia
    Par HNT dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 05/07/2006, 12h47
  2. format frame buffer
    Par jeremieLuminy dans le forum OpenGL
    Réponses: 9
    Dernier message: 22/04/2006, 09h50
  3. Frame Buffer
    Par nicolaskarp dans le forum Linux
    Réponses: 3
    Dernier message: 20/03/2006, 04h11
  4. Frame buffer object
    Par Pen² dans le forum OpenGL
    Réponses: 6
    Dernier message: 14/11/2005, 10h17
  5. Linear Frame Buffer
    Par Neo82 dans le forum Assembleur
    Réponses: 10
    Dernier message: 01/03/2003, 21h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo