Installation red5 depuis les sources

Mise à jour le 01-12-2011

Script de démarrage adapté aux nouvelles contraintes de débian squeeze lur les LSB (les entetes descriptives des scripts). Merci à pilami pour les tests sur son serveur red5.

Mise à jour le 02-09-2010

Ellny souhaite créer un tchat avec webcam. L'utilisation de la webcam s'assimile à du streaming. L'idée est d'utiliser un serveur red5. Je lui piquerai son chat pour un module optionnel de tinaderp (tjs en cours de développement). Je ne sais pas l'utiliser mais de toutes façon avant ça faut l'installer.

Je préférais faire un test avant dans une virtual box[1], afin de déja bien voir comment ça s'utilise et se parametre.

Le projet red5 m'a l'air pas mal actif, du coup je n'ai pas trouvé de doc bien à jour et listant toutes les dépendances (hormis java). Preums :p

Je pars d'une débian 5 toute propre.

Vite fait, pour le test ultérieur, installation d'un LAMP:

Le red5, si je retiens cette solution, sera sur le serveur tinad qui a déja une solution LAMP bien propre. Installer serveur Appache Mysql Php:

#LAMP
#metre un mot de passe root mysql
apt-get install apache2 apache2-doc mysql-server php5 libapache2-mod-php5 php5-mysql libapache2-mod-auth-mysql
#redémarrer apache (pour qu'il prenne en compte PHP qui a été installé apres):
/etc/init.d/apache2 restart

Pour le moment j'en ai fini avec le serveur http, on l'utilisera plus tard lors des tests de red5.

Installer red5

installation des prérequis (notamment subversion, apache ANT et une java runtime environnement)

Il faut avoir les paquets non-free de débian dans la liste des sources. Si ce n'est pas le cas ajoutez les lignes suivantes dans le fichier /etc/apt/sources.list.

deb http://ftp.fr.debian.org/debian/ lenny non-free
deb-src http://ftp.fr.debian.org/debian/ lenny non-free

Puis rafraichissez la liste des paquets:

apt-get update

subversion, apache ANT et une java runtime environnement

Je conseille le java de Sun, J'avais tenté avec open-jdk à la place de sun-java, histoire de limiter les programmes propriétaires mais ça marche mal.

#avec les dépendances, ça fait 449 MO de binaires supplémentares sur le disque:
apt-get install subversion dpkg-dev debhelper dh-make devscripts fakeroot  sun-java6-jdk sun-java6-bin sun-java6-jre ant

Bon le temps que ça installe je fais un premier tour à la cuisine, pour me chercher un café

Moka_steamg.pngJ'utilise une cafetière Moka d'ailleurs, le nesspresso me revenait trop cher pour ma paie de fonctionnaire cat B.

Bon allez, c'est fini, la suite:

Installer la dernière version de Red5 depuis les sources:

svn co http://red5.googlecode.com/svn/java/server/tags/0_9_1 red5-0.9.1

Un repertoire red5-0.9.1/ a été créé dans le repertoire courant.

Compiler le bouzin

cd red5-0.9.1
make
make install

démarrer red5

#il faut se placer dans son dossier sinon ça ne marche pas
cd /usr/lib/red5/
./red5.sh

On teste à présent en se connectant au serveur sur le port 5080 (entrez dans le navigateur une adresse du genre http://XXX.XXX.XXX:5080 où XXX.XXX.XXX est l'adresse IP). Si vous voyez la vidéo, ça marche: red5.jpg

Pour vraiment tester, allez sur "install a ready made application"

Puis installez oflademo par exemple. On revient sur les démos, et si vous n'êtes pas en local Remplacez "locahost" par l'IP su serveur. wahou un extrait de toystory

red5-oflademo.jpg Bah c'est cool, sauf qu'il faudrait que ça marche en tache de fond. Car là des qu'on ferme le terminal ssh ou la session, red5 s'arrête.

Inscrire red5 en service au démarrage:

Je me base sur ce script, juste en modifiant le chemin de red5, et en précisant dans quel fichier il doit causer.

Créer un fichier /etc/init.d/red5

vi /etc/init.d/red5

y coller le script suivant:

#! /bin/sh
### BEGIN INIT INFO
# Provides: red5
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: red5 server
# Description:
### END INIT INFO

# Modification Gnieark http://blog-du-grouik.tinad.fr/ mai 2010
# Send red5's verbose on a log file
#
# Author: Jake Hilton <red5@jakehilton.com>
# /etc/init.d/red5
#
# Check for missing file
RED5_DIR=/usr/lib/red5
test -x $RED5_DIR/red5.sh || exit 5

case "$1" in
    start)
        echo -n "Starting Red5 Service"
        echo -n " "
        cd $RED5_DIR
        su -s /bin/bash -c "$RED5_DIR/red5.sh &" red5 >>/var/log/red5.log
        sleep 2
        ;;
    stop)
        echo -n "Shutting down red5"
        echo -n " "
        cd $RED5_DIR
        su -s /bin/bash -c "$RED5_DIR/red5-shutdown.sh &" red5 >>/var/log/red5.log
        sleep 2
        ;;
    restart)
        ## Stop the service and regardless of whether it was
        ## running or not, start it again.
        $0 stop
        $0 start
        ;;
