OVH Community, votre nouvel espace communautaire.

[TUTO] Installer serveur RTMP (Flash Server) avec Red5


levelKro
15/10/2015, 05h58
@Cydoo

Ton problème est plus complexe, je ne suis pas expert linux mais me semble que ton Java et/ou tes sources RED5 ne sont pas complète.

Assure toi d'utiliser CentOS 5.x ou 6.x (32/64bits, à ton choix) ou Debian (mais depuis quelques années je ne l'utilise plus).
N'oublie pas de mettre à jour et d'installer les "subversions". Installe le Java et le Java SDK correctement.

Les liens des pre-requis actuel du vieux Red5, fournis avec leur source, contient des erreurs. Il faut corriger les URL.

Ces URLs ce trouve dans "ivysettings.xml".
Modifie ou ajoute les liens corrigé pour les sources ou tu trouvera la correction selon la logique comparative (mauvaise URL VS la bonne).
J'ai eu plus de facilter avec Maven pour trouver et corriger leur système.

Pour le moment c'est la seul aide que je peux t'apporter.

Je n,ai pas testé al dernière version de Red5, sont "reborn". Mais ce que je sais est que l'ancienne version ne marche pas avec les dernières version Java sur le CentOS 7. CentOS n'offrant pas ou peu de librairie pour le support 32bits des codes.

Cydoo
14/10/2015, 18h48
désolé pour le double post, mais j'ai réussi a régler ce souci en changeant les dependency via mvn repository mais après avoir essayé de recompiler, j'ai ces messages d'erreurs :

[ivy:retrieve] :: retrieving :: red5#server
[ivy:retrieve] confs: [java5]
[ivy:retrieve] 0 artifacts copied, 102 already retrieved (0kB/17ms)
[javac] /usr/local/red5/build.xml:250: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
[javac] Compiling 117 source files to /usr/local/red5/bin
[javac] /usr/local/red5/src/org/red5/server/net/rtmp/RTMPHandshake.java:181: error: cannot find symbol
[javac] log.trace("Version string: {}", Hex.encodeHexString(ver));
[javac] ^
[javac] symbol: method encodeHexString(byte[])
[javac] location: class Hex
[javac] /usr/local/red5/src/org/red5/server/net/rtmp/RTMPHandshake.java:185: error: cannot find symbol
[javac] log.trace("Hex: {}", Hex.encodeHexString(buf));
[javac] ^
[javac] symbol: method encodeHexString(byte[])
[javac] location: class Hex
[javac] /usr/local/red5/src/org/red5/server/net/rtmp/RTMPHandshake.java:260: error: cannot find symbol
[javac] log.trace("Hex: {}", Hex.encodeHexString(buf));
[javac] ^
[javac] symbol: method encodeHexString(byte[])
[javac] location: class Hex
[javac] /usr/local/red5/src/org/red5/server/net/rtmp/RTMPHandshake.java:333: error: cannot find symbol
[javac] log.debug("Public key as bytes - length [{}]: {}", result.length, Hex.encodeHexString(result));
[javac] ^
[javac] symbol: method encodeHexString(byte[])
[javac] location: class Hex
[javac] /usr/local/red5/src/org/red5/server/net/rtmp/RTMPHandshake.java:391: error: cannot find symbol
[javac] log.debug("Temp: {}", Hex.encodeHexString(tempHash));
[javac] ^
[javac] symbol: method encodeHexString(byte[])
[javac] location: class Hex
[javac] Note: /usr/local/red5/lib/commons-httpclient-3.1-sources.jar(org/apache/commons/httpclient/HttpMethodBase.java) uses or overrides a deprecated API.
[javac] Note: Recompile with -Xlint:deprecation for details.
[javac] Note: Some input files use unchecked or unsafe operations.
[javac] Note: Recompile with -Xlint:unchecked for details.
[javac] 5 errors

BUILD FAILED
/usr/local/red5/build.xml:218: The following error occurred while executing this line:
/usr/local/red5/build.xml:250: Compile failed; see the compiler error output for details.
que puis je faire ?

