Le streaming video sans peine : tu appuies, ça marche.

Soyez le premier à donner votre avis sur cette source.

Vue 84 808 fois - Téléchargée 8 653 fois

Description

décortication du maniement complexe de la video en live avec l'ami flash MX 2004 (obligé ce coup ci :) ). déja vu.
y'en a déja 5 dont 2 tro la classe mais disons que... bon ben disons rien.
si vous etes un(e) flemmard(e) ou un(e) curieu(xse), ça peut valoir le détour.

Source / Exemple :


// le streaming VIDEO sans peine.
// pour les non-comprenants
//
// Créer un objet NetConnection : c'est obligé ; sans ça point de FLV.

var Ma_Connection:NetConnection = new NetConnection();

// Créer une connexion en flux continu :
// pour l'instant elle est vide, juste on l'ouvre
Ma_Connection.connect(null);

//Créer un objet NetStream qui permettra de choisir
//notre media via la connection ouverte 

Mon_Flux = new NetStream(Ma_Connection);

/////////////////////////////
//        preloader       ///
/////////////////////////////
// nota : il existe un handler onStatus() :
// onStatus() ça permet de controler ce qui se passe pendant que ça charge
// ou s'il y a une erreur mais bon... passons

this.onEnterFrame = function(){
	//Mon_Flux.bytesTotal;  = le poids total du flv en octets
	//Mon_Flux.bytesLoaded; = le nombre d'octets chargés 
	
	tot = Mon_Flux.bytesTotal; //récupère le poids total du FLV
	lod = Mon_Flux.bytesLoaded; //récupère le poids déjà chargé
	pourcent = lod/tot; //rapport : déja chargé / restant à charger
	fait = int(pourcent*100);//pourcentage de chargement 

// tant que tout n'est pas chragé
if (fait <100)
	{
	//la barre de progression... heu... progresse
	progbar.bar._width = fait*2.9;// la taille finale de la progressbar est 290px
	progbar._alpha = 100;
	// sortie pour voir la progression en chiffres
//	trace(pourcent +"  "+progbar.bar._width);
	}else{
	//si c'est fini
	if (fait == 100)
		{
		//estompe la progbar
		progbar._alpha =10;
		}
	}
};

// associer la vidéo qui sort de Mon_Flux à l'objet Video sur la scène :
ma_video.attachVideo(Mon_Flux);

// définir la durée du tampon :
// un tampon ça sert à ne pas interrompre le flim quand il est diffusé.
// C'est comme quand on grave un CD.
// dilemne : on doit choisir entre un gros tampon bien confortable
// mais inchargeable et un petit tampon tout con qui s'essouffle très vite.
// faut essayer... la valeur est en dizièmes de secondes.

Mon_Flux.setBufferTime(5);

//   lire quel fichier ?  
Mon_Flux.play("http://nicoptere.land.free.fr/tutos/02/2.flv");

/////////////////////////////
function lecture() {
	// afficher la position de la tête de lecture en secondes
	tmp = Mon_Flux.time; // récupère le temps actuel via netstream

	sec = Math.round(tmp);//arrondit pour faire des secondes sans virgule

	temps.text = sec+" secs";// affichage de la seconde en cours de lecture
	
	bl.text = Mon_Flux.bufferLength;// données effectivement chargées dans le tampon

	bt.text = Mon_Flux.bufferTime;// taille du tampon en diièmes de secondes
}
// rafraichit toutes les secondes
setInterval( lecture, 1000 );

/////////////////////////////
//    boutons 'aller à'   ///
/////////////////////////////
///   surement optimisable...

function aller(qui){
	// indique la seconde dans le champ de texte
	// en fonction des 2 caractères finaux du nom du clip
	qui.onRollOver =function(){
	_root.texte.text = qui._name.substr(3,2);
	}
	qui.onPress = function(){	
	// atteindre la seconde voulue
	Mon_Flux.seek(qui._name.substr(3,2));
	}
}
aller(_root.seg0);
aller(_root.seg19);
aller(_root.seg30);
aller(_root.seg52);

/////////////////////////////
//   bouton  play_pause   ///
/////////////////////////////
///   surement optimisable...

