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 Aitor Roma Vázquez

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

¿Un mensaje, un comentario?

moderación a priori

Este foro es moderado a priori: su contribución sólo aparecerá una vez validada por un/a administrador/a del sitio.

¿Quién es usted?
Su mensaje

Para crear párrafos, deje simplemente líneas vacías.