polito.it
Politecnico di Torino (logo)

RENDERING AUDIO REMOTO: ANALISI DELLA LATENZA IN AMBIENTE WEB = REMOTE AUDIO RENDERING: LATENCY ANALYSIS FOR WEBRTC WEB AUDIO

Stefano Imperiale

RENDERING AUDIO REMOTO: ANALISI DELLA LATENZA IN AMBIENTE WEB = REMOTE AUDIO RENDERING: LATENCY ANALYSIS FOR WEBRTC WEB AUDIO.

Rel. Antonio Servetti. Politecnico di Torino, Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering), 2019

[img]
Preview
PDF (Tesi_di_laurea) - Tesi
Licenza: Creative Commons Attribution Non-commercial No Derivatives.

Download (3MB) | Preview
[img] Archive (ZIP) (Documenti_allegati) - Altro
Licenza: Creative Commons Attribution Non-commercial No Derivatives.

Download (18MB)
Abstract:

Il lavoro di tesi si concentra sullo studio e l'analisi di varie soluzioni per il rendering audio remoto. Attualmente la maggior parte delle applicazioni web moderne che offrono un servizio di rendering audio, lo fanno usando le Web audio API. Esse sono delle API JavaScript di alto livello che possono elaborare e sintetizzare l'audio in applicazioni web; permettono di aggiungere delle funzionalità tipiche di motori audio dei giochi moderni e capacità di mixing, processing e filtering utili in moderne applicazioni desktop. Questo però rappresenta anche una limitazione in quanto queste API, essendo codice JavaScript, sono pensate per essere eseguite solamente sulla macchina del client. Il lavoro di tesi invece analizza alcune soluzioni per portare le operazioni di rendering lato server, per due principali motivazioni: possibili problemi di performance dovute alla macchina client su cui viene eseguito il rendering (ad esempio uso di client con capacità di elaborazione ridotta come smartphone) e problemi riguardanti copyright e licenze, per esempio è necessario l'acquisto di una licenza per riprodurre o modificare un brano, la acquisto quindi solo per il server su cui viene eseguito il rendering e/o le varie modifiche con relativo risparmio sia in termini economici che burocratici. Lo svantaggio quindi di questa soluzione è rappresentato sicuramente dal problema della latenza, punto principale di analisi nella tesi. Si è quindi cercato di analizzare varie soluzioni e varie combinazioni per determinare (anche con l'ausilio di grafici) una delle possibili configurazioni che permettano di ridurre quanto più possibile la latenza audio tra il client e il server. L'architettura usata nello studio è rappresentata da un client (un browser web capace di eseguire codice Javascript) e un server sviluppato con due differenti soluzioni: NW.js e Chrome Headless (quest'ultimo realizzato concretamente con due librerie di controllo ad alto livello). Entrambe queste soluzioni hanno permesso di avere un ambiente DOM che permettesse di usare le web audio API. E' stato anche possibile usare con queste soluzioni WebRTC, una tecnologia open source che aggiunge al browser capacità di comunicazione real-time attraverso delle API. Questa tecnologia è stata usata per permettere il collegamento tra client e server. Il codice del server è stato anche portato su una reale macchina remota in modo da avere dei casi di test quanto più possibile vicini ad un ambiente reale. Lo studio è poi completato dalle varie misurazioni ricavate dai casi di test adottati, spiegando cosa è stato misurato, come è stato fatto e i risultati quindi ottenuti. Nelle conclusioni poi ottenute, verranno indicati alcuni possibili sviluppi futuri di questo lavoro e aspetti non considerati ma che possono essere importanti ai fini di una reale implementazione delle soluzioni analizzate.

Relatori: Antonio Servetti
Anno accademico: 2018/19
Tipo di pubblicazione: Elettronica
Numero di pagine: 92
Soggetti:
Corso di laurea: Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering)
Classe di laurea: Nuovo ordinamento > Laurea magistrale > LM-32 - INGEGNERIA INFORMATICA
Aziende collaboratrici: NON SPECIFICATO
URI: http://webthesis.biblio.polito.it/id/eprint/10949
Modifica (riservato agli operatori) Modifica (riservato agli operatori)