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 :

compression de paquets d'images en MPEG-4


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 14
    Par défaut compression de paquets d'images en MPEG-4
    Bonjour à tous!

    Je suis programmeur C++ professionnel, développant sous Windows XP, avec le compilateur Microsoft Visual Studio .NET 2003, des applications MFC.
    Pour mon travail, j'ai besoin de l'aide d'experts. Je vous explique ce que je dois faire :
    Compresser des images au format AVI RAW (images brutes, totalement décompressées) et si possible une piste audio au format WAVE en un seul "film" de type MPEG-4, lisible par tous les lecteurs multimédia, notamment le lecteur Windows Media Player.
    Pourquoi ne pas rester en AVI RAW me diriez-vous? Parce que d'une part, un client m'a demandé de lui sortir du MPEG-4, et d'autre part, parce que l'AVI RAW impose une limite de 4Go sur les fichiers, ce qui fait qu'avec un film de 20 minutes, vous vous retrouvez avec 10 fichiers de 4Go environ !!! De plus, les fichiers AVI RAW générés ne possèdent que la vidéo (l'audio n'a pas été intégrée).

    J'ai beaucoup de questions à poser et qui nécessitent bien des réponses :
    -> La solution facile serait d'inclure dans le code source du logiciel qui doit faire cela, des librairies (payantes ou gratuites) contenant des fonctions me permettant, par exemple, de passer en entrée une image ou des images stockées dans un buffer, et récupérer en sortie un buffer où l'/les image(s) seraient stockées en MPEG-4.
    En connaissez-vous? Est-ce possible? Où pourrais-je trouver ce genre d'outils, et surtout compatible avec à la fois le compilateur et l'O.S.que j'utilise?
    -> Si ce n'est pas possible, comment faire pour obtenir du MPEG-4 à l'arrivée?
    -> Faut-il "absolument" passer par des programmes existants et indépendants, qui permettent de réunir une piste audio et une piste vidéo (ou plusieurs) pour arriver à ce fameux MPEG-4 en sortie?


    Comme vous le voyez, je suis un peu dans l'attente de réponses.
    Je me tiens disponible si vous avez besoin de plus de précisions quand à ma demande.

    Merci d'avance à vous tous!

    Cordialement.


    clad83

  2. #2
    Membre extrêmement actif

    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 402
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 402
    Par défaut
    bonjour,

    déjà il faut savoir quel type de conteneur utiliser, à part le .avi, je ne sais plus quel conteneur est gérer de base par wmp sous xp.

    ensuite pour encoder et multiplexer le tout avec des apis, il y a soit DirectShow, techno incluse dans windows, pas super facile d'utilisation selon moi, il faut aussi que les bons filtres soient présent; ou il y a FFMpeg plus facile d'utilisation mais catastrophique à compiler, mais n'a pas de prérequis sur les éléments présents sur la machine.

    il doit y avoir quelques composants vlc qui font ça aussi, mais je n'en sais pas plus.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 14
    Par défaut
    Bonjour,

    Si je comprends bien, je vais devoir stocker mes images dans un conteneur vidéo autre que l'avi (par exemple du .wmv pour Windows Media Video ou directement en .mpg/.mpeg qui est un conteneur défini par le Moving Picture Experts Group) ?
    Ensuite, concernant les fonctions à utiliser pour programmer, quand vous parlez de DirectShow, vous voulez parler de quoi exactement? C'est une bibliothèque de Windows XP? Sinon, j'ai fait un tour sur FFMpeg, et il faut, d'après moi, inclure bon nombre de librairies telles que libavformat, libavutil, libavcodec, n'est-ce pas?

    Merci pour votre aide.

    Cordialement.

  4. #4
    Membre extrêmement actif

    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 402
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 402
    Par défaut
    pour le avi tu peux t'en servir, vu que le player de xp le gère, je disais juste que si tu en choisis un autre il faut d'abord vérifier la compatibilité.
    donc ok pour le avi.

    DirectShow est une techno Microsoft incluse à l'origine dans le sdk directx, maintenant elle est dans le windows sdk.
    c'est une techno ce basant sur un "montage" de graph pour décoder ou encoder des flux.

    concernant FFMpeg, effectivement il y a plein de bibliothèques.

    j'avais des exemples sous la main, je regarderai si je les trouve, mais je pense qu'il doit y avoir suffisamment de samples sur internet pour tout ça.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 14
    Par défaut
    Je conserve donc le conteneur "avi", dans lequel je vais compresser une vidéo de type "mp4", et inclure une audio de type "wave"... Ce qui importe c'est une compression assez efficace des 2 médias puisque le désavantage de l'avi, c'est sa fameuse limite à 4Go (pour gérer les anciens types de fichiers FAT32, si je ne m'abuse!).

    Je viens de jeter un oeil rapide dans le msdn de Windows, aux rubriques "DirectShow" et "Media Fundation" (successeur du DirectShow sur les plates-formes Vista et Seven). Il y a beaucoup plus d'API et de fonctions utiles dans le Media Fundation, le hic c'est qu'il faut, je pense, coder sous Windows 7, voire même dans un compilo un peu plus récent que le mien. La plupart des librairies à inclure sont dans le Windows SDK (Software Development Kit), et nécessitent un équipement minimal de Vista, voire Seven

    Pensez-vous que je puisse tout de même les intégrer dans un Windows XP SP3 mis à jour, et les utiliser dans le compilo Windows Visual Studio 2003 ?

    Et, en deuxième question, pour DirectShow, êtes-vous certain que l'on puisse encoder en MPEG-4? J'ai remarqué qu'ils parlaient beaucoup du MPEG-2... et surtout qu'il faille un peu tout créer soi-même (graphe de filtres etc.), comme vous me l'avez stipulé précédemment!!! Autant dire que c'est beaucoup plus long et difficile à prendre en mains! :'(


    Bien qu'Internet soit une ressource sans fin, je serai tout de même preneur de vos samples, si vous les retrouvez et que vous n'y voyez aucun inconvénient! Cela me permettrait de mieux appréhender certaines choses...

    Merci beaucoup pour votre aide.
    Cordialement.


    Julien

  6. #6
    Membre extrêmement actif

    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 402
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 402
    Par défaut
    je doute que les technos de vista et 7 marchent sous xp.

    et oui avec DirectShow, il faut tout faire, c'est pas le plus évident, mais c'est inclus dans xp, pas de surprise de ce coté là.
    concernant les formats gérés par celui-ci, il faut juste que les filtres correspondants soient installé sur la machine.

    c'est pour ça que j'ai émis les possibilités de FFMpeg et vlc, qui eux sont normalement assez voir totalement indépendants.

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

Discussions similaires

  1. [imwrite] Compression JPEG2000 d'une image .png
    Par eragon4992 dans le forum Images
    Réponses: 16
    Dernier message: 20/03/2015, 11h16
  2. Compression RLE d'une image
    Par D1ablO dans le forum C
    Réponses: 1
    Dernier message: 19/11/2011, 19h54
  3. Réponses: 13
    Dernier message: 28/02/2010, 22h43
  4. Compression DCT sur une image bitmap
    Par Supr3M dans le forum C
    Réponses: 8
    Dernier message: 13/01/2010, 19h29
  5. Compresser et retailler une image jpg à l'upload
    Par alltec dans le forum Imagerie
    Réponses: 6
    Dernier message: 23/01/2007, 17h32

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