Está en la página 1de 8

UCB. Marn, Medrano, Snchez. Streaming de Video.

Streaming de Video Anlisis de capacidad segn el ancho de banda


Marn Salazar, Carmen; Medrano Maldonado, Mario Victor; Snchez, Juan Carlos (c_marin_s, m_medrano_m, j_sanchez_m) @estudiantes.ucb.edu.bo Universidad Catlica Boliviana - San Pablo

ResumenEn el presente artculo se define conceptos


bsicos sobre lo que es el Servicio de Video Streaming, cules son sus aplicaciones ms comunes y el potencial que tiene este servicio para el futuro. Una vez comprendido esto, se proceder con la presentacin y explicacin de pruebas, referentes al rendimiento y capacidad que tiene un Servidor de Video Streaming, tomando como parmetros el ancho de Banda y la cantidad de clientes simultneos que puede soportar. Una vez analizados los resultados, se mostrar una grfica, la cual mostrar el costo que representa brindar un servicio de Video Streaming para una cantidad de clientes x, en otras palabras se determinar si los costos para ofrecer este tipo de servicio aumentan de manera lineal o exponencial segn la cantidad de clientes.

ndice de TrminosAncho de Banda y su relacin con la cantidad de clientes, Costos y su relacin con Ancho de Banda, Video Streaming. I. INTRODUCCIN

Se puede prever que conforme los dispositivos mviles se van haciendo ms comunes y tomando en cuenta que las personas tienen cada vez menos tiempo para sentarse frente al televisor y esperar a que su programa favorito comience, la tecnologa Streaming se har ms popular, ya que la poblacin optar por ver sus programas desde sus celulares. Pero para lograr esto las empresas de telecomunicaciones y TV cable tendrn que realizar ciertos cambios, e inversiones, ya que mientras ms clientes posean, mayor velocidad de transmisin requerirn, adems la transmisin mediante cableado ya no ser la opcin ms habitual, es decir habr que invertir en tecnologas inalmbricas que se sean capaces de transportar eficientemente grandes volmenes de datos. II.
A.
DESARROLLO

Estructura Streaming

La tecnologa Streaming permite la distribucin de contenido multimedia, con la caracterstica de poder visualizar estos contenidos en el cliente mientras la informacin est siendo trasmitida por la red, no es necesario descargar completamente el contenido multimedia para comenzar su visualizacin, esta se va almacenando en un buffer y se va ejecutando al mismo tiempo que se desarrolla la transmisin. Actualmente esta tecnologa es utilizada por empresas como YouTube, Netflix y otras, que son los pilares de esta tecnologa; canales de televisin, que al presente estn realizando grandes avances en el campo de la televisin digital; TV Web, que ser la nueva tendencia en aos posteriores; y otras aplicaciones de menor escala como video conferencias, cmaras de vigilancia, y muchas otras.

La tecnologa Streaming puede ser de dos tipos:

Bajo Demanda (VoD): Cuando los archivos que se van a transmitir ya se encuentran almacenados en el servidor. En Directo: Cuando el contenido que se transmite est en vivo, es decir el contenido llega al servidor y este lo retransmite a los clientes.

Fig. 1: Funcionamiento de Video Streaming VoD

UCB. Marn, Medrano, Snchez. Streaming de Video.

El Streaming VoD es el que se utiliz en las pruebas, para lo cual se mont un Servidor Darwin y se utilizaron mltiples clientes.
B.

Despus de iniciar sesin, se le pedir una contrasea de emisin mp3:

Instalacin del Servidor Darwin

Se cre el usuario qtss con l siguiente comando:


# groupadd qtss && useradd qtss -g qtss

Despus se descargo Darwin Streaming Server 6.0.3 compilado para Linux del siguiente link:
http://tnlsoft.com/dls/DarwinStreamingServer6.0.3.zip

Fig. 3: Instalacin de Darwin Streaming Server (Paso 2)

Para luego descomprimirlo y ejecutar l script contenido en los archivos comprimidos, y listo.
# ./Install

A continuacin se le preguntar si desea usar SSL para la interfaz grfica de administracin web, en nuestro caso no lo seleccionamos.

Al instalarse l servidor se le pedir un login y pasword para l usuario que administrara l servidor. Darwin Stream Server tiene una interfaz web para su administracin, ingresar a la URL:
http://localhost:1220/

Fig. 4: Instalacin de Darwin Streaming Server (Paso 3)

No se habilita l puerto 80:

Luego es necesario ingresar con el usuario creado en la etapa de instalacin:


Fig. 5: Instalacin de Darwin Streaming Server (Paso 4)

Se asigna el directorio de videos por defecto:

Fig. 2: Instalacin de Darwin Streaming Server (Paso 1)