Cydoo
14/10/2015, 18h30
Citation Envoyé par levelKro
La dernière ligne indique qu'il te manque des ressources essentiels.
- modeler (2.0.1)
- httpclient (3.1)
- xmlrpc (2.0.1)

Fait attention à la version de Debian que tu utilise, je préfère CentOs depuis le temps, plus stable et plus fiable au niveau des packet sur la plupart des VPS
désolé du déterrage du topic mais j'ai exactement la même liste d'erreurs, comment faire pour récupérer ce qui manque sachant que je n'y connais pas énormément de choses sur linux

levelKro
30/06/2014, 17h20
Citation Envoyé par mistd
Bonjour, je m’intéresse à RED5 et ses applications de streaming et livestreming pour une application en local. Je suis sous debian, j'ai suivit le tuto en corrigeant certain passage par des commandes plus actuel (logiciel obso) et j'arrive avec un BUILD FAIL ... Pouvez-vous m'aider?? Merci d'avance

UNRESOLVED DEPENDENCIES ::
[ivy:resolve] ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:resolve] :: commons#commons-modeler;2.0.1: not found
[ivy:resolve] :: commons#commons-httpclient;3.1: not found
[ivy:resolve] :: red5#xmlrpc;2.0.1: not found
[ivy:resolve] ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:resolve]
[ivy:resolve] :: USE VERBOSE OR DEBUG MESSAGE LEVEL FOR MORE DETAILS

BUILD FAILED
/usr/local/red5/build.xml:218: The following error occurred while executing this line:
/usr/local/red5/build.xml:243: The following error occurred while executing this line:
/usr/local/red5/build.xml:183: impossible to resolve dependencies
La dernière ligne indique qu'il te manque des ressources essentiels.
- modeler (2.0.1)
- httpclient (3.1)
- xmlrpc (2.0.1)

Fait attention à la version de Debian que tu utilise, je préfère CentOs depuis le temps, plus stable et plus fiable au niveau des packet sur la plupart des VPS

mistd
30/06/2014, 14h03
Bonjour, je m’intéresse à RED5 et ses applications de streaming et livestreming pour une application en local. Je suis sous debian, j'ai suivit le tuto en corrigeant certain passage par des commandes plus actuel (logiciel obso) et j'arrive avec un BUILD FAIL ... Pouvez-vous m'aider?? Merci d'avance

UNRESOLVED DEPENDENCIES ::
[ivy:resolve] ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:resolve] :: commons#commons-modeler;2.0.1: not found
[ivy:resolve] :: commons#commons-httpclient;3.1: not found
[ivy:resolve] :: red5#xmlrpc;2.0.1: not found
[ivy:resolve] ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:resolve]
[ivy:resolve] :: USE VERBOSE OR DEBUG MESSAGE LEVEL FOR MORE DETAILS

BUILD FAILED
/usr/local/red5/build.xml:218: The following error occurred while executing this line:
/usr/local/red5/build.xml:243: The following error occurred while executing this line:
/usr/local/red5/build.xml:183: impossible to resolve dependencies

juliefeng
23/04/2014, 13h10
Citation Envoyé par juliefeng
merci bien. je vais regarder ce fichier de près.
merci pour la rapidité de ta réponse
bonne fin de soirée
jf

Le problème a été résolu par l'équipe de développement d'openmeetings (solomax)
dans la dernière version en ligne (il y a 5 jours)
il faut que le numéro de révision d'openmeetings soit supérieur ou égal à 1588410
désormais on peut utiliser Openmeetings Offline.
un grand merci à solomax.
jf

F4EQD
13/04/2014, 13h41
Citation Envoyé par levelKro
Dans le dossier de ton WebApp, il existe un document nommé red5-web.properties, tu dois t'assurer qu'il écoute les bon IP;
exemple de ce qui a dedans;


webapp.contextPath=/visioconf
webapp.virtualHosts=*, localhost
Bonjour,

Le même cas présente pour un projet commun utilisant des liaisons Wifi longues distances plusieurs Km.
L'idée est d'avoir un server visioconf openmmetings et des clients nomades (pc portable tablettes Smartphone) pouvant s'y connecter en WIFI.

