Está en la página 1de 90

1

Diseño e Implementación de una Red IPTV con contenidos interactivos utilizando

el Middleware Ginga-NCL

Proaño Bohórquez, Israel David

Departamento de Eléctrica, Electrónica y Telecomunicaciones

Carrera de Ingeniería en Electrónica y Telecomunicaciones

Trabajo de titulación, previo a la obtención del título de Ingeniero en Electrónica y

Telecomunicaciones

Dr. Olmedo Cifuentes, Gonzalo Fernando, PhD

10 de septiembre del 2020


2

Urkund Analysis Result


3
4

Certificación
5

Responsabilidad de Autoría
6

Autorización de Publicación
7

Dedicatoria

Dedico este trabajo a mi familia, Mi Padre Marco, Mi madre Charito quien ha sido un

gran apoyo en todo sentido para alcanzar esta meta. A mi Hermana Diana que desde el cielo

me da las fuerzas para cumplir mis sueños y que siempre será mi ejemplo a seguir.

Israel David Proaño Bohórquez


8

Agradecimiento

Agradezco a Dios que me dio la salud y la sabiduría para alcanzar este objetivo

esperado en mi vida.

A mi Mami Charito, por haber tenido tanta paciencia en todo este tiempo de la carrera

universitaria, su apoyo en todo sentido ha sido vital para conquistar este logro.

A mi hermana Diana quien es mi ejemplo de vida y a quien extraño mucho, sé que

desde el cielo está feliz y seguirá pidiendo a Dios por mi vida para seguir alcanzando mis

objetivos.

Al Dr. Gonzalo Olmedo por su apoyo y su paciencia para lograr este título, es uno de los

profesores que han sido una gran guía en mi vida profesional.

A mis amigos quienes son el motor de mi vida y con quienes he compartido grandes

momentos, sé que vamos hacer unos excelentes profesionales.

Israel David Proaño Bohórquez


9

Índice de Contenidos

Urkund Analysis Result -------------------------------------------------------------------------------------------------------------- 2

Certificación ---------------------------------------------------------------------------------------------------------------------------- 4

Responsabilidad de Autoría -------------------------------------------------------------------------------------------------------- 5

Autorización de Publicación ------------------------------------------------------------------------------------------------------- 6

Dedicatoria ------------------------------------------------------------------------------------------------------------------------------ 7

Agradecimiento ------------------------------------------------------------------------------------------------------------------------ 8

Índice de Contenidos ----------------------------------------------------------------------------------------------------------------- 9

Índice Tablas -------------------------------------------------------------------------------------------------------------------------- 13

Índice Figuras ------------------------------------------------------------------------------------------------------------------------- 14

Resumen ------------------------------------------------------------------------------------------------------------------------------- 16

Abstract -------------------------------------------------------------------------------------------------------------------------------- 17

Capítulo I------------------------------------------------------------------------------------------------------------------------------- 18

Planteamiento del Proyecto de Investigación ------------------------------------------------------------------------------ 18

Formulación del problema y antecedentes ------------------------------------------------------------------------------- 18

Justificación e Importancia ---------------------------------------------------------------------------------------------------- 19

Alcance del Proyecto ------------------------------------------------------------------------------------------------------------ 20

Objetivos --------------------------------------------------------------------------------------------------------------------------- 21
General ------------------------------------------------------------------------------------------------------------------------- 21
Específicos --------------------------------------------------------------------------------------------------------------------- 21

Capitulo II ------------------------------------------------------------------------------------------------------------------------------ 22
10

Marco Teórico ------------------------------------------------------------------------------------------------------------------------ 22

IPTV (Internet Protocol TV) ---------------------------------------------------------------------------------------------------- 22


Diferencias entre IPTV y Televisión por Internet -------------------------------------------------------------------- 23

Estructura de una red de IPTV con interactividad ----------------------------------------------------------------------- 24

Codificación ----------------------------------------------------------------------------------------------------------------------- 25
Codificación por Software ------------------------------------------------------------------------------------------------- 26
Codificación por Hardware ------------------------------------------------------------------------------------------------ 26

Protocolo de Red ----------------------------------------------------------------------------------------------------------------- 27

Clasificación de los protocolos de red -------------------------------------------------------------------------------------- 27

Protocolo IP ----------------------------------------------------------------------------------------------------------------------- 29

Protocolos de Transmisión de paquetes de datos ----------------------------------------------------------------------- 30


TCP (Transmission Control Protocol) ----------------------------------------------------------------------------------- 31
UDP (User Datagram Protocol) ------------------------------------------------------------------------------------------ 31

Protocolo RTMP ------------------------------------------------------------------------------------------------------------------ 32


RTMP Chunk Stream -------------------------------------------------------------------------------------------------------- 33
Estructura del Paquete ----------------------------------------------------------------------------------------------------- 33
Handshake --------------------------------------------------------------------------------------------------------------------- 34
Encriptación ------------------------------------------------------------------------------------------------------------------- 36

Servidor de Video Streaming-------------------------------------------------------------------------------------------------- 36


Tipos de Servidor de Streaming ------------------------------------------------------------------------------------------ 36
Requerimientos para montar un servidor de streaming ---------------------------------------------------------- 37

Middleware Ginga --------------------------------------------------------------------------------------------------------------- 38

Recomendación UIT-T H.761-------------------------------------------------------------------------------------------------- 39


NCL y Ginga-NCL ------------------------------------------------------------------------------------------------------------- 39
Armonización del Ginga-NCL con otros entornos declarativos de IPTV --------------------------------------- 41
Estructura NCL Edición 3.1 ------------------------------------------------------------------------------------------------ 41
Los objetos de los medios de comunicación en las presentaciones del NCL -------------------------------- 43
11

Capitulo III ----------------------------------------------------------------------------------------------------------------------------- 45

Marco Metodológico --------------------------------------------------------------------------------------------------------------- 45

Transmisor ------------------------------------------------------------------------------------------------------------------------- 46
Requisitos del Programa OBS--------------------------------------------------------------------------------------------- 46
Tasa de Bits -------------------------------------------------------------------------------------------------------------------- 48
Tipos de Codificación Velocidad de Bits ------------------------------------------------------------------------------- 50

Servidor de Video ---------------------------------------------------------------------------------------------------------------- 51


Requerimientos de Instalación ------------------------------------------------------------------------------------------- 52

Receptor ---------------------------------------------------------------------------------------------------------------------------- 53

Capitulo IV----------------------------------------------------------------------------------------------------------------------------- 55

Implementación y Pruebas de Funcionamiento --------------------------------------------------------------------------- 55

Instalación y Configuración del Servidor----------------------------------------------------------------------------------- 56


Servidor NGINX --------------------------------------------------------------------------------------------------------------- 58
Módulo RTMP ---------------------------------------------------------------------------------------------------------------- 59
Aplicaciones Interactivas -------------------------------------------------------------------------------------------------- 61

Configuración del Transmisor OBS ------------------------------------------------------------------------------------------ 62


Inicio de Transmisión ------------------------------------------------------------------------------------------------------- 69
Pruebas de Recepción ------------------------------------------------------------------------------------------------------ 70

Implementación del Receptor GIPTV --------------------------------------------------------------------------------------- 72


Configuración de Programas --------------------------------------------------------------------------------------------- 72
Archivo de recepción ------------------------------------------------------------------------------------------------------- 74
Pruebas de Recepción ------------------------------------------------------------------------------------------------------ 76
Archivo de Ejecución aplicaciones -------------------------------------------------------------------------------------- 76
Pruebas de Ejecución ------------------------------------------------------------------------------------------------------- 78

Integración y Automatización ------------------------------------------------------------------------------------------------ 80


Pruebas de Rendimiento del Servidor --------------------------------------------------------------------------------- 82
Conexiones Worker --------------------------------------------------------------------------------------------------------- 83
12

Calculo de Banda Ancha para Enlace ----------------------------------------------------------------------------------- 84

Capítulo V ----------------------------------------------------------------------------------------------------------------------------- 86

Conclusiones y Recomendaciones --------------------------------------------------------------------------------------------- 86

Conclusiones ---------------------------------------------------------------------------------------------------------------------- 86

Recomendaciones --------------------------------------------------------------------------------------------------------------- 87

Bibliografía ---------------------------------------------------------------------------------------------------------------------------- 88

Anexos---------------------------------------------------------------------------------------------------------------------------------- 90
13

Índice Tablas

Tabla 1 Requisitos FFmpeg .......................................................................................................................................... 37


Tabla 2 Requisitos Básicos para OBS .......................................................................................................................... 46
Tabla 3. Video y Audio de Calidad Estándar ................................................................................................................ 49
Tabla 4. Video y Audio de Calidad Empresarial ........................................................................................................... 49
Tabla 5. Sistemas Ubuntu que soporta NGINX ............................................................................................................ 52
Tabla 6. Requerimientos Básicos de Hardware ........................................................................................................... 52
Tabla 7. Descripción de los Componentes de la Red IPTV ............................................................................................ 55
Tabla 8. Comandos de recepción FFMPEG ................................................................................................................... 75
Tabla 9. Prueba1 de recepción..................................................................................................................................... 78
Tabla 10. Prueba 2 de Recepción ................................................................................................................................. 79
14

Índice Figuras

Figura 1 Diagrama de Funcionamiento IPTV .............................................................................................................. 22