Fig. 6: Instalacin de Darwin Streaming Server (Paso 5)

UCB. Marn, Medrano, Snchez. Streaming de Video.

Con eso ya est configurado, si el servidor se apagara o el proceso que controla el servicio fuera eliminado se lo puede reiniciar con la siguiente instruccin:
# /usr/local/sbin/streamingadminserver.pl

conexin cliente servidor (sockets), filtrar datos y sincronizar la ejecucin de mltiples clientes a la vez. 1) Lado del cliente Se cre el siguiente script con:
$ cd $HOME && touch script.sh && chmod +x script.sh

La interfaz web de administracin es la siguiente:

En l se escribi el siguiente programa en bash:

Fig. 7: Interfaz principal de Darwin Streaming Server

C.

Clientes

1) Reproductor de Video Para realizar las pruebas los clientes usaron el reproductor VLC.
# apt-get install -y vlc

Fig. 8: Programa ejecutor de mltiples solicitudes de Streaming del lado del cliente

Se utilizaron 20 maquinas con Sistema Operativo Ubuntu 12.04 LTS, las cuales a travs de scripts que sern explicados posteriormente simularon un total de 1000 clientes, es decir 50 clientes por equipo para las pruebas. D. Scripts

Para l envi de fallos se escribi un programa en C; para crearlo se utiliz el comando:


$ cd $HOME && touch reporte.c

El contenido del socket reporte.c es:

Para poder obtener los datos necesarios se hizo uso de diversos programas, capaces de realizar la

UCB. Marn, Medrano, Snchez. Streaming de Video.

UCB. Marn, Medrano, Snchez. Streaming de Video.

2) Lado del Servidor En el lado del servidor DSS se cre el siguiente socket en C:
$ cd $HOME && touch logs_clientes.c

En l se escribi el siguiente cdigo:

UCB. Marn, Medrano, Snchez. Streaming de Video.

Fig. 9: Programa ejecutor de mltiples lecturas de datos de los clientes

3) Sincronizacin Para lanzar los scripts en los clientes se utiliz el siguiente comando
$ echo DISPLAY=:0 $HOME/script.sh | at 15:00 (Hora a la que se ejecutar)

Para lanzar los scripts en el servidor se utiliz l siguiente comando


$ echo DISPLAY=:0 $HOME/reporte.sh | at 15:00 (Hora a la que se ejecutar)

E.

Pruebas

Para poder realizar las pruebas correspondientes se utiliz Darwin Stream Server en un equipo con las siguientes caractersticas: Para lanzar la aplicacin se cre el siguiente script:
$ cd $HOME && touch reporte.sh && chmod +x reporte.sh

Intel Core i5-2400. CPU 3,10GHz. RAM 6GB. Sistema Operativo Centos 6.3

En l se escribi el siguiente cdigo:

Para obtener el uso de procesador segn l nmero de pedidos primero se identifico los procesos del usuario qtss (es l usuario propietario del Darwin Stream Server).
# top -u qtss -b >> datos.txt

UCB. Marn, Medrano, Snchez. Streaming de Video.

El anterior comando se ejecuta antes de recibir las conexiones y se cancelar despus de 10 segundos de terminar el envo de datos, esto para estabilizar las lecturas. Para el filtrado de datos se utiliz el siguiente comando:
# ( grep DarwinStream < datos.txt ) > filtrados.txt

Fig. 11: Uso de memoria en funcin de la cantidad de solicitudes

Fig. 10: Uso del procesador en funcin de la cantidad de solicitudes

La siguiente figura muestra la cantidad total de memoria virtual que utiliza la tarea. Incluye todo el cdigo, los datos y las bibliotecas compartidas ms las pginas que han sido cambiados.

Fig. 12: Variacin del ancho de banda por transmisin de un video mp4.

UCB. Marn, Medrano, Snchez. Streaming de Video.

Fig. 13: Comparacin de un video con tres diferentes calidades en funcin de su consumo de ancho de banda.

El anterior grfico muestra las variaciones del ancho de banda en funcin del video transmitido:

sample_h264_100kbit.mp4 sample_h264_300kbit.mp4 sample_h264_1mbit.mp4 III. CONCLUSIONES

Despus de haber realizado las pruebas con el servidor Streaming podemos concluir: - El uso del procesador se incrementa de acuerdo a la demanda de clientes. - La relacin ancho de banda - clientes es lineal, y no exponencial, es decir no existe un punto en el que el ancho de banda se estabilice. - Con forme ms clientes se tenga, los costos para mantener el servicio de video Streaming aumentar, ya que se requerir mayor ancho de banda, mayor velocidad en el procesador y mayor capacidad de memoria.