Actuellement un serveur expérimental sur vieux pc portable en XP 32bit proc 1.7Ghz et 1G0 Ram donne des résultats correctes (un peu juste en RAM il faudrait 1.5GO).
Comme clairement expliqué dans le tuto les différents services sont installés et cela fonctionne correctement en réseaux local + wifi sur différent PC client .

Le gros probléme
: lorsque le serveur Red5 ou Openmeeting ne trouvent pas de connexion au web au lancement, le fonctionnement avec openmeetings est impossible et nous retourne le message suivant:
OpenMeetings - Loading ...
The server is not yet completely initialized. Please try again in a couple of seconds.
If this message persists for several minutes contact your Sys-Administration.
If that message stays forever you should check the logs located in
openmeetings_install_dir/log
folder, probably your database user/pwd/host is wrong!

Je commence à désespérer car je ne trouve pas de solution à ce problème. Pourquoi RED 5 ou Open meetings (je ne sais lequel des deux) cherchent impérativement une connexion internet alors nous somme sur un réseau annexe et que toutes les installations sont résidante (semble t'il) sur le pc sserveur ?

Question existe t'il une possibilité d'utiliser openmeetings sur un réseau local sans connexion web ?

Merci d'avoir lu ce post

Cordialment.

juliefeng
10/04/2014, 22h11
Citation Envoyé par levelKro
Dans le dossier de ton WebApp, il existe un document nommé red5-web.properties, tu dois t'assurer qu'il écoute les bon IP;
exemple de ce qui a dedans;


webapp.contextPath=/visioconf
webapp.virtualHosts=*, localhost


merci bien. je vais regarder ce fichier de près.
merci pour la rapidité de ta réponse
bonne fin de soirée
jf

levelKro
10/04/2014, 04h31
Dans le dossier de ton WebApp, il existe un document nommé red5-web.properties, tu dois t'assurer qu'il écoute les bon IP;
exemple de ce qui a dedans;


webapp.contextPath=/visioconf
webapp.virtualHosts=*, localhost

juliefeng
09/04/2014, 19h07
Bonjour,
j'ai regardé de près votre tuto.
je cherche une solution pour faire tourner red5 serveur, alors que le serveur n'est pas toujours connecté à internet.
malheureusement, quand c'est le cas, red5 ne se lance pas correctement et les clients du réseau local ne peuvent pas s'y connecter
( objectif visioconf locale).
existe-t-il une méthode ( créer un esrveur local ou autre) ?
merci d'avance
jf

ZeroGood01
23/01/2014, 14h18
Il semblerai qu'il existe un paquet désormais appelé red5-server sur debian mais j'ai également des problèmes d'accès sur la page admin par exemple.
Error 500

J'ai suivi ce tuto : http://www.yourhowto.net/install-red...ubuntu-debian/

Mon but est de créer un serveur RTMP pour permettre son utilisation sur le logiciel du boitier d'acquisition Elgato Game Capture HD via Twitch.TV

levelKro
23/01/2014, 04h26
Ce type d'erreur est souvent du à une mauvaise compilation ou d'une dépendance requis absente. Comme je peu voir, RED5 ne démarre pas, c'est le noyau du programme qui plante.

Je n'utilise plus RED5 depuis quelques temps déjà, ayant aucune clientèle pour le travail qu'il peu faire.

ZeroGood01
22/01/2014, 19h13
Bonjour,
Je pense avoir un petit problème avec l'installation.

Au moment de lancer le script avec la commande sh red5.sh dans le dossier dist sous CentOS j'obtiens :
Running on Linux
Starting Red5
Red5 root: /usr/local/red5/dist
Configuation root: /usr/local/red5/dist/conf
Exception in thread "main" java.lang.NumberFormatException: For input string: "147ss"
at java.lang.NumberFormatException.forInputString(Num berFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:481)
at java.lang.Integer.valueOf(Integer.java:570)
at org.red5.classloading.ClassLoaderBuilder.scrubURLL ist(ClassLoaderBuilder.java:524)
at org.red5.classloading.ClassLoaderBuilder.build(Cla ssLoaderBuilder.java:179)
at org.red5.classloading.ClassLoaderBuilder.build(Cla ssLoaderBuilder.java:97)
at org.red5.server.Bootstrap.bootStrap(Bootstrap.java :126)
at org.red5.server.Bootstrap.main(Bootstrap.java:50)
et la commande nohup sh red5.sh > output.log ne fonctionne pas

nohup: ignore l'entrée et redirige stderr sur stdout
Pouvez-vous m'aidez S'il vous plait ?

levelKro
30/09/2012, 23h01
Bonjour, voici un tutoriel sur l'installation d'un serveur RTMP.

Qu'est-ce que un serveur RTMP ?
Un serveur RTMP est un serveur pour la vidéo et l'audio Flash, ce dernier permet en autre de prendre le signal de votre Webcam et de la diffuser à un grand nombre de personnes en utilisant le protocole RTMP. Ainsi vous assurez la compatibilité du signal avec tous lecteurs Flash compatible avec le standard RTMP. Au contraire du serveur Flash de Adobe, le serveur Red5 est gratuit et peut accepter grand nombre d'application conçu en Java (Video Chat, Chat Roulette, Open Meeting).

Certain des scripts compatibles sont gratuits et certains payants. red5chat.com est un bon départ pour voir le potentiel d'une plateforme RTMP.

Il existe plusieurs version de RED5, cependant elle ne marche pas tous sur tous les OS.
- 0.8.0 pour CentOS 6/7
- 0.9.1 pour Debian
- 1+ pour utiliser avec des WebApp spécifiquement conçu (non compatible en dessous de 1.0 car l'appel des classe n'ai pas la même)

À Savoir
  • Il peut s'exécuter sous Windows,CentOS et Debian, pour nommer que les plus populaires
  • Require au bas mot 500MB de mémoire vive
  • Serveur en JAVA, avec des ressources minimals
  • Si des class lors de "ant build" ne sont pas trouver, changer l'appel des lien de "marvelcentral" dans ivysetting.xml.


CentOS

Minimum requis
  • Installation neuve de CentOS 5 ou 6 en 32bits ou 64bits
  • 768MB de mémoire vive (installer pas apache, ni webmin avec cette config minimum)
  • 100Mo d'espace disque libre


Pré-installation
Avant de commencer l'installation de Red5, il faut avoir 3 éléments, ANT, JAVA et SVN.

1) Installer JAVA
Pour installer le Java requis par votre système, faite cette commande dans votre SSH:
Code:
yum -y install java-1.6.0-openjdk java-1.6.0-openjdk-devel
2) Installer ANT
ANT servira à compiler le serveur, il est essentiel à l'installation, pour l'installer faite les commandes suivantes:
Code:
cd /usr/local/src
wget http://apache.cs.utah.edu//ant/binaries/apache-ant-1.8.2-bin.tar.gz
tar zxvf apache-ant-1.8.2-bin.tar.gz
mv apache-ant-1.8.2 /usr/local/ant
3) Variables d'environnement
Pour que le système puisse utiliser le Java et ANT, vous devez définir des paramètres au système, faite ces commandes:
Code:
export ANT_HOME=/usr/local/ant
export JAVA_HOME=/usr/lib/jvm/java
export PATH=$PATH:/usr/local/ant/bin
export CLASSPATH=.:$JAVA_HOME/lib/classes.zip
echo 'export ANT_HOME=/usr/local/ant' >> /etc/bashrc
echo 'export JAVA_HOME=/usr/lib/jvm/java' >> /etc/bashrc
echo 'export PATH=$PATH:/usr/local/ant/bin' >> /etc/bashrc
echo 'export CLASSPATH=.:$JAVA_HOME/lib/classes.zip' >>/etc/bashrc
4) Installer SVN
Sur la plupart des systèmes il est déjà installé, mais pour être sur, faite cette commande:
Code:
yum install subversion
Installation de Red5
1) Récupération des fichiers source
Pour récupérer les fichiers sources faite cette commande:
Code:
cd /usr/local/
svn export http://red5.googlecode.com/svn/java/server/tags/0_8_0/
2) Extraction et préparation du répertoire de Red5
Une fois le SVN complété, vous aurez un dossier nommé 0_8_0, il faut maintenant le déplacer et le renommer pour l'utiliser:
Code:
mv 0_8_0 /usr/local/red5
3) Compilation du serveur
La compilation du serveur ce fait en deux temps, soit la préparation et la compilation du serveur.
Pour préparer les fichiers faite :
Code:
cd red5
ant prepare
Une fois complété avec un BUILD SUCCESSFULL suivez avec la commande suivante:
Code:
ant dist
Si le processus arrête, relancé la commande, vous devez avoir un BUILD SUCCESSFULL à la fin (si un BUILD FAILED, relancer la commande, si le message persiste, poster votre log pour que je puisse vous aider à résoudre le problème)

