Superposer 2 videos

Bonjour



J'ai créé 2 QTMovieView et donc j'ai importé 2 videos.

Je souhaiterais maintenant superposer ces 2 videos et les afficher sur un 3e QTMovieView.

Dans la doc, je n'ai rien trouvé qui puisse m'aider (apparemment image/rolleyes.gif' class='bbc_emoticon' alt='::)' /> ).

Donc si quelqu'un a une piste ...

merci d'avance

Réponses

  • CéroceCéroce Membre, Modérateur
    T'entends quoi par superposer ? Je ne crois pas que les vidéos puissent être transparentes (quoique...), alors quel mode de fusion attends-tu ? Multiplication ?
  • Fred20Fred20 Membre
    septembre 2012 modifié #3
    En fait, je cherchais l'effet que l'on retrouve dans quickTime en rajoutant une piste et en choisissant la transparence (mélange). Ainsi, les 2 video se superposent sachant qu'elles ont un taux de transparence à  50%.

  • CéroceCéroce Membre, Modérateur
    Je n'ai pas d'expérience sur le sujet, alors tout ce que j'écris ne sont que des pistes:



    La doc de Core Video indique qu'on peut l'utiliser pour


    Compositing multiple video streams




    Il y a peut-être des moyens plus simples. Par exemple, essayer avec Quartz Composer peut être une bonne idée.
  • Fred20Fred20 Membre
    septembre 2012 modifié #5
    Mouais, je viens de lire cette doc qui ne semble malgré tout pas vraiment repondre à  mon pbl



    merci tout de même
  • Core image contient des tas d'effets (appelés "filtres"), et je crois qu'on peut les appliquer à  la vidéo.



    http://developer.apple.com/library/mac/#documentation/GraphicsImaging/Conceptual/CoreImaging/ci_intro/ci_intro.html



    Le projet démo "Core image fun house" permet d'essayer tous ces effets avant de les employer. Les filtres sont très simples à  implémanter :

    - conversion de l'image en CIImage,

    - copie des lignes de code correspondant au filtre, écriture des paramètres,

    - réécriture de l'image en ce que tu veux.
  • Avec la petite appli précitée, j'ai pu voir que Core Image propose une bonne dizaine de façons de superposer (crosfader en quelques sortes) les images...
  • En effet. Je me suis plongé ds Core Image avec le tuto Core Image Programming Guide: Processing Images et c'est vrai que les possibilités sont importantes.

    De plus c'est vrai que tout semble s'appliquer à  la video , mais c'est là  que ça coince car je n'ai pas vraiment compris la démarche requise. Ce que j'ai compris, c'est que le traitement se fait frame par frame, mais est ce que c'est moi qui renvoie les frames une à  une pour être traitées (et ds ce cas, comment faire le outPutImage sur la frame traitée) ou c'est Core Video qui le gère seul ?



    merci d'avance
  • Bonne question!

    Avec des images fixes, tu crées une CIImage à  partir d'une NSImage, puis tu recrées une NSImage à  partir de ta CIImage "filtrée". Je devine qu'il en est de même pour la vidéo. Il est évident qu'il te faudra la réécrire tout simplement image par image. Je n'ai pas encore fait cela mais cela ne va plus tarder.

    Quelqu'un connait peut-être un lien vers la doc?
  • CéroceCéroce Membre, Modérateur
    C'est très exactement le but de Core Video.
  • C'est bien ce que je craignais. Apparemment, CoreVideo travaille sur le buffer donc cette "réinscription" est immédiate (en tout cas , c'est ce que j'ai compris) . En revanche, la doc me pose problème. Je n'arrive pas à  la comprendre et à  la mettre en oeuvre. Quelqu'un aurait une doc + simple ?
  • Ne te laisse pas impressionner. Je fais principalement de l'audio maintenant : au début on angoisse, et puis on se rend compte qu'en fait, l'OS gère cela très bien. Ecris correctement tes méthodes et cela marchera tout seul.



    Ici, tu as des méthodes :

    https://developer.apple.com/library/mac/#documentation/graphicsimaging/conceptual/CoreVideo/CVProg_Tasks/CVProg_Tasks.html



    Et puis tu as certainement des codes sources qui te donneront des exemples.
  • Merci beaucoup Hervé mais déjà  essayé ces codes et je bloque sur la 3e ligne avec MyDisplayLinkCallback où je n'est pas compris comment il faut l'utiliser ...
  • Je ne sais pas si c'est la même chose qu'avec Core audio, mais j'imagine qu'il y a un parallèle.



    En Audio, tu fais une chaine audio nommée AudioGraph, avec un input, ton renderCallback ou tes AudioUnits (synthés, effets...) et ta sortie. Puis dans ta classe tu as ta méthode MyRenderCallback où tu écris le code de ton synthé ou de ton effet (ce que le soft doit faire 44100 fois par secondes pour l'audio, sans doute "seulement" 24 fois pour l'image).



    Est-ce similaire pour la vidéo ? (c'est probable)
  • Je pense que même si je n'ai pas tout compris, j'ai l'impression que c'est plus complexe que cela. Les effets, ne seraient vraiment qu'en dernier ressort, après toute la décompression de la séquence, et c'est là  que je bloque. Si je recopie l'exemple du lien que tu m'as donné, j'ai plein d'erreur que ne sais pas corriger (exemple : listing 2_3 Track et Media ne sont pas reconnus et je ne sais pas ce que c'est)... Donc si tu as de l'info pour m'aider je suis preneur



    Merci d'avance
  • 'Fred20' a écrit:


    Les effets, ne seraient vraiment qu'en dernier ressort, après toute la décompression de la séquence, et c'est là  que je bloque.




    Pas en dernier ressort à  priori mais à  mi chemin. je ne me suis pas encore mis à  Core Vidéo, même si cela ne saurait tarder. Je n'en sais pas plus. Mais n'y a t-il pas une appli dans les code source Apple pour te donner un exemple?



    Sans y avoir regardé de plus près, il y a toute une série de QTCoreVideo202, QTCoreVideo201, ...

    ImageTransition pour Core Image, ou "From_A_View_to_A_Movie" (qui est loin d'être simple à  comprendre celui-là , mais bon) ...
  • Merci Hervé. Je n'avais pas pensé à  ces séries. Je vais me plonger dedans et je te tiens au courant
  • Fred20Fred20 Membre
    octobre 2012 modifié #18
    Je ne t'oublie pas Hervé, mais quand je me suis plongé la dedans, je me suis dis qu'il me fallait être un plus performant sur CoreImage. Dès lors, je me replongerai dedans et je ferrai sans doute appel à  toi !!



    A bientôt
  • Bonjour Hervé.Je viens de me plonger ds les exemples que tu ma donnés ... c'est imbuvable pour moi !!!! du coup je me suis replongé ds la doc de core video avec le lin que tu m'as donné. Mais je n'arrive pas à  la tester. J'ai plein d'erreur quand je copie le code. Pourtant, j'ai rajouté des framworks comme QTKit ou QuickTime ou Quartz mais rien y fait. Pour exemple, ds le listing 2-3 de la doc, le compl ne me reconnait pas Track et Media alors qu'en lisant la doc, ils dépendent de du framework Quicktime que j'ai installé. Idem pour QTNewMoviePropertyElement. QU'est ce que j'ai raté image/huh.gif' class='bbc_emoticon' alt='???' />



    merci d'avance
  • wiskywisky Membre
    octobre 2012 modifié #20
    Bonjour,



    Je ne connait pas ces frameworks mais à  tu pensé a inclure les entête dans tes fichiers ?



    Bonne chance !
  • oui oui, bien sur mais rien n'y fait ...
  • D'après la doc suivante : https://developer.apple.com/library/mac/#documentation/QuickTime/Reference/QTRef_TrackAndMedia/Reference/reference.html

    Le fichier à  inclure est "Movies.h" et le frameworks a lier est QuickTime.framework...



    A part le fichier .h à  inclure je ne vois pas comment il ne trouve pas les defs. Aurais-tu du code à  montrer ou des images écrans de ta config projet ?
  • Fred20Fred20 Membre
    octobre 2012 modifié #23
    J'ai besoin de lunettes. Je n'avais pas vu le Movie.h...



    Mais rien est reconnu pour autant ... et je n'ai rien de tout ça. Je n'ai que recopier la doc !!
  • Cela te dérangerait de mettre ton projet en pj (en zip)? Je voudrait le tester sur ma machine.

    Tu as quoi comme version de OSX et de Xcode ?
  • J'ai oublié : je suis sur xCode 3.2.6 et sous mac OS X.6.8
  • Salut,



    Cela tombe bien, j'ai quasiment la même config.

    En fait le problème est qu'il n'est pas possible de compiler en 64bit!

    Donc dans les réglages du projet, il faut supprimer les architectures 64bit. Après ça il reste deux erreurs.



    Bon courage pour la suite !
  • Merci. je vais regarder ça un peu plus tard. Je suis débordé en ce moment... Mais je te tiens au courant
  • Merci wisky de ton aide et en effet, je n'ai plus que 2 erreurs simples. Du reste je ne comprends pas que l'exemple ne les ai pas gérées.

    Cependant, j'ai l'impression que je m'éloigne grandement de ma question de départ qui est : comment superposer 2 vidéos, comme avec quickTime ou j'ajoute une seconde séquence sur une première que je rends translucide à  50%. De ce fait, as tu quelques pistes, tuto ou aides de ta part pour cela ??



    Merci d'avance
  • Désolé, je n'en sais pas plus. je suis reparti dans la création de synthétiseurs de musique. Pour l'audio, je dois pouvoir t'aider d'avantage...
Connectez-vous ou Inscrivez-vous pour répondre.