Oblig3 - Gruppe2
Fra Hiofwiki
Innhold |
Sanntidsstreaming med multicast
Til denne oppgaven prøvde vi først å bruke VLC Media Player, uten å komme særlig langt. Vi fant ikke ut hvordan vi fikk opp bildet fra kameraet i programmet, så vi gikk over til Quicktime Broadcaster istedet. Vi lastet ned og innstallerte Quicktime Broadcaster og koblet til et kamera via FireWire. Bildet fra kameraet dukket opp med en gang i preview-vinduet. Vi valgte multicast, klikket på Generate IP Address, og startet Broadcasting. Vi fant ikke ut med en gang hvordan vi kunne åpne strømmen på en annen maskin. Vi prøvde å søke på google uten noe særlig resultat. Etterhvert fant vi svaret i hjelp-dokumentet som fulgte med programmet. Der fant vi ut at vi kunne eksportere en liten film-film fra programmet, og da vi åpnet denne på en annen maskin dukket bildet opp med en gang. Vi valgte å streame i ganske høy kvalitet, og det resulterte i en ganske hakkende opplevelse. Begge maskinene i dette forsøket var koblet opp med kabel. Vi sendte også fila til en annen student som befant seg et annet sted på skolen, og det fungerte der også. Vi prøvde også å åpne strømmen når maskinen var koblet opp trådløst, men det fungerte ikke. Multicast er ikke støttet i trådløse nett, og dette vil derfor ikke fungere. Det finnes måter å få til dette på, men det er mer komplisert.
On demand-streaming med RTSP
Screenshot av on demand-streaming:
Vi lastet ned og installerte Darwin Streaming Server. Jeg konverterte filmen fra høstens 3d-fag til en hintet mpeg4-fil og la den i Movies-mappa under Quicktime Streaming. Darwin Streaming serveren var kranglete å finne ut av, og vi plagdes lenge med en feilmelding: «Perl Exception Error», eller noe sånt. Men etter et tips fra en annen gruppe fant vi ut at vi ikke trengte å velge start broadcast her, så den feilmeldingen hadde ingenting å si. Vi fikk hjelp fra en av de andre gruppene til å stoppe og starte Quicktime Streaming Serveren via terminal, og da fungerte det. Vi fikk åpnet fila ved å velge «åpne url» i Quicktime, og skrive inn IP-adressen, etterfulgt av filnavnet på fila vi ville se på. I dette tilfellet var adressen: rtsp://158.39.162.198/film.mp4.
Filmen ble da spilt av, og det var mulig å hoppe fram og tilbake på filmens tidslinje.
Hinting av MPEG-4 filer før publisering med DSS
En hintet MPEG-4 fil innholder metadata. Dette er viktig for at serveren skal kunne streame korrekt. Skal man bruke DSS (Darwin Streaming Server) er det viktig med en hintet fil. Denne metadataen forteller noe om hvordan innholdet skal deles opp i pakker for levering. Informasjonen fra metadataen gir instrukser om hvordan filmen/MPEG-4 fila skal streames. DSS trenger ikke å bry seg om hvordan medietype fila har for å streame den hvis MPEG-4 fila er hintet.
En hintet fil lar en streaming server streame QuickTime filmer uten og måtte forstå QuickTime media typer eller codecs. Serveren trenger bare å vite den hintede filas track format. Hinting tillater også nye codecs å bli brukt uten å måtte oppgradere serveren.
Hver mediefil må ha et eget hintet spor. En film med en lyd og bilde, må ha to hintede spor. En for lyd og en for bilde.
Hinting lager et spor for alle streambare media spor i fila som forteller QuickTime Streaming Server hvor og når den skal levere hver frame eller media fil.
Denne måten å gjøre det på sparer også inn mye tid og ressurser. Ved å lage en hintet fil med en gang, slipper serveren og ta seg av dette. Det ville gått mye ressurser hvis serveren for hver forespørsel måtte ha sett og beregnet fila for så å delt den opp i pakker for riktig levering. Det sparer også tid. Det hadde tatt veldig lang tid hvis du som bruker måtte ha sittet å ventet på å få stramet det du ville se. Tenk om serveren på egen hånd måtte ha funnet ut hvordan fila skulle ha blitt delt opp og sendt, for alle forespørsler. Det hadde tatt tid. Med en hintet fil går dette av seg selv. Informasjonen fra filas metadata sier alt om dette.
Sanntidsstreaming med RTSP
For å få til sanntidsstreaming med RTSP brukte vi igjen Quicktime Broadcaster, og valgte Automatic Unicast (announce). På Hostname skrev vi inn rtsp://127.0.0.1 som er adressen til DSS-serveren på maskinen. Det tok litt tid å finne ut hva vi skulle skrive inn her, men med litt eksperimentering fikk vi det til. Vi prøvde først med maskinens ip-adresse, (158.39.162.198), men da krevde den et brukernavn og passord. Prøvde flere forskjellige her uten at vi fikk tilgang, så da prøvde vi 127.0.0.1 istedet. På File lot vi det bare stå mystream. Adressen for å åpne strømmen på en annen maskin ble da IP-adressen til maskinen som kjører RTSP-serveren, i dette tilfellet rtsp://158.39.162.198/mystream.sdp. Endelig fikk vi åpnet strømmen på alle de andre maskinene, til og med på en windows-maskin!
Når kan det være nyttig å bruke RTSP i stedet for multicast til sanntidsstreaming?
Når man streamer med multicast, sender man en strøm til mange i stedet for en strøm til hver unike bruker. Det blir altså bare sendt informasjon til et spesifikt antall på samme tid. Dette gjør at trafikkmengden blir redusert. Dette er ofte en fordel når man har mange samtidige seere og liten båndbredde å streame over. Men allikevel kan det være nyttig å bruke RTSP istedet for multicast hvis man ønsker å nå alle som er på internett. Med multicast er det bare mulig å nå de som er koblet opp på multicastnettverket. Som nevnt tidligere støttes ikke Multicast i trådløse nett, og derfor bør man bruke RTSP hvis man ønsker og la tjenesten være tilgjengelig for alle. RTSP streaming gir en mulighet for å kontrollere streamingen. Det går ann for eksempel ann å trykke pause og play, og også record. Det gir brukeren mulighet til å lagre det som blir streamet. Denne muligheten er ikke tilstede ved multicast streaming. Derfor kan det være en fordel å bruke RTSP streaming.
Screenshots av streamingen:
Publisering med BitTorrent
På BitTorrent delen av oppgaven prøvde vi flere alternativer. Vi prøvde å legge ut to ulike filer i to ulike formater. Først en PDF deretter en .mov fil. Begge disse alternativene fungerte bra å legge ut. Vi prøvde også å laste ned på både mac og windows, begge løsningene fungerte strålende.
Det å dele med torrent gir mange fordeler for de som skal laste ned samme fil. Filen blir systematisk fordelt mellom de som laster ned slik at en ny nedlaster kan hente fra mer enn en avsender. Fordelen med torrentspredning er at man kan finne mye mer nedlastbar data på nettet, enn f.eks bruken av Limewire hvor man laster ned direkte fra en kilde. Opprettelsen av en torrentfil gjøres enkelt fra sin egen maskin, man bruker et torrentprogram som for eksempel µTorrent.
I dette programmet kan man enkelt opprettet en torrentfil ved å velge ”create a new torrent..”. Hvis man er medlem av for eksempel Pirate Bay får man en tracker url slik at man får et nettverk å dele filen gjennom. Skal man dele filen direkte må man også huske på å sette på ”seeding” slik at man deler filen fra sin egen maskin. Når filen er delt kan mottakeren enkelt bruke torrentfilen som er opprettet ved å åpne den i sitt eget torrentprogram, og ved hjelp av tracker url opprettet i torrentfilen vil torrentprogrammet finne raskt frem til hvilke personer som deler samme fil, nedlastingen vil da starte.
Dette er meget ressurssparende for en avsender som for eksempel NRK eller andre store datamengder som skal sendes fra et medieselskap. NRK er ikke så avhengig av å være hovedleverandør av datamengden når torrentfilen først er blitt spredd. Dersom det har vært en del trafikk på filen så vil den være tilgjengelig gjennom flere delere som er online, ikke bare direkte fra NRK.
Fordelen med P2P (Peer 2 peer) nettverk er at avsender blir ikke avhengig av å være hovedbidragsyter til fordelingen av filen som skal sendes over nettet. Mange forbinder torrent som noe ulovlig, men ideen og det praktiske bak denne teknologien er meget fordelaktig for både nettleverandører og nettbrukere. Mulighetene til å sende store mengder data over nettet forenkles og letter store ressurser slik at båndbredde ikke blir like mye belastet som tidligere hos avsendere som er leverandører av for eksempel video over nett.
NRK drar en stor fordel av å dele via P2P som man ser på deres nettside, [1]. Ved å spre Lars Monsens serie via torrent har de fått spredd 50 Terrabyte med data til ca 10 000 personer. Dersom NRK skulle satt denne tjenesten bort til en annen leverandør for å dele deres data kunne dette blitt en kostbar affære. Vi lastet opp en film som torrent, en musikkvideo vi lagde i 2.klasse. Link: [2]
Screenshot av programmet som seeder torrentfilen:
Kilder
http://suprbay.org/showthread.php?t=1236
http://en.wikipedia.org/wiki/Real_Time_Streaming_Protocol
http://www.usit.uio.no/it/dlo/lab/dok/nettvideo.html
http://developer.apple.com/opensource/server/streaming/qtss_admin_guide.pdf



