Audiostreamien puskurointi ja tallennus verkkoympäristössä
Hakala, Janne (2017)
Hakala, Janne
Jyväskylän ammattikorkeakoulu
2017
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2017090414734
https://urn.fi/URN:NBN:fi:amk-2017090414734
Tiivistelmä
Opinnäytetyön tavoitteena oli toteuttaa Combitech Oy:lle opinnäytetyön aiheesta toimiva prototyyppiratkaisu, josta olisi mahdollisesti hyötyä tulevissa toimeksiantajan asiakasprojekteissa.
Tehtävänä oli toteuttaa audiotallennin, joka pystyisi luomaan audiopuskureita, jotka pystyisivät vastaanottamaan verkossa olevilta audiolähteiltä audiovirtaa. Audiopuskureiden tehtävänä oli puskuroida vastaanotettu audiovirta, normalisoida eri audiolähteiden mahdollinen aikareferenssiero sekä tallentaa puskuroidut audiovirrat kiintolevylle.
Opinnäytetyöprojekti toteutettiin käyttäen ketterän kehityksen menetelmää Scrum. Projekti tehtiin sprinteittäin aluksi viikon mittaisina ja myöhemmin kahden viikon sprintteinä. Sprintit suunniteltiin käyttämällä projektinhallintatyökalua Jira. Sprintin päätteeksi pidettiin sprinttikatselmointi, jossa kerrattiin toimeksiantajan muille työntekijöille opinnäytetyön eteneminen ja toiminnallisuudet, jotka oli saatu valmiiksi sprintin aikana.
Audiotallennin toteutettiin käyttäen Qt Creator-ohjelmointiympäristöä ja C++-ohjelmointikieltä. Suunnitteluvaiheessa määritettiin kehykset sille, mitä toiminnallisuuksia audiotallentimelle oli tarkoitus toteuttaa. Aluksi audiotallentimelle toteutettiin ohjelmistorunko sekä tarvittavat ohjelmistoluokat datan vastaanottamista ja tallentamista varten. Tämän jälkeen keskityttiin ydinongelman ratkaisemiseen ja tutkimustyöhön siihen liittyen. Tuloksia varten muistipuskurin koon kehittymisestä tallennettiin metadataa tekstitiedostoon, josta voitiin valitulla Calc taulukkolaskentaohjelmalla myöhemmin luoda havainnollistavat kuvaajat eri tapauksiin liittyen.
Opinnäytetyön lopputuloksena saatiin toteutettua toimiva prototyyppiratkaisu toimeksiantajaa varten, mikä vastasi vaatimusmäärittelyssä määriteltyjä vaatimuksia ja näin ollen ratkaisi tutkittavana olleen ongelman.
Tehtävänä oli toteuttaa audiotallennin, joka pystyisi luomaan audiopuskureita, jotka pystyisivät vastaanottamaan verkossa olevilta audiolähteiltä audiovirtaa. Audiopuskureiden tehtävänä oli puskuroida vastaanotettu audiovirta, normalisoida eri audiolähteiden mahdollinen aikareferenssiero sekä tallentaa puskuroidut audiovirrat kiintolevylle.
Opinnäytetyöprojekti toteutettiin käyttäen ketterän kehityksen menetelmää Scrum. Projekti tehtiin sprinteittäin aluksi viikon mittaisina ja myöhemmin kahden viikon sprintteinä. Sprintit suunniteltiin käyttämällä projektinhallintatyökalua Jira. Sprintin päätteeksi pidettiin sprinttikatselmointi, jossa kerrattiin toimeksiantajan muille työntekijöille opinnäytetyön eteneminen ja toiminnallisuudet, jotka oli saatu valmiiksi sprintin aikana.
Audiotallennin toteutettiin käyttäen Qt Creator-ohjelmointiympäristöä ja C++-ohjelmointikieltä. Suunnitteluvaiheessa määritettiin kehykset sille, mitä toiminnallisuuksia audiotallentimelle oli tarkoitus toteuttaa. Aluksi audiotallentimelle toteutettiin ohjelmistorunko sekä tarvittavat ohjelmistoluokat datan vastaanottamista ja tallentamista varten. Tämän jälkeen keskityttiin ydinongelman ratkaisemiseen ja tutkimustyöhön siihen liittyen. Tuloksia varten muistipuskurin koon kehittymisestä tallennettiin metadataa tekstitiedostoon, josta voitiin valitulla Calc taulukkolaskentaohjelmalla myöhemmin luoda havainnollistavat kuvaajat eri tapauksiin liittyen.
Opinnäytetyön lopputuloksena saatiin toteutettua toimiva prototyyppiratkaisu toimeksiantajaa varten, mikä vastasi vaatimusmäärittelyssä määriteltyjä vaatimuksia ja näin ollen ratkaisi tutkittavana olleen ongelman.