Diseño e implementación de un sistema de streaming en música
Author
Bueno Jiménez, AdriánAdvisor
Ortigosa Juárez, Álvaro Manuel
Entity
UAM. Departamento de Ingeniería InformáticaDate
2017-05Subjects
Servicio; Servidor; Música; Informática
Esta obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-SinObraDerivada 4.0 Internacional.
Abstract
Este Trabajo Fin de Grado tiene como objetivo crear un servicio de streaming de música adaptativo y un cliente web que lo utilice. Con adaptativo quiero decir que la calidad del audio obtenido por las aplicaciones cliente irá variando en función de la calidad de la red. El servidor contará con una API REST para intercambiar datos entre el servidor y los clientes. Nos permitirá registrar usuarios, subir canciones y crear listas de reproducción. Con las canciones y las imágenes subidas se crearán varias copias en distintas calidades, el audio se segmentará en pequeños trozos que nos permitirán hacer que los clientes empleen los segmentos con el nivel de calidad adaptado a cada instante dado. Los clientes pueden tener intercalados segmentos de distintas calidades que se reproducirán como un sola canción. Añadiremos una capa de seguridad a nuestro servidor mediante el uso de OAUTH2, que nos permitirá autenticar tanto a los usuarios como a los clientes y prevenir que los mismos guarden la contraseña de los usuarios. El servidor sera desarrollado en Node.js y utilizara una base de datos MongoDB para la persistencia de los datos. El cliente sera una pagina web de una sola pagina hecha con Angular. La pagina sera capaz de adaptarse a cualquier pantalla. También tendrá algún componente táctil para que tenga una mejor experiencia en smartphones y tabletas. Al escribirla con Angular también podemos llevar nuestra aplicación en un futuro al escritorio o a los móviles haciendo uso de frameworks como Electron o Ionic. The aim of this Bachelor Thesis is to create an adaptative music streaming service and a web client that uses it. Adaptative means that the audio quality obtained by the client applications will vary according to the quality of the network. The server will have a REST API to exchange data between server and clients. We will be able to register users, upload songs, and create playlists. We will process audio and images uploaded to make several copies of different qualities, audio will be segmented into small pieces that will allow clients to get the best quality piece at every moment. Clients can merge segments of different qualities that will be played as a single track. We will add a layer of security to our server through the use of OAUTH2 that will allowe us to authenticate both, users and clients, and prevent customers from saving users password. The server will be developed in Node.js and will employ a MongoDB database to make data persistent. The client will be a a single page web app made with Angular. The page will be adaptable to any screen. Also, It will have some components with tactile support, as at consequence of that, it will improve the experience on smartphones and tablets. When we use Angular, we pursuit to make our application available to desktop apps or to smartphones in the future, using frameworks like Electron or Ionic.
Files in this item
Google Scholar:Bueno Jiménez, Adrián
This item appears in the following Collection(s)
Related items
Showing items related by title, author, creator and subject.
-
Aplicación para crear chatbots y asistentes virtuales inteligentes
Bueno Jiménez, Adrián
2019-09 -
Diseño e implementación de un sistema para la recogida de logs en sistemas distribuidos
Mellouk, Mounaime
2016-06