Exécution de Red5
Pour le premier démarrage de Red5, vous devriez l'exécuter en commande ou vous pourrez voir sont log directement, par la suite, si tout est correct, vous pourrez utiliser une commande pour le mettre en background.

Pour commencer, lancer le serveur directement avec cette commande depuis '/usr/local/red5/dist':
Code:
sh red5.sh
Si le processus ce lance correctement vous devriez voir le message suivant:
Code:
[INFO] [Launcher:/installer] org.red5.server.service.Installer - Installer service created
Sinon regarder les lignes précédentes pour repérer les erreurs.

Si tous va bien et que le serveur roule toujours, faite CTRL+D pour sortir du processus et faite la commande pour le mode background :
Code:
nohup sh red5.sh > output.log
Debian

Minimum requis
  • Installation neuve de Debian 6 32bits ou 64bits
  • 768MB de mémoire vive (installer pas apache, ni webmin avec cette config minimum)
  • 100Mo d'espace disque libre


Pré-installation
Il faut avoir Java, ANT et quelques composants de base pour lancer l'installation de Red5.

1) Mettre à jours Debian
Code:
apt-get update
apt-get upgrade
2) Installer les packages essentiels
Code:
apt-get install dpkg-dev debhelper dh-make devscripts fakeroo
3) Installer JAVA
Code:
apt-get -y install openjdk-6-jdk openjdk-6-jre
4) Installer ANT
Code:
cd /usr/src
wget http://mirrors.kahuki.com/apache/ant/binaries/apache-ant-1.8.3-bin.tar.bz2 
tar jxvf apache-ant-1.8.3-bin.tar.bz2 
mv apache-ant-1.8.3 /usr/local/ant
export ANT_HOME=/usr/local/ant
Installation de Red5
1) Récupération des fichiers source
Pour récupérer les fichiers sources faite cette commande:
Code:
cd /usr/local/
svn export http://red5.googlecode.com/svn/java/server/tags/0_9_1/
2) Extraction et préparation du répertoire de Red5
Une fois le SVN complété, vous aurez un dossier nommé 0_9_1, il faut maintenant le déplacer et le renommer pour l'utiliser:
Code:
mv 0_9_1 /usr/local/red5
3) Compilation du serveur
La compilation du serveur ce fait en deux temps, soit la préparation et la compilation du serveur.
Pour préparer les fichiers faite :
Code:
cd red5
/usr/local/ant/bin/ant
Si le processus arrête, relancé la commande, vous devez avoir un BUILD SUCCESSFULL à la fin (si un BUILD FAILED, relancer la commande, si le message persiste, poster votre log pour que je puisse vous aider à résoudre le problème)