Figura 2. Estructura de una Red IPTV con interactividad............................................................................................. 25
Figura 3. Relación de Protocolos en Niveles ............................................................................................................... 30
Figura 4. Estructura del Paquete RTMP ....................................................................................................................... 33
Figura 5. Representación HandShake ......................................................................................................................... 35
Figura 6. Arquitectura Middleware Ginga ................................................................................................................... 38
Figura 7. Entorno de presentación Ginga-NCL ............................................................................................................. 40
Figura 8. API para integrar los reproductores multimedia .......................................................................................... 44
Figura 9. Esquema de Red Local de IPTV ..................................................................................................................... 45
Figura 10. Interface de Inicio OBS ................................................................................................................................ 47
Figura 11. Tipos de Codificación respecto al ancho de banda vs tiempo ..................................................................... 50
Figura 12. Diagrama Lógico de la Aplicación de Recepción ......................................................................................... 53
Figura 13. Diagrama de la Red de Prueba ................................................................................................................... 55
Figura 14. Caracteristicas de Máquina Virtual ............................................................................................................ 56
Figura 15. Comando para configuración de Red ......................................................................................................... 56
Figura 16. Parámetros de Red del Servidor ................................................................................................................. 57
Figura 17. Ping desde el Servidor hacia los equipos de la Red ..................................................................................... 57
Figura 18. Comandos de Instalación de NGINX ........................................................................................................... 58
Figura 19. Opciones de Configuración de Firewall ....................................................................................................... 58
Figura 20. Verificación del Estado del Servidor de Video ............................................................................................. 59
Figura 21. Comando de Instalación del Módulo RTMP ................................................................................................ 59
Figura 22. Implementación del Servidor RTMP y HLS .................................................................................................. 60
Figura 23. Comandos para Reinicio del Servidor ......................................................................................................... 60
Figura 24. Interfaz WinSCP .......................................................................................................................................... 61
Figura 25. Directorio de Aplicaciones .......................................................................................................................... 62
Figura 26. Asistente de Configuración automática ...................................................................................................... 63
Figura 27. Especificar el uso del programa OBS .......................................................................................................... 63
Figura 28. Ajustes de Video ......................................................................................................................................... 64
Figura 29. Configuración de Parámetros del Servidor ................................................................................................. 65
Figura 30. Prueba de Ancho de Banda ......................................................................................................................... 66
15

Figura 31. Resultado Pruebas de Ancho de Banda ...................................................................................................... 66


Figura 32. Componentes de OBS .................................................................................................................................. 67
Figura 33. Creación de Escenas y Fuentes de difusión ................................................................................................ 68
Figura 34. Transmisión desde OBS ............................................................................................................................... 68
Figura 35. Inicio de Transmisión desde OBS ................................................................................................................ 69
Figura 36. Abrir Video Streaming en VLC ..................................................................................................................... 70
Figura 37. Configuración de IP y Reproducción en VLC ................................................................................................ 71
Figura 38. Pruebas de Funcionamiento. ...................................................................................................................... 71
Figura 39.Abrimos el Panel de Control ........................................................................................................................ 72
Figura 40. Variables de entorno .................................................................................................................................. 73
Figura 41. Path de entornos ........................................................................................................................................ 73
Figura 42. Variables de entorno con programas para recepción................................................................................. 74
Figura 43. Comando para recepción de Contenido streaming .................................................................................... 74
Figura 44. Archivo de Recepción .................................................................................................................................. 75
Figura 45. Pantalla Pruebas de Recepción ................................................................................................................... 76
Figura 46. Comando para ejecutar Ginga desde consola ............................................................................................ 77
Figura 47. Comando para ejecutar VLC desde consola ................................................................................................ 77
Figura 48. Comandos para la Ejecución de la recepción .............................................................................................. 78
Figura 49. Pruebas Finales desde Archivo de Ejecución ............................................................................................... 79
Figura 50. GIPTV versión 1 ........................................................................................................................................... 80
Figura 51. Código de Servidor SFTP ............................................................................................................................. 81
Figura 52. Pantalla Principal de Aplicación.................................................................................................................. 81
Figura 53. Establecer valor de Worker_Processes ....................................................................................................... 82
Figura 54. Establecer valor de Worker_Processes por cada CPU ................................................................................ 83
Figura 55. Comando para calcula el número máximo de conexiones.......................................................................... 83
Figura 56. QR Code Video de Proyecto ........................................................................................................................ 85
16

Resumen
La televisión es una de las tecnologías de la información que ha ido evolucionando con el

tiempo y se ha reinventando conforme el avance tecnológico. Desde sus inicios con imágenes

en blanco y negro hasta llegar a la actualidad con imágenes en alta definición como el 4K.

Para lograr una excelente calidad tanto en video y audio se han buscado formas para mejorar

la transmisión hacia el usuario buscando diferentes medios disponibles en las nuevas

tecnologías además de diseñar receptores amigables y que puedan brindar una mejor

experiencia al usuario. El presente proyecto se centra en la implantación de una red IPTV

(Internet Protocol Television) que posee un transmisor mediante un software gratuito, este

codificará y enviará el contenido a un servidor de video donde estarán alojadas las aplicaciones

interactivas, este será el encargado de difundir el contenido hacia el usuario. Finalmente se ha

diseñado un software de recepción en lenguaje Python, que permite la sintonización de la

dirección IP del canal difundido por el servidor descargar el contenido interactivo deseado y

reproducirlo utilizando el middleware GINGA junto con el video recibido, también posee un

botón que sintoniza el canal con un reproductor VLC, logrando así una red completa de IPTV.

Palabras clave:

 RED IPTV

 SERVIDOR DE VIDEO

 GINGA -NCL
17

Abstract
Television is one of the information technologies that has evolved over time and has been

reinvented as technology has advanced. From its beginnings with black and white images to the

present day with high definition images such as 4K. In order to achieve an excellent quality in

both video and audio, we have looked for ways to improve the transmission to the user, looking

for different means available in the new technologies as well as designing friendly receivers that

can provide a better experience to the user. This project focuses on the implementation of an

IPTV network (Internet Protocol Television) that has a transmitter through a free software, this

will encode and send the content to a video server where the interactive applications will be

hosted, this will be responsible for disseminating the content to the user. Finally, a reception

software in Python language has been designed, which allows tuning the IP address of the

channel broadcast by the server, downloading the desired interactive content and playing it

using the GINGA middleware together with the received video. It also has a button that tunes

the channel with a VLC player, thus achieving a complete IPTV network.

Keywords:
 IPTV NETWORK
 VIDEO SERVER
 GINGA–NCL
18

Capítulo I

Planteamiento del Proyecto de Investigación

Formulación del problema y antecedentes

En la actualidad existe un cambio tecnológico que avanza con rapidez y está causando

una revolución en los medios de la información tradicionales como son la radiodifusión y la

televisión. Estos eran los pioneros en difundir la información a nivel local y mundial, utilizando

como canales de transmisión el espectro radioeléctrico que hoy en día está siendo ocupado

casi en su totalidad y otros diferentes medios de difusión para alcanzar a los usuarios. Debido a

esta transformación digital es necesario migrar estas tecnologías a un nuevo medio de

transmisión digital como es el mundo del internet. El Internet hoy en día es el más utilizado para

obtener información con sus diferentes aplicaciones, redes sociales e innumerables beneficios

en el tema de comunicación.

Solo durante 2018 el número de usuarios de internet creció un 9,1%. A este ritmo el

mundo estará completamente conectado a finales de la próxima década. Sin embargo, no en

todas las regiones se avanza igual (López, 2019). Por lo que es de gran importancia el paso

transparente de estos medios tradicionales al mundo del internet.

El primer paso que se dio en esta búsqueda de digitalizar la señal de televisión, es la

implementación de la Televisión Digital Terrestre (TDT), que es una forma de transmitir las

señales de Televisión Abierta o gratuita con ventajas como mayor calidad de vídeo, imagen y

sonido.
19

En Ecuador este cambio se está haciendo paulatinamente, empezó en el año 2010 y

actualmente, en el país operan 577 estaciones de televisión, de las cuales 30 transmiten en

señal digital con una concesión temporal para brindar servicio de TDT, en ciudades como:

Quito, Guayaquil, Cuenca, Santo Domingo, Manta, Latacunga y Ambato. Hasta el momento no

ha existido el impacto esperado por esta nueva tecnología ya que el internet está abarcando

todos los aspectos esperados como son la visualización con mejor calidad, las aplicaciones

interactivas, sistemas de alerta temprana, etc.

Es por eso que el paso de la televisión a esta nueva tecnología es necesario para seguir

a la vanguardia, y abre un campo nuevo de investigación para poder brindar los diferentes

beneficios prometidos por la TDT y hasta aumentar los mismos.

Justificación e Importancia

Desde que se adoptó el estándar ISDB-Tb en Ecuador se han desarrollado en la

Universidad de las Fuerzas Armadas varios trabajos que cubren la mayoría de áreas de

investigación de TDT, desde los transmisores como el implementado (Mena, 2015), en el cual

se desarrolla un transmisor mediante una tarjeta moduladora que permite modificar los

parámetros y generar un canal RF por donde se envía el Transport Stream (TS) y Broadcast

Transport Stream (BTS). Un trabajo que describe la implementación de un transmisor para

emisión de aplicaciones interactivas conformado por las etapas de generación, modulación y

emisión de la señal de audio, video y datos para aplicaciones interactivas.(Illescas & Villamarin,

2011). También se ha realizado un análisis de plataformas que permitan crear nuevos servicios

que permite la digitalización de la señal de televisión digital.(Parreño & Ponce, 2014)


20

La implementación realizada por (Villamarin et al., 2013) de un transmisor para emisión

de aplicaciones interactivas conformado por las etapas de generación, modulación y emisión de

la señal de audio, video y datos para aplicaciones interactivas. Y muchos proyectos más que

muestran que el digitalizar la señal de televisión abre campos de investigación para mejorar

este medio de comunicación. Hasta el momento son pocos los proyectos que se han realizado

para lograr entender cómo podemos incursionar en este nuevo campo, por lo que el desarrollo

de un proyecto donde se implemente una Red de IPTV con interactividad es esencial para

poder entender los requerimientos necesarios para su implementación en las nuevas redes de

comunicación actuales y futuras.

Alcance del Proyecto

El presente proyecto pretende implementar una red IPTV con contenidos interactivos

utilizando el Middleware Ginga. Esta red local contará con un software gratuito que será el

