Flash et vidéo: Présentation vidéo avec graphiques synchronisés

cds0671 Messages postés 18 Date d'inscription vendredi 17 février 2006 Statut Membre Dernière intervention 17 novembre 2009 - 24 avril 2008 à 13:21
cs_inaden Messages postés 618 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 27 août 2010 - 14 mai 2008 à 11:53
Bonjour,

Je vous expose brièvement ma question:

J'ai une vidéo qui fait environ 1h45 à laquelle j'ai affecté "des points de repère". Le but étant de déclencher à chaque point de repère l'affichage d'une image issu d'un power point.
Mon fichier comporte donc la vidéo dans un FLVPlayback et 27 images clés dans lesquelles j'ai placé les graphiques associés à chaque point de repère.
Mon fichier fonctionne, mais le gros problème est que le temps de chargement est beaucoup trop long plusieurs minutes 5 ou 6 pour un swf de 320 Ko!!

Ma question est donc:
A quoi est du ce temps de chargement aussi long? alors que si je lis la vidéo seul elle se lance quasi instantanément et se charge au fur et à mesure!

    - La vidéo est-elle chargée complètement du au fait que j'ai placé des points de repère, et du coup ne serait plus lu en streaming (sans serveur de streaming) ? est-ce pour ça que le temps de chargement est aussi long?

    - Comment puis-je faire pour réaliser ma présentation vidéo avec graphiques synchronisés sans pour autant avoir un temps de chargement aussi long?

  Ce que j'aimerais c'est que la vidéo se lance immédiatement (ou après un certain nombres d'images chargées que je pourrais fixer par exemple) et que le chargement se fasse comme un streaming.

Quelqu'un pourrais t'il m'aider s'il vous plait, j'avoue que je suis sur ce problème depuis plus d'un mois et j'ai vraiment cherché une solution avant de poser la question, mais malgré tout mes essais (chargement dynamique des images etc...) rien n'y fait je ne trouve pas de solution, alors HELP!!!

Merci pour votre aide, c'est que j'en ai besoin dans le cadre de mon boulot aie aie et le chef commence à s'impatienter!

csd0671

1 réponse

cs_inaden Messages postés 618 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 27 août 2010 2
14 mai 2008 à 11:53
Salut,
j'avais fait un truc qui est un peu du bricoage mais qui fonctionne.
T met ton FLVPlayback sur ta scène (ici il s'appelle med) et tu ne lui attribue pas la vidéo par la barre des propriétés (tu peux paramétrer le reste), tu tu met sur l'image clé :

med.contentPath = "essai2.flv";
my_ta.visible = false;
// Création d'un objet point de repère.
var cuePt:Object = new Object(); // Création d'un objet point de repère.
cuePt.time = 3;
cuePt.name = "ASCuePt1";
cuePt.type = "actionscript";
med.addASCuePoint(cuePt);  // Ajout d'un point de repère AS.

var listenerObject:Object = new Object();

Point1();

function Point1(){
    listenerObject.cuePoint = function(eventObject:Object):Void {
        if(cuePt.name=="ASCuePt1"){
            med.removeCuePoint(med.getCuePoints("ASCuePt1"));
            trace("3");
            clip1._visible=true;
            _root.nextFrame();
        }
    };
}

med.addEventListener("cuePoint", listenerObject);

/////////////////////
REMARQUE :

le _root.nextFRame() proveint du fais que je n'ai pas réussi à mettre
tout mes points d'un coup, je les définis donc image par image, ainsi
sur l'image d'après tu aurais :
// pas d'appelle de la vidéo et définition du point suivant.
//bien évidemment il faut que ton FLVPlayback soit sur une image qui va jusqu'au bout de tes images clé

var cuePt:Object = new Object(); // Création d'un objet point de repère.
cuePt.time = 5;
cuePt.name = "ASCuePt2";
cuePt.type = "actionscript";
med.addASCuePoint(cuePt);  // Ajout d'un point de repère AS.

var listenerObject:Object = new Object();

Point2();

function Point2(){
    listenerObject.cuePoint = function(eventObject:Object):Void {
            if(cuePt.name=="ASCuePt2"){
                med.removeCuePoint("ASCuePt2");
                trace("5");
                //ici l'ordre est de rendre des clip visible ou non, mais tu pourrais mettre autre chose
                clip1._visible=false;
                clip2._visible=true;
                _root.nextFrame();
            }
    };
}

med.addEventListener("cuePoint", listenerObject);

Voilà, j'espère que cela pourra t'aider

Tout vient à qui sait attendre
0