Journal Recherche de l'outil miraculeux, une piste...

Posté par  .
Étiquettes : aucune
0
10
mar.
2004
Suite à un premier journal dont les contributeurs m'ont bien aidé : http://linuxfr.org/~minotaur/10221.html(...) , je poste une solution qui m'a été donné par un ami québecois en surcis qui se reconnaîtra.

L'idée est de prendre une des 2 vidéos en fichier source sous un logiciel comme virtualdub et de la superposer avec l'autre vidéo avec un niveau de transparence nul. Du coup, on aurait bien dans un cadre la première vidéo et dans le second la deuxième diffusé au même rythme.

Le seul soucis, c'est que les seuls endroits où j'ai trouvé référence d'un tel filtre, son nom était layer. Or ce mot étant trés répandu, impossible de trouver un lien sur google me proposant ce filtre. Tout les liens parlent du Mpeg 1 layer 3 (aka mp3 !).

Si quelqu'un peut me proposer un tel filtre ou mieux encore une appli linux le faisant, je suis trés intéressé !
  • # Re: Recherche de l'outil miraculeux, une piste...

    Posté par  . Évalué à 1.

    Gni ?
    Pour ton problème c'est pas plus simple d'extraire la piste son de la première vidéo et de la balancer sur la seconde vidéo ? (en réglant les décalages à la main)

    Recherche sur http://www.doom9.org/(...) ou sur http://forum.digital-digest.com/(...) je suis sur que tu trouveras une réponse.
  • # Re: Recherche de l'outil miraculeux, une piste...

    Posté par  . Évalué à 1.

    http://www.lynn3686.freeserve.co.uk/avimixer.html(...)

    Un outil sous Windows qui pourrait m'aider ! Soit en jouant sur la transparence soit en prenant un bout de chaque pour les voir en même temps.
  • # Re: Recherche de l'outil miraculeux, une piste...

    Posté par  . Évalué à 2.

    Suite de mes idées:


    J'ai cherché et n'ai pas trouvé de filtre de mixage vidéo pour VirtualDub. Ca m'a beaucoup étonné, car mélanger des vidéos me semble faire partie des options de base que chacun veut faire dès qu'il se met au montage vidéo. Faudra que quelqu'un le fasse...


    Donc, sauf si quelqu'un trouve on oublie les 2 fenêtres de VirtualDub, et on passe à mon autre solution: "créer une vidéo qui te montre tes 2 sources simultanément". Tu as juste ensuite à l'ouvrir avec ton éditeur préféré et à la parcourir frame par frame pour comparer.

    Avec les outils appropriés, cette solution est relativement facile à mettre en place, et tu n'auras pas non plus à réencoder la vidéo "mixée" à chaque fois que tu corrigeras l'une des 2 sources.

    Alors que veut dire "montrer les 2 sources simultanément"?
    Petit shema: on a la video A et la video B.
    On double la largeur de B et colle la vidéo à droite en mettant du blanc à gauche, ce qui donne XB (où X est le blanc)
    Après, il reste à "superposer" A et XB, ce qui donne une vidéo AB

    Pour transformer B en XB, tu devrais pouvoir te débrouiller avec ton éditeur favori (mais tu peux toujours demander en cas de problemes)

    Pour mixer A et XB...
    Comment le faire puique VirtualDub n'a pas de filtre de mixage? "J'en ai marre de changer d'éditeur à chaque fois que je veux une nouvelle fonctionnalité!" me diras-tu?
    Et bien, tu vas quand même pouvoir utiliser VirtualDub ou ton éditeur préféré, oui madame!

    Il suffit d'installer un frame server, comme AviSynth 2 (je déconseille AviSynth 2.5 et ultérieur, car il est incompatible avec les versions précédentes au niveau de la gestion des plug-in, et la majorité de ceux que l'on trouve sur Internet sont encore faits pour AviSynth 2)

    Le principe est simple, tu crées un script .AVS que tu ouvres avec VirtualDub. Le frame server se charge alors de fournir les frames en temps réel à ton éditeur lorsque demandées, après les avoir traitées avec les instructions du script.

    C'est donc dans le script que se passe:
    - ouvrir vidéo A
    - ouvrir vidéo XB
    - mixer A et XB en AB
    - renvoyer AB à l'application

    Je te fournis même le script: (je suis gentil hein ~.^! je te dis pas de taper "man"...)

    A=AviSource(".../goldofrance.avi")
    XB=AviSource(".../goldarabe.avi")
    AB=layer(A,XB,"add",255,0,0) //(*)
    return AB

    (*) joue ici sur les paramètres pour faire un "bon" mixage entre la vidéo A et le blanc; voir www.avisynth.org/index.php?page=Layer


    Donne-nous vite de tes nouvelles! J'ai hâte que ce dessin-animé soit enfin complet en qualité convenable :-)
    • [^] # Re: Recherche de l'outil miraculeux, une piste...

      Posté par  . Évalué à 1.

      J'ai regardé ton lien.
      Je ne sais pas si tu as trouvé ton bonheur, mais ce que ce logiciel fait est aussi faisable avec AviSynth (qui est en GPL, argument coup-de-poingt!).

      Tu oublies l'étape de convertion B en XB, et tu mets une transparence (alpha) de 127 au lieu de 255.

      Toutefois, je pense que tu y verras "bien plus clair" en superposant les vidéos de façon à ce qu'elles se retrouvent côte à côte (expliqué ci-dessus), plutôt qu'en les mélangeant.


      Courage! Quand on veut on peut!
    • [^] # Re: Recherche de l'outil miraculeux, une piste...

      Posté par  . Évalué à 1.

      Salut Xavier !
      Dis moi, plutôt que de faire une superposition avec transparence, le plus intéressant ne serait-il pas de les afficher l'une à coté de l'autre (elles n'ont pas exactement les même dimensions !).
      Je pense que ça serait plus pratique à visualiser.

      Sinon à part ça, j'ai la version 2.08 d'avisynth elle conviendrait ou bien il faut prendre une 2.0.x avec x<5 ?

      Merci en tout cas, A+ !
      • [^] # Re: Recherche de l'outil miraculeux, une piste...

        Posté par  . Évalué à 1.

        Errata, excuse moi Xavier, j'avais lu en diagonale ! Moinse moi ça !
        • [^] # Re: Recherche de l'outil miraculeux, une piste...

          Posté par  . Évalué à 1.

          Aucun problème avec AviSynth 2.08: c'est celle que j'ai.

          Toutefois, ce que tu veux faire marcherait aussi avec les versions 2.5 et ultérieures, car la fonction "layer" est disponible en interne: tu n'as pas besoin de plug-in.

          C'est juste le support des plug-in qui est incompatible. Par exemple, il y a 1 semaine j'ai eu besoin d'un plug-in de décodage MPEG-2 pour AviSynth. J'avais la version 2.5, et elle m'a refusé tous les plug-in que j'ai téléchargés... J'ai downgradé en 2.08 et ça a marché nickel!

          C'est donc juste un conseil basé sur une mauvaise expérience personnelle, dans le cas où tu veuilles garder AviSynth et t'amuser à faire d'autres choses avec.



          Bon, tu as essayé? Ca donne quoi?

          Commence par tester le script avec un alpha de 127; comme ça tu vérifies rapidement, si AviSynth fonctionne correctement et si le script mixe bien les 2 vidéos (j'ai testé avec des vidéos de mêmes dimensions.... je sais pas ce que ça donne sinon).

          Après, il restera à agrandir l'une des 2 vidéos en la collant à droite pour que la superposition les mette côte à côte, et ça tu devrais pouvoir y arriver sans trop de difficultés avec les filtres de VirtualDub
          (il y a un filtre "resize" en interne, mais pour un agrandissement il centre la vidéo... cherche sur internet si il y a des filtres de redimensionnement plus "intelligents", car ceu fournis par défaut sont TRES basiques et il leur manque de nombreuses fonctionnalités pourtant évidentes... au pire si t'es pressé, tu multiplies la largeur de ta vidéo par à peu près 3, comme ça il y a de la place pour l'autre vidéo à gauche, et tant pis pour le rectangle blanc à droite)

          Je suis intéressé à savoir quelle solution de filtrage tu auras utilisé. Alors pense à me raconter tes péripéties (je débute moi aussi dans tout ce qui est montage vidéo avec AviSynth et VirtualDub)
          • [^] # Re: Recherche de l'outil miraculeux, une piste...

            Posté par  . Évalué à 1.

            Bon, tu as essayé? Ca donne quoi?

            Commence par tester le script avec un alpha de 127; comme ça tu vérifies rapidement, si AviSynth fonctionne correctement et si le script mixe bien les 2 vidéos (j'ai testé avec des vidéos de mêmes dimensions.... je sais pas ce que ça donne sinon).


            Ca marche aussi, simplement la bordure de la plus grande est sans superposition. Ca m'a permis de voir un décalage d'une demi seconde alors que je pensais qu'il n'y en n'avait plus au début !

            Après, il restera à agrandir l'une des 2 vidéos en la collant à droite pour que la superposition les mette côte à côte, et ça tu devrais pouvoir y arriver sans trop de difficultés avec les filtres de VirtualDub
            (il y a un filtre "resize" en interne, mais pour un agrandissement il centre la vidéo... cherche sur internet si il y a des filtres de redimensionnement plus "intelligents", car ceu fournis par défaut sont TRES basiques et il leur manque de nombreuses fonctionnalités pourtant évidentes... au pire si t'es pressé, tu multiplies la largeur de ta vidéo par à peu près 3, comme ça il y a de la place pour l'autre vidéo à gauche, et tant pis pour le rectangle blanc à droite)

            Ben chez moi, le filtre resize étire la vidéo en largeur ce qui n'est pas le but recherché ! Je vais voir ce que je peux trouver.
            En tout cas, je me voyais mal regarder tout l'épisode en vidéo superposé, c'est hideux !
            • [^] # Re: Recherche de l'outil miraculeux, une piste...

              Posté par  . Évalué à 1.

              Remarque avec avisynth et le filtre letterbox ou le filtre border on doit pouvoir le faire aussi !
              • [^] # Re: Recherche de l'outil miraculeux, une piste...

                Posté par  . Évalué à 1.

                J'ai fait ce fichier avs :

                A=AviSource("./Video_francaise_pourrie.avi")
                A = addBorders(A,0,0,352,0,0)
                XB=AviSource("./Video_correcte_autre_langue.avi")
                AB=layer(A,XB,"add",255,360,0)
                return AB

                simple comme tout, c'est de la prog !
                Et maintenant sous Virtual dub, je l'enregistre en divx pour pouvoir à nouveau travailler sous linux ! Au besoin, je recommencerais ce travail pour controler au mieux le résultat !
              • [^] # Re: Recherche de l'outil miraculeux, une piste...

                Posté par  . Évalué à 1.

                Oh oui le redimensionnement du conteneur de la vidéo sans toucher à cette dernière est sûrement faisable avec AviSynth.

                AviSynth possède une collection de filtres bien plus élaborée que VirtualDub, sauf qu'il n'a pas d'interface, et que donc tu dois modifier mon script pour rajouter le redimensionnement de l'une des 2 vidéos quelque part.

                Mais bon, pour un linuxien comme toi, un simple petit script ça te fait pas dresser les cheveux sur la tête ;-)


                Sinon, va voir mon autre message, c'est faisable sous VirtualDub, sois tu n'as pas la même version que moi (car c'est le soir et tu es fatigué), sois tu as tout simplement raté l'option dont je parle (il est vrai que son titre anglais n'est pas très explicite... et que j'ai du tester avant de savoir ce que ça faisait)

                Fais comme tu préfères, du moment que tu as trouvé l'outil qu'il te fallait, je suis content. Mais tu étais à un simple clic de faire ce que tu voulais ;)
                • [^] # Re: Recherche de l'outil miraculeux, une piste...

                  Posté par  . Évalué à 1.

                  Ok, j'ai vu comment faire avec virtualdub mais il y a un intérêt à le faire avec avisynth. Avec ce dernier, je peux travailler sans créer sur disque cette vidéo bicéphale ! Je suis assez épaté par ça. Dommage qu'il ne soit pas sous linux !
            • [^] # Re: Recherche de l'outil miraculeux, une piste...

              Posté par  . Évalué à 1.

              A propos du filtre "resize" de VirtualDub.
              J'ai VirtualDub 1.5.1


              Le filtre "resize" que j'ai permet de faire les 2 types de redimensionnements suivants:

              1) redimensionner l'ensemble de la video (la vidéo et son conteneur)

              2) redimensionner le conteneur sans changer la vidéo (pour un agrandissement, l'ancienne video devient donc un rectangle dans la nouvelle video)

              Ce que l'on cherche à faire est le redimensionnement 2.

              Pour cela, si tu as la même interface que moi:
              - à "new width" et "new height" tu remets la taille initiale (taille de la vidéo que l'on ne veut pas changer)
              - en-dessous tu coches "expand frame and letterbox image"
              - ce qui dégrise 2 nouvelles cases qui te permettent d'entrer la taille du conteneur de la vidéo


              C'est déjà super que AviSynth marche avec mon script, tu as fait le plus dur ;-)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.