lunes 19 de julio de 2010

Streaming en VLC para usar con app_rtsp

Hace un tiempo fue publicado por ByteCoders una traducción al español del tutorial sobre como compilar la aplicación app_rtsp para ver un streaming de video con un softphone en Asterisk.

En Avatar hemos hecho pruebas de esta aplicación con Linphone, en dos diferentes escenarios:

1. Haciendo en VLC un flujo RTSP a partir de un archivo que ya esté codificado con CODECS tanto de audio como de video compatibles con Asterisk (H261,H263,H264 / Alaw, Ulaw, etc.) como éste: sample_300kbit_ulaw.3gp.

  • Se inicia VLC habilitando la conexión por TELNET.
    • vlc --ttl 12 -vvv --color -I telnet \
    • --telnet-password «password» --rtsp-host 0.0.0.0:5554
  • Nos conectamos por telnet al puerto en el que se lanzó el servicio especificando la contraseña proporcionada.
    • user@asterisk:~$ telnet localhost 4212
      Trying 127.0.0.1...
      Connected to localhost.
      Escape character is '^]'.
      Password:

      Welcome, Master
      >
  • Creamos un flujo de video de prueba activando Video On Demand y proporcionamos como entrada un archivo de audio y video compatible con app_rtsp.

    • Welcome, Master
      > new prueba vod enabled
      > setup prueba input sample_300kbit_ulaw.3gp
      >
  • Probamos la señal de streaming utilizando mplayer, especificando la IP y el puerto de Streaming proporcionados en VLC.
              mplayer rtsp://«dir-ip-vlc»:5554/prueba

  • Probamos la llamada, configurando en el extensions.conf:
            exten => 554,1,Answer
exten => 554,2,rtsp(rtsp://«dir-ip-vlc»:5554/prueba)
exten => 554,3,HangUp

2. El otro escenario surgió de la necesidad de obtener el flujo de streaming a partir de una video cámara SIP/RTSP como la Grandstream GXV3601, la cuál requiere autenticación.

  • Hasta la rev250 de app_rtsp, esta autenticación fallaba con cualquier versión de Asterisk 1.6.X, por lo cuál nos propusimos a hacer re-streaming con VLC de la siguiente manera:
         vlc -vvv rtsp://admin:admin@«dir-ip-camara»:554 \
--sout '#rtp{sdp=rtsp://0.0.0.0:5553/test}'


  • Al igual que en el caso anterior, probamos la llamada, configurando en el extensions.conf:
            exten => 553,1,Answer
exten => 553,2,rtsp(rtsp://«dir-ip-vlc»:5553/test)
exten => 553,3,HangUp
¡Y listo!, esperamos que estos tips sean útiles para quienes quieran hacer pruebas de video IVRs usando RTSP con Asterisk.

Referencias

1 comentarios:

  1. esto si que es interesante, valientemente se atreven muchachos sigan así y ganarán
    ResponderSuprimir