transmisor quien emitirá la señal hacia un servidor de video implementado en un sistema Linux

y que contenga las aplicaciones interactivas previamente diseñadas, además de realizar la

difusión del contenido que será realizado por una dirección IP única del canal. Esta será

sintonizada en un receptor desarrollado para integrar la señal recibida con la interactividad

deseada con el Middleware Ginga o simplemente reproducirá el contenido mediante el

reproductor VLC. Se espera que este proyecto pueda ser replicado en un futuro en laboratorios

de universidades, redes escolares, servicios médicos, sistemas de alerta temprana y temas de

marketing.
21

Objetivos

General

Implementar una Red IPTV con contenidos interactivos utilizando el Middleware Ginga

bajo el estándar H.761

Específicos

 Definir el estado del arte de Televisión Digital a través de Streaming de IPTV.

 Implementar un servidor de video que pueda realizar la difusión del contenido a

través de una red de IPTV.

 Creación de una aplicación que pueda sintonizar y reproducir el canal IPTV

combinándola con la interactividad creada para el middleware Ginga.


22

Capitulo II

Marco Teórico

IPTV (Internet Protocol TV)


Es una forma de transmitir televisión a través de internet de una manera diferente a la

que hacen las plataformas convencionales de streaming como Netflix, Amazon Prime Video o

HBO entre otras. Ya que los proveedores de este servicio utilizan su propia infraestructura para

mediante una red Privada y directa entre el operador y el usuario final pueda recibir el

contenido sin conectarse al internet. Esto brinda la posibilidad que los canales sean

transmitidos bajo demanda y que la operadora pueda reservar un ancho de banda para este

servicio (Xataka, 2017). En la Figura 1 podemos ver un diagrama básico del funcionamiento de

una IPTV y como distribuye el contenido a través del Router.

Figura 1

Diagrama de Funcionamiento IPTV

Nota. Diagrama Básico de una red IPTV


23

Para garantizar la calidad en las transmisiones se utiliza este método de conexión

directa por que el proveedor puede asignar un ancho de banda dedicado para esta aplicación y

permite recibir más canales, además de asegurar que a este contenido solo se pueda acceder

de forma segura.

El proceso continúa utilizando un software que codifica el video de los canales y lo

envía a la dirección IP del cliente. El usuario deberá tener un decodificador como se visualiza

en la Figura 1 para poder visualizar el contenido. Estos receptores tienen algunas funciones

dependiendo lo que necesite el usuario.

Diferencias entre IPTV y Televisión por Internet


Existen algunas diferencias entre IPTV como ya vimos su definición en el la sección

anterior y Televisión Online (Internet TV) que es un servicio distribuido a través del internet.

Ambas tienen similar tecnología base, pero difieren en como entregan su contenido a los

usuarios de la siguiente manera:

 Alcance Geográfico. - La IPTV se basa en redes controladas por operadores de

telecomunicaciones y su alcance es a los subscriptores de los mismos. La

Televisión Online está disponible en cualquier lugar.

 Diferentes Plataformas. - La IPTV se encuentra en redes seguras y dedicadas por

el proveedor dando seguridad, mientras que la Televisión Online está en la internet

pública lo que no asegura una conexión buena a nivel de seguridad informática.

 Calidad de Servicio. - La TV online se basa en servicios de mejor esfuerzo lo que

implica no garantizar una calidad del servicio por que intervienen factores externos,

mientras que la IPTV al ser difundida por una infraestructura propia pude manipular

los parámetros necesarios y así garantizar la calidad del servicio.


24

 Acceso al Servicio. - Se utiliza un decodificador digital para acceder y decodificar

los contenidos de video emitidos por el sistema IPTV, mientras que cualquier

dispositivo se utiliza para acceder a los servicios de la Internet TV. En el caso de los

servicios de IPTV, las leyes del derecho de reproducción son tratadas durante las

negociaciones del contrato entre el operador y la compañía de medios proveedora

del material (películas, programas de televisión, etc.) (IPTEL, 2010).

 Tarifas para Usuarios. - Los contenidos de video emitidos sobre la Internet pública

está disponible de manera gratuita para los consumidores. Los servicios de IPTV

son provistos a cambio de una tarifa que puede ser una suscripción mensual la cual

también podría incluir otros paquetes de ofertas.

 Contenido de Medios. - Existe vario contenido disperso en el internet que puede

ser generado por el propio usuario y podríamos agruparlo en lo que se llama Web

TV, mientras que lo que se transmite por IPTV es contenido original y tradicional.

Estructura de una red de IPTV con interactividad


En la Figura 1, se presenta una red básica de IPTV con interactividad. Se cuenta con un

servidor ya que ahí se puede albergar aplicaciones interactivas que pueden ser descargadas

por los usuarios mediante diferentes protocolos. Explicaremos que es un codificador


25

Figura 2.

Estructura de una Red IPTV con interactividad

Nota. Diagrama de implementación

Codificación

Los codificadores son dispositivos que convierten archivos de video o audio de un

formato a otro. Estos pueden estar basados tanto en hardware como en software. Los

codificadores son esenciales para convertir los archivos de video RAW de su cámara en

archivos digitales que se pueden transmitir.

El codificador toma el formato necesario y lo convierte en códec mediante un proceso

de compresión / descompresión. El protocolo de transmisión estándar para fuentes de Internet

es H.264 (Gámez, 2014).

El protocolo H.264 puede crear lo que se llama compresión sin perdidas. Para la

transmisión de solo audio, hay dos opciones populares: MP3 (MPEG Audio Layer III) y AAC
26

(Codificación de audio avanzada). Hay dos protocolos importantes para la transmisión a tener

en cuenta: el protocolo RTMP y HLS. RTMP transmite los archivos desde el codificador a la

plataforma de alojamiento de videos y HLS los transmite desde la plataforma de alojamiento de

videos a su audiencia.

Codificación por Software


Son programas que para ejecutarse utilizan el procesador del dispositivo informático

(CPU) por ello depende directamente del tipo de computadora con la se cuente.

Este tipo de software proporciona una gran calidad y permite mayores ajustes

personalizables. Una de las ventajas de usar este tipo de codificadores es que se actualizan

fácilmente al aparecer nuevas versiones a diferencia de los codificadores por hardware. Los

codificadores de software son generalmente atractivos para los radiodifusores principiantes

debido a su bajo costo y características de personalización.

De hecho, uno de los codificadores de software de código abierto más populares, OBS

Studio, es gratuito(Gámez, 2014).

Codificación por Hardware


Para realizar esta codificación se utiliza la tarjeta gráfica del dispositivo (GPU), la cual

utiliza un algoritmo con el que codifica el video para su transmisión. Tiene un costo más

elevado, pero también mayor rendimiento.

Los parámetros ajustables son más limitados, ya que la calidad de video suele ser fija.

Se puede decir que como este tipo de dispositivos fueron creados para esto se tendrá mayor

velocidad y pueden bajar la latencia.

El precio más alto y la latencia más baja que vienen con los codificadores de hardware

los distinguen de sus contrapartes de software. No encontrara ningún codificador de hardware


27

gratuito. Puede encontrar algunos por tan solo 100 dólares, pero en su mayor parte, llegan a

los miles (Gámez, 2014).

Protocolo de Red
Para poder interconectar entre si uno o más dispositivos no solo se lo hace mediante un

cable ethernet, ya que los sistemas no poseen la capacidad de intercambiar paquetes de datos

sin algo lógico que los ayude a establecer dichas conexiones.

Esta tarea les corresponde a los protocolos de red, que, en conjunto con sus

respectivas familias de protocolo, actúan en la llamada capa de mediación o de red, el nivel 3

del modelo OSI y establecen una serie de acuerdos para el intercambio de datos, regulando,

así, las condiciones para el transporte, el direccionamiento, el enrutamiento (camino del

paquete) y el control de fallos.

Esto significa que, para que dos ordenadores se puedan comunicar entre sí, han de

utilizar los mismos protocolos de red, de forma que acuerdan las mismas condiciones para la

transmisión, que se añaden al paquete en el encabezado o como anexo:

 Tamaño del paquete o de los paquetes de datos


 Tipo de paquete
 Emisor y destinatario
 Otros protocolos implicados

Clasificación de los protocolos de red


Los protocolos de red se pueden clasificar de diferentes formas tomando en cuenta la

tipología de red, porque los datos pueden difundirse de diferentes formas. También es
28

importante tomar en cuenta la jerarquía de los usuarios y muchas otras variables que pueden

generar distintos tipos de protocolos diferenciados entre sí en función de los siguientes

aspectos y escenarios posibles.

 Número de participantes en la comunicación. - Esto indica el número de

ordenadores que pertenece a la red, si los datos se transmiten a un solo destinatario,

esta transferencia se la conoce como unicast, si el intercambio se produce entre dos

o más sistemas se habla entonces de conexiones multicast, y si el envío de datos es

hacia todos los participantes se lo llama broadcasting, este último es el más usado

en radio y televisión.

 Modo de transmisión de los datos. - La dirección con la que se transmiten los

datos son un gran diferenciador. Simplex o unidireccional admite solo transferencia

en un sentido eso quiere decir que el ordenador solo puede tomar un rol o de

transmitir o recibir. Semi-dúplex en este modo los ordenadores pueden ser tanto

emisores como receptores, pero no al mismo tiempo. Finalmente, el modo dúplex

completo permite el envío de datos en ambas direcciones simultáneamente.

 Jerarquía Participantes: según las configuraciones previas se puede tener clientes

exclusivos y otros normales a este tipo se lo conoce como comunicación asimétrica o

dar el servicio a varios simultáneamente a esta se le conoce como comunicación

simétrica.

 Sincronización Comunicación: en la transmisión de datos se puede diferencia en

función de su sincronización de bits entre emisor y receptor y existe la comunicación

sincrónica o asincrónica.
29

 Tipo de Conexión: los protocolos de red se pueden dividir en aquellos orientados a la