esac

Le rendre exécutable et créer un user red5 (dans le script ci dessus, red5 fonctionne avec cet user)

chmod +x /etc/init.d/red5
useradd red5

le script s'utilise des manières suivantes:

  • /etc/init.d/red5 start
  • /etc/init.d/red5 stop
  • /etc/init.d/red5 restart

Dans mon cas, lors de la compilation il a "oublié" de copier le fichier red5-shutdown.sh qui est appelé lors d'un "/etc/init.d/red5 stop", on va le mettre:

cd ~/red5-0.9.1/
cp red5-shutdown.sh /usr/lib/red5/
chmod +x /usr/lib/red5/red5-shutdown.sh

Reste plus qu'à mettre un "/etc/init.d/red5 start" au démarrage:

cd /etc/init.d
update-rc.d red5 defaults

Voilou voila.

Pour les essais, j'en suis juste à tester les applications demo. P1010151.JPG waoh trop classe j'arrive à voir la webcam du pc juste à coté. :hem: Je vais refaire du café. Y'a plus qu'à comprendre comment l'utiliser. ça sera peut être l'objet d'un prochain billet.

Note

[1] Je ne regrette pas (troisième essai)

Commentaires

1. Le lundi, septembre 27 2010, 16:03 par zazz

Excellent!!!

2. Le lundi, octobre 18 2010, 12:13 par walmins

merci pour ce tuto.
cependant il faut vérifier si les packets:
sun-java6-bin
sun-java6-jdk
sun-java6-jre
subversion
ant
sont bien installer (debian lenny)
et pour le reste tout test ok ;-)
bonne courage a toi

3. Le lundi, octobre 18 2010, 12:53 par gnieark

Je viens d'ajouter sun-java6-jre et sun-java6-bin dans les paquets à installer ;)

Merci pour ce retour

4. Le mercredi, mars 2 2011, 16:53 par Smile

bonjour,

Merci pour ce tuto, malheureusement, lorsque je teste après une install des différents éléments à priori ok, je n'ai pas la vidéo (youtube) comme sur votre impr.ecran et lorsque je teste l'installer il me marque l'erreur suivante :
"Net status: NetConnection.Connect.InvalidApp"
"Net status: NetConnection.Connect.Closed"

J'ai essayé avec 0.9.0 et 0.9.1 et 1.0RC1 : c'est le même pb !

Avez-vous une proposition de solution à ce pb ?

Merci bcp

5. Le mercredi, mars 2 2011, 17:24 par gnieark

Sur l'interface web de demo, pensez à remplacer "localhost" par l'ip du serveur.

Si vous avez un script iptable, baissez le pare feu pendant les tests car bien que l'interface soit sur 5080 par défaiut, les flux rmtp etc... passent par les ports suivants:

1935,8088,5080,1936
RTMP: 1935
RTMPT: 8088
HTTP servlet engine port: 5080
Debug proxy port: 1936

6. Le jeudi, mars 3 2011, 12:52 par Smile

Bonjour,

Je suis reparti de zéro avec
une Debian 6
et une install du package complet : red5-server
(accessible par apt-get install a partir de la version 0.9.1.4)...

