[Tuto] Création d’une application FMS simple

Le but de cet article est de présenter flash media server (fms) et de donner un exemple simple de connexion entre une animation flash et un serveur fms.

Flash Media Server qu’est ce que c’est ?

C’est un serveur de données et de média développé par Adobe. Le serveur utilise javascript comme langage de programmation et le protocole RTMP (Real Time Messaging Protocol) pour la communication entre les clients et le serveur.

FMS a trois utilisations principales :

  • Vidéo à la demande, streaming de vidéos stockées sur le serveur
  • Video Live, diffusion et enregistrement de flux vidéo depuis une webcam
  • Communication en temps réel, échange de données entre plusieurs clients flash ( jeux multijoueur ou tchat )

Alternatives

FMS est un outil puissant et de ce faites il a un coût, 5 600 € pour la version complète. Le prix de la licence peut donc en refroidir plus d’un, mais heureusement il existe des alternatives a FMS.
  • Red5 un serveur open source en JAVA
  • Wowza Media Server, un autre solution basé sur du JAVA mais propriétaire cette fois ci
  • haXeVideo, une autre solution ope source qui repose sur la langage HaXe de Nicolas Cannasse le papa de MTASC

Ces solutions ont chacune des avantages et des inconvénients par rapport a FMS mais je ne vais pas entrer dans le détail ici je vous laisse vous faire votre propre opinion. 

Un exemple simple

Dans flash, créez une nouvelle animation AS3 et tapez le code ci-dessous. Ce code lance simplement une connexion a FMS:

//Creation de l'objet connection 
 
var nc:NetConnection = new NetConnection();
 
 
 
// On ecoute le status de la connection
 
nc.addEventListener(NetStatusEvent.NET_STATUS, onStatus);
 
function onStatus(e:NetStatusEvent)
 
{
 
     trace("Level: " + e.info.level + " Code: " +  e.info.code);
 
}
 
 
 
// On demande a la NetConnection de se connecter au serveur FMS
 
// remplacer localhost par l'adresse de votre serveur FMS
 
nc.connect("rtmp://localhost/monapplication");
 
 
 
// Et voila

 

Voila pour la partie client, maintenant si vous voulez que votre application se connecte à l’application nommé “monapplication” il va falloir la créer. Pour cela, ajouter un dossier nommé “monapplication” dans le dossier applications du serveur fms, il faut ensuite créer un fichier nommé main.asc et le remplir avec le code suivant:
application.onAppStart = function()
{
   trace("Start");
};
Ce code sera exécuter au lancement de l’application.
Il ne vous reste plus qu’a compiler votre swf et tester, afin de s’assurer que la connexion avec le serveur se fait bien, pour cela vous pouvez utiliser la console d’admin de FMS afin de monitorer les connexions.
Cette exemple était volontairement simple afin de montrer la mise en place d’un application utilisant FMS, dans les jours qui viennent je publierai un autre tuto expliquant comment créer une application permettant la communication en temps réel entre plusieurs clients flash.

 

Comments in french or english are welcome.

3 commentaires ↓

#1 Maxou on 09.05.08 at 10:59

J ai ouvert un nouveau document as3 dans flash et fait un copier coller de ton code mais ca ne marche pas. Il me dit acces a une propriete indefinie info
acces a une propriete indefini newline !!!

D ou ca peut venir ?

MERCI

#2 Maxou on 09.05.08 at 13:16

euh non en fait, en as2 ca marche mais pas as3 ????

pis il ne me trace pas Start ….

#3 Idden on 09.06.08 at 10:18

Salut,
Merci pour ta remarque, en effet il y a une erreur dans le code, je viens de corriger ça.

info et code sont des propriétés de NetStatusEvent. Pour y accéder il faut dans passer par l’object NetStatusEvent.

Par contre tu dis que le Start n’es pas tracé, quelle version de FMS utilise tu? Est ce que la connexion apparaît tout de même dans la console FMS?

Laisser un commentaire