conexión y aquellos que no lo están. Los primeros requieren una conexión entre emisor

y receptor durante la transmisión e intentan garantizar que los paquetes lleguen a su

destino en un orden determinado y que, en caso de entrega fallida, se envíen

nuevamente. Los segundos no establecen ni interrumpen una conexión, por lo que los

paquetes que se envían contienen bastante menos información adicional, aunque

pueden llegar en una secuencia arbitraria al destinatario y no se vuelven a enviar en

caso de una transmisión fallida.

Protocolo IP
El protocolo de Internet tiene la misión de transportar los paquetes de datos de un

emisor a un receptor a través de varias redes. Con esta finalidad, este protocolo fija las

directrices de direccionamiento y de enrutamiento que han de seguir los paquetes de datos. IP

no es solo el protocolo de red estándar para redes WAN (Wide Area Network), las únicas redes

globales que interconectan Internet, sino también para redes locales. Todos los fabricantes y

sistemas operativos soportan el protocolo de Internet, aunque presupone contar con la

experiencia técnica necesaria en configuración, así como con el hardware (router) adecuado

(Gómez, 2014).

Durante su transmisión se puede partir un datagrama en fragmentos que se montan de

nuevo en el destino. Las principales características de este protocolo son:

 Protocolo orientado a no conexión.

 Fragmenta paquetes si es necesario.


30

 Direccionamiento mediante direcciones lógicas IP de 32 bits.

 Si un paquete no es recibido, este permanecerá en la red durante un tiempo finito.

 Realiza el ¨mejor esfuerzo¨ para la distribución de paquetes.

 Tamaño máximo del paquete de 65635 bytes.

 Sólo se realiza verificación por suma al encabezado del paquete, no a los datos que

éste contiene.

En la figura 3 se encuentra un diagrama que nos permite visualizar la relación de los

protocolos desde la capa ethernet y los diferentes niveles a lo que se comunica.

Figura 3.

Relación de Protocolos en Niveles

Nota. Relación de Protocolos

Protocolos de Transmisión de paquetes de datos


Una vez establecida la base de la comunicación por parte de los protocolos de la capa

de enlace, se requieren otros protocolos que permitan que los paquetes de datos lleguen a las

aplicaciones correspondientes.
31

Partiendo del modelo OSI, este proceso se lleva a cabo en la capa de transporte o capa

4. Para ello, cada pila posee también sus propios protocolos. Para la familia de protocolos de

Internet estos son, en especial:

 TCP (Transmission Control Protocol) o protocolo de control de la transmisión

 UDP (User Datagram Protocol) o protocolo del datagrama del usuario

TCP (Transmission Control Protocol)

Es considerado el estándar para las conexiones de red lo que origina que se hable a

menudo de redes TCP/IP. Como protocolo orientado a la conexión, TCP presupone una

conexión existente entre los participantes para poder transportar el paquete de datos,

garantizando la transmisión fiable de los datos en tanto que los paquetes llegan íntegros y en el

orden correcto al destinatario. Para hacer esto posible, el protocolo añade a los paquetes de

datos información adicional como un número de secuencia o una suma de verificación

(checksum), además de otro tipo de datos (Gómez, 2014).

UDP (User Datagram Protocol)


Es utilizado para la transmisión simple y rápida de paquetes pequeños sin conexión.

Aunque las conexiones UDP no garantizan que el paquete llegue a su destinatario, la reducción

de los datos de gestión (información adicional en el encabezado) otorga una mayor velocidad a

aquellas transferencias de datos en las cuales se pueda tolerar algún error de transmisión. Es
32

por este motivo que UDP se utiliza en el streaming de video y audio, en peticiones al DNS, así

como en conexiones VPN (Virtual Private Network) (Gómez, 2014).

Protocolo RTMP
Este protocolo se usa para los servicios de streaming, entre un programa Flash player y

un servidor, de archivos de audio, video y datos en internet. Este protocolo trabaja sobre TCP y

usa, por defecto el puerto 1935, permite al cliente controlar la calidad de distribución de la

transmisión y la seguridad. Fue desarrollado por Macromedia, pero actualmente pertenece a

Adobe.

Tras establecer una conexión TCP, se establece la conexión RTMP, que comienza con

el intercambio de tres paquetes, no RTMP, del servidor y otros 3 del cliente (denominados S0-2

y C0-2 respectivamente).

De esta manera el cliente inicializa la conexión al enviar el paquete C0 con un valor

constante de 0x03 indicando la versión del protocolo.

Una vez llegados a este punto el cliente y el servidor pueden negociar la conexión

mediante el intercambio de paquetes AMF (Action Message Format) que sirven para poder

mandar mensajes entre nuestro cliente y servidor y que en el campo “(Object1)” contienen

valores de algunas variables que son necesarias para establecer la conexión.

Por último, para comenzar el streaming del archivo, el cliente manda la orden
“createStream” seguida de un mensaje “ping” la instrucción “play” con el nombre del
archivo como argumento. El servidor responderá entonces con una serie de comandos
“onStatus” y los archivos correspondientes al video encapsulados en mensajes RTMP.
33

RTMP Chunk Stream


Es el sistema por el cual se multiplexa y empaquetan los paquetes para servicios de

streaming. Este puede manejar cualquier protocolo que envía un stream de mensajes. Cuando

es usado sobre un protocolo de transporte confiable (como en este caso con TCP) provee

tiempos de entregas de todos los mensajes a través de todos los canales. Distintas

implementaciones pueden asignar distintas prioridades a distintos tipos de mensajes, lo que

puede afectar el cómo estos mensajes son enviados cuando la capacidad de transporte está

limitada.

Estructura del Paquete


En la Figura 4 podemos observar la estructura del Paquete RTMP. A continuación,
se explicará cada uno de los elementos que lo componen detalladamente.

Figura 4.

Estructura del Paquete RTMP

Nota. Chunk Header


34

 Basic Header (1 a 3 bytes): Este campo codifica el chunk stream ID y el chunk type. El

chunk type determina el formato del message header codificado. El largo depende

totalmente del chunk stream ID, que es un campo de largo variable.

 Message Header (0, 3, 7 o 11 bytes): Este campo codifica información sobre el mensaje

siendo enviado (sea entero o una parte). El largo puede ser determinado usando el chunk

type especificado en el chunk header.

 Extended Timestamp (0 o 4 bytes): Este campo está presente en ciertas circunstancias

dependiendo del timestamp codificado o el campo timestamp delta en el Chunk Message

header.

 Chunk Data (tamaño variable): La carga útil de este chunk, hasta el tamaño máximo

configurado del chunk.

Handshake

Una conexión RTMP comienza con un handshake como en la Figura 5. El handshake

no es como en el resto de los protocolos, consiste en tres chunks estáticos en vez de chunks

de tamaño variable con encabezados. El cliente y el servidor envían los mismos tres chunks.
35

Figura 5.

Representación HandShake

Nota. HandShake

Denominaremos estos tres chunks como C0, C1 y C2 cuando son enviados por el

cliente, por otro lado, cuando son enviados por el servidor, los definiremos como S0, S1 y S2.

El cliente debe esperar hasta que reciba S1 antes de enviar C2. Y el cliente ahora debe

esperar hasta que S2 haya sido recibido, para así poder enviar cualquier otra

información.(Parmar, 2012).
36

Encriptación
Las sesiones RTMP pueden ser encriptadas usando uno de los siguientes métodos:

 Usando RTMPS, que es el protocolo RTMP sobre una conexión segura TLS/SSL

(Transport Layer Security/Secure Sockets Layer)

 Usando RTMPE (Encrypted RTMP), que envuelve la sesión de transmisión RTMP en

una capa de cifrado ligera.

 RTMPT, es la encapsulación de los datagramas RTMP en paquetes HTTP (Hypertext

Transfer Protocol) para evadir firewalls es a través del puerto web estándar (puerto

80)(Jain, 2016).

Servidor de Video Streaming


Es importante definir primero que es el Streaming. Y pues es la transmisión de video o

de audio en tiempo real sin la necesidad de descargar archivos de audio o de video a nuestro

dispositivo o computadora.

Tipos de Servidor de Streaming


Existen 2 tipos de servidor de streaming. El Streaming de Video y Audio, los dos son en

tiempo real y que el usuario puede ver en vivo desde su dispositivo.

A la hora de transmitir streaming de video es importante tener muy claro la calidad del

contenido que se va a transmitir, también debemos conocer el público aproximado que se

espera y además es importante saber cuánto va a durar el evento. Con estos tres datos se

puede tener una idea básica de cuántos servidores se podría necesitar para que el streaming

sea exitoso.(Borges, 2018)


37

Es muy importante aclarar que no todo el streaming es en vivo. Hoy en día de hecho

existen muchas plataformas de streaming de series y películas como Netflix, HBO Go, por

mencionar algunas, que funcionan con un método de streaming no en vivo, es decir, se trata de

contenido que se encuentra almacenado en los servidores de estas plataformas y que es

servido a los usuarios a medida a que estos lo van solicitando.

Requerimientos para montar un servidor de streaming


Para transmisiones de video que no hacen uso de servicios de terceros como YouTube,

Twitch o Zoom (por mencionar algunos), se va a requerir un servidor, el cual básicamente se

encargará de procesador el video transmitido y despacharlo al público. En el caso del

streaming de video, ya sea en vivo o no, se recomiendan servidores dedicados con buenas

líneas y buen hardware, además de una plataforma adecuada. El software que use el servidor

puede variar, aunque algunos ejemplos populares incluyen FFmpeg y GStreamer, entre

otros.(Borges, 2018).

FFmpeg por su lado es muy usado para procesamento, conversión y streaming de

vídeos en lo que refiere vídeo, y sus requisitos básicos podemos verlo en la Tabla1.

Tabla 1

Requisitos FFmpeg

Caracteristicas Cantidad
Memoria RAM 4 GB o Superior
Procesador Quad Core o Superior