et cette fois le pb est :
- Connexion failed (à partir de l'INSTALLER)
- Et qd je teste les démos, le script de demo ne détecte plus le flashplugin alors qu'il est bien installé sous mon firefox

Hormis une install ma fois à priori faite sans pb pour le server Red5,
Aurais-je oublier de modifier qq chose sous Apache2 (ports.conf et/ou virtualhost) ? fichier conf de Red5?

-Pas de script iptables
-un netstat qui indique que les ports sont en écoute... (5080, 1935, etc...)
- "service red5-server statut" indique que le serveur est bien exécuté

Merci pour votre aide..

7. Le vendredi, mars 4 2011, 13:15 par gnieark

Je teste sur débian 6 ce Week end (ça tombe bien je manquais d'inspiration pour écrire un nouveau billet). car celui là effectivement c'était sur une débian 5, et il y a quelques trucs qui peuvent changer

8. Le vendredi, mars 4 2011, 15:16 par Smile

bonjour,

J'ai réussi à faire fonctionner le server Red5 sans erreur apparante...
avec donc une Deb 6 et le red5-0.9.0RC2..

Maintenant, pour être sur de la procédure, la je retente l'install et une config à partir de zéro
Le petit plus qui serait inéressant aussi à tester c'est de compiler un srv RED5 avec Eclipse IDE SDK...

9. Le samedi, mars 5 2011, 01:16 par gnieark

Si tu t'es pris des notes, je veux bien te faire de la place sur ce blog ;)

10. Le samedi, mars 5 2011, 15:16 par gnieark

Je viens de tester sur une débian 6, et red5 0.9.1 dans le /etc/apt/sources.list, évidemment il faut changer lenny par squeeze; mais sinon ça a marché nickel!

Pour eclipse SDK, faut que je me documente un peu là

11. Le vendredi, juin 10 2011, 15:26 par ous92

Bonjour,

Merci pour ce tuto. Je suis en train de développer une solution qui se base sur flex / red5 et ton tuto est vraiment top.

Au passage, pour la nespresso, avec mon site, tu peux l'obtenir pour 18 euros au lieu de 150euros;)

www.lesparrains.fr/nespresso

En espérant que ce bon plan te fera plaisir

A bientot

12. Le mardi, juin 14 2011, 13:42 par gnieark

De rien, merci pour ce commentaire sympathique. Bon courage pour ton projet flex / red5 en cours!

13. Le jeudi, décembre 1 2011, 09:22 par pilami

j'ai un soucis après :

update-rc.d red5 start 56 2 3 4 5 . stop 44 0 1 6 .

>>>

update-rc.d: using dependency based boot sequencing
insserv: warning: script 'red5' missing LSB tags and overrides
insserv: There is a loop between service munin-node and red5 if stopped
insserv: loop involving service red5 at depth 2
insserv: loop involving service munin-node at depth 1
insserv: Stopping red5 depends on munin-node and therefore on system facility `$all' which can not be true!
insserv: exiting now without changing boot order!
update-rc.d: error: insserv rejected the script header

tu vois d'où vient le problème?

à bientôt et merci pour ton tuto!!

14. Le jeudi, décembre 1 2011, 21:30 par gnieark

J'ai édité le billet. depuis la version squeeze. Débian impose qu'il y ait un descriptif en entete des scripts passés au démarrage via update-rc.

le script devient donc:

#! /bin/sh
### BEGIN INIT INFO
# Provides: red5
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: red5 server
# Description:
### END INIT INFO
# Modification Gnieark http://blog-du-grouik.tinad.fr/ mai 2010
# Send red5's verbose on a log file
#
# Author: Jake Hilton <red5@jakehilton.com>
# /etc/init.d/red5
#
# Check for missing file
RED5_DIR=/usr/lib/red5
test -x $RED5_DIR/red5.sh || exit 5
case "$1" in
start)
echo -n "Starting Red5 Service"
echo -n " "
cd $RED5_DIR
su -s /bin/bash -c "$RED5_DIR/red5.sh &" red5 >>/var/log/red5.log
sleep 2
;;
stop)
echo -n "Shutting down red5"
echo -n " "
cd $RED5_DIR
su -s /bin/bash -c "$RED5_DIR/red5-shutdown.sh &" red5 >>/var/log/red5.log
sleep 2
;;
restart)
## Stop the service and regardless of whether it was
## running or not, start it again.
$0 stop
$0 start
;;
esac

Je pense que ça vient de là. Je n'ai pas le temps de réinstaller un red5 pour vérifier. Je suis preneur d'un retour qui pour confirmer ou non que ça marche.

15. Le jeudi, décembre 1 2011, 22:58 par pilami

encore merci pour le dépannage !!
ça marche au poil maintenant

16. Le jeudi, juin 21 2012, 16:54 par Aragon

Bonjour!
J'ai un virtual kimsufi chez OVH, sous debian squeeze 64bits.
J'ai tout tenté, rien ne fonctionne à partir de la compilation du bouzin : > make
Je suis arrivé à lire un message d'erreur me disant que java bugguait... :-/
Pourriez vous m'aider?
Pour l'instant, le serveur est en test, donc je le réinitialise à souhait.
En espérant que vous pourrez m'aider.
Bien cordialement.

17. Le vendredi, juin 29 2012, 12:29 par gnieark

Hello Aragon, afin de t'aider, je suis preneur d'un extrait des messages d'erreur lors du make

18. Le mardi, octobre 16 2012, 13:43 par Guillaume

Le problème venait de mon plugin flash de ma debian, après réinstallation tout semble fonctionner. Merci pour le tuto

19. Le mercredi, février 6 2013, 11:12 par zaza57300

Bonjour moi je recherche quelqu'un qui pourrais m'installer mon tchat visio red5 sur mon site !
moi j'y connais rien j'achéte se tchat mais trop cher de me le faire installer par le fournisseur ! Quelqu'un pour me renseigner?
merci

Page top