Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 23/10/2009, à 01:39

yannoo

Mixage audio/video (v4l + libavcodec)

Bonjour,

J'essaye de faire un programme de mixage audio/video qui permettrait de mixer plusieurs flux audio/video provenant de diverses webcams et/ou de fichiers audio/video (avi,mpeg,wav,etc ...) et d'y appliquer des effets temps réels, programme qui pourrait se commander via une table de mixage Hercules Dj Rmx par exemple.
(je crois que s'appelle du vdjing ou qqchose comme ça)

J'arrive déjà à :

    * décoder et afficher le flux de plusieurs webcams en // avec  V4L(2)
    * décoder et afficher plusieurs fichiers videos en // avec libavcodec/libavformat/libavutil/libswscale et autres
    * mixer ces flux videos ensembles (en pure C pour l'instant, mais je pense l'adapter en MMX/SSE bientôt)
    * détecter l'appui et la position des boutons/curseurs/"volants" sur la console de mixage Hercules Dj Rmx

Par contre, je n'ai pas encore touché à la partie son, ni donc à la synchronisation entre le son et la video (cf. avance/recul rapide, seeking et autres joyeusetés)

=> où puis-je trouver des tutoriels "assez basiques mais pas trop quand même" et/ou des forums  qui concernerait la synchronisation  audio/video et le seeking sur des fichiers videos avec les libavqqchose ???


@+
Yannoo

Hors ligne

#2 Le 23/10/2009, à 02:05

yannoo

Re : Mixage audio/video (v4l + libavcodec)

Concernant la partie son ,j'ai déjà fait :

  * des petits programmes permettant d'enregistrer les sons provenant du micro, de les enregistrer et de les lire/sortir sur la carte son

* des petits programmes permettant de jouer des notes midi et de changer d'instrument à l'aide d'un clavier midi (M-Audio KeyStation 49e) ou de simuler un clavier azerty/qwerty à partir d'un clavier midi (très pratique pour une voisine aveugle mais bonne musicienne ...)

Dans un tout autre plan, je commence aussi à plancher sur une sorte de video 3D (cf. un cube 3D avec une video différente sur chaque face du cube qu'on peut faire pivoter en 3D ... mais je prévois aussi un truc bi-écran+lunettes qui permette de simuler un effet de profondeur comme le font nos 2 yeux qui ne voyent en réalité qu'en 2D)

@+
Yannoo

Hors ligne

#3 Le 03/11/2009, à 01:06

yannoo

Re : Mixage audio/video (v4l + libavcodec)

Ca y est j'ai déjà qqchose qui commence à ressembler à quelque chose  : )

    * plusieurs acquisitions V4L en // (2x webcams + 1x PCTV)
     
    * mixage de 2 videos dans une troisième, en temps réel et via une console de mixage Hercules Dj Rmx
      (RGB1 * AV1 + RGB2 * AV2) * (R,G,B)   avec RGB1, RGB2 et (R,G,B) étant pilotés par la Dj Rmx
      AV1 et AV2 sont des flux vidéos provenant de fichiers vidéos décodés par (la géniale API) libavcodec
      => le fait que ça ai tourné du premier coup en temps réel avec du "simple code C" (cf. sans MMX ni SSE) m'a carrément impressionné ... sont carrément supermégahyper puissants les processeurs d' aujourd'hui smile
     
Donc maintenant, "y'aka" (because "il n'y a qu'à" laisserait supputer que ça doit être assez simple => avec "y'aka" on se doute de suite que c'est ironique et donc loin d'être aussi basique que ça smile )

    * gérer l'audio
      (bizarre, l'audio à l'air bien plus compliquée à gérer que la vidéo avec libavcodec ... va comprendre ...)

    * gérer la synchro audio/video (bon ça à la rigueur, je pense que c'est très fortement relié au point précédent)

    * gérer le seeking (si j'arrive à gérer la synchro audio/video, je pense ça doit être du gateau ...)

J'ai fait des classes C++ pour la partie video et créé une API pour gérer la console Hercules Dj Concole Rmx
Car depuis que j'ai découvert la forte portabilité que procuraient les APIs  X11 et OpenGL, + la simplicité d'utilisation et de réutilisation qu'elles permettent, j'ai tendance à tout vouloir APIser smile 

Je voudrais bien mettre à dispo d'un maximum de monde les sources C de tout ça, mais je n'arrive même pas à mettre un simple fichier texte dans un nouveau projet que j'ai crée sous SourceForge ...  : (
=> s'il y a quelqu'un qui veut bien m'expliquer comment on "remplit" simplement un projet sous SourceForge, je suis bien sûr preneur ... quoiqu'il y a sûrement des projets déjà plus ou moins correspondant à celui-là non ? (mon but n'est pas d'être "un chef de projet", seulement de "faire un peu avancer le schmilblick")


@+
Yannoo

Dernière modification par yannoo (Le 03/11/2009, à 02:03)

Hors ligne