Nota. Requisitos mínimos para implementar FFmpeg


38

Por supuesto estamos hablando para entornos en producción, pues si es para pruebas

lo podemos echar a andar incluso con un solo núcleo y 2GB de RAM o menos. Como siempre,

cuanto mayor el público y mejor la calidad más hardware se necesitará.

Middleware Ginga
Se entiende por middleware a una capa intermedia entre el hardware y el software del

equipo, esto ofrece facilidades para desarrollar contenido y aplicaciones para la Televisión

Digital, con esto se designa capas de software que no necesariamente son aplicaciones, sino

que facilitan el uso de plataformas hardware con tecnologías de información. Para el estándar

que se maneja en Ecuador que es el ISDB-Tb se creó el programa Ginga que aún es

soportando por Pontificia Universidade católica do Rio de Janeiro (PUC-Rio). En la Figura 6

podemos ver su arquitectura donde se describen sus componentes.

Figura 6.

Arquitectura Middleware Ginga

Nota. El gráfico muestra los diferentes módulos de la arquitectura Middleware Ginga


39

Ginga es el programa desarrollado para la creación de aplicaciones interactivas. Su

nombre es representativo del país de origen Brasil, que representa la lucha por la libertad e

igualdad del pueblo brasileño. Es un conjunto de tecnologías japonesas e innovaciones

brasileñas que están estandarizadas en la norma ISDB-tb y la recomendación UIT-T H.761

óptima para la IPTV.

Recomendación UIT-T H.761

Esta Recomendación especifica el lenguaje de contexto anidado (NCL) y un


entorno de presentación de NCL, llamado Ginga-NCL, para proporcionar
interoperabilidad y armonización entre los marcos de aplicación multimedia de la TVIP.
Para proporcionar servicios de IPTV estándar a nivel mundial, es previsible que se utilice
una combinación de diferentes marcos de aplicación multimedia estándar. Por
consiguiente, en esta Recomendación se especifica el lenguaje de contexto anidado,
como una de las normas que componen los marcos de aplicación multimedios, para
proporcionar la utilización interoperable de los servicios de IPTV. El Ginga-NCL es un
entorno de presentación NCL que integra los reproductores NCL y Lua. Los marcos NCL
y Lua pueden ser usados en otros ambientes declarativos, pero si son usados juntos
deberán seguir la especificación Ginga-NCL.(ITU-T, 2014)

NCL y Ginga-NCL

El lenguaje de contexto anidado (NCL) es una aplicación de lenguaje de marcado

extensible (XML) que permite a los autores escribir presentaciones multimedia interactivas.

Mediante el NCL, los autores pueden describir el comportamiento temporal de una

presentación multimedia, asociar hipervínculos (interacción del usuario) con objetos multimedia,
40

definir alternativas para la presentación (adaptación) y describir la disposición de la

presentación en múltiples dispositivos.

NCL también permite el uso de comandos de edición de fuentes externas, incluyendo

comandos para la generación de aplicaciones en vivo.

El Ginga-NCL es el subsistema lógico del sistema Ginga que procesa las aplicaciones

declarativas NCL. Un componente clave del Ginga-NCL es el motor de decodificación de

contenido declarativo (formateador NCL o reproductor NCL). En la Figura 7 podemos observar

el entorno de Ginga-NCL con todos sus componentes.

Figura 7.

Entorno de presentación Ginga-NCL

Nota. Tomado de (ITU-T, 2014)


41

Armonización del Ginga-NCL con otros entornos declarativos de IPTV

Una aplicación de NCL tiene una estricta separación entre su contenido y su estructura.

El NCL por sí mismo no define ningún contenido de los medios de comunicación. En su lugar,

define el pegamento que mantiene los objetos de los medios juntos en las presentaciones

multimedia.

Un documento NCL sólo define cómo los objetos de medios están estructurados y

relacionados en el tiempo y el espacio. Como un lenguaje adhesivo, no restringe o prescribe los

tipos de contenido de sus objetos multimedia. Los objetos de medios que se admiten dependen

de los reproductores de medios que se acoplan en el formateador NCL. Entre estos

reproductores se encuentran los decodificadores/reproductores de vídeo y audio que actúan en

el plano de vídeo de una pantalla estructurada, normalmente implementados en el hardware de

un receptor de IPTV. De este modo, los flujos de vídeo y audio de un servicio presentado en el

plano de vídeo se tratan como todos los demás objetos de medios mostrados en cualquier

plano de presentación que pueden relacionarse utilizando NCL.

Estructura NCL Edición 3.1


La edición 3.1 del NCL está dividida en 14 áreas funcionales, que a su vez están

divididas en módulos:

1) Structure:

– Structure module.

2) Components:

– Media module.

– Context module.
42

3) Interfaces:

– MediaContentAnchor module.

– CompositeNodeInterface module.

– PropertyAnchor module.

– SwitchInterface module.

4) Layout:

– Layout module.

5) Presentation specification:

– Descriptor odule.

6) Timing:

– Timing module.

7) Transition effects:

– TransitionBase module.

– Transition module.

8) Navigational key:

– KeyNavigation module.

9) Presentation control:

– TestRule module.

– TestRuleUse module.

– ContentControl module.

– DescriptorControl module.

10) Linking:

– Linking module.
43

11) Connectors:

– ConnectorCommonPart module.

– ConnectorAssessmentExpression module.

– ConnectorCausalExpression module.

– CausalConnector module.

– CausalConnectorFunctionality module.

– ConnectorBase module.

12) Animation:

– Animation module.

13) Reuse:

– Import module.

– EntityReuse module.

– ExtendedEntityReuse module.

14) Meta-Information:

– Metainformation module

Los objetos de los medios de comunicación en las presentaciones del NCL


La presentación de un documento NCL requiere la sincronización de varios objetos de

medios, los cuales son especificados por elementos <media>. Para cada objeto multimedia, un

reproductor multimedia controlará tanto la presentación de su contenido como sus eventos

NCL. Además, el reproductor de medios debe ser capaz de recibir comandos de presentación,

controlar todas las máquinas de estado de eventos y responder a las preguntas del

formateador.
44

Para favorecer la incorporación de reproductores de medios de terceros en un motor de

presentación NCL, se sugiere un diseño modular, con el fin de separar los reproductores de

medios del motor de presentación (reproductor NCL).

La Figura 8 ilustra una organización modular para un entorno de presentación NCL.

Para poder utilizar un tercero con interfaces que no son compatibles con la requerida por el

motor de presentación, es necesario desarrollar módulos, llamados adaptadores, para hacer las

adaptaciones necesarias. En este caso, el reproductor multimedia consiste en un adaptador

junto con el propio reproductor.

Figura 8.

API para integrar los reproductores multimedia

Nota. Tomado de (ITU-T, 2014)


45

Capitulo III

Marco Metodológico
En este capítulo se presenta los diferentes componentes del proyecto y la metodología

utilizada para su integración en la Red de IPTV planteada. Para esto se detallan cada uno de

los componentes que podemos visualizar en la Figura 9 donde se describe un Esquena de Red

de IPTV.

Figura 9.

Esquema de Red Local de IPTV

Nota. Se puede ver lo simple que se puede implementar una red de este estilo

El sistema básico de IPTV se compone de un transmisor mediante software Libre, un

servidor de video implementado en una máquina virtual que utiliza Ubuntu Server como su

sistema operativo y que alberga las aplicaciones interactivas Ginga-NCL previamente creadas y

finalmente el usuario tendrá un decodificador de software que integra el middleware Ginga y

VLC para poder visualizar el contenido emitido por el transmisor.


46

Este receptor tendrá la posibilidad de sintonizar la IP del canal y de descargar la

interactividad existente en el servidor de video para visualizarla junto con el contenido

multimedia.

Transmisor

Requisitos del Programa OBS


En la Tabla 2. se describen los requisitos para la ejecución del programa OBS que
será utilizado como transmisor en este proyecto.

Tabla 2

Requisitos Básicos para OBS

Ítem Componente Caracteristicas


1 Procesador Intel Core i5 o más de 4
núcleos y 2.6 GHz
2 Tarjeta Gráfica Para PC no debe ser la integrada y en
portátiles debe ser dedicada de 2GB o más
3 Memoria RAM De 8GB en adelante
4 Disco Duro 500GB o más dependiendo
si se va a usar el almacenamiento.

Nota. Requisitos para la instalación del programa OBS.

En el mercado tecnológico existen varios software y hardware que son utilizados para

realizar transmisiones de audio y video, estas herramientas tienen la posibilidad de configurar

la compresión de los paquetes y adaptarse a la red que utilizan para la difusión del contenido.

Para el presente proyecto se utiliza el programa Open Broadcaster Software (OBS), este

software es libre y de código abierto y es usado para grabación de video y transmisión en vivo

como lo referencia en su página web (Open Broadcaster Software®️, 2012-2020). En la Figura

10 podemos ver su pantalla principal y cuanta con varias herramientas según el caso de uso.
47

Figura 10.

Interface de Inicio OBS

Nota. Pantalla principal del programa.

El potencial de este software es que se puede realizar también transmisiones hacia

redes sociales, plataformas virtuales, etc. En este caso la transmisión se hace hacia un servidor

de video creado para este proyecto y que tiene un sistema operativo Linux que integrara la

solución.

Es importante tener en cuenta como elegir la configuración, la tasa de bits y las

resoluciones del decodificador, ya que esto asegura una transmisión confiable de acuerdo a la

conexión que se tenga. Para esto se realiza una prueba de velocidad para evaluar la tasa de

bits de carga.
48

El bitrate, o la tasa de bits en español, es la cantidad de bits por segundo de la señal de

video. Por supuesto, a mayor bitrate, mejor calidad en el video, pero ocuparía más ancho de

banda por eso es importante buscar un equilibrio entre estos dos parámetros (Alvarez, 2012).