Exécution de Red5
Pour le premier démarrage de Red5, vous devriez l'exécuter en commande ou vous pourrez voir sont log directement, par la suite, si tout est correct, vous pourrez utiliser une commande pour le mettre en background.

Pour commencer, lancer le serveur directement avec cette commande depuis '/usr/local/red5/dist':
Code:
sh red5.sh
Si le processus ce lance correctement vous devriez voir le message suivant:
Code:
[INFO] [Launcher:/installer] org.red5.server.service.Installer - Installer service created
Sinon regarder les lignes précédentes pour repérer les erreurs.

Si tous va bien et que le serveur roule toujours, faite CTRL+D pour sortir du processus et faite la commande pour le mode background :
Code:
nohup sh red5.sh > output.log
ATTENTION - ASTUCE
Si vous rencontrer une erreur au sujet d'un manque de mémoire (not enough memory), fait cette commande avant de relancer celle pour compiler:
Code:
export _JAVA_OPTIONS="-Xms32m -Xmx128m"
* Vous pouvez également la lancer avant celle du lancement serveur pour assurer les bonnes ressources au système.

ATTENTION - ASTUCE POUR LES WEBAPPS
Si vous ajouter des WebbApp pour Red5, vous devez le faire dans '/usr/local/red5/dist/webapps', mais il y a deux choses à prendre en compte;
1) Si vous ajouté un nouveau programme, vous devrez faire la commande qui suit depuis le dossier '/usr/local/red5' :
Code:
ant dist
Ce qui aura pour effet de recompiler le serveur AVEC votre WebApp et copiera/créra les fichiers requis à sont fonctionnement.
2) Si vous utilisez des WebApps personnalisés, comme selui de red5chat.com, vous devrez avant chaque exécution du serveur supprimer un dossier et tout ce qui contient, il ce nomme 'persistent', dans le cas de red5chat, vous devrez le supprimer depuis le dossier '/usr/local/red5/dist/webapps/chat'.

