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

API graphiques Discussion :

[Newbie] utilisation de ffmpeg


Sujet :

API graphiques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de grabriel
    Inscrit en
    Septembre 2006
    Messages
    946
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 946
    Par défaut [Newbie] utilisation de ffmpeg
    J'ai trouvé un tuto sur ffmpeg ici :

    http://www.dranger.com/ffmpeg/tutorial01.html

    quand je compile j'ai cette erreur, si quelqu'un à une idée.

    D:\ls\prod\testffmpeg>mingw32-gcc -o main main.c -Id:\ffmpeg -Ld:\sources\ffmpeg -lavformat -lavcodec
    main.c: In function `int main(int, char**)':
    main.c:82: error: request for member `streams' in `pFormatCtx', which is of non-class type `AVFormatContext*'
    main.c:90: error: cannot convert `AVCodecContext' to `AVCodecContext*' in assignment
    main.c:123: error: `av_read_frame' was not declared in this scope
    Merci.

  2. #2
    Membre Expert
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 583
    Par défaut
    corriges moi si je me trompe mais il me semble que tu compiles avec mingw, probablement sous code blocks ?

    pour ma part je n'ai pas de soucis pour compiler cet exemple sous code blocks
    à moins de passer par un makefile, ce qui n'est pas mon cas, il faut créer un projet avec le fichier c et linker avec les bibliothèques suivantes :
    libavformat.a
    libavcodec.a
    libavutil.a
    assures toi d'avoir correctement installé les fichiers de ffmpeg (includes et libs) et ça devrait passer

    un problème tout de même, la fonction "img_convert" utilisée dans le tutoriel a été dépréciée et ne fait plus partie de la lib (su moins la version que j'ai)
    si tu as ce problème il faut donc mettre la ligne en commentaire pour compiler mais il faut chercher commencer faire la même chose avec d'autres méthodes à la place pour que ça marche
    Tutoriels OpenGL
    Je ne répondrai à aucune question en MP
    - Si c'est simple tu dis que c'est compliqué et tu le fait
    - Si c'est compliqué tu dis que c'est simple et tu le sous-traite ou le fait faire par un stagiaire.

  3. #3
    Membre éclairé Avatar de grabriel
    Inscrit en
    Septembre 2006
    Messages
    946
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 946
    Par défaut
    Citation Envoyé par shenron666
    corriges moi si je me trompe mais il me semble que tu compiles avec mingw, probablement sous code blocks ?


    Non t'as tout a fait raison!!

    J'ai fait quelques modifs depuis j'ai récupéré les sources du svn donc les dernières j'ai compilé pour avoir les différents .a.

    Je les ai linker sous code::blocks et du coup j'ai moins d'erreurs.. en faite j'en ai 1 au lieu de 3.

    D:\sources\ffmpeg\avcodec.h|2329|warning: `ImgReSampleContext' is deprecated (declared at D:/sources/ffmpeg/avcodec.h:2323)|
    D:\sources\ffmpeg\avcodec.h|2339|warning: `ImgReSampleContext' is deprecated (declared at D:/sources/ffmpeg/avcodec.h:2323)|
    D:\ls\prod\testffmpeg\main.cpp||In function `int main(int, char**)'
    D:\ls\prod\testffmpeg\main.cpp|81|warning: comparison between signed and unsigned integer expressions|

    D:\ls\prod\testffmpeg\main.cpp|82|error: request for member `streams' in `pFormatCtx', which is of non-class type `AVFormatContext*'|

    D:\ls\prod\testffmpeg\main.cpp|133|warning: `img_convert' is deprecated (declared at D:/sources/ffmpeg/avcodec.h:2491)|
    D:\ls\prod\testffmpeg\main.cpp|135|warning: `img_convert' is deprecated (declared at D:/sources/ffmpeg/avcodec.h:2491)|
    ||=== Build finished: 1 errors, 5 warnings ===|
    l'erreur qui reste était là avant!

    Merci pour ton aide.

  4. #4
    Membre Expert
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 583
    Par défaut
    je n'ai pas cette erreur, j'ai bien regardé réfléchi dans tous les sens à ton problème et j'ai remarqué un détail qui a peut-etre son importance :
    tu compiles un main.cpp
    un fichier cpp est un fichier c++ et le compilateur travaille donc en c++
    essaies de le renommer en main.c pour utiliser le compilateur c
    ffmpeg étant une bibliothèque c à la base

    perso si je nomme ma source en main.cpp j'ai des erreurs
    Tutoriels OpenGL
    Je ne répondrai à aucune question en MP
    - Si c'est simple tu dis que c'est compliqué et tu le fait
    - Si c'est compliqué tu dis que c'est simple et tu le sous-traite ou le fait faire par un stagiaire.

  5. #5
    Membre éclairé Avatar de grabriel
    Inscrit en
    Septembre 2006
    Messages
    946
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 946
    Par défaut
    Merci pour ton aide.

    Ca compile mais j'ai pleins de "undefined reference" c'est que le linkage ne se fait pas?

    J'ai pourtant paramétré en rajoutant les librairies dans les chemins ou il me demande des linker et j'ai rajouter les fichiers .a aussi.

    J'ai essayé de lancer en ligne de commande j'ai les mêmes messages d'erreur, pourtant j'ai bien mis mes librairies après le -L et mes -lavcodec etc.. si je mets des fautes dans le nom des librairies exemple -lavcodksjdfhjk au lieu de -lavcodec il me mets un message comme quoi il ne trouve pas -lavcodksjdlskf...

    Donc mes liens doivent être bon?

  6. #6
    Membre Expert
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 583
    Par défaut
    oui ce sont bien des erreurs de lien
    l'ordre des bibliothèques peut avoir une influence sur le linker
    dans l'ordre je met :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    avformat
    avcodec
    avutils
    swscale
    si les erreurs persistent, tu n'as peut-etre pas la bonne version des bibliothèques et les méthodes sont manquantes dans le binaire
    je ne vois pas ce que ça pourrait être d'autre
    Tutoriels OpenGL
    Je ne répondrai à aucune question en MP
    - Si c'est simple tu dis que c'est compliqué et tu le fait
    - Si c'est compliqué tu dis que c'est simple et tu le sous-traite ou le fait faire par un stagiaire.

  7. #7
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 23
    Par défaut
    j'ai utilisé le wizard codeblocks pour créer un projet wxwidgets , j'ai linké les lib (dynamique) de ffmpeg sous codeblocks et j'ai linké les llib sdl, ca compile sans probleme, mais je sais pas pourquoi ca compile pas avec les lib statique de ffmpeg. et si je link directement sans creer un projet wxwidgets par codeblocks ca compile pas aussi, je croi qu'il y a des lib qu'il faut linker et c'est fai automatiquement avec le wizard de codeblocks-> wxwidgets, il faut les chercher. mais en generale avec ca j'ai reussi à compilé sans probleme le tuto http://dranger.com/ffmpeg/tutorial08.html.

Discussions similaires

  1. utilisation de FFmpeg
    Par didou91 dans le forum Langage
    Réponses: 6
    Dernier message: 16/02/2013, 16h01
  2. Utilisation de FFMPEG avec Tcl
    Par AlexDD dans le forum Tcl/Tk
    Réponses: 2
    Dernier message: 06/12/2012, 02h59
  3. Utilisation de FFMPEG
    Par Electroniktor dans le forum Bibliothèques
    Réponses: 4
    Dernier message: 22/06/2011, 10h35
  4. [Newbie] Utilisation des classes
    Par v4np13 dans le forum Langage
    Réponses: 7
    Dernier message: 03/05/2007, 21h12
  5. [mySQL] Newbie : Utilisation de CASE
    Par SergeF dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 14/07/2005, 00h39

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