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 :

[video]Récupérer les trames d'une vidéo en bitmap


Sujet :

C++

  1. #1
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut [video]Récupérer les trames d'une vidéo en bitmap
    Salut,

    je souhaite recuperer des bitmaps a partir d'une video! j'utilise avifile avec vfw.h et malgré la lecture de msdn j'arrive pas a mettre le doigts dessus! il y est expliqué comment créer un avi avec des bitmaps mais pas l'inverse...qq'un peut m'aider?

    merci

  2. #2
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut
    n'arrivant pas a trouver exactement ce que je recherche je tente un peu anarchiquement de coder avec les infos que je peux trouver(ne sachant pas si elles sont bonnes!). Voici donc mon code(je vous met tout c'est peut etre mieux pour la comprehension!) qui me donne le droit a un beau "une violation d'acces(erreur de segmentation) est apparue dans votre programme"



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
          #include <cstdlib>
          #include <iostream>
          #include <windows.h>
          #include <vfw.h> //dispo avec dev-cpp ou vc++
     
          using namespace std;
          int main(int argc, char *argv[])
     
          {
             int tmp;
             cout << "tentative de lecture d'une vidéo"<<endl<<endl;
             AVIFileInit();
             PAVIFILE avi(NULL);
             if(AVIFileOpen(&avi, "C:/DivX/Dogma.avi", OF_READ, NULL) == 0)
             {
                 AVIFILEINFO avi_info;
                 if(AVIFileInfo(avi, &avi_info, sizeof(AVIFILEINFO)) == 0) 
                 {
                     cout << "Longueur de la trame: "<<avi_info.dwLength << endl;
                     cout << "Nombre de trame "<<avi_info.dwStreams <<endl;
                     cout << "Hauteur de l'image "<<avi_info.dwHeight <<endl;
                     cout << "Largeur de l'image "<<avi_info.dwWidth <<endl;
                     tmp = avi_info.dwRate/avi_info.dwScale;
                     cout << "Rate "<<avi_info.dwRate <<endl;
                     cout << "Scale "<<avi_info.dwScale <<endl;
                     cout << "nombre de trame par seconde "<<tmp <<endl;
                 }
             }
             PAVISTREAM avi_stream(NULL);
             PGETFRAME GetFrame;
             int nb_frames;
             void *pDIB;
             BITMAPINFOHEADER *bmp_h = (BITMAPINFOHEADER *) AVIGETFRAMEF_BESTDISPLAYFMT;
             int streamNumber = 0;
             nb_frames = AVIStreamLength( avi_stream );
             printf("Nombre de frames: %d",nb_frames);
             GetFrame = AVIStreamGetFrameOpen( avi_stream, bmp_h );
             pDIB = AVIStreamGetFrame( GetFrame, 1 );
     
     
             while(AVIFileGetStream(avi, &avi_stream, streamtypeVIDEO, streamNumber++) == 0) 
             {
                 AVISTREAMINFO avi_stream_info;
                 if(AVIStreamInfo(avi_stream, &avi_stream_info, sizeof(AVISTREAMINFO)) == 0) 
                 {
                     //AVISTREAMINFO avi_stream;
                     cout << "langue de la trame: "<<avi_stream_info.wLanguage <<endl;
                     cout << "fourCC du codec: "<<avi_stream_info.fccHandler <<endl;
                     //cout << "Dimensions : "<<avi_stream_info.rcFrame <<endl;                 
                 }
     
             }
          AVIFileExit();
          system("PAUSE" );
          return EXIT_SUCCESS;
          }

    qq'un pour m'aider?

  3. #3
    Membre expérimenté
    Avatar de granquet
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    1 201
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 201
    Points : 1 421
    Points
    1 421
    Par défaut
    Citation Envoyé par Jim_Nastiq
    qq'un pour m'aider?
    moi non ... eux oui ! :: http://www.developpez.net/forums/forumdisplay.php?f=19

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupérer toutes les frame d'une vidéo
    Par cjacquel dans le forum Flex
    Réponses: 0
    Dernier message: 17/10/2013, 12h20
  2. [API HTML5] Récupérer les évènements d'une balise video.
    Par elekaj34 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/09/2013, 12h27
  3. Récupérer les dimensions d'une vidéo QuickTime.
    Par jprscl dans le forum Multimédia
    Réponses: 4
    Dernier message: 27/09/2010, 09h30
  4. DirectX, récupérer les images d'une vidéo
    Par edid dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 18/01/2007, 19h05
  5. [Servlet] récupérer les champs d'une jsp
    Par phoebe dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 12/05/2004, 16h32

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