Video Streaming para Android usando VLC
Buenas,
En esta entrada voy a intentar resumir los pasos y el proceso para poder hacer streaming del PC a vuestro dispositivo Android utilizando el VLC de Videolan.
Lo que vamos a hacer, es “recodificar” al vuelo el video original a un formato que sea capaz de reproducir el dispositivo. Para este proceso, usamos el VLC.
Destacar, que el manual está centrado en el streaming local, osea conexión WIFI. Si quereis hacerlo lejos de casa y utilizar 3G, necesitaremos una buena conexión a internet con “upload” (subida) suficiente para poder hacer esto último, y abrir los puertos en caso de tener router.
Upload necesario para la opción 3G:
Calidad muy buena (500 kbps) = 90kBytes/s
Calidad buena (400 kbps) = 70kBytes/s
Calidad normal (300 kbps) = 40kBytes/s
Calidad baja (200 kbps) = 25 kBytes/s
Para empezar, los parametros finales para que android reproduzca los videos tienen que ser:
Parámetros de codificación necesarios:
Contenedor: MP4
Codec video: x264
Codec audio: ACC
Protocolo: RTSP
Bien, casi todos los dispositivos android soportan video en streaming bajo el protocolo RTSP de forma nativa, el problema es que no existe resproductor actualmente. Así que, para solucionar esto simplemente hay que abrir la dirección desde el navegador. Esto podemos hacerlo fácilmente creando en algún sitio una página con un enlace, puede ser vuestro blog, en vuestro facebook, etc… Solamente necesitamos acceder a este enlace de forma externa:
rtsp://vuestra_direccion_ip:1234/stream.sdp
Donde dice “vuestra_direccion_ip”, obviamente pondremos la IP del ordenador que esta sirviendo los videos, osea donde está el VLC (en caso de red local (WIFI), la ip de la red local y en caso de 3G la ip externa de la conexión ADSL/Cable, Etc…).
Algunos ejemplos red local:
rtsp://192.168.0.10:1234/stream.sdp
rtsp://192.168.1.10:1234/stream.sdp
rtsp://192.168.1.33:1234/stream.sdp
rtsp://192.168.10.10:1234/stream.sdpAlgunos ejemplos internet (para 3G):
rtsp://89.123.23.10:1234/stream.sdp
rtsp://midominio.com:1234/stream.sdp
Una vez tenemos ese enlace creado, ya podemos irnos al ordenador donde está el VLC y comenzar con los temas serios. Abrimos el VLC y seguimos estos pasos:
- Medio -> Emisión
- En la pestaña “Archivo” pulsamos “Add”
- Seleccionamos el video que queramos
- Pulsamos botón “Emisión”
- Nos vamos a “Options” (último paso, ignorando el resto)
- En el cuadro de “Output string”, eliminamos lo que haya dentro y pegamos el siguiente código (todo seguido sin retornos de carro::sout=#transcode{soverlay, ab=64, samplerate=44100,channels=2, acodec=mp4a, vcodec=h264, width=480,height=320,fps=25,vb=400,venc=x264{vbv-bufsize=10000, partitions=all,level=12,no-cabac, subme=7, threads=4, ref=2,mixed-refs=1,bframes=0,min-keyint=1,keyint=50,trellis=2, direct=auto, qcomp=0.0, qpmax=51}}:gather:rtp{mp4a-latm, sdp=rtsp://0.0.0.0:1234/stream.sdp}
- Le damos al botón “Emisión” y ya estará listo.
Ahora, nuestro VLC esta emitiendo el video que seleccionamos. Para verlo en el dispositivo, utilizando el navegador nos vamos a la página donde hemos creado el enlace RTSP y hacemos click. Pasados unos segundos, veremos como comienza a reproducirse el video.
Para configuración o terminales que no tengan una pantalla de 480×320, podeis ir tocando los valores del código de arriba para un mejor ajuste:
Calidad del audio: ab=64
Frecuencia de muestreo: samplerate=44100
Canales: channels=2 (2 para estereo, 1 para mono)
Anchura del video: width=480
Altura del video: height=320
Fotogramas por segundo: fps=25
Calidad de video (en kbps): vb=400
En la próxima entrega, como crear listas de reproducción en VLC, como controlarlo remotamente para pausar, pasar video, reiniciar, etc… etc… etc… :)
Ale, a disfrutarlo :)






Últimos comentarios