function arret(qui){
	qui.onPress = function()
	{
		if (f==1){
		qui.gotoAndPlay(1);
		Mon_Flux.pause(false);
		}else{
		qui.gotoAndPlay(2);
		Mon_Flux.pause();
		}	
	}
}
arret(play_pause);
// cette exemple est principalement extrait de l'aide (=F1 :) ) de Flash
// mots-clés : NetStream / NetConnectionn / FLV
// le pti film est à moi, tu peux le montrer à tes amis
// mais pas le vendre contre du bon pognon :)
// voila bonnes expériences à toutes et à tous.
// nicoptere@free.fr

Conclusion :


aha ! ce coup ci j'ai mis le code !
il manque une bricole dans le clip play_pause:
dans la frame 1 :
f=1;
stop();

dans la frame 2 :
f=2;
stop();

bon rien d'autre à dire je crois
a bientot

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Wiseroms
Messages postés
1
Date d'inscription
jeudi 24 mai 2007
Statut
Membre
Dernière intervention
15 octobre 2007

bonjour, je te remercie pour ce player qui marche trés bien mais j'aurais aimé savoir si il était possible d'en mettre deux sur la même page ?? J'essaye depuis un petit moment en changeant le nom des variables mais sans succés, si quelqu'un peut m'aider ?!
lyseblake2
Messages postés
1
Date d'inscription
vendredi 23 septembre 2005
Statut
Membre
Dernière intervention
15 juillet 2007

Bonjour,

Lorsque je veux rajouter un renvoi sur mon fichier.flv dont le time code est supérieur à 99 secondes (ex: aller(_root.seg126);), il me renvoi au time code de 12 sec. Est ce que qq'1 a une piste...? Merci
cs_Straw
Messages postés
33
Date d'inscription
jeudi 10 mars 2005
Statut
Membre
Dernière intervention
25 août 2008

je dois faire la meme chose.. et à mon avis, on doit utiliser le code de lecture en boucle.. :

if (bl.text == "0") {
Mon_Flux.seek(qui._name.substr(3,2));
}

et dans le if, tu lance le swf par exemple que tu veux charger...

Essayons
larsen44
Messages postés
13
Date d'inscription
mercredi 26 janvier 2005
Statut
Membre
Dernière intervention
16 février 2007

Salut, et tout d'abord bravo pour ta source, c'est vraiment bien commenté et compréhensible de tous, je suis moi même programmeur mais le flash et moi ca fait deux, j'ai donc adapté ton code pour faire ma propre vidéo, mais là j'ai un soucis si tu veux, à la fin de la vidéo je voudrait lancer autre chose :

Si tu veux je lance la vidéo qui me sert d'intro et à la fin de celle-ci je voudrait afficher mon pseudo avec les lettre arrivant des 4 coins de l'écran, (ca je sais faire) et en même temps mettre un son lisant ce fameux pseudo...

J'espere etre clair, en gros je lance la vidéo à la fin de celle ci je voudrais pouvoir lancer un son avec mon pseudo et en même temps afficher les lettre de celui-ci,puis une fois ceci fait lancer une autre page...

Saurais tu me venir en aide ou quelqu'un pourrait-il m'aider car là partant déja de ce code c'est pas très simple pour moi...

Merci d'avance...
Striker04
Messages postés
4
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
17 janvier 2006

Merci pour la source, pour ceux qui ont eu des problèmes avec Flash communication server voilà comment j'ai fait pour tester mon streaming en local:
-Dans la ligne 9 au lieu de Ma_Connection.connect(null); j'ai mis:
Ma_Connection.connect("rtmp://localhost/demo_online");
-Et dans la ligne 56 j'ai mis Mon_Flux.play("mavideo");(Important: Pas d'extension)
-Ensuite aprés avoir installer Flash comm et démarrer le serveur vous créez un dossier demo_online dans C:\Program Files\Macromedia\Flash Communication Server MX\applications dans lequel vous remettez un autre dossier s'appellant streams dans lequel vous inserez un autre dossier (oui je sais ça en fait beaucoup)s'apellant _definst_.C'est dans ce dernier que vous devrez mettre vos videos.
-En clair à la fin vous devriez avoir ça C:\Program Files\Macromedia\Flash Communication Server MX\applications\demo_online\streams\_definst_

Voilà voilà

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.