Tasa de Bits
Es la cantidad de datos que se envían a un servidor o servicio de streaming cuando se

realiza una transmisión. Una tasa de bits más alta ocupa más de su ancho de banda de Internet

disponible.

Aumentar la tasa de bits puede mejorar la calidad del video, pero sólo hasta cierto

punto. La Tasa de bits se mide en kbit/s o Mbps, kilobits por segundo o megabits por segundo,

respectivamente. Un bit es un cero o uno, y es la base de toda la computación, por ejemplo,

una velocidad de bits de 50 megabits por segundo, o 50 Mbit/s, significa que se procesan

50.000.000 de bits cada segundo para reproducir vídeo y audio.

Lo que indica que a mayor tasa de bits mayor calidad, pero mayor tamaño de archivo.

Es por eso que se debe buscar un equilibrio entre la calidad y el tamaño del archivo. En la

Tabla 3 se observa la tasa de bits según la calidad que se quiera transmitir.


49

Tabla 3.

Video y Audio de Calidad Estándar

Video Mono Audio Stereo 5.1 Audio


Type
bitrate (kbps) bitrate (kbps) Audio bitrate (kbps) bitrate (kbps)

1080p 8000 128 384 512

720p 5000 128 384 512

480p 2500 64 128 196

360p 1000 64 128 196

Notas. Tomado de (EditaloPro, 2019)

Mientras que en la Tabla 4 podemos ver tasa de bits para alta calidad para creadores

con conexión a Internet de calidad empresarial,

Tabla 4.

Video y Audio de Calidad Empresarial

Mono Stereo
Video 5.1 Audio
Type Audio bitrate Audio bitrate
bitrate (kbps) bitrate (kbps)
(kbps) (kbps)

1080p 50000 128 384 512

720p 30000 128 384 512

480p 15000 128 384 512

360p 5000 128 384 512

Notas. Tomado de (EditaloPro, 2019)


50

Con esto se puede elegir los mejores parámetros en el programa que realizara la

transmisión dependiendo de las pruebas de velocidad que se realicen.

Tipos de Codificación Velocidad de Bits

Hay dos tipos de codificación de velocidad binaria: Frecuencia binaria constante o

también llamada CBR y velocidad binaria variable VBR. En la Figura 11 se puede ver la

diferencia de los tipos de codificación con respecto al consumo de ancho de banda y el tiempo.

Figura 11.

Tipos de Codificación respecto al ancho de banda vs tiempo

Notas. Se puede observar la diferencia entre las dos codificaciones con respecto al ancho de

banda y tiempo.

 Velocidad de bits constante (CBR)


Mantiene una velocidad de bits establecida a lo largo de todo el video, lo que facilita la

reproducción y la carga rápida. Se utiliza en servicios que se encuentran en el internet cuando

existen descargas constantes.


51

No es recomendable usar CBR con videos que contienen demasiados movimientos

como una película de acción llegando a tener saltos en la imagen y pueden llegar a pixelarse.

 Velocidad de bits variable (VBR)

Ofrece una tasa de bits dinámica que cambia dependiendo del nivel de detalle

necesario en un momento dado (normalmente momentos de movimiento). VBR ofrece una

calidad de video mejor que CBR con un menor tamaño de archivo, por lo que para

transmisiones en vivo, solo incrementa su velocidad si es necesario.

Servidor de Video
Es un elemento muy importante en la integración del sistema de IPTV, se encarga de la

difusión de la información mediante una única IP dentro de la red privada y así los usuarios

dentro podrán sintonizarla. Se ha usado un servidor gratuito llamado NGINX que se implementa

en diferentes sistemas, en este proyecto se ha instalado en Ubuntu Server.

Posee un directorio donde se alojará las aplicaciones previamente diseñadas para que

puedan ser descargadas por el receptor mediante SFTP (Secure File Transfer Protocol o

Protocolo Seguro de Transferencia de Archivos).

NGINX, es un famoso software de servidor web de código abierto. En su versión inicial,

funcionaba en servidores web HTTP. Sin embargo, hoy en día también sirve como proxy

inverso, balanceador de carga HTTP y proxy de correo electrónico para IMAP, POP3 y SMTP

(Bustos, 2017).

Como es un servidor que va evolucionando va agregando módulos que pueden ser

útiles para diferentes aplicaciones, en este caso usaremos un módulo RTMP para la difusión
52

del contenido. RTMP es un protocolo que permite que la transmisión de video, audio y otros

tipos de datos a través de internet, sea suave, y de alto rendimiento (Parmar, 2012).

Requerimientos de Instalación
En la Tabla 5 se muestra las distribuciones en Ubuntu que soporta el servidor de video.

NGINX proporciona paquetes para los siguientes sistemas operativos Ubuntu:

Tabla 5.

Sistemas Ubuntu que soporta NGINX

Version Codename Supported Plataforms


16.04 Xenial x86_64, i386, ppc64el, aarch64/arm64
18.04 bionic x86_64, aarch64/arm64
19.10 eoan x86_64
20.04 Focal x86_64, aarch64/arm64

Notas. Versiones en las que se puede instalar el servidor.

Mientras que los requerimientos de hardware básicos en el CPU conexión de internet y

memoria se visualizan en la Tabla 6.

Tabla 6.

Requerimientos Básicos de Hardware

CPU Memoria Ram Network Disco


2 CPU cores 4GB 2X1 GbE NIC 500 GB

Notas. Requisitos extraídos de (NGINX, 2018)


53

Receptor
Para el receptor se ha realizado la programación de una aplicación con el lenguaje Python,

donde se integran las aplicaciones Ginga y VLC que son útiles para la reproducción multimedia

del canal IPTV.

En la Figura 12 de flujo se indican los pasos que sigue esta aplicación para visualizar el

contenido.

Figura 12.

Diagrama Lógico de la Aplicación de Recepción

Notas. Proceso de utilización de la aplicación


54

Para lograr implementar un receptor con interactividad se realizó una integración entre

el programa FFMPEG y el Middleware Ginga.

FFmpeg es el marco multimedia líder, capaz de decodificar, codificar, transcodificar,

mux, demux, transmitir, filtrar y reproducir prácticamente cualquier cosa que los humanos y las

maquinas hayan creado. Admite los formatos antiguos más oscuros hasta la vanguardia. No

importa si fueron diseñados por algún comité de normas, la comunidad o una corporación.

FFmpeg compila, ejecuta y pasa nuestra infraestructura de prueba FATE a través de

Linux, Mac OS X, Microsoft Windows, BSD, Solaris, etc. bajo una amplia variedad de entornos

de construcción, arquitecturas de máquinas y configuraciones. (Bellard, 2000)


55

Capitulo IV

Implementación y Pruebas de Funcionamiento


En este capítulo se explica la implementación de cada uno de los elementos que

componen la red de IPTV y las pruebas realizadas para lograr un funcionamiento óptimo. El

proyecto está pensado para dar una idea de cómo se podría implementar dicha red de IPTV en

proveedores de servicio y que pueda ser utilizado en zonas urbanas y rurales, sector hotelero,

educación y hospitales, etc. En la Tabla 7 se muestran los componentes de la Red con su

respectiva IP y un diagrama básico en la Figura 14.

Tabla 7.

Descripción de los Componentes de la Red IPTV

Dispositivos Sistema Operativo IP

Transmisor Sistema Windows 10 Pro 192.168.1.4

Servidor Sistema Ubuntu Server 20.0 192.168.1.150

Usuario Prueba Sistema Windows 10 Pro 192.168.1.9

Nota. Tabla para la configuración de la red IPTV

Figura 13.

Diagrama de la Red de Prueba

Nota. Diagrama básico de configuración


56

Instalación y Configuración del Servidor


Para la implementación del servidor de video en este proyecto se utilizó el Ubuntu

Server y se lo virtualizó para que sea más rápida su implementación en cualquier sitio.

Se usa el programa VMWare Workstation Pro en su versión 15. Esta máquina virtual se

la realizó con las características básicas de software como se visualiza en la Figura 15.

Figura 14.

Caracteristicas de Máquina Virtual

Nota. Caracteristicas de la máquina virtual

Para poder adaptar a la red que se requiera se pueden modificar los parámetros de

configuración con el comando de la Figura 15 16.

Figura 15.

Comando para configuración de Red

Nota. Comando dentro del servidor


57

Al ingresar este comando se despliega en pantalla las configuraciones que se ven en la

Figura 16. Aquí se puede cambiar los diferentes parámetros de acuerdo a la red donde se

implementará el servicio de IPTV.

Figura 16.

Parámetros de Red del Servidor

Nota. Cambio de IP dentro del servidor

Se realizan las pruebas de conexión entre el servidor y el equipo de transmisión y así

mismo con el equipo del usuario de prueba estos detallados en la Tabla 7. Se lo realiza con el

comando especificado en la Figura 17 y se comprueba que los equipos se encuentran en red.

Figura 17.

Ping desde el Servidor hacia los equipos de la Red

Nota. Comprobar la conexión con los otros elementos de la red


58

Servidor NGINX
Se realiza la instalación del Servidor dentro del sistema virtual. Para esto ingresamos el

comando mostrado en la Figura 18 con los que primero actualizamos todos los componentes

del sistema y con el siguiente el servidor NGINX como tal.

Figura 18.

Comandos de Instalación de NGINX

Nota. Actualización e instalación del servidor

Para que el sistema pueda ser desplegado en la red es importante la configuración del

Firewall para que la transmisión pueda ser fluida para lo cual se habilitan algunos puertos y

permisos que necesita el programa. En la Figura 19 se muestra las opciones que se tiene para

configurar el Firewall y se elige Nginx Full.

Figura 19.

Opciones de Configuración de Firewall

Nota. Configuración del Firewall para usar el servidor


59

Finalmente se debe verificar el estado del servidor después de realizar las

configuraciones como se ve en la Figura 20 donde nos indica que el servidor esta ya activado.

Figura 20.

Verificación del Estado del Servidor de Video

