procjena performansi usluge strujanja sadržaja uživo putem ... matic 2018.pdfsveuČiliŠte u...
TRANSCRIPT
![Page 1: Procjena performansi usluge strujanja sadržaja uživo putem ... Matic 2018.pdfSVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 5792 Procjena performansi](https://reader031.vdocuments.pub/reader031/viewer/2022011814/5e5716858cb6ca59611e4a1f/html5/thumbnails/1.jpg)
SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA
ZAVRŠNI RAD br. 5792
Procjena performansi usluge strujanja sadržaja uživo putem platforme YouTube
na osnovu analize kriptiranog prometa uporabom metoda strojnog učenja
Filip Matić
Zagreb, lipanj 2018.
![Page 2: Procjena performansi usluge strujanja sadržaja uživo putem ... Matic 2018.pdfSVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 5792 Procjena performansi](https://reader031.vdocuments.pub/reader031/viewer/2022011814/5e5716858cb6ca59611e4a1f/html5/thumbnails/2.jpg)
![Page 3: Procjena performansi usluge strujanja sadržaja uživo putem ... Matic 2018.pdfSVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 5792 Procjena performansi](https://reader031.vdocuments.pub/reader031/viewer/2022011814/5e5716858cb6ca59611e4a1f/html5/thumbnails/3.jpg)
iii
Sadržaj
1. Uvod .................................................................................................... 1
2. YouTube .............................................................................................. 3
2.1. Prilagodljivo strujanje putem protokola HTTP ............................. 3
2.2. Strujanje sadržaja uživo ............................................................. 4
3. Iskustvena kvaliteta ............................................................................. 6
3.1. Mjerenje iskustvene kvalitete ...................................................... 6
4. Metodologija rada ................................................................................ 8
4.1. Laboratorijsko okruženje ............................................................ 8
4.2. Prikupljanje podataka ................................................................. 9
4.2.1. Prikupljanje podataka s mrežne razine .............................. 10
4.2.1.1. IMUNES ......................................................................... 10
4.2.1.2. Tcpdump ........................................................................ 10
4.2.2. Prikupljanje podataka s aplikacijske razine ........................ 10
4.2.2.1. YouTube statistika za štrebere ....................................... 12
4.2.2.2. ViQMon .......................................................................... 13
4.3. Priprema podataka za analizu .................................................. 14
4.3.1. Skripta za izračun KPI-eva ................................................. 14
5. Strojno učenje ................................................................................... 16
5.1. Algoritmi strojnog učenja .......................................................... 16
5.1.1. OneR ................................................................................. 16
5.1.2. J48 ..................................................................................... 17
5.1.3. Random forest ................................................................... 17
5.2. Weka ........................................................................................ 17
6. Analiza rezultata ................................................................................ 19
![Page 4: Procjena performansi usluge strujanja sadržaja uživo putem ... Matic 2018.pdfSVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 5792 Procjena performansi](https://reader031.vdocuments.pub/reader031/viewer/2022011814/5e5716858cb6ca59611e4a1f/html5/thumbnails/4.jpg)
iv
7. Zaključak ........................................................................................... 22
8. Literatura ........................................................................................... 23
9. Sažetak ............................................................................................. 26
10. Summary ......................................................................................... 27
11. Popis slika ....................................................................................... 28
12. Popis tablica .................................................................................... 29
Dodatak A: Skripta za izračun KPI-eva ................................................. 30
![Page 5: Procjena performansi usluge strujanja sadržaja uživo putem ... Matic 2018.pdfSVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 5792 Procjena performansi](https://reader031.vdocuments.pub/reader031/viewer/2022011814/5e5716858cb6ca59611e4a1f/html5/thumbnails/5.jpg)
v
Popis oznaka i kratica
ISP – pružatelj internetske usluge (engl. Internet Service Provider)
KPI – ključni pokazatelji uspješnosti (engl. Key Performance Indicators)
QoE – iskustvena kvaliteta (engl. Quality of Experience)
QoS – kvaliteta usluge (engl. Quality of Service)
HAS – prilagodljivo strujanje putem protokola HTTP (engl. HTTP Adaptive Streaming)
![Page 6: Procjena performansi usluge strujanja sadržaja uživo putem ... Matic 2018.pdfSVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 5792 Procjena performansi](https://reader031.vdocuments.pub/reader031/viewer/2022011814/5e5716858cb6ca59611e4a1f/html5/thumbnails/6.jpg)
Uvod
1
1. Uvod
U današnje vrijeme razvojem tehnologije sve veći broj ljudi ima pristup
Internetu. Prema podacima iz 2017. godine nešto više od 4 milijarde ljudi (od
ukupno malo više od 7 i pol) ima pristup Internetu, što znači da je 54% svjetske
populacije umreženo putem Interneta [1].
Predviđanja su da će promet koji se generira na pametnim telefonima
premašiti promet ostvaren na računalima. U 2016. godini na računala je
otpadalo 46% ukupnog mrežnog prometa, ali predviđa se da će do 2021.
iznositi samo 25%. Predviđa se da će pametni telefoni generirati 33% ukupnog
mrežnog prometa, što je znatan porast u odnosu na 13% u 2016. godini [2].
Prema predviđanjima do 2021. godine, 82% ukupnog internetskog prometa
će pripadati različitim video sadržajima, a 13% od ukupnog video sadržaja će
činiti video sadržaj koji se prenosi uživo [2]. Upravo je YouTube jedan od
najpopularnijih servisa koji imaju uslugu strujanja video sadržaja uživo.
Dominantni udio ukupnog prometa na Internetu danas čine usluge video
strujanja. Najveći dio tog prometa povezan je s popularnim uslugama
temeljenim na prilagodljivom strujanju putem protokola HTTP. YouTube
predstavlja jedan od najpoznatijih primjera takvih usluga. Jedan tip usluga
video strujanja koje YouTube nudi jest i strujanje uživo.
Glavni problem s kojim se susreću pružatelji internetskih usluga (ISP, engl.
Internet Service Provider) je nemogućnost praćenja kvalitete sadržaja
isporučenog krajnjim korisnicima. Budući da je promet često kriptiran, davatelji
mrežnih usluga uglavnom nemaju uvid u performanse i parametre kvalitete
video tokova koji prolaze njihovom mrežom.
Kvaliteta sadržaja za prilagodljivo strujanje sadržaja uživo putem protokola
HTTP mjeri se ključnim pokazateljima uspješnosti (KPI, eng. Key Performance
Indicators), kao što su početno kašnjenje, ukupan broj zastajkivanja, ukupno
trajanje zastajkivanja, rezolucija[3]. Prije su pružatelji internetskih usluga
(odnosno mrežni operatori) mogli te podatke iščitati iz HTTP zaglavlja, no od
siječnja 2015. godine YouTube krajnjim korisnicima podatke šalje isključivo
![Page 7: Procjena performansi usluge strujanja sadržaja uživo putem ... Matic 2018.pdfSVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 5792 Procjena performansi](https://reader031.vdocuments.pub/reader031/viewer/2022011814/5e5716858cb6ca59611e4a1f/html5/thumbnails/7.jpg)
Uvod
2
putem protokola HTTPS (HTTP Secure) koji kriptira podatke [4]. Zbog
navedenog, mrežni operatori se suočavaju s izazovom predviđanja iskustvene
kvalitete (eng. Quality of Experience, QoE) krajnjih korisnika samo na temelju
dostupnih podataka sa mrežne razine.
Jedno od mogućih rješenja ovog problema čine rješenja koja koriste tehnike
strojnog učenja za procjenu iskustvene kvalitete temeljem analize značajki
mrežnog prometa. Cilj ovog rada je, koristeći strojno učenje, testirati do koje
se mjere performanse na razini aplikacije mogu procijeniti na temelju
prometnih značajki.
Rad će se fokusirati na snimanje mrežnog prometa usluge YouTube
prilikom strujanja sadržaja uživo, te će se paralelno prikupljati informacije o
događajima na aplikacijskoj razini na Android uređaju, koristeći dostupne
alate. Prikupljeni podaci na mrežnoj razini će se obraditi te sinkronizirati s
podacima prikupljenim na razini aplikacije. Tako obrađeni podaci čine ulazni
skup podataka za algoritme strojnog učenja.
Ovaj rad je podijeljen u 6 poglavlja. U drugom poglavlju je opisana platforma
YouTube i tehnologija isporuke video sadržaja koju koristi. Zatim je u trećem
poglavlju objašnjen pojam iskustvene kvalitete. Četvrto poglavlje opisuje
laboratorijsko okruženje u kojem su se vršila mjerenja te način na koji su se
prikupljali i obrađivali podaci. U petom poglavlju su opisani algoritmi strojnog
učenja koji su se koristili u ovom radu. Iduće, šesto poglavlje, sadrži analizu
svih prikupljenih podataka. Na kraju rada slijedi zaključak, popis korištene
literature, sažetak, popis slika, popis tablica, te dodatak koji sadrži skriptu za
izračun KPI-eva koja se koristila za potrebe ovog rada.
![Page 8: Procjena performansi usluge strujanja sadržaja uživo putem ... Matic 2018.pdfSVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 5792 Procjena performansi](https://reader031.vdocuments.pub/reader031/viewer/2022011814/5e5716858cb6ca59611e4a1f/html5/thumbnails/8.jpg)
YouTube
3
2. YouTube
YouTube je jedna od najpopularnijih platformi za strujanje video sadržaja.
Svoju popularnost je YouTube stekao činjenicom da je servis u potpunosti
besplatan te ne samo da svim registriranim korisnicima omogućuje da objave
vlastite video uratke nego, im YouTube omogućuje i da na njima zarade preko
oglasa koji se prikazuju pored videa. Osnovan je 2005. godine, a danas broji
više od milijardu korisnika i stranica je prevedena na 76 različitih jezika. Danas
se više od pola video pregleda ostvaruje preko mobilnih telefona [6]. YouTube
trenutno za isporuku video sadržaja krajnjem korisniku koristi tehnologiju
prilagodljivog strujanja putem protokola HTTP koja je detaljnije opisana u
nastavku.
2.1. Prilagodljivo strujanje putem protokola HTTP
Promjene u mrežnim uvjetima (npr. promjene propusnosti, kašnjenja,
gubitak paketa) predstavljaju velike probleme pri strujanju video sadržaja na
Internetu. Prilagodljivo strujanje putem protokola HTTP (engl. HTTP Adaptive
Streaming, HAS) je tehnologija koja rješava navedene probleme
prilagođavanjem video sadržaja trenutnim mrežnim uvjetima. Također
pružateljima usluge omogućava poboljšanje iskoristivosti resursa i iskustvene
kvalitete (engl. Quality of Experience, QoE (Poglavlje 3)) korištenjem
informacija iz različitih slojeva kako bi se video sadržaj prilagodio i isporučio u
najboljoj raspoloživoj kvaliteti. Pri tome se uzimaju u obzir mogućnosti uređaja
krajnjeg korisnika, dostupne razine kvalitete videozapisa, trenutni mrežni uvjeti
i trenutno opterećenje poslužitelja. Glavna prednost HAS-a, u odnosu na
klasično HTTP strujanje u konstantnoj kvaliteti bez prilagodbe na mrežne
uvjete, za krajnjeg korisnika je smanjeno vrijeme zastajkivanja i prekida u
reprodukciji video sadržaja [3].
YouTube je koristio klasično strujanje sadržaja preko protokola HTTP sve
do 2013. godine. Tada su se odlučili na HAS kao zadanu metodu isporuke
sadržaja [8], odnosno MPEG-DASH standard (engl. Dynamic Adaptive
Streaming over HTTP) [9]. To znači da svaki videozapis mora biti dostupan u
![Page 9: Procjena performansi usluge strujanja sadržaja uživo putem ... Matic 2018.pdfSVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 5792 Procjena performansi](https://reader031.vdocuments.pub/reader031/viewer/2022011814/5e5716858cb6ca59611e4a1f/html5/thumbnails/9.jpg)
YouTube
4
različitim razinama kvalitete i podijeljen na male dijelove (segmente) od kojih
svaki sadrži nekoliko sekundi videa za reprodukciju. Klijent procjenjuje
trenutnu propusnost i stanje međuspremnika (engl. buffer) te zahtijeva sljedeći
segment videozapisa u odgovarajućoj kvaliteti da ne dođe do zastoja i da se
raspoloživa širina pojasa najbolje iskoristi.
Slika 2.1 prikazuje primjer procesa pohrane i prijenosa video sadržaja
putem tehnologije HAS. U ovom slučaju, snimljeni video se kodira u tri različite
razine kvalitete te se dijeli na više manjih segmenata. Video se zatim
pohranjuje na poslužitelj i svaki segment je adresiran HTTP URL-om. Klijent
na temelju trenutnih uvjeta u mreži odlučuje koje od segmenata će u
određenom trenutku preuzeti. Klijent spaja preuzete segmente i reproducira
video.
Slika 2.1 Prilagodljivo strujanje putem protokola HTTP [12]
2.2. Strujanje sadržaja uživo
Strujanje sadržaja uživo označava isporuku sadržaja korisnicima u realnom
vremenu. YouTube je 2011. godine korisnicima počeo nuditi opciju strujanja
sadržaja uživo. 2018. godine je uvedeno dosta novih opcija kako bi se
![Page 10: Procjena performansi usluge strujanja sadržaja uživo putem ... Matic 2018.pdfSVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 5792 Procjena performansi](https://reader031.vdocuments.pub/reader031/viewer/2022011814/5e5716858cb6ca59611e4a1f/html5/thumbnails/10.jpg)
YouTube
5
poboljšao doživljaj sadržaja uživo kako korisnicima koji objavljuju video sadržaj
tako i gledateljima: automatski prijevod videa na engleski jezik, live chat,
lokacijske oznake [11]. Također YouTube sav sadržaj pohranjuje i omogućuje
korisnicima da ga premotaju unazad u bilo kojem trenutku. Za vrijeme kada se
sadržaj reproducira uživo u lijevom kutu stoji indikator uživo (Slika 2.2).
Slika 2.2 Indikator uživo na YouTube videu
Strujanje sadržaja uživo je zahtjevno za poslužitelje jer se unatoč
promjenama mrežnih uvjeta velikom broju korisnika mora isporučiti sadržaj.
Dodatan izazov je isporučiti video sa što kraćim kašnjenjem radi poboljšanja
iskustvene kvalitete. YouTube za raspoređivanje opterećenja poslužitelja
koristi mrežu za isporuku sadržaja (engl. Content Delivery Network, CDN) [30].
Kašnjenje strujanja uživo (engl. live streaming latency) je vremenska razlika
između trenutka kada je kamera zabilježila neki događaj i trenutka kada je taj
događaj prikazan korisnicima. Prilikom postavljanja postavki za strujanje video
sadržaja uživo, YouTube korisnicima nudi tri različite opcije za kašnjenje
strujanja uživo: normalno, nisko i ultra-nisko [10]. Normalno kašnjenje je
najpogodnije za video sadržaj u kojem nema interakcije s gledateljima, dok su
opcije niskih kašnjenja namijenjene korisnicima koji su u interakciji s
gledateljima za vrijeme strujanja sadržaja. Obe opcije niskog kašnjenja ne
podržavaju reprodukciju u visokim rezolucijama (npr. 4K) i što je manje
kašnjenje to je veća mogućnost da se gledatelju dogodi zastoj zbog punjenja
međuspremnika.
![Page 11: Procjena performansi usluge strujanja sadržaja uživo putem ... Matic 2018.pdfSVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 5792 Procjena performansi](https://reader031.vdocuments.pub/reader031/viewer/2022011814/5e5716858cb6ca59611e4a1f/html5/thumbnails/11.jpg)
Iskustvena kvaliteta
6
3. Iskustvena kvaliteta
Sve do devedesetih godina dvadesetog stoljeća, u komunikacijskim
uslugama, pojam kvalitete se poistovjećivao s pojmom kvalitete usluge (engl.
Quality of Service, QoS). No zbog konstantnog povećanja zastupljenosti
raznih višemedijskih sadržaja na Internetu, s vremenom je pojam iskustvene
kvalitete (engl. Quality of Experience, QoE) počeo dobivati na značajnosti [18].
Tako da danas razlikujemo dva različita pojma, odnosno dva pristupa mjerenju
kvalitete usluge.
Pojam kvalitete usluge se primarno odnosi na svojstva mreže, te se kod
mjerenja kvalitete usluge razmatraju razni mrežni parametri kao što je veličina
paketa, gubitak paketa, kašnjenje, korekcija grešaka, fragmentacija. Dok je
kvaliteta usluge više orijentirana na tehničku stranu komunikacijskih usluga,
iskustvena kvaliteta je više usmjerena na iskustvo i zadovoljstvo krajnjeg
korisnika uslugom koja mu se isporučuje [19]. Iskustvena kvaliteta se definira
kao stupanj oduševljenja ili nezadovoljstva korisnika aplikacijom odnosno
uslugom [18]. Neupitno je da su i kvaliteta usluge i iskustvena kvaliteta vrlo
bitne za pružatelje internetskih usluga, no kako je glavni zadatak pružatelja
usluge da korisnik ima pozitivno iskustvo i da je u potpunosti zadovoljan sa
uslugom koja mu se isporučuje, razumijevanje odnosa između kvalitete usluge
i iskustvene kvalitete postaje ključno [19].
3.1. Mjerenje iskustvene kvalitete
Metode kojima se mjeri iskustvena kvaliteta se dijele na subjektivne i
objektivne. Jedna od najpopularnijih ljestvica koja se koristi kod subjektivnog
ispitivanja iskustvene kvalitete je ljestvica kvantificiranja korisničkog iskustva
(engl. Mean Opinion Score, MOS). Subjektivne metode ispitivanja nisu
najbolje rješenje za mjerenje iskustvene kvalitete, jer svaki korisnik ima
različitu percepciju kvalitete [20]. Međunarodna telekomunikacijska unija (engl.
International Telecommunication Union, ITU) je definirala ljestvicu korisničkog
iskustva kao vrijednost na unaprijed određenoj skali koju ispitanik dodijeli
usluzi prema svojem mišljenju [21]. Korisnici svoje iskustvo ocjenjuju sa jednim
![Page 12: Procjena performansi usluge strujanja sadržaja uživo putem ... Matic 2018.pdfSVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 5792 Procjena performansi](https://reader031.vdocuments.pub/reader031/viewer/2022011814/5e5716858cb6ca59611e4a1f/html5/thumbnails/12.jpg)
Iskustvena kvaliteta
7
brojem u rasponu od 1 do 5 gdje 1 označava najlošiju ocjenu, a 5 najbolju.
Brojčana skala za određivanje iskustvene kvalitete se naziva ACR (engl.
Absolute Category Rating) (Tablica 1). MOS je prosjek ocjena svih korisnika
koji su sudjelovali u ispitivanju.
Tablica 1 MOS skala [22]
Ocjena ACR skala
5 izvrsno
4 dobro
3 prihvatljivo
2 loše
1 vrlo loše
![Page 13: Procjena performansi usluge strujanja sadržaja uživo putem ... Matic 2018.pdfSVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 5792 Procjena performansi](https://reader031.vdocuments.pub/reader031/viewer/2022011814/5e5716858cb6ca59611e4a1f/html5/thumbnails/13.jpg)
Metodologija rada
8
4. Metodologija rada
Ovaj odlomak detaljno opisuje sve elemente koji su sastavni dio
metodologije istraživanja provedenog u sklopu ovog rada. Istraživanje
obuhvaća gledanje video sadržaja uživo putem nativne YouTube aplikacije na
mobilnom Android uređaju, praćenje KPI-eva na aplikacijskoj razini, te
snimanje mrežnog prometa. Prikupljeni podatci su zatim obrađeni i oni
predstavljaju ulazni skup podataka za treniranje i validaciju algoritama strojnog
učenja (Slika 4.1).
Slika 4.1 Shema postupka obrade podataka
4.1. Laboratorijsko okruženje
Da bi prikupljanje podataka uopće bilo moguće, laboratorijsko okruženje je
postavljeno na način kako je prikazano na Slici 4.2.YouTube video sadržaj se
reproducira na Android mobilnom uređaju koji je bežičnom vezom povezan s
usmjeriteljem. Mobilni uređaj ima instaliranu aplikaciju ViQMon (Poglavlje
4.2.2.2) pomoću koje se prikupljaju podaci s aplikacijske razine.
Računalo PC1 pokreće operacijski sustav FreeBSD i ima dvije mrežne
kartice. Preko jedne mrežne kartice računalo je povezano s usmjeriteljem, a
preko druge je spojeno na Internet. Također računalo PC1 ima instaliran alat
IMUNES (engl. Integrated Multiprotocol Network Emulator/Simulator) pomoću
![Page 14: Procjena performansi usluge strujanja sadržaja uživo putem ... Matic 2018.pdfSVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 5792 Procjena performansi](https://reader031.vdocuments.pub/reader031/viewer/2022011814/5e5716858cb6ca59611e4a1f/html5/thumbnails/14.jpg)
Metodologija rada
9
kojeg je omogućena manipulacija mrežnih parametara (konkretno u ovom radu
se manipulirala mrežna propusnost). Između računala PC1 i usmjeritelja se
nalazi uređaj Albedo Net.Shark [16] koji replicira mrežni promet i zatim ga šalje
računalu PC2, koje pokreće operacijski sustav Ubuntu, na kojem se vrši
snimanje mrežnog prometa pomoću alata tcpdump.
Slika 4.2 Shema laboratorijskog okruženja
4.2. Prikupljanje podataka
Prikupljanje podataka za pojedini video se vrši na način da se prilikom
reprodukcije istovremeno prikupljaju podaci na mrežnoj i aplikacijskoj razini. U
nastavku je detaljnije opisana procedura prikupljanja za obje razine.
![Page 15: Procjena performansi usluge strujanja sadržaja uživo putem ... Matic 2018.pdfSVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 5792 Procjena performansi](https://reader031.vdocuments.pub/reader031/viewer/2022011814/5e5716858cb6ca59611e4a1f/html5/thumbnails/15.jpg)
Metodologija rada
10
4.2.1. Prikupljanje podataka s mrežne razine
Prikupljanje podataka mrežne razine se odvija na računalu PC2 (Slika 4.2).
Sav mrežni promet se preko Net.Shark uređaja replicira do računala PC2 na
kojem se preko komandne linije pokreće alat tcpdump koji snima mrežni
promet te generirane podatke sprema u datoteku formata .pcap (packet
capture).
Kako je u laboratoriju mrežna propusnost velika, a u realnim uvjetima to
najčešće nije slučaj, za potrebe mjerenja su se simulirali realni uvjeti mrežne
propusnosti u pokretnim mobilnim mrežama. Za simulaciju se koristilo pet
gotovih skripti za alat IMUNES koje sadrže logove 4G/LTE mrežne propusnosti
objavljene u [17]. Logovi pokrivaju pet sati aktivnog snimanja i prikupljeni su u
različitim scenarijima pokretljivosti: pješke, vožnja biciklom, tramvajem, vlakom
i automobilom.
4.2.1.1. IMUNES
IMUNES (engl. Integrated Multiprotocol Network Emulator/Simulator) je alat
čija je glavna svrha emulacija odnosno simulacija raznih IP mrežnih topologija.
Temelji se na operacijskom sustavu FreeBSD i operacijskom sustavu Linux
[13]. Jedna od glavnih značajki alata je da omogućuje da se postave
ograničenja na propusnost (engl. bandwidth) mrežnog prometa, te je moguće
koristiti vlastite skripte koje će automatski mijenjati ta ograničenja u realnom
vremenu.
4.2.1.2. Tcpdump
Tcpdump je besplatan alat koji je distribuiran pod BSD licencom. Koristi se
za analizu i nadgledanje mrežnog prometa koji se šalje preko mreže na koju
je spojeno računalo na kojem je pokrenut alat. Nema grafičko sučelje nego
samo konzolno te je za njegovo korištenje potrebno upisivati naredbe [14].
4.2.2. Prikupljanje podataka s aplikacijske razine
Prikupljanje podataka aplikacijske razine se odvija na mobilnom uređaju
Samsung Galaxy S6 (Tablica 2). Proces prikupljanja podataka za jedan video
je sljedeći: najprije se na YouTube aplikaciji uključi opcija statistika za štrebere
(engl. Stats for Nerds), zatim se pokrene aplikacija ViQMon, koja je razvijena
![Page 16: Procjena performansi usluge strujanja sadržaja uživo putem ... Matic 2018.pdfSVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 5792 Procjena performansi](https://reader031.vdocuments.pub/reader031/viewer/2022011814/5e5716858cb6ca59611e4a1f/html5/thumbnails/16.jpg)
Metodologija rada
11
u kompaniji Ericsson Nikola Tesla (ETK) u sklopu projekta QoMoVid (QoE
Monitoring Solutions for Mobile OTT Video Streaming) koji se provodi u
suradnji između FER-a i ETK, te se nakon toga pokrene video sadržaj (koji se
emitira uživo) preko cijelog zaslona (engl. fullscreen) i na kraju se zaustavlja
rad ViQMon što rezultira izlaznom datotekom koja sadrži podatke aplikacijske
razine (jedinstveni identifikator videa, audio i video itag1, dropped frames,
buffer health) za vrijeme reproduciranja video sadržaja (Slika 4.3).
Tablica 2 Specifikacije uređaja Samsung Galaxy S6 [15]
Model Samsung Galaxy S6
Operacijski sustav Android 7.0 (Nougat)
Veličina zaslona 5.1“
Rezolucija zaslona 1440 x 2560 piksela
Radna memorija 3 GB
Bežična mrežna kartica (WLAN) Wi-Fi 802.11 a/b/g/n/ac
S obzirom da video sadržaj uživo nema predefinirano vrijeme trajanja, bilo
bi nepraktično reproducirati svaki video do završetka jer potencijalno može
trajati beskonačno. Za svrhe ovog završnog rada reprodukcija svakog videa je
ograničena na dvije minute, odnosno 120 sekundi.
1 itag - brojčana vrijednost koju je definirao YouTube kako bi identificirali i
razlikovali razine kvalitete, npr. 22 označava HD 720p mp4 video format [29]
![Page 17: Procjena performansi usluge strujanja sadržaja uživo putem ... Matic 2018.pdfSVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 5792 Procjena performansi](https://reader031.vdocuments.pub/reader031/viewer/2022011814/5e5716858cb6ca59611e4a1f/html5/thumbnails/17.jpg)
Metodologija rada
12
Slika 4.3 Primjer JSON objekta za jednu sekundu u izlaznoj datoteci
ViQMon aplikacije
4.2.2.1. YouTube statistika za štrebere
Statistika za štrebere (engl. Stats for nerds) je opcija koja omogućava prikaz
detaljnih informacija o video sadržaju prilikom strujanja. Prikazuju se
informacije o trenutnoj rezoluciji, audio i video kodecima, broju sličica po
sekundi, jedinstveni identifikator videozapisa, te dodatno za sadržaj uživo se
prikazuje kašnjenje strujanja. Statistika se osvježava svake sekunde i postoji
mogućnost da se navedena statistika kopira klikom na link copy debug info
(Slika 4.4).
![Page 18: Procjena performansi usluge strujanja sadržaja uživo putem ... Matic 2018.pdfSVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 5792 Procjena performansi](https://reader031.vdocuments.pub/reader031/viewer/2022011814/5e5716858cb6ca59611e4a1f/html5/thumbnails/18.jpg)
Metodologija rada
13
Slika 4.4 Statistika za štrebere (YouTube)
4.2.2.2. ViQMon
ViQMon je Android aplikacija koja svake sekunde kopira sadržaj YouTube
statistike za štrebere u tekstualnu datoteku. Najprije se pritisne gumb su grant
(Slika 4.5) čime se aplikaciji daju prava da radi u pozadini, zatim se klikom
gumba start recording pokreće background process koji periodički svake
sekunde tapka po ekranu na mjesto u kojem se nalazi copy debug info
statistike za štrebere, te zapise od svake sekunde sprema u tekstualnu
datoteku kojoj je naziv timestamp trenutka početka reprodukcije videa u
formatu epoch time2. Navedena datoteka sadrži onoliko redaka koliko sekundi
je trajao video, a svaki redak zapravo predstavlja JSON objekt čiji atributi
predstavljaju informacije iz statistike za štrebere.
2 Epoch time – broj sekundi koje su protekle od ponoći 1. siječnja 1970.
godine [23]
![Page 19: Procjena performansi usluge strujanja sadržaja uživo putem ... Matic 2018.pdfSVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 5792 Procjena performansi](https://reader031.vdocuments.pub/reader031/viewer/2022011814/5e5716858cb6ca59611e4a1f/html5/thumbnails/19.jpg)
Metodologija rada
14
Slika 4.5 ViQMon Android aplikacija
4.3. Priprema podataka za analizu
Prikupljeni podatci se mogu razvrstati u pet kategorija jer se prilikom
mjerenja koristilo pet različitih skripti koje su simulirale realne mrežne uvjete
(odlomak 4.2.1). Za svaku od kategorija mrežnih uvjeta se reproduciralo 20
različitih videa. Za svaki od ukupno 100 reproduciranih videa su se
istovremeno prikupljali podatci i na mrežnoj i aplikacijskoj razini.
Da bi se dobiveni podatci mogli dalje analizirati najprije je bilo potrebno
pojedinačno obraditi podatke mrežne i aplikacijske razine za svaki video te ih
u konačnici povezati.
4.3.1. Skripta za izračun KPI-eva
Podatke prikupljene na aplikacijskoj razini čini 100 datoteka, za svaki video
jedna. Svaka datoteka sadrži zapis o detaljnim informacijama parametara
strujanja video sadržaja (rezolucija, …) u svakoj sekundi reprodukcije. Za svaki
video je potrebno izračunati KPI-eve jer je to mjera kvalitete sadržaja
prilagodljivog strujanja video sadržaja. Zbog navedenih razloga u sklopu ovog
završnog rada je napravljena skripta u programskom jeziku Python 2.7 koja
automatizira izračun KPI-eva za bilo koji broj videa (Dodatak A).
![Page 20: Procjena performansi usluge strujanja sadržaja uživo putem ... Matic 2018.pdfSVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 5792 Procjena performansi](https://reader031.vdocuments.pub/reader031/viewer/2022011814/5e5716858cb6ca59611e4a1f/html5/thumbnails/20.jpg)
Metodologija rada
15
Skripta iterira po svim tekstualnim datotekama unutar repozitorija unutar
kojeg se skripta nalazi. Za svaku datoteku (video) se izračuna:
početno kašnjenje,
postotak vremena tijekom kojeg je reprodukcija video sadržaja bila
na pojedinoj rezoluciji,
ukupan broj zastoja,
prosječno trajanje zastoja.
Izlazna datoteka koju generira skripta je formata .csv (engl. Comma
Separated Values) koja ima onoliko redaka koliko ima ulaznih tekstualnih
datoteka. Za svaki video se osim izračunatih KPI-eva zapisuju i videoID
(identifikator jedinstven za svaki video) i timestamp početka reprodukcije
videa.
![Page 21: Procjena performansi usluge strujanja sadržaja uživo putem ... Matic 2018.pdfSVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 5792 Procjena performansi](https://reader031.vdocuments.pub/reader031/viewer/2022011814/5e5716858cb6ca59611e4a1f/html5/thumbnails/21.jpg)
Strojno učenje
16
5. Strojno učenje
Strojno učenje je grana umjetne inteligencije koja se bavi programiranjem
računala na način da se optimizira neki kriterij uspješnosti na temelju
podatkovnih primjera ili prethodnog iskustva. Situacije u kojima uporaba
strojnog učenja ima svrhe su problemi koji su presloženi da bi se mogli riješiti
algoritamski (npr. raspoznavanje govora), sustavi koji se dinamički mijenjaju
(npr. prilagodba korisničkih sučelja) te kada raspolažemo ogromnim
količinama podataka iz kojih trebamo izvući neko znanje [24].
Zbog različitih pristupa obradi podataka razlikujemo tri vrste strojnog učenja:
nadzirano učenje (engl. supervised learning), nenadzirano učenje (engl.
unsupervised learning) i podržano učenje (engl. reinforcement learning). Kod
nadziranog učenja raspolažemo podacima oblika (ulaz, izlaz) iz kojih algoritmi
kreiraju funkciju kojom će se neki novi podaci moći klasificirati. Ulazni podatak
je najčešće vektor značajki (engl. features) dok je izlazni podatak jedna
vrijednost (engl. label). S druge strane kod nenadziranog učenja raspolažemo
podacima bez ciljne vrijednosti. U tom slučaju se strojno učenje koristi za
pronalazak pravilnosti među podacima. Podržano učenje svodi se na učenje
optimalne strategije na temelju pokušaja s odgođenom nagradom.
5.1. Algoritmi strojnog učenja
U strojnom učenju se koriste algoritmi koji svoju učinkovitost poboljšavaju
na temelju podataka s kojima raspolažu. Za potrebe ovog završnog rada će se
koristiti tri različita algoritma za klasifikaciju modela: OneR, J48, Random
forest.
5.1.1. OneR
OneR (skraćeno od One Rule) je jednostavan algoritam strojnog učenja
kojeg je napravio Robert Holte na Sveučilištu u Ottawi [25]. Algoritam stvara
jedno pravilo koje klasificira objekt na temelju jednog atributa. Iako je vrlo
jednostavan algoritam, u praksi se pokazao samo neznatno lošijim od drugih,
mnogo kompliciranijih algoritama [26].
![Page 22: Procjena performansi usluge strujanja sadržaja uživo putem ... Matic 2018.pdfSVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 5792 Procjena performansi](https://reader031.vdocuments.pub/reader031/viewer/2022011814/5e5716858cb6ca59611e4a1f/html5/thumbnails/22.jpg)
Strojno učenje
17
5.1.2. J48
J48 je algoritam koji treniranjem na ulaznom skupu podataka kreira stablo
odlučivanja prema kojem se rade predviđanja za nove podatke. Izgradnja
stabla odlučivanja se odvija na način da se jedan atribut postavi za korijenski
čvor koji ima onoliko grana koliko taj atribut ima različitih vrijednosti, a zatim
se na svaku granu za čvor postavlja drugi atribut koji se grana na isti način kao
i prethodni čvor. Takav postupak se ponavlja sve dok se ne iskoriste svi atributi
[27].
5.1.3. Random forest
Random forest je algoritam koji na ulaznom skupu podataka kreira odabrani
broj različitih stabala odlučivanja. Algoritam funkcionira na način da se iz skupa
ulaznog podataka nasumično (engl. random) odabere se podskup od svih
atributa prema kojem će se izgraditi jedno stablo odlučivanja. Taj postupak se
ponavlja onliko puta koliko je zadano (najčešće oko 100). Predviđanje za novi
skup podataka se odvija tako da se odabere ona vrijednost koja je dobivena
na najvećem broju stabala [28].
5.2. Weka
Weka (Waikato Environment for Knowledge Analysis) je program otvorenog
koda pod GNU općom javnom licencom [5]. Napravljen je na Sveučilištu u
Waikatu na Novom Zelandu i program je napisan u potpunosti u Javi što znači
da je dostupan na svim platformama. Weka je zapravo kolekcija algoritama
strojnog učenja koji se koriste za dubinsku analizu podataka. Također sadrži
alate za obradu, klasifikaciju, regresiju i vizualizaciju podataka. Primjer
grafičkog sučelja programa se nalazi na Slici 5.1.
![Page 23: Procjena performansi usluge strujanja sadržaja uživo putem ... Matic 2018.pdfSVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 5792 Procjena performansi](https://reader031.vdocuments.pub/reader031/viewer/2022011814/5e5716858cb6ca59611e4a1f/html5/thumbnails/23.jpg)
Strojno učenje
18
Slika 5.1 Weka 3.8.2: primjer prikaza grafičkog sučelja
![Page 24: Procjena performansi usluge strujanja sadržaja uživo putem ... Matic 2018.pdfSVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 5792 Procjena performansi](https://reader031.vdocuments.pub/reader031/viewer/2022011814/5e5716858cb6ca59611e4a1f/html5/thumbnails/24.jpg)
Analiza rezultata
19
6. Analiza rezultata
Cilj ovog rada je procjena performansi na aplikacijskoj razini kod strujanja
video sadržaja uživo putem platforme YouTube na temelju analize mrežnog
prometa. Za analizu podataka prikupljenih na mrežnoj razini su se koristile
metode strojnog učenja.
Ulazni skup podataka za algoritme strojnog učenja se sastoji od značajki
(engl. features) koje opisuju statistike mrežnog prometa i od ciljne oznake
(engl. label) koja predstavlja ponašanje na aplikacijskoj razini. Iz navedenih
podataka, algoritmi strojnog učenja generiraju modele pomoću kojih će se
moći vršiti predviđanja ciljne oznake samo na temelju mrežnih značajki.
Ciljne oznake parametara aplikacijske razine koje ćemo predviđati u ovom
radu su sljedeće:
Dvije stalling occurence klase („yes“, „no“), koje opisuju da li je došlo
do zastoja,
Tri longest resolution klase („high“, „medium“, „low“) koje označavaju
u kojoj se rezoluciji većinu vremena reproducirao video sadržaj, gdje
high označava rezoluciju 720p ili veću, medium 480p i 360p, a low
240p, 144p ili manju.
Predviđanje se temelji na oko 100 značajki koje su izračunate iz mrežnog
prometa. Većina značajki je dobivena računanjem statističkih parametara iz
mrežnog prometa u periodu od jedne, tri i pet sekundi. Neke od značajki
prometa koje su odabrane za klasifikaciju su:
avgPacketSizeDL (prosječna veličina paketa),
numOfPacketsLarger100BUL (broj paketa većih od 100 bajtova),
averageThroughputUL (prosječna propusnost mrežnog prometa),
stDevSizeIn5sIntervalsDL (standardna devijacija veličine prenesenih
podataka na intervalu od 5 sekundi)
![Page 25: Procjena performansi usluge strujanja sadržaja uživo putem ... Matic 2018.pdfSVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 5792 Procjena performansi](https://reader031.vdocuments.pub/reader031/viewer/2022011814/5e5716858cb6ca59611e4a1f/html5/thumbnails/25.jpg)
Analiza rezultata
20
maxSizeIn3sIntervalsDL (najveća veličina prenesenih podataka u
intervalu od 3 sekunde)
medianSizeIn1sIntervalsDL (medijan veličine prenesenih podataka u
intervalu od 1 sekunde)
Za svaku ciljnu oznaku su se generirali modeli koristeći tri algoritma: OneR,
J48 i Random forest. Dobiveni rezultati su prikazani u Tablici 3. Točnost se
definira kao postotak ispravno klasificiranih instanci, preciznost se definira kao
omjer ispravno klasificiranih instanci u promatrani razred i zbroja ispravno i
pogrešno klasificiranih instanci u promatrani razred, dok se odziv definira kao
omjer ispravno klasificiranih instanci i zbroja instanci koje su ispravno
klasificirane u promatranu klasu i instanci koje su klasificirane u krivi razred.
Najtočnija klasifikacija za stalling occurence se postigla algoritmom J48
(73%), dok je za longest resolution Random forest algoritam (71%) bio
najtočniji. Iz tablice se također može iščitati da su kod klasifikacije zastoja
složeniji algoritmi značajno točniji (čak oko 20%) od jednostavnog OneR
algoritma. Dok je kod klasifikacije rezolucije, zanimljivo primijetiti da je OneR
algoritam podjednako točan, a za procjenu se koristila samo jedna značajka
mrežnog prometa.
![Page 26: Procjena performansi usluge strujanja sadržaja uživo putem ... Matic 2018.pdfSVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 5792 Procjena performansi](https://reader031.vdocuments.pub/reader031/viewer/2022011814/5e5716858cb6ca59611e4a1f/html5/thumbnails/26.jpg)
Analiza rezultata
21
Tablica 3 Rezultati
Ciljna oznaka
Algoritam Korištene značajke Točnost
[%] Preciznost Odziv
Stalling
occurence
{yes, no}
OneR numOfPacketsLarger100BUL,
averageThroughputUL 54.6392
y: 0.593
n: 0.488
y: 0.593
n: 0.488
J48
avgPacketSizeDL,
numOfPacketsLarger100BUL,
stDevSizeIn5sIntervalsDL,
maxSizeIn3sIntervalsDL,
stDevSizeIn5sIntervalsUL,
stDevSizeIn1sIntervalsUL
73.1959 y: 0.694
n: 0.840
y: 0.926
n: 0.488
RF
avgPacketSizeDL,
stDevSizeIn5sIntervalsDL,
stDevSizeIn3sIntervalsDL,
pStDevSizeIn3sIntervalsDL,
stDevSizeIn1sIntervalsDL,
hMeanSizeIn5sIntervalsUL,
maxSizeIn3sIntervalsUL
69.0722 y: 0.714
n: 0.659
y: 0.741
n: 0.628
Longest
resolution
{high,
medium,
low}
OneR medianSizeIn3sIntervalsDL 67.0103
h: 0.000
m: 0.730
l: 0.613
h: 0.000
m: 0.767
l: 0.594
J48 averageThroughputDL,
medianSizeIn3sIntervalsDL 65.9794
h: 0.000
m: 0.759
l: 0.548
h: 0.000
m: 0.683
l: 0.719
RF
medianSizeIn5sIntervalsDL,
medianSizeIn3sIntervalsDL,
avgSizeIn2sIntervalsDL,
medianSizeIn1sIntervalsDL,
maxSizeIn1sIntervalsUL
71.134
h: 0.500
m: 0.750
l: 0.645
h: 0.200
m: 0.800
l: 0.625
![Page 27: Procjena performansi usluge strujanja sadržaja uživo putem ... Matic 2018.pdfSVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 5792 Procjena performansi](https://reader031.vdocuments.pub/reader031/viewer/2022011814/5e5716858cb6ca59611e4a1f/html5/thumbnails/27.jpg)
Zaključak
22
7. Zaključak
Zbog činjenice da je danas mrežni promet najčešće kriptiran, pružatelji
mrežnih usluga ne mogu vidjeti performanse videa koji struje kroz njihovu
mrežu. Zbog navedenog nisu u mogućnosti pratiti kvalitetu sadržaja koja se
isporučuje krajnjim korisnicima.
U ovom radu se razmatra iskustvena kvaliteta usluge strujanja sadržaja
uživo na platformi YouTube na Android mobilnom uređaju. Prethodno
navedeni problem s kojim se suočavaju mrežni operatori se rješava procjenom
iskustvene kvalitete uporabom metoda strojnog učenja. Cilj rada je procijeniti
parametre iskustvene kvalitete na temelju poznatih mrežnih značajki.
Podaci su se prikupljali na 100 različitih videa. Prilikom reprodukcije svakog
videa se snimao mrežni promet te su se istovremeno prikupljali podaci na
aplikacijskoj razini na Android uređaju. Na temelju prikupljenih podataka su se
izračunali KPI-evi. Tako obrađeni podaci čine skup ulaznih podataka za
treniranje algoritama strojnog učenja. Za potrebe ovog rada se za obradu
podataka algoritmima strojnog učenja koristio programski alat Weka. Na
temelju rezultata dobivenih u ovom radu se može zaključiti da se parametri
aplikacijske razine (stalling occurence, longest resolution) mogu procijeniti sa
prihvatljivom točnošću od oko 60-70%.
![Page 28: Procjena performansi usluge strujanja sadržaja uživo putem ... Matic 2018.pdfSVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 5792 Procjena performansi](https://reader031.vdocuments.pub/reader031/viewer/2022011814/5e5716858cb6ca59611e4a1f/html5/thumbnails/28.jpg)
Literatura
23
8. Literatura
1. Internet usage statistics: world Internet usage and population
statistics. Internet World Stats.
https://www.internetworldstats.com/stats.htm, 9.4.2018.
2. The Zettabyte Era: Trends and Analysis. Cisco (2017),
https://www.cisco.com/c/en/us/solutions/collateral/service-
provider/visual-networking-index-vni/vni-hyperconnectivity-wp.html,
9.4.2018.
3. SEUFERT, Michael, et al. A survey on quality of experience of
HTTP adaptive streaming. IEEE Communications Surveys & Tutorials,
2015, 17.1: 469-492.
4. SIEBER, Christian, et al. The cost of aggressive HTTP adaptive
streaming: Quantifying YouTube's redundant traffic. In: IFIP/IEEE
International Symposium on Integrated Network Management (IM),
2015. IEEE, 2015. p. 1261-1267.
5. Weka 3: Data Mining Software in Java,
https://www.cs.waikato.ac.nz/ml/weka/, 14.4.2018.
6. Press – YouTube, https://www.youtube.com/intl/en-
GB/yt/about/press/, 14.4.2018.
7. Resursi robne marke – YouTube,
https://www.youtube.com/yt/about/brand-resources/#logos-icons-
colors, 14.4.2018.
8. Roettgers, J., Don’t touch that dial: How YouTube is bringing
adaptive streaming to mobile, TVs,
https://gigaom.com/2013/03/13/youtube-adaptive-streaming-mobile-
tv/, 14.4.2018.
9. Information Technology—Dynamic Adaptive Streaming Over
HTTP (DASH)—Part 1: Media Presentation Description and Segment
Formats, ISO/IEC 23009-1:2012, 2012.
10. Live Streaming Latency – YouTube Help,
https://support.google.com/youtube/answer/7444635?hl=en&ref_topic
=6136989, 14.4.2018.
![Page 29: Procjena performansi usluge strujanja sadržaja uživo putem ... Matic 2018.pdfSVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 5792 Procjena performansi](https://reader031.vdocuments.pub/reader031/viewer/2022011814/5e5716858cb6ca59611e4a1f/html5/thumbnails/29.jpg)
Literatura
24
11. YouTube Creator Blog: Updates to YouTube Live Streaming,
https://youtube-creators.googleblog.com/2018/02/updates-to-youtube-
live-streaming.html, 14.4.2018.
12. HTTP Adaptive Streaming. GitHub,
https://github.com/rabit/wiki/blob/master/HTTP_Adaptive_Streaming.m
d, 14.4.2018.
13. Integrated Multiprotocol Network Emulator/Simulator,
http://imunes.net/, 14.4.2018.
14. Analiza alata Wireshark, Nacionalni CERT,
https://www.cis.hr/www.edicija/LinkedDocuments/NCERT-PUBDOC-
2010-09-312.pdf
15. Samsung Galaxy S6, GSMArena,
https://www.gsmarena.com/samsung_galaxy_s6-6849.php, 11.5.2018.
16. Net.Shark,
http://www.albedotelecom.com/pages/fieldtools/src/netshark.php,
11.5.2018.
17. J. van der Hooft, et al., “HTTP/2-Based Adaptive Streaming of
HEVC Video Over 4G/LTE Networks,” IEEE Comm. Letters, vol. 20,
no. 11, pp. 2177–2180, 2016.
18. Sebastian Möller, Patrick Le Callet and Andrew Perkis, editors.
Qualinet White Paper on Definitions of Quality of Experience.
Technical Report Version 1.2. European Network on Quality of
Experience in Multimedia Systems and Services, 2013.
19. Quality of Experience vs. Quality of Service,
https://www.qualitytaskforce.com/quality-of-experience-vs-quality-of-
service, 28.5.2018.
20. Streijl, R.C., Winkler, S. & Hands, D.S. Multimedia Systems
(2016) 22: 213. https://doi.org/10.1007/s00530-014-0446-1
21. ITU-T Rec. P.10: Vocabulary for performance and quality of
service (2006)
![Page 30: Procjena performansi usluge strujanja sadržaja uživo putem ... Matic 2018.pdfSVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 5792 Procjena performansi](https://reader031.vdocuments.pub/reader031/viewer/2022011814/5e5716858cb6ca59611e4a1f/html5/thumbnails/30.jpg)
Literatura
25
22. HUYNH-THU, Quan, et al. Study of rating scales for subjective
quality assessment of high-definition video. IEEE Transactions on
Broadcasting, 2011, 57.1: 1-14.
23. Epoch & Unix Timestamp Conversion Tools,
https://www.epochconverter.com/, 28.5.2018.
24. Bojana Dalbelo Bašić, Jan Šnajder, Umjetna inteligencija:
Strojno učenje, http://www.fer.unizg.hr/_download/repository/UI-2017-
10-StrojnoUcenje.pdf
25. R.C. Holte. Very simple classification rules perform well on
most commonly used datasets. Machine Learning, 11:63–91, 1993.
26. OneR, http://www.saedsayad.com/oner.htm, 30.5.2018.
27. University of Minnesota Duluth, Classification methods,
http://www.d.umn.edu/~padhy005/Chapter5.html, 30.5.2018.
28. Leo Breiman, Adele Cutler, Random forests,
https://www.stat.berkeley.edu/~breiman/RandomForests/cc_home.htm
, 30.5.2018
29. Youtube Video Formats, Resolutions and iTags,
http://www.codosia.com/web/youtube-video-formats-resolutions-and-
itags/, 11.6.2018.
30. Umrežavanje sadržaja: Mreže za potporu strujanja
višemedijskog sadržaja, Fakultet elektrotehnike i računarstva,
https://www.fer.unizg.hr/_download/repository/US-2017_03.pdf
![Page 31: Procjena performansi usluge strujanja sadržaja uživo putem ... Matic 2018.pdfSVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 5792 Procjena performansi](https://reader031.vdocuments.pub/reader031/viewer/2022011814/5e5716858cb6ca59611e4a1f/html5/thumbnails/31.jpg)
Sažetak
26
9. Sažetak
Danas dominantni udio ukupnog prometa na Internetu čine usluge video
strujanja. Većina tog prometa se temelji na prilagodljivom strujanju putem
protokola HTTP. Jedna od najpopularnijih platformi za dijeljenje takvog
sadržaja je YouTube. U okviru ovog rada će se posebno razmatrati usluga
strujanja sadržaja uživo putem YouTube-a na Android mobilnim uređajima.
Davatelji mrežnih usluga nemaju uvid u performanse i parametre kvalitete
video tokova koji prolaze njihovom mrežom jer je promet najčešće kriptiran. To
mrežnim operaterima predstavlja veliki problem zbog nemogućnosti praćenja
iskustvene kvalitete sadržaja koji isporučuju korisnicima. Zadatak ovog rada je
procijeniti performanse na razini aplikacije na temelju prometnih značajki
koristeći metode strojnog učenja. U istraživanju koje je provedeno u sklopu
ovog rada su se prikupljali podaci mrežne i aplikacijske razine za 100 videa.
Prikupljeni podaci čine ulazni skup podataka za algoritme strojnog učenja. Kao
rezultat analize su dobiveni modeli na temelju kojih se parametri aplikacijske
razine mogu procijeniti sa točnošću oko 60-70%.
Ključne riječi: strujanje sadržaja uživo, iskustvena kvaliteta, YouTube,
strojno učenje
![Page 32: Procjena performansi usluge strujanja sadržaja uživo putem ... Matic 2018.pdfSVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 5792 Procjena performansi](https://reader031.vdocuments.pub/reader031/viewer/2022011814/5e5716858cb6ca59611e4a1f/html5/thumbnails/32.jpg)
Summary
27
10. Summary
Nowdays largest amount of Internet traffic belongs to video streaming
services. Most of that traffic is delivered via the Adaptive Streaming over
HTTP. One of the most popular platform for sharing that kind of content is
YouTube. This thesis particulary analyzes live streaming on YouTube on
Android smartphones.
Network operators generally lack insight into application-level quality
indicators because most of the traffic is encrypted. This is big problem for ISPs
due to the inability to monitor end-user Quality of Experience. Main objective
of this thesis is to estimate performance of live YouTube streaming based on
the analysis of encrypted network traffic using machine learning. In research
conducted for the purposes of this thesis data of aplication-level quality
indicators and corresponding traffic traces has been collected for 100 YouTube
videos. Collected data is then used for the development of machine learning
models for QoE classification based on computed traffic features. As a result
of the analysis, classification accuracy was found to be about 60-70%.
Key words: Live streaming , Quality of Experience, YouTube, Machine
learning
![Page 33: Procjena performansi usluge strujanja sadržaja uživo putem ... Matic 2018.pdfSVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 5792 Procjena performansi](https://reader031.vdocuments.pub/reader031/viewer/2022011814/5e5716858cb6ca59611e4a1f/html5/thumbnails/33.jpg)
Popis slika
28
11. Popis slika
Slika 2.1 Prilagodljivo strujanje putem protokola HTTP [12] ...................... 4
Slika 2.2 Indikator uživo na YouTube videu ............................................... 5
Slika 4.1 Shema postupka obrade podataka ............................................. 8
Slika 4.2 Shema laboratorijskog okruženja ................................................ 9
Slika 4.3 Primjer JSON objekta za jednu sekundu u izlaznoj datoteci
ViQMon aplikacije ........................................................................................ 12
Slika 4.4 Statistika za štrebere (YouTube) ............................................... 13
Slika 4.5 ViQMon Android aplikacija ........................................................ 14
Slika 5.1 Weka 3.8.2: primjer prikaza grafičkog sučelja ........................... 18
![Page 34: Procjena performansi usluge strujanja sadržaja uživo putem ... Matic 2018.pdfSVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 5792 Procjena performansi](https://reader031.vdocuments.pub/reader031/viewer/2022011814/5e5716858cb6ca59611e4a1f/html5/thumbnails/34.jpg)
Popis tablica
29
12. Popis tablica
Tablica 1 MOS skala [22] ........................................................................... 7
Tablica 2 Specifikacije uređaja Samsung Galaxy S6 [15] ..................... 11
Tablica 3 Rezultati ................................................................................... 21
![Page 35: Procjena performansi usluge strujanja sadržaja uživo putem ... Matic 2018.pdfSVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 5792 Procjena performansi](https://reader031.vdocuments.pub/reader031/viewer/2022011814/5e5716858cb6ca59611e4a1f/html5/thumbnails/35.jpg)
DODATAK A
30
Dodatak A: Skripta za izračun KPI-eva
import json
import sys
import os
import csv
itag = dict()
itag.update({"278":"144p", "242":"240p", "160":"144p", "133":"240p", "243":"360p",
"244":"480p", "134":"360p", "135":"480p", "247":"720p", "136":"720p",
"248":"1080p",
"137":"1080p", "302":"720p", "298":"720p", "303":"1080p", "299":"1080p"})
for root, dirs, files in os.walk('.'):
for filename in files:
if(filename.endswith(".txt")):
f = open(os.path.join(root, filename), 'r+')
lines = f.readlines()
f.seek(0)
f.write('[')
for line in lines:
f.write(line)
f.write(']')
f.close()
with open(os.path.join(root, filename)) as json_file:
json_data_list = json.load(json_file)
timestamp = filename[:-4]
videoID = json_data_list[0]["videoid"]
initDelay = 0
stallingDurationDict = dict()
prevFrameNum = "/0"
stallCount = 0
duration = 0
dur144 = 0
dur240 = 0
dur360 = 0
dur480 = 0
dur720 = 0
dur1080 = 0
for json_data in json_data_list:
if(json_data["df"].endswith(prevFrameNum)):
if(stallingDurationDict.has_key(prevFrameNum)):
![Page 36: Procjena performansi usluge strujanja sadržaja uživo putem ... Matic 2018.pdfSVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 5792 Procjena performansi](https://reader031.vdocuments.pub/reader031/viewer/2022011814/5e5716858cb6ca59611e4a1f/html5/thumbnails/36.jpg)
DODATAK A
31
stallingDurationDict[prevFrameNum] =
stallingDurationDict.get(prevFrameNum) + 1
else:
stallingDurationDict[prevFrameNum] = 1
else:
duration += 1
if(itag.get(json_data["fmt"]) == "144p"):
dur144 += 1
if(itag.get(json_data["fmt"]) == "240p"):
dur240 += 1
if(itag.get(json_data["fmt"]) == "360p"):
dur360 += 1
if(itag.get(json_data["fmt"]) == "480p"):
dur480 += 1
if(itag.get(json_data["fmt"]) == "720p"):
dur720 += 1
if(itag.get(json_data["fmt"]) == "1080p"):
dur1080 += 1
prevFrameNum = '/' + json_data["df"].split("/")[1]
perc144 = float(dur144)/duration
perc240 = float(dur240)/duration
perc360 = float(dur360)/duration
perc480 = float(dur480)/duration
perc720 = float(dur720)/duration
perc1080 = float(dur1080)/duration
if(stallingDurationDict.has_key("/0")):
initDelay = stallingDurationDict.get("/0")
stallCount = len(stallingDurationDict.values())
avgStallDur = 0
if(stallCount != 0):
avgStallDur =
float(sum(stallingDurationDict.values()))/stallCount
with open('kpis.csv', 'ab') as csvfile:
fieldnames = ['timestamp', 'videoID', 'initDelay', 'perc1080',
'perc720', 'perc480',
'perc360', 'perc240', 'perc144', 'avgStallDur',
'stallCount']
writer = csv.DictWriter(csvfile, fieldnames)
writer.writerow({'timestamp':timestamp, 'videoID':videoID,
'initDelay':initDelay, 'perc1080':perc1080,
'perc720':perc720, 'perc480':perc480, 'perc360':perc360,
'perc240':perc240, 'perc144':perc144,
'avgStallDur':avgStallDur, 'stallCount':stallCount})