ti5316800 - lÄhiverkot -erikoistyÖkurssi
DESCRIPTION
Ti5316800 - LÄHIVERKOT -ERIKOISTYÖKURSSI. Linux-harjoitustyö Streaming Ville Pesonen. Sisältö. Mitä on streaming? Vaihtoehdot streamauksessa Käyttökohteet Arkkitehtuuri Linux-harjoitustyö. Mitä on streaming?. Median (kuten ääni tai videokuva) välittämistä verkon yli - PowerPoint PPT PresentationTRANSCRIPT
Ti5316800 - LÄHIVERKOT -ERIKOISTYÖKURSSI
Linux-harjoitustyö
Streaming
Ville Pesonen
Sisältö
• Mitä on streaming?• Vaihtoehdot streamauksessa• Käyttökohteet• Arkkitehtuuri• Linux-harjoitustyö
Mitä on streaming?
• Median (kuten ääni tai videokuva) välittämistä verkon yli
• Datan ei tarvitse sijaita käyttäjän kiintolevyllä– Puskurointi
• Data voi tulla useasta lähteestä ja sitä voidaan lähettää useaan kohteeseen
Vaihtoehdot streamauksessa
• Streamaus voidaan toteuttaa usealla tavalla– Unicast
• Yksinkertaisia yksi yhdelle streameja• Jokaiselle asiakkaalle lähetetään oma stream
– Multicast• Yleislähetysosoitetta käyttämällä asiakkaita voidaan
palvella yhdellä streamilla– P2P (Peer-to-Peer)
• Esimerkiksi asiakkaat voivat ottaa vastaan streamia ja lähettää sitä edelleen muille asiakkaille
Vaihtoehdot streamauksessa
• Streamaus voidaan toteuttaa eri protokollilla, esimerkiksi:– UDP (User Datagram Protocol)
• Datan korruptoituminen tai katoaminen – RTP (Real-time Transport Protocol)
• Aikaleimat ja järjestysnumerot– RTSP (Real-time Transport Control Protocol)
• Interaktiivinen toisto– HTTP (Hypertext Transfer Protocol)
• Tärkeä vaihtoehto kun ei voida käyttää reaaliaikaprotokollia (RTP ja RTSP)
Käyttökohteet
• Nettiradio• Video on Demand• Time Shifting
– Esimerkiksi taaksepäin kelaus uusintaa varten• Live Pause
– Streamin pysäyttäminen ja jatkaminen samasta kohtaa myöhemmin
Arkkitehtuuri
• Streaming on jaettavissa neljään osaan– Kaappaus ja enkoodaus
• Kuvasignaali sopivaan muotoon– Palveleminen
• Tuloksena syntyvä tiedosto tallennetaan palvelimelle– Jakelu ja toimitus
• Siirretään dataa palvelimelta asiakkaalle• Käytön lisääntyessä ruuhkaantuminen kasvaa
– Mediasoitin• Datavirran puskurointi ja näyttäminen käyttäjälle
Arkkitehtuuri
Linux-harjoitustyö
• Musiikkipalveluksi valitsin Icecast:n ja videopalveluksi VLC:n
• Musiikkipalvelun toteutin mirroroimalla erästä julkista nettiradiota http:n yli
• Videopalvelua testasin sekä RTP:n että http:n yli– Multicastia en testannut ollenkaan
Linux-harjoitustyö/Icecast
• Icecast:n asennus sujuu helposti#apt-get install icecast2• Icecast luo itselleen käyttäjäryhmän ja –tilin• Ennen Icecastin käynnistystä tulee muokata
tiedostoa /etc/icecast2/icecast.xml• Muutetaan kohtia hostname, relay ja
changeowner. Oletuksena relay ja changeowner ovat kommentoituna, joten niiden kommentoinnit pitää huomata poistaa.
Linux-harjoitustyö/Icecast
<hostname>192.168.1.7</hostname><relay>
<server>stream.nute.net</server><port>8000</port>
<mount>/kohina/stream.ogg</mount> <local-mount>/kohina.ogg</local-mount></relay><changeowner>
<user>icecast2</user><group>icecast</group>
</changeowner>
Linux-harjoitustyö/Icecast
• Icecast saadaan käyntiin seuraavalla komennolla
#icecast2 –c /etc/icecast2/icecast.xml –b• Parametrien merkitykset
– c ladataan jäljessä kerrottu asetustiedosto– b käynnistetään Icecast taustalle
• Logit löytyvät /var/log/icecast2/error.log ja /var/log/icecast2/access.log
Linux-harjoitustyö/Icecast
• Stream on kuunneltavissa esimerkiksi VLC:llä osoitteessa http://192.168.1.7:8000/kohina.ogg.m3u
• ”Web-käyttöliittymä” löytyy http://192.168.1.7:8000/
Linux-harjoitustyö/VLC
• Asennus sujuu vaivattomasti
#apt-get install vlc• VLC mahdollistaa graafisen käyttöliittymän käytön,
mutta komennot onnistuvat myös komentoriviltä• Esimerkiksi videotiedosto streamaus http:n yli
#vlc /var/video/grand_theft.mpg --sout '#standard{access=http, mux=ts, dst=192.168.1.7:8080}' --loop
Linux-harjoitustyö/VLC
• Stream on tällöin katseltavissa osoitteesta http://192.168.1.7:8080/ esimerkiksi VLC:llä
• Lisäämällä seuraavan edellisen komennon perään saadaan logit käyttöön
--extraintf logger --logfile /var/log/vlc.log