Comment diffuser une anim en streaming SVP ?

spip931 Messages postés 21 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 31 décembre 2015 - 15 mars 2010 à 19:10
spip931 Messages postés 21 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 31 décembre 2015 - 22 mars 2010 à 15:12
Bonjour à tous,
Pour ceux qui auraient suivi mes aventures, je suis toujours avec mon animation Flash et je suis toujours débutant (d'où mes questions qui peuvent vous sembler stupides ou les réponses évidentes)
Pour les autres, je réexplique :
J'ai une animation flash d'une quarantaine de secondes qui utilise 4 extraits vidéo de 7-8 sec chacune. Résultat, elle fait près de 6 Mo.
J'ai cherché (et trouvé) il y a quelques jours un script pour AS3 qui précharge mon anim.
Mon problème, c'est qu'avec ce préloader, il me charge la totalité de l'anim (soit 6 Mo) ET SEULEMENT APRES la lit.
Quand on a une grosse connexion c'est très bien, mais quand on a que l'ADSL 1024... ça (et c'est) dure

Du coup, je cherche à savoir comment on fait pour diffuser une animation Flash en streaming de façon à ce qu'on ne doive pas attendre plusieurs secondes (voires minutes) avant de voir une anim, mais qu'au contraire, ça se mette en cache au fur et à mesure. Un peu comme les vidéos sur des sites comme YouTube ou Dailymotion.
Faut-il que je convertisse mon anim en FLV ? Si oui, ça m'embête car du coup je perds la fonctionnalité des boutons que j'ai mis comme "Entrer sur le site" et "Rejouer l'animation", non ?

Même si la réponse vous parait évidente, merci pour votre aide

"Mieux vaut se taire et passer pour un c... que de l'ouvrir et ne laisser aucun doute la-dessus." Cpdt, je préfère l'ouvrir, quitte à passer effectivement pour un c... (on l'est toujours pour quelqu'un) mais pour qu'on m'explique et pour ne plus le rester.

10 réponses

pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
15 mars 2010 à 20:08
bonsoir,

Là il suffit de faire un préchargement partiel de ta source et le tour est joué.

Peg'
0
spip931 Messages postés 21 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 31 décembre 2015
16 mars 2010 à 10:06
Merci pour ta réponse Pégase... mais encore ?
Dans ce cas, comment est-ce que je peux faire pour que mon anim soit préchargée partiellement ?
Voici le code AS3 que j'ai mis en image 1 :
stop();
function progressListener(e:ProgressEvent):void {
var charger:Number = e.bytesLoaded / e.bytesTotal;
var pourcent:int = charger* 100;

loadingText.text = "Chargement: " + pourcent+ "%";
loadingBar.scaleX = charger;
}

function completeListener(e:Event):void {
loaderInfo.removeEventListener(ProgressEvent.PROGRESS, progressListener);
loaderInfo.removeEventListener(Event.COMPLETE, completeListener);
gotoAndPlay(2);
}

loaderInfo.addEventListener(ProgressEvent.PROGRESS, progressListener);
loaderInfo.addEventListener(Event.COMPLETE, completeListener);


Là dans mon code, en gros, je lui demande d'AFFICHER le chargement. Avec ce code, je n'ai pas l'impression de demander à ce que mon anim soit chargée entièrement ou partiellement.
Donc comment faire pour que la lecture de mon anim commence genre à 30% du chargement et que les 70 % restants soient chargés pendant la lecture ?
En gros il faudrait que je charge l'anim en mémoire tampon, mais je ne sais pas comment faire.
Si vous savez comment, merci de votre réponse.

"Mieux vaut se taire et passer pour un c... que de l'ouvrir et ne laisser aucun doute la-dessus." Cpdt, je préfère l'ouvrir, quitte à passer effectivement pour un c... (on l'est toujours pour quelqu'un) mais pour qu'on m'explique et pour ne plus le rester.
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
16 mars 2010 à 10:15
Mais déjà est-ce que ton animation ne pourrait pas être découpée en morceaux ?
Est-ce que les éléments liés et classes se trouvent tous sur la frame 1 ?
Est-ce que tu ne pourrais pas extérioriser des éléments ?

Il n'y a pas UNE réponse, mais celà dépends de ta structure d'animation.

Tente de faire un test de pourcentage chargé dans ta fonction progressListener et met un "play()" une fois passé à 30%.

Pais je doute que ça fonctionne, sachant que les éléments ne seront pas tous chargés.

Elle est si grosse que ça ton animation ?

Peg'
0
spip931 Messages postés 21 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 31 décembre 2015
16 mars 2010 à 14:46
Alors, dans l'ordre :
[*] La couper en morceaux ? Pourquoi pas ? Très bien, moi je suis ouvert à tout ce qui peut régler mon problème, sauf que comment je la découpe ? Je coupe mon anim toutes les 200 images ? Et après, je fais un script où je lui dit "quand tu arrives à l'image 180, charge l'anim suivante", c'est ça ? Je l'écris comment ça en AS3 ?

[*] "Est-ce que les éléments liés et classes se trouvent tous sur la frame 1 ?" Je comprends pas ta question. J'ai 3 calques avec des éléments sur la frame 1 :
- Un appelé AS avec le code que j'ai mis dans mon précédent message
- Un appelé Loading Texte qui a un cadre texte dynamique sur la scène appelé loadingText
- Un appelé Loading Barre qui a un clip sur la scène, qui représente la barre de chargement, et dont l'occurrence s'appelle loadingBar
Ensuite, c'est sur ma frame 2 que commence véritablement mon anim. Ainsi, j'ai un calque Musique.

[*]"Est-ce que tu ne pourrais pas extérioriser des éléments ?" Là encore, je veux bien, mais je peux pas TOUT extérioriser. Ainsi mon anim a de la musique, et toute mon anim est rythmée par la musique. Si j'extériorise la musique, je risque de perdre la synchro entre mon anim et la musique. Par contre, je peux effectivement extérioriser les vidéos car elles n'ont pas besoin d'être sunchros, mais j'ai pas appris à le faire. En gros, je sais pas comment appeler une vidéo extérieure en AS3 et encore moins lui faire traverser la scène.

[*]"Tente de faire un test de pourcentage chargé dans ta fonction progressListener et met un "play()" une fois passé à 30%." En gros je lui met un "If-then" du style "if progessListener = 30 then play ()" c'est ça ?

[*]"Elle est si grosse que ça ton animation ?" Elle fait 5,25 Mo Pour moi elle me parait grosse. De plus quand je fais simuler le téléchargement, ça met 2 min 45 avant d'afficher l'anim, et pourtant je suis en ADSL 1024 pour la simulation donc imagine quelqu'un qui a un 512 voire un 56k... Avec ça, j'ai un autre problème qu'on développera peut-être par la suite et dont j'ignore la raison, c'est que sous Internet Explorer 8, je n'ai pas du tout de barre de chargement (par contre sous Firefox pas de prob). Ce qui fait que quelqu'un qui a l'ADSL 1024 ET Internet Explorer 8, aura un écran avec un cadre vide à la place de l'anim pendant presque 3 min, donc moyen, moyen.

Maintenant, si tu veux, je peux te donner en MP le lien pour voir l'anim et/ou je peux uploader le FLA pour que tu puisses le télécharger et diagnostiquer mon prob. Ceci étant dit le but de ce post est que mon problème soit résolu ET (voire surtout) que j'apprenne à régler ce type de prob par la suite et tout seul. Donc (et même si ça n'est pas ton intention) avoir une réponse toute cuite sans aucune explication, ça ne m'intéresse pas.

En tout cas, merci pour tes réponses

"Mieux vaut se taire et passer pour un c... que de l'ouvrir et ne laisser aucun doute la-dessus." Cpdt, je préfère l'ouvrir, quitte à passer effectivement pour un c... (on l'est toujours pour quelqu'un) mais pour qu'on m'explique et pour ne plus le rester
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
spip931 Messages postés 21 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 31 décembre 2015
16 mars 2010 à 14:59
Euh, j'ai pensé à un truc, si j'extériorise mes vidéos, est ce que je ne risque pas que mon anim (donc sans les vidéos) soit chargée et lue AVANT qu'une ou plusieurs vidéos soient chargées et lues ? Par contre, si mon anim "attend" que les vidéos soient chargées pour se lancer... ça revient au même que si mes vidéos étaient intégrées à l'anim, non ? Autrement dit, que mes vidéos soient intégrées à mon anim ou pas, certes mon anim est plus légère, mais il y a toujours autant d'éléments (donc de poids) à charger, non ?

"Mieux vaut se taire et passer pour un c... que de l'ouvrir et ne laisser aucun doute la-dessus." Cpdt, je préfère l'ouvrir, quitte à passer effectivement pour un c... (on l'est toujours pour quelqu'un) mais pour qu'on m'explique et pour ne plus le rester
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
16 mars 2010 à 19:26
Si tu extériorises tes vidéos, elles sont réellement lues en streaming, ce qui n'est pas le cas si elles sont intégrées en dur dans l'animation.

Peg'
0
Orange73 Messages postés 1375 Date d'inscription dimanche 28 novembre 2004 Statut Membre Dernière intervention 2 août 2011
16 mars 2010 à 19:56
Non Peg'

Les vidéos sont en streaming seulement si on utilise un serveur permettant le streaming (FMS, Red5). Sans cela, tes vidéos ne seront pas en streaming mais en lecture progressif.

cf. http://fr.wikipedia.org/wiki/Streaming

A+

-- Orange73 --

"L'homme n'est pas fait pour travailler, la preuve c'est que cela le fatigue" (Voltaire)
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
16 mars 2010 à 20:00
Merci pour la précision, mais vu le niveau de maîtrise de l'auteur, je n'ai pas vraiment voulu le noyer sous des détails techniques ...

Peg'
0
spip931 Messages postés 21 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 31 décembre 2015
18 mars 2010 à 19:04
Bon je crois que je vais me débrouiller pour exterioriser mes vidéos. Cependant "vu mon niveau de maitrise"... ça risque de me prendre un moment.
Merci quand même pour vos réponses et merci de ne pas m'avoir "noyé sous les détails techniques".
Ceci dit, j'ai toujours mon problème de préloader qui ne fonctionne pas sous IE. Je vais donc de ce pas poster un nouveau sujet.

"Mieux vaut se taire et passer pour un c... que de l'ouvrir et ne laisser aucun doute la-dessus." Cpdt, je préfère l'ouvrir, quitte à passer effectivement pour un c... (on l'est toujours pour quelqu'un) mais pour qu'on m'explique et pour ne plus le rester.
0
spip931 Messages postés 21 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 31 décembre 2015
22 mars 2010 à 15:12
Salut à tous,
Sur les conseils de Pegase, je voudrais extérioriser mes vidéos. Mes questions sont donc les suivantes :
Comment faire pour charger une vidéo à un instant T ?
Comment après animer cette vidéo genre pour qu'elle traverse la scène en diagonale ?

D'avance merci pour vos réponses.

"Mieux vaut se taire et passer pour un c... que de l'ouvrir et ne laisser aucun doute la-dessus." Cpdt, je préfère l'ouvrir, quitte à passer effectivement pour un c... (on l'est toujours pour quelqu'un) mais pour qu'on m'explique et pour ne plus le rester
0
Rejoignez-nous