[en] ABSTRACT: Over the past years, technological improvements in the access network, the appearance of effective video compression codecs and, above all, the development of real-time protocols have allowed video and audio streaming to become a leading technology in a multitude of fields and applications. For instance, online lectures, livestreaming of entertainment events and video surveillance. The aim of this work is the design and development of an embedded video application that provides access to multiple both live and on-demand video streams, while allowing to select among different streaming protocols and to configure parameters such as the buffer size or the hardware acceleration capability. In order to achieve such aim, a study on the architecture of video streaming systems and the most remarkable streaming protocols and techniques is provided. This includes protocols designed for the transmission of real-time data, as in the case of the Real-Time Transport Protocol (RTP), its control part Real-Time Transport Control Protocol (RTCP) and the Real-Time Streaming Protocol (RTSP), standing out as well the techniques based on the HTTP Adaptive Streaming (HAS). These protocols are then implemented on the developed application drawing on the libVLC libraries, which are selected for being the most appropriate ones among other solutions that are also covered on this work. To conclude, the testing stage of the application is presented, in which the achieved performance on different scenarios is analysed, receiving one or more video streams simultaneously, and comparing the use of different protocols by quantifying the results through different metrics.

[es] RESUMEN: En los últimos años, las mejoras tecnológicas en las redes de acceso, la aparición de eficientes códecs de compresión de vídeo y, sobre todo, el desarrollo de protocolos para transporte de información multimedia en tiempo real han permitido que el streaming de vídeo y audio se haya convertido, actualmente, en una tecnología puntera presente en multitud de campos y aplicaciones. Por ejemplo, clases online, transmisión en directo de eventos de entretenimiento y video vigilancia. El objetivo de este trabajo es el diseño y desarrollo de una aplicación de video embebido que proporcione acceso a múltiples flujos de video tanto en vivo como bajo demanda, permitiendo, a la vez, seleccionar entre diferentes protocolos de streaming y configurar parámetros como el tamaño del búfer o la habilitación de la decodificación por hardware, entre otros. Para llevar a cabo dicho objetivo, se presenta un estudio sobre la arquitectura de los sistemas de streaming de vídeo, así como de los protocolos y técnicas de streaming más remarcables. Se incluyen protocolos especialmente diseñados para la transmisión de datos en tiempo real, como es el caso del Real-Time Transport Protocol (RTP), su parte de control Real-Time Transport Control Protocol (RTCP) y el Real-Time Streaming Protocol (RTSP), destacando también las técnicas basadas en el HTTP Adaptive Streaming (HAS). Estos protocolos son implementados en la aplicación desarrollada haciendo uso de las librerías de libVLC, aunque existan otras posibilidades tal y como se explica más adelante en este documento. Para concluir, se presenta la etapa de testeo de la aplicación, en la que se analizan las prestaciones obtenidas en diversos escenarios cuando se reciben uno o más flujos de vídeo simultáneamente, comparando el uso de diferentes protocolos y cuantificando los resultados a través de diferentes métricas.