Thursday, April 19, 2012

Streaming de Vídeo usando Red5 e Xuggler-Ffmpeg

Ubuntu 11.04
Red5 0.9.1 rev 4316
Xuggler


Code:

  • https://github.com/som4r/som4r/tree/master/robot


Status:
  • 20120609 Tudo instalado e funcionando.
  • 20120608 Funcionando stream automático somente em localhost, pela rede só se informar o IP do servidor e porta 1935.
  • 20120603 Funcionando Red5 e Ffmpeg do Xuggler.
  • 20120530 Red5 Ok, testando Xuggler...
  • 20120529 Tentando instalar novamente...
  • 20120419 Instalando...n gerou novo ffmpeg? n funcionou com o ffmpeg "default".
Info:
Install:
  • aptitude install java-1.6.0-openjdk java-1.6.0-openjdk-devel
  • aptitude ant subversion ivy

  • --------------
  • red5 install
  • --------------
  • mkdir ~/red5
  • svn co http://red5.googlecode.com/svn/java/server/tags/0_9_1 red5-0.9.1.svn (zzz...)
  • cd ~/red5/red5-0.9.1.svn
  • Antes de compilar, alterar o arquivo abaixo (vide ticket 693 fixed) para corrigir bug no código fonte do red5 (vide ticket 693 Error decoding buffer):
  • gedit cd ~/red5/red5-0.9.1.svn/src/org/red5/server/net/rtmp/codec/RTMPProtocolDecoder.java
  • ant clean dist (zzz...12m)
  • Instalar aplicacões (oflaDemo, ...) na url abaixo:
  • http://localhost:5080/installer/

  • -----------
  • red5 test
  • -----------
  • cd ~/red5/red5-0.9.1.svn/dist
  • ./red5.sh
  • http://localhost:5800

  • ------------------
  • xuggler install
  • ------------------
  • cd ~/
  • mkdir xuggler
  • cd xuggler
  • git clone git://github.com/xuggle/xuggle-xuggler.git (zzz...)
  • export XUGGLE_HOME=/usr/local/xuggler
  • export PATH=$XUGGLE_HOME/bin:$PATH
  • export LD_LIBRARY_PATH=$XUGGLE_HOME/lib:$LD_LIBRARY_PATH
  • cd xuggler/xuggle-xuggler
  • sudo ant run-tests (zzz... 86m)
  • sudo ant install

  • ----------------------
  • ffmpeg streaming
  • ----------------------
  • LD_LIBRARY_PATH=/usr/local/xuggler/lib /usr/local/xuggler/bin/ffmpeg -f video4linux2 -s 800x600 -r 15 -i /dev/video0 -qscale 5 -f flv rtmp://127.0.0.1/oflaDemo/red5StreamDemo

  • -------------------
  • rtmp client test
  • -------------------
  • http://localhost:5080/demos/simpleSubscriber.html
  • Testar conexão no servidor Red5 local:
  • rtmp://localhost/oflaDemo
  • Testar conexão no servidor Red5 remoto:
  • rtmp://IP_REMOTO:1935/oflaDemo ou rtmp://IP_REMOTO/oflaDemo