ATTENTION - CONTOURNEMENT DE CE TUTORIEL
Bon, il faut savoir que dans la plupart des méthodes d'installation de Red5, apres la compilation avec ant dist il faudrait copier le dossier de 'dist/conf' dans 'conf' du répertoire Red5 et le lancer depuis là et non depuis le dossier 'dist'. Pourquoi je choisi de ne pas respecter cette consigne ? Voici mes explications;
Le dossier des WebApps doit être idéalement compiler pour être utilisable par Red5, ce qui inclut de le copier dans le 'dist/webapps' et dans 'webapps' de Red5. Si ont porte dont modification à l'un, nous devons ajuster l'autre, ce qui rend plus long le travail. L'autre facteur est que Red5 s'exécute très bien depuis sont dossier de compilation, et s'assure d'avoir tous en main avec un minimum de m'anipulation. De plus, je rencontre des fois des erreurs d'exécution de Red5 depuis sont dossier de base, malgré que celui du dossier 'dist' s'exécute toujours bien, à savoir pourquoi.

Auto Démarrage du serveur
Pour CentOS, faite les commandes suivantes
Code:
cd /etc/init.d
vi red5
Appuyer la touche INSERT et copier les lignes suivantes dans l'éditeur VI;
Code:
#!/bin/sh
# Startup script for Red5 flash streaming server on RedHat/CentOS (cPanel)
# chkconfig: 2345 95 55
# description: Red5 Flash Streaming Server
# processname: red5
 
PROG=red5
RED5_HOME=/usr/local/red5/dist
DAEMON=$RED5_HOME/$PROG.sh
PIDFILE=/var/run/$PROG.pid
 
# Source function library
. /etc/rc.d/init.d/functions
 
[ -r /etc/sysconfig/red5 ] && . /etc/sysconfig/red5
 
RETVAL=0
 
case "$1" in
 start)
 echo -n $"Starting $PROG: "
 export _JAVA_OPTIONS="-Xms32m -Xmx128m"
 cd $RED5_HOME
 $DAEMON >/dev/null 2>/dev/null &
 RETVAL=$?
 if [ $RETVAL -eq 0 ]; then
 echo $! > $PIDFILE
 touch /var/lock/subsys/$PROG
 
fi
 [ $RETVAL -eq 0 ] && success $"$PROG startup" || failure $"$PROG startup"
 echo
 ;;
 stop)
 echo -n $"Shutting down $PROG: "
 killproc -p $PIDFILE
 RETVAL=$?
 echo
 [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$PROG
 ;;
 restart)
 $0 stop
 $0 start
 ;;
 status)
 status $PROG -p $PIDFILE
 RETVAL=$?
 ;;
 *)
 echo $"Usage: $0 {start|stop|restart|status}"
 RETVAL=1
 esac
 
exit $RETVAL
Quitter en pressant ESCape et écrivant :wq.
Par la suite faite cette commande;
Code:
chmod 0755 red5
./red5 start
Pour Debian, j'ai pas encore trouvé.