Nota. Así se puede comprobar que el servidor está activo.

Módulo RTMP
Una vez instalado y verificado el servidor NGINX en el sistema se necesita un módulo el

cual recibirá la transmisión. Este módulo es el RTMP que se lo instala con el comando como se

ve en la Figura 21.

Figura 21.

Comando de Instalación del Módulo RTMP

Nota. Módulo RTMP importante para la difusión


60

Finalizando la Instalación, se ingresa al archivo de configuración como muestra la

Figura 22, aquí se debe ingresar las siguientes líneas de código según el requerimiento del

servidor. Esta configuración básica, pero se pueden agregar diferentes parámetros.

Figura 22.

Implementación del Servidor RTMP y HLS

Nota. Aspectos importantes para la utilización de RTMP

Para que esta configuración surta efecto se reinicia el servidor con los comandos

descritos en la Figura 24.

Figura 23.

Comandos para Reinicio del Servidor

Nota. Comprobar la conexión con los otros elementos de la red


61

Con todo este paso se ha realizado la configuración del Servidor y queda listo para

recibir la señal que emitirá el transmisor mediante el programa OBS. A continuación, se

describe la configuración del mismo.

Aplicaciones Interactivas
Para poder cargar en el servidor las aplicaciones interactivas el programa
WinSCP, el cual genera una conexión con el servidor y se puede acceder, crear o copiar
archivos en un directorio especifico. En la Figura 24 se visualiza la interfaz y campos
solicitados para realizar dicha conexión.
Figura 24.

Interfaz WinSCP

Nota. Programa para poder pasar las aplicaciones al servidor

Se inserta el modo de conexión, la IP del Servidor el puerto de comunicación que


en este caso es el 22, usuario y contraseña y finalmente se presiona en conectar. En la
Figura 26 podemos ver el directorio donde copiaremos las aplicaciones que serán
descargadas.
62

Figura 25.

Directorio de Aplicaciones

Nota. Comprobar la conexión con los otros elementos de la red

Para agregar más aplicaciones solo se debe arrastrar los documentos y así poder
cargar el contenido en el servidor.

Configuración del Transmisor OBS


Hay dos formas de configurar el programa mediante el asistente de configuración o

manualmente. La configuración que se realizó es la automática como se muestra en la Figura

26
63

Figura 26.

Asistente de Configuración automática

En la Figura 27 28 se elige el uso del programa que en este caso será para realizar

transmisiones.

Figura 27.

Especificar el uso del programa OBS

En la Figura 28 se puede ver los ajustes de video deseado. Se escoge una resolución

base para la presentación y los FPS a lo que se quiere transmitir, ente caso se elige los

parámetros predeterminados
64

Figura 28.

Ajustes de Video

En la Figura 29 se configura la información del Stream como se ha comentado en otros

aparatados, OBS su potencial es que se puede realizar transmisiones a redes sociales,

servicios de juegos y servidores personalizados. Se ingresa la IP del servidor acompañado de

la aplicación programada en el servidor y la clave de transmisión


65

Figura 29.

Configuración de Parámetros del Servidor

Finalmente, en la Figura 30 se muestra el mensaje para realizar las pruebas de ancho

de banda de la conexión entre el programa y el servidor de video previamente configurado. Así

se tendrá los parámetros de configuración del bitrate.


66

Figura 30.

Prueba de Ancho de Banda

En la Figura 31 se identifica los resultados que se obtuvieron después de realizar la

prueba.

Figura 31.

Resultado Pruebas de Ancho de Banda

En la pantalla principal que podemos ver en la Figura 32 se indican los


componentes que se usan para poder manejar las escenas y las fuentes que se puede
integrar para generar el video en vivo.
67

Figura 32.

Componentes de OBS

En la Figura 33 se muestra las diferentes fuentes que se pueden agregar a la escena,

las señaladas se usarán en el presente proyecto con lo que tendremos todo listo para realizar

la emisión de nuestro contenido.


68

Figura 33.

Creación de Escenas y Fuentes de difusión

Seleccionado lo necesario la pantalla de nuestro transmisor se debería ver como la

Figura 34 donde tenemos dos pantallas una que sería la vista previa y otra lo que ya estamos

transmitiendo.

Figura 34.

Transmisión desde OBS


69

Inicio de Transmisión
Configurado todo lo anterior el transmisor está listo para emitir su señal hacia el

receptor para se presiona el botón “Iniciar Transmisión” como se muestra en la Figura 35. En la

parte inferior izquierda aparece un recuerdo verde lo que indica que toda la configuración y la

multimedia se está transmitiendo con éxito.

Figura 35.

Inicio de Transmisión desde OBS


70

Pruebas de Recepción
Para poder comprobar que se está enviando el contenido al servidor y que se lo puede

visualizar desde la IP que se ha asignado, se realiza una prueba de recepción con el programa

VLC. En las opciones se escoge Medio como se indica en la Figura 36.

Figura 36.

Abrir Video Streaming en VLC

Se abrirá una pantalla donde se introduce la IP previamente configurada con su clave al

final como se visualiza en la Figura 37 y se presiona reproducir.


71

Figura 37.

Configuración de IP y Reproducción en VLC

Con lo que empezará a reproducir el video enviado, es importante mencionar que la

transmisión por todo el proceso de codificación que se ha visto en los apartados anteriores

tendrá un delay de aproximadamente 30 segundos. En la Figura 388 se visualiza el video

reproduciéndose.

Figura 38.

Pruebas de Funcionamiento.
72

Implementación del Receptor GIPTV


En este apartado se describirán los pasos para la implementación del Software que

realizará la recepción del canal IPTV generado en los apartados anteriores. Para poder afinar el

mismo se realizó varias pruebas que se describirán conforme se desarrolle la implementación

Configuración de Programas
Para iniciar con las pruebas de recepción y poder implementar de forma correcta se

empieza por configurar los programas necesarios para que estos puedan ejecutarse desde la

consola de Windows. Se sigue los siguientes pasos para agregar dichos programas al Path.

Primer paso es abrir el panel de control de Windows como se visualiza en la Figura 399

después de presionar la tecla Windows.

Figura 39.

Abrimos el Panel de Control

Dentro de esta ventana en el buscador se digita “variables de retorno” como se ve en la

Figura 400, esto despliega una opción del sistema, se procede a dar clic para desplegar la

siguiente ventana
73

Figura 40.

Variables de entorno

Se abre la ventana de variables de usuario, se debe escoger la opción Path que es

donde se encuentran todos los programas que se pueden ejecutar desde consola, en la Figura

411 se observa la pantalla de configuración, finalmente se presiona editar.

Figura 41.

Path de entornos
74

Despliega la pantalla de la Figura 42, allí se insertan el directorio de las aplicaciones

que se van usar que para este proyecto son: FFmpeg, Ginga, VLC y Python.

Figura 42.

Variables de entorno con programas para recepción

Archivo de recepción
Como se ha explicado en apartados anteriores uno de los programas que se usan para

codificación y decodificación de audio como de video es FFmpeg. Para poder receptar la señal

generada desde el transmisor usaremos la siguiente línea de comandos que visualizamos en la

Figura 43 y que se describe en la Tabla 8.

Comandos de recepción FFMPEG

Figura 43.

Comando para recepción de Contenido streaming


75

Con este comando se logra la recepción del video y mientras llega y se reproduce
va borrando el contenido ya que la idea no es guardar la data que se recibe por lo que
va ir sobrescribiendo.

Tabla 8.

Comandos de recepción FFMPEG

Comando Descripción
-y Sobrescribir archivos de salida sin preguntar
-i Ingreso de URL
-vsync Método de sincronización de video.
-vcodec Configura el códec de video.
-acodec Configura el códec de audio.

Para poder ejecutar el mismo de forma automática se ha creado un archivo .bat que al

ejecutar automáticamente mediante consola realiza las acciones descritas en la Figura 444

podemos ver la pantalla de este archivo.

Figura 44.

Archivo de Recepción
76

Pruebas de Recepción
Para realizar estas pruebas, se configuró todo lo anteriormente explicado en la parte de

servidor y transmisor. Se ejecuta el archivo rx2.bat, este despliega los comandos en consola y

como se visualiza en a Figura 455 se empieza a ver la recepción del contenido.

Figura 45.

Pantalla Pruebas de Recepción

Archivo de Ejecución aplicaciones

Para poder ejecutar desde consola los programas Ginga y VLC con los que se va a

visualizar los contenidos transmitidos mediante IP, se deben ejecutar los comandos de la

Figura 46 para Ginga y Figura 47 para VLC.


77

Figura 46.

Comando para ejecutar Ginga desde consola

Figura 47.

Comando para ejecutar VLC desde consola

Configurado todos los componentes listos para realizar la recepción, se necesita de un

archivo que pueda integrar todos y automáticamente empezar a realizar la recepción, además

que como se ha dicho anteriormente se necesita de un tiempo para poder sincronizar todo, en

la Figura 48 se observa el código necesario para cumplir lo dicho en este párrafo.


78

Figura 48.

Comandos para la Ejecución de la recepción

Pruebas de Ejecución
Para este apartado se ejecutó el ultimo archivo indicado en la sección anterior con las

versiones de los programas descritos en la Tabla9.

Tabla 9.

Prueba1 de recepción

Programa Versión Observaciones


VLC 3.0.8 Ejecución sin Problemas
Ginga-Windows V0.13.6 Problemas al Reproducir el contenido

En la versión 0.13.6 de Ginga desarrollada por TeleMídia que es un laboratorio de

investigación de la PUC-Rio se encontraron errores al reproducir la aplicación NCL ya que


79

requiere otros programas adicionales como el Visual Studio 2010, pero aun así algunas

aplicaciones Ginga-NCL tuvieron el mismo error (PUC-Rio, 2018)

Para esta herramienta existe un soporte por parte de PUC-Rio en la plataforma Github

