Portada del sitio > Sistemas > Administración > Linux > Streaming > VIDEO to HLS Segmented Streaming
VIDEO to HLS Segmented Streaming
Sábado 8 de marzo de 2014, por
El principal problema que nos encontramos a la hora de realizar streaming a dispositivos móviles es que tiene de cargar el buffer y eso hace que en conexiones 3G por ejemplo no acabe de funcionar bien el stream.
Con este pequeño tip usaremos ffmpeg para transformar el video en archivos mas pequeños segmentados en formato "TS" estos ficheros se generan con un archivo principal que es el que debe reproducir el dispositivo con extensión m3u8.
Creación del script
# nano /usr/bin/vid2hls
#!/bin/bash
HLSDOC=/var/www/html
cd $HLSDOC
ffmpeg -loglevel quiet -i $1 -c:v libx264 -profile:v baseline -level 3.1 -c:a aac -strict experimental -f mpegts - | ffmpeg -i - -c copy -map 0 -f segment -segment_list $2.m3u8 -segment_format mpegts -segment_time 10 $2%03d.ts
El parametro HLSDOC, es el directorio donde guardaremos el stream.
Damos permisos de ejecución
# chmod +x /usr/bin/vid2hls
Modo de empleo
# vid2hls /path/to/video streamname
Ejemplo:
# vid2hls /var/Videos/tears.mp4 tears
Esto genera los siguientes archivos:
# ls /var/www/html/tears* -l
-rw-r--r-- 1 root root 5326792 mar 9 00:00 /var/www/html/tears000.ts
-rw-r--r-- 1 root root 3142796 mar 9 00:00 /var/www/html/tears001.ts
-rw-r--r-- 1 root root 2054652 mar 9 00:00 /var/www/html/tears002.ts
-rw-r--r-- 1 root root 1322580 mar 9 00:00 /var/www/html/tears003.ts
-rw-r--r-- 1 root root 233 mar 9 00:00 /var/www/html/tears.m3u8
Configurar Nginx para Servir .m3u8
Añadir la siguiente directiva en el VirtualHost del servidor.
location /m {
types {
application/vnd.apple.mpegurl m3u8;
}
alias /var/www/html;
}
Ahora podríamos reproducir el video visitando la web
http://nuestroservidor.com/m/tears.m3u8
Ejemplo:
HLS Segmentated - Mobile
Si visitais la web desde un Ipad o Iphone o con el Navegador Safari, vereis el video.
Tambien funciona en las ultimas versiones de Android.
Para más información de nuestros servicios de streaming puede visitar este link.
http://lrstreaming.redaven.com
Mensajes
1. VIDEO to HLS Segmented Streaming, 7 de mayo de 2014, 14:28, por Daniel
Hola buenas tardes, tengo un receptor de satelite el cual lleva instalado android, me gustaria saber si es posible hacer algo parecido.
Si es posible, lo que me gustaria seria poder enviar la señal del video a cualquier ordenador de mi casa.
Por ejemplo, una manera facil de poder disfrutar de dicho video desde el ordenador, entrando por el navegador a http://192.168.1.xxx/video.
o algo asi similar.
Gracias!