Forums Développement Multimédia

Les formations Mediabox
Les formations Mediabox

Ma première application Red5

Compatible ActionScript 3. Cliquer pour en savoir plus sur les compatibilités.Compatible Java. Cliquer pour en savoir plus sur les compatibilités.Par Meardon (Liutwin), le 04 mars 2010

Red5 est un serveur Flash gratuit et libre qui reprend les fonctionnalités de Flash Media Server de Adobe. Il permet de faire du streaming audio ou vidéo, partage d'objet distant (remoting), de la synchronisation de données, etc. Contrairement à Flash Media Server 2, les applications côté serveur peuvent être écrites en Java mais aussi avec d’autres langages de script comme JavaScript, Python, Ruby (source : wikipedia).

Cet article explique la procédure pour installer Red5 en version autonome et créer sa première application en java avec Eclipse.

Installation

Red5 étant un programme écrit en java, il vous faudra donc installer l'environnement d'exécution Java (JRE) ou le kit de développement (JDK) qui contient également le moteur d'exécution, disponibles sur le site de Sun : http://java.sun.com/javase/downloads/index.jsp

Vous trouverez les dernières versions de Red5 ici : http://code.google.com/p/red5/

Cet article se portera sur la version 0.8.0 Final en version autonome sous Windows.

Afin d'écrire et de compiler le code java de votre application, vous aurez également besoin de l'IDE Eclipse : http://www.eclipse.org

Démarrage de red5

Sous Windows, il existe deux façons de démarrer Red5 :

  • En exécutant StartRed5-NT.bat dans le dossier d'installation de red5.
  • En vous rendant dans les outils d'administration → Services où vous pouvez arrêter, démarrer ou relancer le serveur.

Bien sûr, il sera nécessaire de redémarrer red5 chaque fois que nous souhaiterons tester les modifications apportées à notre projet.

Vous pouvez à présent tester les démos accessibles à l'adresse suivante : http://127.0.0.1:5080

Pour accéder au serveur à distance depuis un réseau, vous devrez ouvrir les ports 1935 et 5080 en TCP vers l'adresse IP de votre serveur.

Création d'une nouvelle application

Red5 stocke toutes les définitions des applications en tant que dossiers à l'intérieur du répertoire “webapps” à la racine de Red5. Donc la première chose que vous devrez faire pour créer une nouvelle application, sera de créer un nouveau sous-dossier dans “webapps”. A l'intérieur de votre nouvelle application, vous aurez besoin d'un dossier “WEB-INF” contenant les fichiers de configuration sur les classes à utiliser. Vous pouvez utiliser les templates fournis par Red5 dans le dossier “doc/templates/myapp”. Nous garderons ce nom dans nos exemples, mais vous devriez lui donner un nom en rapport avec votre application.

Configuration des fichiers

Nous allons à présent voir la configuration de base pour faire fonctionner l'application. Notez que chaque version de red5 peut nécessiter une configuration différente. Si après avoir changé de version votre application ne fonctionnait plus, ce serait donc la première chose à suspecter. Il faut alors aller voir dans les templates comment adapter l'ancienne configuration.

web.xml

Il s'agit du fichier de configuration principal.

Vous pouvez commencer par modifier le nom de l'application :

<display-name>My sample Red5 application</display-name>

Et le plus important, indiquer le nom du dossier racine :

<context-param>
	<param-name>webAppRootKey</param-name>
	<param-value>/myapp</param-value>
</context-param>

red5-web.xml

Nous indiquerons ici le chemin du handle de l'application. Il s'agit de la classe principale de l'application : son point d'entrée que nous appellerons “Application”.

<bean id="web.handler" 
    class="Application" 
        singleton="true" />

red5-web.properties

Modifiez la propriété webapp.contextPath en remplaçant par le nom du dossier de l'application.

La propriété webapp.virtualHosts contient toutes les adresses que vous pourrez utiliser pour vous connecter à l'application. Vous pouvez y ajouter l'IP du serveur ou son nom si vous préférez.

Création du projet sous Eclipse

Dans le menu File, choisissez “New Java Project”. Après avoir indiqué le nom de votre projet, comme nous avons déjà créé l'arborescence, cochez “Create project from existing source” et sélectionnez le dossier de l'application situé dans “webapps”.

Une fois le projet créé, vous constaterez qu'Eclipse a ajouté deux dossiers :

  • src : c'est dans ce dossier que vous créerez toutes les classes java de votre application.
  • bin (ou classes) : c'est ici qu'Eclipse placera les classes pré-compilées.

Afin d'utiliser les définitions de classes de Red5, nous avons besoin de les importer dans notre projet. Pour cela, ouvrez le Package Explorer de l'espace de travail, faites un clic droit sur l'application et allez dans les propriétés. Puis, dans le menu “Java Build Path”, allez dans l'onglet “Libraries”, cliquez sur “Add External JARS” et ouvrez red5.jar qui se trouve à la racine de Red5.

La classe principale

Dans le Package Explorer, faites un clic droit sur le dossier “src”, New → Class et donnez-lui le nom que nous avons indiqué dans le fichier red5-web.xml, soit “Application”. Cette classe doit hériter de la classe Application Adapter :

import org.red5.server.adapter.ApplicationAdapter;
 
public class Application extends ApplicationAdapter
{
 
}

Enregistrez le fichier ; Ecplise pré-compilera la classe dans le dossier lib. Redémarrez Red5 ; elle sera exécutée ;-)