en su apartado (Guedes, 2018) se aprecia la nueva versión ginga-v1.0 que está diseñado con

nuevas librerías que corrigen los errores de la anterior versión.

Se ejecutó las aplicaciones con las versiones de la Tabla 10 comprobando que la

versión reproduce archivos en formato .ts y todas las aplicaciones diseñadas en el lenguaje

NCL. La Figura 49 muestra las versiones utilizadas en la prueba exitosa.

Tabla 10.

Prueba 2 de Recepción

Programa Versión Observaciones


VLC 3.0.8 Ejecución sin Problemas
Ginga Windows Versión 1.0 Ejecución sin problemas y existe soporte actual

Figura 49.

Pruebas Finales desde Archivo de Ejecución


80

Integración y Automatización
Para poder realizar una integración de todos los archivos antes mencionados y que

pueda ser transparente para el usuario final se debe integrar todos los archivos antes

mencionados. Para este fin se realiza una aplicación llamada GIPTV desarrollada en lenguaje

Python, la cual integra todos estos aspectos y automatiza todo.

Esta aplicación genera automáticamente los archivos descritos según el usuario donde

se lo instale y ejecuta un módulo que permite la descarga de las aplicaciones albergadas en el

servidor. En la Figura 50 se aprecia la pantalla principal de la versión 1 del programa.

Figura 50.

GIPTV versión 1

En esta versión se podía insertar el canal, escoger la aplicación interactiva que


estaba disponible en el computador y reproducir con el botón empezar. Pero para lograr
una aplicación más completa se pensó en añadir un módulo que contenga un servidor
SFTP para poder realizar las descargas. Este se lo realizó primero en un archivo Python
aparte y se empezaron las pruebas.

En la Figura 51 se puede visualizar la ventana del servidor SFTP con sus


diferentes opciones para realizar la descarga de las aplicaciones. Tiene un campo para
81

seleccionar la aplicación interactiva a descargar y un botón que se activa cuando finaliza


la descarga de la misma.
Figura 51.

Código de Servidor SFTP

Finalmente, después de probar este módulo se lo integró a la aplicación logrando


el aspecto final como se visualiza en la Figura 52.

Figura 52.

Pantalla Principal de Aplicación


82

Pruebas de Rendimiento del Servidor


Para poder optimizar el servidor se agregaron las siguientes líneas de código y

establecer el número adecuado de conexiones y workers. Para esto se ejecutará el comando

de la Figura 53 y se modificarán los parámetros señalados en la misma. Si usted tiene un

tráfico bajo en su sitio web y además NGINX, su base de datos y la aplicación web todos se

ejecutan en el mismo servidor establecer un valor (BlueHosting, 2016)

Figura 53.

Establecer valor de Worker_Processes

Si en cambio tiene un tráfico alto o una instancia dedicada para NGINX, fije

un worker por cada core del CPU como se visualiza en la Figura 54.
83

Figura 54.

Establecer valor de Worker_Processes por cada CPU

Conexiones Worker

La opción worker_connections establece el número máximo de conexiones que cada

proceso worker puede procesar a la vez. Por defecto, el límite de este valor es 512 pero

muchos sistemas pueden manejar valores más altos.

El tamaño apropiado puede ser descubierto a través de pruebas y es variable con base

en el tipo de tráfico que maneje NGIN (BlueHosting., 2016) X.. Las limitaciones en el core del

sistema también pueden encontrarse usando el comando que se visualiza en la Figura 56.

Figura 55.

Comando para calcula el número máximo de conexiones


84

Calculo de Banda Ancha para Enlace


Este cálculo se lo realizó obteniendo los datos que se requieren para asegurar el
enlace que se tenga para el servicio.

𝐴𝐵 = 𝐺 ∗ 𝐶
Ecuación 1. Calculo de Ancho de Banda

 AB = Ancho de banda a contratar


 N = Cantidad de usuarios que utilizan el enlace
 G = Ancho de banda a garantizar por usuario.
 C = Concurrencia de las personas (cantidad de personas que utilizan
Internet simultáneamente). Probablemente podemos estimar 30% de N

Para este proyecto se realizó la prueba para 20 usuarios y con el preámbulo de que para tener
una buena calidad de video según la Tabla 3.

Video y Audio de Calidad Estándar con el que podemos escoger la calidad de


video 720p y garantizar 5000 kbps. Reemplazando los datos se obtiene los siguientes
resultados.

𝐺 = 5000𝑘𝑝𝑠
𝐶 = 20 ∗ 0.30
𝐶=6

Reemplazando en la Ecuación 1

𝐴𝐵 = 𝐺 ∗ 𝐶
𝐴𝐵 = 5000𝑘𝑝𝑠 ∗ 6
𝐴𝐵 = 30𝑀𝑏𝑝𝑠
85

Ecuación 2. Calculo de Ancho de Banda Para 20 Usuarios

En el código QR de la Figura 57 se puede visualizar el video del proyecto


completo.
Figura 56.

QR Code Video de Proyecto


86

Capítulo V

Conclusiones y Recomendaciones

Conclusiones
 El conocimiento de los parámetros necesarios como el bitrate, resolución de

video, ancho de banda de la red para realizar una transmisión de streaming son

esenciales para no tener errores al momento de usar los programas disponibles

en el mercado.

 Tener claro la diferencia que tiene la IPTV con las otras tecnologías de

streaming nos ayuda al momento de la implementación de este servicio y del

alcance que se le puede ofrecer al cliente final ya que las ventajas son evidentes

en comparación de otras tecnologías.

 La IPTV al ser implementada en una red privada tiene varias ventajas como la

asignación de ancho de banda manejada por el mismo proveedor lo que

garantiza rapidez y calidad de servicio al usuario final entregando contenido

original.

 La implementación del servidor en un sistema virtual facilita la implementación

del mismo en cualquier red privada tan solo cambiado sus parámetros de red.

 Se desarrolló de manera exitosa la aplicación de recepción con diferentes

módulos para la sintonización mediante IP de canales digitales, la descarga de

contenido interactivo desde el servidor y la reproducción combinada de la señal

recibida como de la interactividad.


87

 El middleware Ginga funciona de manera correcta en su versión V1.0 ya que

posee unos API nuevos que corrigen errores de versiones anteriores.

 La aplicación de recepción al estar realizada en Python que es un lenguaje

multiplataforma abre el camino para la implementación de este decodificador en

otros sistemas operativos.

 La investigación de la IPTV abre un campo enorme de temas para realizar

proyectos de mejora desde la digitalización de las señales de audio y video

como la creación de servidores dedicados para brindar un mejor servicio al

usuario final.

 Para el cálculo de usuarios que soporta el servidor de video implementado se lo

realiza mediante un comando dando como resultado 1024 conexiones, esta

cantidad se limitaría por el ancho de banda asignado.

Recomendaciones
 Se debe tener en cuenta las versiones de los programas como se indican en los

apartados de implementación, ya que versiones antiguas pueden tener

desperfectos.

 Si se tiene problemas al momento de utilizar el OBS cuando se agregan las

fuentes puede ser causado por una de las tarjetas gráficas.

 Verificar antes de ejecutar el programa que los softwares complementarios

estén en el Path y puedan ser ejecutados desde consola.

 Verificar que la dirección de RTMP este correctamente ingresada en el campo

de sintonización.
88

Bibliografía

BlueHosting. (2016). ¿Cómo configurar Nginx para obtener un rendimiento óptimo?


https://docs.bluehosting.cl/tutoriales/servidores/como-configurar-nginx-para-
obtener-un-rendimiento-optimo.html
Borges, S. (2018). Servidor de Streaming: ¿Qué es y cómo funciona?
https://blog.infranetworking.com/servidor-streaming/
Bustos, G. (2017). Hostinger. https://www.hostinger.es/tutoriales/que-es-nginx/
EditaloPro. (2019). Que es el video bitrate y como ajustarlo.
https://www.editalo.pro/videoedicion/bitrate/#comment-3670
Gámez, O. L. (2014). Modelo funcional de un decodificador H.264/AVC. Scielo, 48–59.
Guedes, Á. (2018). TeleMidia. https://github.com/TeleMidia/ginga/releases
Illescas, M. A., & Villamarin, D. (2011). Implementación de un transmisor de pruebas de
TV Digital terrestre ISDB-Tb para la emisión de aplicaciones interactivas.
Universidad de las Fuerzas Armadas.
ITU-T. (2014). Recommendation ITU-T H.761.
Jain, S. (2016). RTMP Streaming: How does Secure RTMP Streaming work?
https://www.vdocipher.com/blog/2016/11/rtmp
López, D. (2019). ¿Cómo es el acceso a internet en el mundo?
http://blog.orange.es/noticias/acceso-internet-mundo/
Mena, R. (2015). Desarrollo de una plataforma de control para la tarjeta moduladora de
televisión digital DEKTEC DTU-215. Universidad de las Fuerzas Armadas ESPE.
Parmar, H. (2012). Adobe.
https://wwwimages2.adobe.com/content/dam/acom/en/devnet/rtmp/pdf/rtmp_specifi
cation_1.0.pdf
Parreño, J., & Ponce, S. (2014). Creación de nuevos servicios de televisión digital
terrestre bajo el estándar ISDB-Tb para la plataforma Villageflow mediante el análisis
89

de su estructura (Tesis Pregrado). Universidad de las Fuerzas Armadas ESPE.


PUC-Rio. (2018). Laboratorio TeleMídia. http://www.telemidia.puc-rio.br/tools/
Villamarin, D., Olmedo, G., Lara, R., & Armadas, E. (2013). Generating a transport stream
for digital terrestrial system in conformance with ISDB-Tb standard. Univerdad de
Las Fuerzas Sangolqui.
Xataka. (2017). IPTV: qué es, ventajas y desventajas, y qué son las listas de canales.
https://www.xataka.com/basics/iptv-que-ventajas-desventajas-que-listas-canales
90

Anexos

También podría gustarte