Streaming Video Formaten
Upcoming SlideShare
Loading in...5
×
 

Streaming Video Formaten

on

  • 1,981 views

 

Statistics

Views

Total Views
1,981
Views on SlideShare
1,981
Embed Views
0

Actions

Likes
0
Downloads
10
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Streaming Video Formaten Streaming Video Formaten Document Transcript

  • INDI-2006-11-047 Streaming Video Formaten Project : SURFworks Projectjaar : 2006 Programmalijn : Technologie Scouting Onderdeel : Advanced Services Activiteit : Video Streaming Deliverable : Publicatie Toegangsrechten : publiek Auteur(s) : Herman van Dompseler / Frans Ward Externe partij : n.v.t. Opleverdatum : 25 nov 2006 Versie : 1.0 Samenvatting Het gebruik van video op Internet groeit sterk. Maar de vraag voor veel gebruikers is, voor welke formaten en technologieën het best kan worden gekozen. In dit rapport wordt een overzicht gegeven van de belangrijkste streaming formaten, en van de belangrijkste aspecten waarop deze met elkaar vergeleken kunnen worden. Aan bod komen onder meer Windows Media, MPEG-4, H.264, Flash en Real. Daarnaast wordt een proefopstelling beschreven waarbij het H.264 formaat gebruikt wordt. Dit is een breed toepasbaar formaat, waarmee SURFnet in de toekomst verder wil gaan voor streaming van MPEG-4 en High Definition (HD) video.
  • Streaming Video Formaten pagina 2/63
  • Streaming Video Formaten pagina 3/63 Streaming Video Formaten Frans Ward en Herman van Dompseler Utrecht, 25 november 2006 Versie 1.0
  • Streaming Video Formaten pagina 4/63 Inhoudsopgave 1 Inleiding streaming.......................................................................................... 5 1.1 Streaming technieken .............................................................................. 5 1.1.1 Progressief downloaden – Progressive download ....................................... 5 1.1.2 Streaming: RTSP ................................................................................. 6 1.1.3 P2P streaming ..................................................................................... 7 1.1.4 VODcasting ......................................................................................... 8 1.2 Compressie: codecs................................................................................. 9 1.2.1 Veel verschil in codecs ........................................................................ 10 1.3 Protocollen ........................................................................................... 10 1.3.1 Protocollen in de transportlaag............................................................. 10 1.3.2 Protocollen in de applicatielaag ............................................................ 11 1.4 Formaten ............................................................................................. 12 1.4.1 Open standaard formaten.................................................................... 12 1.4.2 Commerciële videoformaten ................................................................ 13 2 Streaming video formaten .............................................................................. 14 2.1 MPEG (MPEG-1, MPEG-2 en MPEG-4) ....................................................... 16 2.1.1 kenmerken ....................................................................................... 17 2.2 Real .................................................................................................... 22 2.2.1 kenmerken ....................................................................................... 22 2.3 Windows Media ..................................................................................... 25 2.3.1 kenmerken ....................................................................................... 26 2.4 QuickTime............................................................................................ 29 2.4.1 kenmerken ....................................................................................... 29 2.5 Flash ................................................................................................... 32 2.5.1 Kenmerken ....................................................................................... 33 2.6 Ogg..................................................................................................... 36 2.6.1 Kenmerken ....................................................................................... 37 2.7 Matroska.............................................................................................. 39 2.7.1 Kenmerken ....................................................................................... 40 3 Streaming landschap ..................................................................................... 43 3.1 Matrix van kenmerken ........................................................................... 43 3.2 Landschap van score, bandbreedte en toepassing ...................................... 45 4 Conclusie ..................................................................................................... 50 5 Bijlage A - H.264 proefopstelling...................................................................... 52 5.1 H.264 workflow..................................................................................... 52 5.2 H.264 architectuur ................................................................................ 54 5.2.1 Live HD encoding in H.264 .................................................................. 55 5.3 Podcast server - sneak preview ............................................................... 57 5.3.1 Podcast server - workflow ................................................................... 58 5.3.2 Podcast server - functionaliteiten ......................................................... 59 5.3.3 Podcast server – netwerk architectuur .................................................. 61 5.4 H.264 Apparatuur.................................................................................. 63
  • Streaming Video Formaten pagina 5/63 1 Inleiding streaming Alvorens dit rapport de streaming video formaten beschrijft in hoofdstuk 2 en verder wordt in dit hoofdstuk eerst een korte inleiding op de term streaming gegeven. Van de lezer wordt verwacht dat deze begrip heeft van de terminologie en basiskennis heeft van streaming technologie. Met het onderzoek beogen we de lezer een leidraad te geven bij het maken van een keuze van een streaming video formaat voor het inzetten van streaming video in zijn project of instelling. Hoofdstuk 2 beschrijft de streaming video formaten in detail. In hoofdstuk 3 worden de kenmerken van de verschillende formaten met elkaar vergeleken en in hoofdstuk 4 volgt de conclusie. In bijlage A wordt een proefopstelling beschreven waarbij het H.264 formaat gebruikt wordt. H.264 is een van de formaten die in dit rapport besproken wordt en waar SURFnet in de toekomst verder mee wil gaan voor streaming van MPEG 4 en High Definition (HD) video. Deze inleiding is bedoeld om het geheugen weer even op te frissen en om de streaming video formaten in de juiste context te plaatsen. De term streaming wordt hieronder uitgelegd op vier verschillende manieren. We beginnen met: wat is streaming en wat zijn de verschillende streaming technieken? Vervolgens worden de twee belangrijkste technologische eigenschappen van streaming toegelicht; compressie en protocollen. Als laatste wordt uitgelegd wat onder streaming video formaten wordt verstaan. 1.1 Streaming technieken Streaming is de techniek waarbij een audio- of videobestand via een netwerk beluisterd of bekeken kan worden, zonder het eerst volledig op de PC te downloaden. Dit in tegenstelling tot de standaard manier van downloaden (‘klassiek downloaden’) waarbij een bestand wel eerst volledig binnengehaald moet zijn voordat het bestand kan worden weergegeven. Men onderscheidt meerdere technieken bij het streamen: progressief downloaden, RTSP streaming, peer-to-peer streaming en podcasting. 1.1.1 Progressief downloaden – Progressive download Bij een progressive download wordt de data, net zoals bij een gewone download, volledig op de computer van de gebruiker opgeslagen alvorens te kunnen worden bekeken. Maar het is mogelijk om het reeds gedownloade deel te bekijken alvorens de volledige file is overgehaald. Progressive download kan vanaf een klassieke (HTTP) webserver worden aangeboden. Het bekijken van videobestanden via progressive download gaat sneller dan via klassieke download omdat niet eerst het hele bestand lokaal moet wordt opgeslagen voordat het kan bekeken worden. Toch heeft progressive download zijn beperkingen.
  • Streaming Video Formaten pagina 6/63 • Het videobestand wordt opgeslagen op de lokale computer en daarom heeft de gebruiker een bepaalde hoeveelheid schijfruimte nodig. • Het is niet mogelijk het einde van het bestand te bekijken voor het volledig overgehaald is. Daarom is progressive download minder aan te raden voor langere videofragmenten. 1.1.2 Streaming: RTSP RTSP staat voor Real Time Streaming Protocol, wat betekent dat de data vrijwel onmiddellijk na verzending bekeken kan worden. In tegenstelling tot bij progressive download kan ieder fragment van een videosequentie worden opgevraagd zonder dat de voorgaande sequenties gedownload zijn. Voor het kunnen afspelen van streaming bestanden heb je een speciale streaming server nodig. Op het moment dat de gebruiker een videobestand opent, begint de server met het verzenden van de datastroom naar de computer van de gebruiker. De stroom wordt eerst opgeslagen in een buffer in de computer van de gebruiker. Deze buffer vangt mogelijk kleine vertragingen op. Zodra er genoeg materiaal in de buffer zit, begint de player met het afspelen van de stroom. Het streaming proces betekent een enorme vooruitgang voor het gebruik van video en audio bestanden, maar er zijn enkele voorwaarden waaraan voldaan moet worden voordat streaming kan worden toegepast: • Zoals eerder gezegd: er is een speciale streaming server nodig. • Omdat de data in een voortdurende stroom naar de gebruiker gezonden wordt is er ook een constante verbinding met de server nodig om het bestand te kunnen bekijken. Dit in tegenstelling tot ‘klassiek downloaden’ waarbij voor het afspelen van de video niet nodig is dat er een verbinding met de server in stand wordt gehouden. De video staat immers op de lokale schijf. • Daarnaast blijft het noodzakelijk dat er voldoende bandbreedte beschikbaar is op het netwerk. Want in tegenstelling tot progressive download waarbij de TCP technologie garandeert dat alle informatie goed over gestuurd wordt, wordt bij RTSP streaming over UDP de verloren gegane informatie niet opnieuw opgevraagd. Wanneer de beschikbare bandbreedte bij de ontvanger lager is dan de bandbreedte van de stream dan zal de beeld- en klankkwaliteit verslechteren. De streaming technologie wordt dan ook vooral toegepast bij lange videofragmenten en bij live evenementen. Daarnaast gelden er meestal andere regels ten aanzien van het afdragen van auteursrechten wanneer er sprake is van streaming ten opzichte van het als download aanbieden van dit materiaal. Dit heeft te maken met het feit dat een gedownloade video nu eenmaal makkelijker te verspreiden is dan wanneer de video alleen als een stream wordt aangeboden.
  • Streaming Video Formaten pagina 7/63 Kenmerken progressive downloaden versus streaming server Wat zijn nu precies de overeenkomsten en verschillen tussen het progressief downloaden van een bestand en het bekijken van het zelfde bestand op een streaming server? klassiek progressief streaming server downloaden downloaden encoding nodig? nee ja ja bestand wordt op lokale schijf ja ja nee opgeslagen? begin van bestand kan bekeken worden terwijl nee ja ja downloaden nog bezig is? achtereenvolgens worden eerst minder beelden per seconde vertoond (bij weergave wordt doorlopend geluid), onderbroken totdat Wat gebeurt er bij te weinig downloaden duurt weer voldoende bandbreedte? langer vervolgens wordt materiaal gedownload is videoweergave onderbroken terwijl getracht wordt het geluid te blijven weergeven Is het mogelijk om vooruit te springen (om bijvoorbeeld nee nee ja meteen het einde van de film te bekijken) 1.1.3 P2P streaming De term P2P verwijst naar een peer-to-peer netwerk ofwel een computernetwerk dat geen vaste werkstations en servers heeft, maar een aantal gelijkwaardige (Engels: peer = gelijke) aansluitingen die samen tegelijkertijd functioneren als server en werkstation voor de andere aansluitingen in het netwerk. De term P2P wordt het meest gebruikt als men het heeft over uitwisselingsnetwerken. Deze netwerken bieden de mogelijkheid om gratis en grotendeels anoniem bestanden over te zenden tussen PC’s die verbonden zijn met het internet. De Engelse benaming hiervoor is filesharing. Bekende uitwisselingsnetwerken zijn bijvoorbeeld Kazaa, Gnutella, BitTorrent, eMule en eDonkey. Live audio en video uitzendingen zijn middels deze P2P technologie erg efficiënt te distribueren. Men spreekt dan over P2P streaming. Distributie van televisie programma’s middels P2P technologie wordt gezien als een toepassing met veel potentieel. Momenteel staat het echter nog in de kinderschoenen en ondanks de momenteel positieve geluiden die worden verspreid tonen de huidige proeven aan dat minder bekende titels slecht verspreid worden, dat de verspreiding niet te controleren of te meten is en met name dat de kwaliteit en betrouwbaarheid van de signalen ver onder de
  • Streaming Video Formaten pagina 8/63 maat is. Het probleem met peer-to-peer is dat het niet gegarandeerd is dat data met voldoende snelheid over gehaald kan worden. Kazaa en eMule zijn hier een goed voorbeeld van, maar bij BitTorrent is dat probleem grotendeels opgelost. Op basis van BitTorrent zijn er zelfs speciale P2P streaming netwerken en toepassingen: Tribler, CoolStreaming, ppLive en SopCast. Meer informatie hierover is te vinden op: • http://tribler.org/ • http://www.coolstreaming.org/ • http://www.pplive.com/ • http://www.sopcast.org/ Zoals dat gaat bij P2P-systemen moet je voor ppLive en Sopcast software downloaden. Deze software ontvangt de uitzendingen en zorgt ervoor dat je behalve ontvanger ook zender bent. Je krijgt voor elke zender te zien hoe goed de te verwachten kwaliteit is, op grond van het aantal 'peers' dat naar dezelfde zender kijkt en deze dus ook uitzendt. Dat wordt niet altijd waargemaakt. Sommige zenders komen hakkelend binnen of helemaal niet; andere zijn behoorlijk goed. Je merkt dus dat je hierbij afhankelijk bent van andere kijkers en geen kwaliteitsgarantie krijgt. Dit in tegenstelling tot streaming vanaf een bepaalde server waarbij de server het hele bestand aanbiedt. Groot probleem bij deze techniek is echter dat materiaal waar rechten op zitten ook eenvoudig en anoniem verspreidt wordt. Vooral Amerikaanse bedrijven reageren fel op dit ongeoorloofd gebruik. Het wachten is inderdaad op bedrijven die op deze manier legaal beelden aanbieden. Anders herhaalt de geschiedenis van Napster en Kazaa zich. Meer informatie over P2P streaming is te vinden op: • http://all-streaming-media.com/peer-to-peer-TV/p2p-media- streaming-peer-to-peer-streaming-Internet-TV.htm 1.1.4 VODcasting De term VODcasting is een combinatie van VOD, wat staat voor Video On Demand, en webcasting of broadcasting. Voorheen werd VODcast ook wel Video RSS Feed, Videocast, Video Podcast of VLOG genoemd. De VODcast technologie maakt het mogelijk dat het materiaal zowel via een stream als via een download bij de gebruiker komt. Distributie via downloads biedt de gebruiker de optie om het materiaal offline te bekijken, verder te distribueren en te synchroniseren met bijvoorbeeld mobiele afspeelapparatuur. VODcasting maakt gebruik van een RSS-feed. Hiermee worden de gegevens over de video omgezet in een formaat waarmee andere sites of programma's deze informatie automatisch in hun eigen omgeving kunnen tonen. Je geeft eenmalig aan welke RSS-feed je wilt ontvangen en nieuwe uitzendingen komen dan automatisch beschikbaar. Zo kan VODcasting gezien worden als on-demand TV-kanalen waarbij je niet afhankelijk bent van wat er op dat moment wordt uitgezonden, maar zelf bepaalt wat je wilt
  • Streaming Video Formaten pagina 9/63 zien, op welk tijdstip en waar. Het maakt daarbij niet uit of je daarvoor je desktop PC, het televisiescherm of een portable media speler gebruikt. Sinds kort is er zelfs een aparte RSS standaard beschikbaar speciaal voor het gebruik van VODcasts van TV-kanalen waarbij ook een EPG (Elektronische Programma Gids) is opgenomen. Om VODcasts te kunnen gebruiken heb je een VODcast client nodig. Apple is het eerste bedrijf wat de VODcast technologie volledig in haar producten heeft geïntegreerd. iTunes, iPod en Front Row zijn de bekendste voorbeelden daarvan. Meer informatie over VODcasting is te vinden op: • http://www.vodcast.nl/ • http://www.rss-tv.org/ • http://www.apple.com/itunes/overview/index.html 1.2 Compressie: codecs Om data te kunnen comprimeren is een codec nodig. Het woord codec is een samentrekking van coder en decoder. Een codec is software waarmee je grote videobestanden (zoals avi) kunt comprimeren in kleinere bestanden zodat ze te streamen zijn over internet, en weer te decomprimeren zijn zodat ze te bekijken zijn via een player. Compressie heeft als gevolg dat het bestand kleiner wordt. Door de compressie wordt de beeldkwaliteit ook vaak minder tenzij voor speciale lossless compressie protocollen gekozen wordt. Lossless compressietechnieken kunnen echter niet zover comprimeren als compressie technieken die data weggooien en daardoor kwaliteitsverlies opleveren (lossy technieken). Naast de gebruikte codec, en dus compressietechniek, is de beeldkwaliteit ook afhankelijk van de bitrate; de hoeveelheid bits die per seconde over een netwerk worden verstuurd. Deze bitrate wordt vaak vastgesteld in het compressie proces om de kwaliteit van de videobeelden te garanderen. Bij onvoldoende bandbreedte voor een bepaalde bitrate worden de videobeelden vaak haperend weergegeven omdat niet alle bits bij de player komen. Dit moet voorkomen worden. Het is dus belangrijk een juiste bitrate te kiezen voor de gebruikersgroep die bereikt moet worden. Gebruikers met een mobiel apparaat kunnen 56 kbps ontvangen, dat zijn, kleine beeldjes, weinig kleuren en niet te veel beeldjes per seconde. Gebruikers thuis met een goede ADSL aansluiting kunnen televisie kwaliteit beeld ontvangen. Gebruikers met een SURFnet aansluiting kunnen ook video in HD kwaliteit ontvangen. De bitrate wordt bepaald door drie factoren: het aantal beelden per seconde, de kleurdiepte van de beelden en de afmeting van de beelden. Het aantal beelden per seconde is standaard 25 voor televisie in Nederland; het PAL formaat. Met 15 beelden per seconde kun je echter ook goede animatie maken. In High Definition video praat je al gauw over 50 beelden per seconden. De kleurdiepte wordt bepaald in het aantal bits dat per pixel voor iedere kleur wordt gebruikt, 8,16, 24 bits of true color. Het formaat van het beeld wordt vastgesteld in breedte bij hoogte. Voor PAL is dit 720 pixels hoog bij 576 pixels breed. High Definition is 1280 x 720 of
  • Streaming Video Formaten pagina 10/63 zelfs 1920 x 1080. Voor mobiel is dit weer veel minder, bijvoorbeeld 352 x 288 pixels, het CIF formaat. 1.2.1 Veel verschil in codecs Voor streaming video is er op dit moment niet één standaard formaat (meer over formaten in het volgende hoofdstuk) aan te wijzen. Dit betekent dat er meerdere formaten naast elkaar bestaan. De logische gevolgen hiervan zijn compatibiliteitsproblemen tussen de formaten. Net als er verschillende formaten zijn, zijn er ook verschillende codecs ontwikkeld. Een aantal codecs hoort bij een specifiek videoformaat, terwijl andere codecs voor meer formaten ingezet kunnen worden. Allereerst zijn er verschillende codecs gekoppeld aan videoformaten ontwikkeld door de Moving Pictures Experts Group (MPEG). MPEG is een consortium van bedrijven dat zich bezig houdt met de ontwikkeling van niet-commerciële internationale standaarden. De MPEG-standaarden ontwikkeld door deze groep, zijn de belangrijkste en de bekendste compressietechnieken voor audio en video. Maar er zijn ook bedrijven die een eigen standaard voor compressie hebben ontwikkeld, gekoppeld aan een eigen videoformaat en een specifieke player. De drie belangrijkste commerciële videoformaten zijn RealVideo, Windows Media en Quicktime. Er bestaat nogal wat verschil in beeldkwaliteit van de verschillende technologieën. 1.3 Protocollen Om streaming video te kunnen gebruiken is, naast de codecs, ook een aantal internetprotocollen nodig. Een protocol beschrijft hoe het dataverkeer tussen computers moet verlopen. De protocollen bevinden zich op verschillende lagen van het OSI-model. Dit OSI-model is een verzameling afspraken over de manieren van communiceren tussen twee of meerdere computersystemen. Dit model deelt de communicatie in zeven lagen. Twee lagen zijn in dit kader relevant: de transportlaag en de applicatielaag. 1.3.1 Protocollen in de transportlaag Het internet gebruikt TCP/IP als protocol, maar dit protocol is voor streaming video minder geschikt doordat het een hoge foutcorrectie heeft. Fouten worden snel uitgefilterd, met als gevolg dat het videobeeld direct zou stoppen in het geval dat een datapakketje niet correct binnenkomt. Een foutje dat in een videobeeld sluipt, hoeft voor de weergave niet hinderlijk te zijn. Daarom is het beter een protocol te gebruiken die niet zo foutgevoelig is. Een voorbeeld van een dergelijk protocol is het UDP protocol. UDP Dit staat voor User Datagram Protocol. Ondanks verloren of vertraagd ontvangen pakketjes gaat het dataverkeer, en dus de video, gewoon door. Dit dankt UDP aan het feit dat het niet over een ingebouwd controlemechanisme beschikt dat de datastroom stopt zodra een datapakketje niet correct binnenkomt. Toch is het van belang dat de
  • Streaming Video Formaten pagina 11/63 pakketjes in de juiste volgorde worden afgespeeld. Hiervoor heeft UDP de hulp van het RTP protocol nodig. RTP Het Real-time Transport Protocol is een transportprotocol dat gebruikt wordt door applicaties die real-time data versturen. In tegenstelling tot UDP beschikt RTP wel over een ingebouwd controlemechanisme dat de juiste volgorde van datapakketjes kan controleren. Het nadeel van RTP is dat het de aflevering van pakketjes niet kan garanderen. Daarom moet het gebruikt worden met een ander protocol, zoals UDP, dat voor een gegarandeerd transport zorgt. VDP Een variant op het RTP protocol is het Video Datagram Protocol (VDP). De betrouwbaarheid van de datastroom bij het VDP protocol is een stuk beter. Dit komt doordat het gebruik maakt van het feit dat er tussen de computer van de gebruiker en de server een directe één op één verbinding bestaat gedurende de datastroom. Er staan op het moment van de datastroom twee afzonderlijke kanalen tussen de computer en de server open. Het ene kanaal controleert het andere kanaal dat de werkelijke data doorstuurt. 1.3.2 Protocollen in de applicatielaag Het applicatieprotocol zorgt ervoor dat de applicatie op de juiste manier met de lager gelegen transportlaag communiceert. Het applicatieprotocol controleert ook de volgorde en de volledigheid van de ontvangen datapakketjes. In de applicatielaag zijn twee veelgebruikte protocollen voor streaming aan te wijzen: HTTP en RTSP. HTTP Het Hyper Text Transfer Protocol is het standaardprotocol in de applicatielaag voor het uitwisselen van informatie op het internet. HTTP is een eenvoudig protocol dat allerlei soorten informatie door kan geven, van tekst tot videobestanden. Maar HTTP is niet speciaal ontwikkeld voor streaming video. RTSP is een alternatief protocol dat wel specifiek voor streaming is ontwikkeld. RTSP Het Real Time Streaming Protocol is ontwikkeld door RealNetworks, Netscape en Columbia University en beter geschikt voor streaming dan HTTP. Het grote verschil met HTTP is dat in RTSP uitgebreidere communicatie tussen player en server is gedefinieerd. Met RTSP kunnen daardoor commando’s aan een streaming server gegeven worden waarmee video files bestuurd kunnen worden, zoals het aanpassen van bandbreedte als deze niet voldoende is. Het is ontwikkeld om met de verschillende protocollen uit de transportlaag te kunnen werken.
  • Streaming Video Formaten pagina 12/63 1.4 Formaten De term ‘formaat’ wordt gebruikt om een video technologie te benoemen. Onderdelen van een video technologie zijn codecs, containers, maar ook servers, players en afspeelapparaten. Zo heeft Microsoft onder de naam Windows Media al deze onderdelen benoemd. Soms is de naam van het formaat hetzelfde als de naam van de codec die een videobestand heeft gecomprimeerd. Bijvoorbeeld de video codec van Real is RealVideo 10. Het formaat komt ook vaak overeen met de naam van de container die in een specifieke video technologie wordt gebruikt. Een container is een soort envelop waarin afzonderlijk video bestanden, audio bestanden, ondertitels, menu’s en andere elementen van een volledig video bestand gegroepeerd zijn. Een container is dus een file met daarin verwijzingen naar andere files. Het QuickTime formaat van Apple ziet er bijvoorbeeld uit als hiernaast. Er is een onderscheidt te maken in open standaarden en proprietary video formaten. De belangrijkste formaten worden hieronder genoemd. In het volgende hoofdstuk worden deze (en andere) formaten aan een nader onderzoek onderworpen. 1.4.1 Open standaard formaten De belangrijkste en bekendste compressietechnieken voor audio en video zijn ontwikkeld door de Moving Pictures Experts Group. MPEG is een consortium van bedrijven dat zich bezig houdt met de ontwikkeling van niet- commerciële internationale standaarden. MPEG is er in verschillende smaken. Het MPEG formaat heeft een duidelijk focus op de gebruikte compressie. MPEG is daarnaast ook een container. Maar in tegenstelling tot de proprietary formaten biedt MPEG niet standaard een server of een player. MPEG-1 MPEG-1 is oorspronkelijk als compressiestandaard ontwikkeld voor VHS- kwaliteit video op cd-rom, ook bekend als video cd (VCD). Met de komst van nieuwe formaten met betere compressie technieken en de wens voor hogere kwaliteiten wordt dit MPEG-1 formaat tegenwoordig niet veel meer gebruikt. MPEG-2 De MPEG-2-standaard is ontwikkeld voor digitale TV-uitzendingen en DVD- films. Hij levert een betere beeldkwaliteit dan MPEG-1. Toch wordt MPEG-2 niet echt veel gebruikt voor streaming video. De benodigde bitrate en daarmee de eisen aan de verbinding zijn hiervoor te hoog en het aanbod van geschikte streaming servers en players is beperkt.
  • Streaming Video Formaten pagina 13/63 MPEG-4 De MPEG-4-standaard is in 1998 beschikbaar gekomen. Deze standaard biedt een zeer goede compressie waardoor de bestanden kleiner zijn dan bij MPEG-1 en MPEG-2. De MPEG-4-standaard is ontworpen voor gebruik bij lage bandbreedte, zoals streaming video over het internet. 1.4.2 Commerciële videoformaten Naast de MPEG-standaarden is ook een aantal commerciële standaarden ontwikkeld door bedrijven. De drie belangrijkste commerciële videoformaten zijn RealVideo, Windows Media en QuickTime. Een nieuwkomer is Flash. De formaten bieden een breed scala aan producten. Ieder heeft zijn eigen container, codecs, streaming servers en spelers. Real Video (.ra, .ram, .rm) RealVideo van het bedrijf Real Networks was een populair formaat voor streaming video op internet. De compressiemethode is vooral geschikt voor het streamen van bestanden over internet. De beeldkwaliteit is laag, zeker als je het vergelijkt met MPEG, maar daar staat tegenover dat de bestanden veel kleiner zijn. De player voor RealVideo heet RealOne. Tegenwoordig stappen veel aanbieders over naar een ander platform vanwege de hoge licentie kosten die Real vraagt. Windows Media (.asf, .asx, .wma, .wmv) Net als RealVideo wordt Windows Media van Microsoft gezien als een oplossing voor lage bandbreedte. Doordat Microsoft achter Windows Media zit en het gratis met Windows is meegeleverd, is het bijna vanzelfsprekend tot een pseudo-standaard verworden. QuickTime (.qt, .mov) QuickTime is een door Apple ontworpen videoformaat. Met de QuickTime player kunnen QuickTime films worden afgespeeld. Over het algemeen wordt QuickTime als een oplossing voor lage bandbreedte gezien. Flash (.flv, .swf) Flash is een door Macromedia (nu Adobe) ontwikkeld programma waarmee animaties, korte filmpjes en webapplicaties gemaakt kunnen worden. De nieuwste versie van Flash, Flash8 heeft een veel betere ondersteuning voor streaming video. De kwaliteit is stukken beter dan de oudere versies.
  • Streaming Video Formaten pagina 14/63 2 Streaming video formaten Dit hoofdstuk geeft een overzicht van de belangrijkste streaming video formaten van het moment. Formaten zullen zo vaak mogelijk naar het container formaat refereren. Soms zal echter ook de codec dezelfde naamgeving hebben. Andere formaten verwijzen naar een heel scala aan producten. Zie voor meer uitleg over de term formaten de inleiding hierboven. De formaten die onderzocht worden zijn: • MPEG (1,2 en 4) • Real • Windows Media • QuickTime • Flash • Ogg • Matroska Ieder formaat zal in een apart hoofdstuk beschreven worden en de meest uit het oog springende eigenschappen van een formaat zullen aan het licht gebracht worden. De eigenschappen waar naar gekeken worden zijn: Kenmerk Uitleg Formaat gegevens • File Extentie De extensie van de file. • Mime-type Het mime-type van de file. • Type formaat Het type formaat; is het een codec of container? Protocollen Welke protocollen gebruikt het formaat om te streamen. Voorbeelden zijn HTTP, RTSP, UDP, multicast. Codecs • Bitrate De bandbreedte die gebruikt wordt bij het streamen van het formaat. • Video o Framesize De breedte en de hoogte van het video beeld. o Framerate De hoeveelheid beeldjes per seconden (framerate en framesize samen worden ook wel resolutie genoemd). o HD ondersteuning Kan ook het HD formaat gestreamed worden met dit formaat. • Audio o channels Hoeveel kanalen geluid worden ondersteund; stereo of ook surround sound. o samplerate Het aantal geluidssamples per seconde. o samplesize De precisie van een geluidssample. Welke encoders Met welke encoders wordt in het algemeen dit
  • Streaming Video Formaten pagina 15/63 formaat gecreëerd. Welke servers Met welke servers wordt in het algemeen dit formaat gestreamed. Welke players • Dekkingsgraad player Hoe verspreid is de player onder de PC gebruikers. • Embed mogelijkheden Is het mogelijk de player in een HTML pagina of player applicatie te embedden. • Interactie mogelijkheden Is het mogelijk de player extern te bestuderen. player Geschikt voor live Kan het formaat ook live uitgezonden worden. Geschikt voor on-demand Kan het formaat ook on-demand uitgezonden worden. Keten ondersteuning • Capture Zijn er mogelijkheden om het formaat te capturen van een camera bron. • Encoding Zijn er mogelijkheden een bron (camera of bestand) om te zetten naar het formaat. • Editing Kunnen we het formaat editen en informatie aan de video toevoegen. • Mastering Hoe wordt het formaat gedistribueerd, via files of streaming of dvd. • Transcoding Kan het formaat eenvoudig omgezet worden naar een ander formaat en vica versa. • Distribution Hoe wordt een video uit dit formaat verspreid. • Playing Hoe wordt een video afgespeeld. Delivery platform • Mobile Kan het formaat ook streamen naar een mobiel device. • Pc Kan het formaat streamen naar een PC. • Settopbox Kan het formaat streamen naar een settopbox. • PDA Is het formaat afspeelbaar op een PDA. DRM Ondersteunt het formaat ook afscherming van de video. Open standaard Is het formaat gebaseerd op een open standaard. Kosten Zijn er kosten aan verbonden?
  • Streaming Video Formaten pagina 16/63 2.1 MPEG (MPEG-1, MPEG-2 en MPEG-4) MPEG is de Moving Picture Experts Group die zich bezig houd met een standaard voor audio en video codering. MPEG heeft een aantal compressieformaten gestandaardiseerd en beschrijft de bitstream en de decoder. Een bitstream is de vorm waarin data zich bevindt in een reeks van bits die gebruikt wordt in een videobestand. MPEG beschrijft niet het encoding proces. Als er maar een juiste bitstream wordt gecreëerd door de encoder dan kan een decoder van de bitstream de data decoderen. MPEG-1 is de eerste MPEG compressiestandaard voor audio en video. Deze is gebruikt voor de video-cd. Het audio formaat MP3 is onderdeel van deze standaard. MPEG-1 comprimeert data tot maximaal 1.5 mbps en daarmee is VHS kwaliteit video te realiseren. MPEG-2 is ontwikkeld voor transport van hoge kwaliteit audio en video voor de broadcast industrie. Het wordt gebruikt voor digitale televisie en DVD en is ook toepasbaar voor HD. Voor DVD kwaliteit video is een bitrate van +/- 5 mbps standaard en voor HDV kwaliteit is dat +/- 20 mbps. MPEG-4 is een uitbreiding op de MPEG standaard om ‘objecten’ en DRM te ondersteunen. Ook kan MPEG-4 beter toegepast worden voor lage bitrate encoding. Door de efficiënte compressie van MPEG-4 en daardoor de grote winst aan bandbreedte (met behoud van kwaliteit) is de verwachting dat MPEG-4 de toepassingen van MPEG-1 en MPEG-2 in de toekomst zal overnemen. MPEG-4 is een veelzijdig formaat, zoals te lezen is uit onderstaande quote: “ The following formats and bitrates are be supported by MPEG-4 Visual : • bitrates: typically between 5 kbit/s and more than 1 Gbit/s • Formats: progressive as well as interlaced video • Colors: Different color sampling formats (including 4:2:0, 4:2:2 and 4:4:4) • Resolutions: typically from sub-QCIF to 'Studio' resolutions (4k x 4k pixels)“ MPEG is uitermate geschikt voor streaming omdat de bitstream de basis is voor de standaard. Met name de MPEG-2 transport stream is geschikt voor Internet streaming. De transport stream pakketten zijn altijd 188 bytes groot en samen met goede timing informatie maakt dat het geschikt voor transport over IP. MPEG specificeert echter alleen de bitstream en de decoder. Er is dus geen sprake van een gespecificeerde MPEG streaming server, MPEG Encoder/Producer, MPEG player en andere tools die bij een formaat als Windows Media en QuickTime bijvoorbeeld wel aan bod komen. Het voert te ver om in dit onderzoek verschillende MPEG producten met elkaar te vergelijken, daarom zal MPEG alleen als compressie methode beschreven worden. Lees meer over MPEG op: • http://www.chiariglione.org/MPEG/ • http://www.MPEG.org/MPEG/index.html • http://www.MPEGif.org/ • http://bmrc.berkeley.edu/frame/research/MPEG/
  • Streaming Video Formaten pagina 17/63 2.1.1 kenmerken Formaat gegevens • File extensie: .mp3, .mpg, .mpeg, .mp4 • Mime-type: video/mpeg, audio/mpeg • Type formaat: codec/container Protocollen Met name MPEG-2 transport streams zijn direct te transporteren over UDP. MPEG wordt op deze manier met name gebruikt voor live multicast streaming. Codecs MPEG biedt zoals eerder gezegd geen specificaties voor encoders. De bitstream is het formaat. Er zijn wel een aantal richtlijnen waarop encoders standaardiseren. Voor de verschillende formaten worden hieronder de richtlijnen beschreven. MPEG-1 MPEG-1 heeft zijn oorsprong in de CCIR-610 digitale televisie standaard en het bron formaat is van oorsprong SIF. MPEG-1 is daarom vaak gecodeerd op SIF resolutie en dat komt neer op 352x240 @ 30HZ of 352 x 288 @ 25 HZ. Beide encodings zijn progressive. Het MPEG-1 formaat is geoptimaliseerd voor cd-rom en applicaties met een totale bitrate van maximaal 1.5 mbps. Bitrates van 1.15 mbps zijn daarbij standaard voor de video component en 256 kbps voor audio. MPEG-2 MPEG-2 beschrijft profiles en levels, de levels beschrijven maximale resoluties die gedecodeerd moeten kunnen worden. Een voorbeeld is Main Profile@Main Level en die is nodig voor digitale televisie uitzending of DVD opslag. Er zijn 4 levels: Low, Main (SD), High-1440 en HIGH (HD), voor elk van deze levels wordt hieronder de maximale bitrate gegeven en de preferred bitrate. De preferred bitrate is de bitrate die nodig is om de video op de gegeven resolutie zonder noemenswaardig kwaliteitsverlies af te kunnen spelen. level max. bitrate preferred resolution bitrate 1 4 mbps 2 mbps 352 x 240 @ 25 Hz Main 15 mbps 4-6 mbps 720 x 576 @ 25 Hz High-1440 60 mbps 1440 x 1152 @ 25 Hz (HDV) High 80 mbps 19.2 mbps 1920 x 1080 @ 25 Hz (1080p) MPEG-2 is in tegenstelling tot MPEG-1 zowel voor interlaced als progressive input geschikt. (MPEG-1 is alleen progressive.)
  • Streaming Video Formaten pagina 18/63 MPEG-4 MPEG 4 heeft twee grote encoding stromingen. De eerste is MPEG-4 part 2 en 3 (part 2 voor video en part 3 voor audio encoding). De tweede is MPEG- 4 part 10, ook wel AVC (advanced video coding) en H.264 genoemd. Hieronder zoomen we in op H.264. H.264 is uitgerust met de meeste nieuwe algoritmes waarmee op dit moment video het best kan worden gecomprimeerd. H.264 bestaat net als MPEG-2 uit profiles en levels. De profiles worden gebruikt om H.264 in verschillende toepassingen te kunnen gebruiken. De verschillende profiles zijn: • Baseline, voor videoconferencing en mobiele toepassingen. • Main, voor mainstream consumenten toepassingen, zoals televisie uitzending en opslag, wordt opgevolgd door het high profile. • Extended, bedoeld voor streaming video met hoge compressie mogelijkheden en voorbereid op data loss. • High, Bedoeld voor HD televisie en opslag (zoals HD DVD en Blu-Ray) • High 10, beter dan het high profile omdat er 10 bits (ipv. 8) gebruikt worden voor de precisie. • High 4:2:2, voor professionele toepassing is dit het profile met betere kleuren samples bovenop de 10 bit encoding. De levels beschrijven de maximale mogelijkheden van de bitrate per resolutie. Voor de eenvoud van de tabel zijn de bitrate voor de hoogste twee profiles, High 10 en High 4:2:2 uit de tabel gehaald, deze zijn respectievelijk een factor 3 en 4 groter dan main profile. level max. bitrate max bitrate resolution < main profile high profile 1 64 kbps 80 kbps 128 x 96 @ 30 Hz 176 x 144 @ 15 Hz 1b 128 kbps 160 kbps 128 x 96 @ 30 Hz 176 x 144 @ 15 Hz 1.1 192 kbps 240 kbps 176 x 144 @ 15 Hz 320 x 240 @ 10 Hz 352 x 288 @ 7.5 HZ 1.2 384 kbps 480 kbps 320 x 240 @ 20 Hz 352 x 288 @ 15 HZ 1.3 768 kbps 960 kbps 320 x 240 @ 36 Hz 352 x 288 @ 30 HZ 2 2 mbps 2.5 mbps 320 x 240 @ 36 Hz 352 x 288 @ 30 HZ 2.1 + 2.2 4 mbps 5 mbps 352 x 480 @ 30 Hz 352 x 576 @ 25 HZ 3 10 mbps 12.5 mbps 352 x 480 @ 60 Hz 352 x 576 @ 50 HZ 720 x 480 @ 30 Hz 720 x 576 @ 25 HZ 3.1 14 mbps 17.5 mbps 720 x 480 @ 80 Hz 720 x 576 @ 66 HZ 1280 x 720 @ 30 3.2 20 mbps 25 mbps 1280 x 720 @ 60 Hz 1280 x 1024 @ 42 Hz 4 20 mbps 25 mbps 1280 x 720 @ 68 Hz 1920 x 1080 @ 30 Hz
  • Streaming Video Formaten pagina 19/63 2048 x 1024 @ 30 Hz 4.1 + 4.2 50 mbps 62.5 mbps 1280 x 720 @ 68 Hz 1920 x 1080 @ 30 Hz 2048 x 1024 @ 30 Hz 5 135 mbps 168.75 mbps 1920 x 1080 @ 72 Hz 2048 x 1024 @ 72 Hz 2560 x 1920 @ 30 Hz 3680 x 1536 @ 26 Hz 5.1 240 mbps 300 mbps 1920 x 1080 @ 120 Hz 4096 x 2048 @ 30 Hz Wat in de tabel duidelijk naar voren komt is dat H.264 is voorbereid op de toekomst. Het ondersteunt zowel streaming naar mobiel op de allerlaagste bitrates en resoluties als streaming van 4K video (digitale cinema) op de hoogste bitrate en resolutie. Een preferred bitrate voor H.264 is nog niet te benoemen omdat de ontwikkelingen erg snel gaan. Voor HDTV zijn experimenten geweest die uitwijzen dat met 12-16 mbps HD zonder noemenswaardig kwaliteitsverlies is te realiseren. De kwaliteit is vergelijkbaar met een 20 mbps MPEG-2 stroom. Op dit moment wordt er in de broadcast industrie gewerkt aan een 6 mbps variant voor HDTV. • Bitrate De bitrates variëren van minder dan 64 kbps voor mobiele playback tot meer dan 300 Mbps voor HD kwaliteit. • Video o Framesize: o Framerate: De resolutie loopt op tot 4096 x 2048 @ 30 Hz progressive o HD ondersteuning: Ja • Audio MPEG specificeert verschillende audio levels. Van MPEG-1 zijn er drie niveaus: layer I, layer II en Layer III. MPEG-1 audio compressie varieert tussen 32 kbps en 448 kbps. Op een bandbreedte van 128 kbps is er nauwelijks verschil hoorbaar met cd kwaliteit audio op 1.4 mbps. Het populaire MP3 audio formaat is MPEG-1 Layer III audio compressie. MPEG-2 audio introduceert multichannel audio, waar MPEG-1 alleen stereo was. De bitrate is verhoogt tot maximaal 2 mbps. Nieuw in MPEG-2 is de AAC audio encoding voor 1 tot 48 kanalen met samples van 8 tot 96 kHz. De bitrates variëren van 8 kbps tot 160 kbps per kanaal. MPEG-4 introduceert audio objects die op verschillende bitrates audio encoderen. De toepassingen maken echter nog gebruik van MP3 of AAC uit de MPEG-1 en MPEG-2 standaarden. o Channels:
  • Streaming Video Formaten pagina 20/63 o Samplerate: o Samplesize: Welke encoders Er is een breed scala aan MPEG encoders. Er zijn software matige oplossingen, van bijvoorbeeld ‘mainconcepts’, maar ook hardware matige oplossingen van Vbrick, Tandberg, AVN en nog veel meer. In dit document zullen we alleen de producten die SURFnet inzet in zijn videodiensten toelichten. Bij SURFnet gebruiken we voor live MPEG-2 uitzending de AVN encoder. Deze verstuurt een MPEG-2 6.5 mbps stroom. Daarnaast gebruiken we voor live uizending van MPEG-4 Vbrick encoders die MPEG-4 part 2 en 3 video maken tot 2 mbps. Experimenten met HD zijn gedaan met tandberg MPEG-2 en MPEG-4 encoders. In bijlage A is een beschrijving van een H.264 proefopstelling te lezen waarin SURFnet gaat experimenteren met Apple apparatuur om MPEG- 4 op verschillende bandbreedten, van mobiel tot HD, te encoderen en streamen. Meer informatie over enkele producten: • AVN:http://www.vsicam.com/index.php?p=view_product&product_id =2 • Vbrick: http://www.vbrick.com/products/MPEG-2_products.asp • Tandberg: http://www.tandbergtv.com/productview.asp?n=55 Welke servers Voor streaming van MPEG materiaal maakt SURFnet gebruik van de Kasenna Mediabase server. Welke players Er zijn verschillende type MPEG players op de markt. SURFnet maakt gebruik van de Kasenna Broadband player om alle typen MPEG materiaal uit de Kasenna Mediabase te kunnen streamen. Binnenkort stapt SURFnet over naar QuickTime voor het afspelen van MPEG- 4. De QuickTime player en server ondersteunen MPEG-4 volledig. Er zijn meerdere software spelers die verschillende smaken van MPEG kunnen streamen. Door SURFnet wordt het meest gebruik gemaakt van de Videolan player. Deze speler speelt alle type MPEG, inclusief HD formaat. Ook mplayer kan hiervoor gebruikt worden. Naast software spelers is er voor het afspelen van MPEG ook veel hardware in de vorm van settopboxen op de markt. SURFnet maakt gebruik van Amino settopboxen voor MPEG-2 SD en HD video. • Dekkingsgraad player: Nvt. • Embed mogelijkheden player: Veel players zijn te embedden in een HTML pagina.
  • Streaming Video Formaten pagina 21/63 • Interactie mogelijkheden player: geen Geschikt voor live Ja Geschikt voor on-demand Ja Keten ondersteuning • Capture • Encoding • Editing • Mastering • Transcoding • Distribution • Playing Voor de hele keten voor creëren van MPEG materiaal is ondersteuning te vinden. Omdat MPEG een open standaard is zijn er veel produkten die een of andere vorm van MPEG ondersteunen. Het is zaak om eerst te bepalen welke functionaliteit gewenst is om vervolgens het bijpassende product te kiezen. Denk je bijvoorbeeld aan transcoding, dan maakt SURFnet gebruik van Telestream FlipFactory software die van en naar MPEG-1 en MPEG-2 kan transcoderen. Wil je MPEG-4 transcoderen dan zijn oplossingen van QuickTime weer interessant. Dit geldt voor elke stap in de keten. Er is altijd wel een product wat aan je wensen voldoet vanwege de diversiteit aan produkten. Delivery platform • Mobile: Ja • PC: Ja • Settopbox: Ja • PDA: Ja DRM In de mpeg-4 specificatie is DRM opgenomen in de ‘content protection specification’. Toepassingen hiervoor worden nog ontwikkeld. Open standaard MPEG is een open standaard. Kosten De kosten variëren enorm. Er zijn veel gratis produkten waarmee iets met MPEG te doen is. Open source projecten als ffMPEG, mplayer en MPEG4ip bieden een breed scala aan producten. Daarnaast is er een grote consumenten markt voor MPEG produkten, denk bijvoorbeeld aan settopboxen die digitale video op de televisie in de huiskamer toveren.
  • Streaming Video Formaten pagina 22/63 Daarnaast zijn er ook veel kostende professionele produkten voor de broadcast industrie gebaseerd op MPEG. 2.2 Real Real levert een breed scala aan componenten voor het aanbieden van streaming audio en video. “Real is 100% focused on the business of streaming media and offers a complete line of products for creating, managing, delivering and viewing media that drives benefits for educators, administrators and students.” De belangrijkste produkten die Real levert zijn (1) de Helix Server, (2) de RealProducer en (3) de RealPlayer. De Helix server is een universele streaming server die o.a. het RealVideo formaat kan streamen, maar ook windows media en MPEG-4. Met de RealProducer kan video omgezet worden in het Real formaat en geschikt gemaakt worden voor de streaming server. Met de RealPlayer kan video afgespeeld worden bij de kijker. Om een beeld te krijgen van wat met de Real produkten mogelijk is geldt bijvoorbeeld voor het doen van een live uitzending in het Real formaat de volgende workflow: de uitzender laat het video bron signaal door de RealProducer omzetten in een digital Real signaal. De RealProducer verstuurt dit naar de helix streaming server die het signaal gaat distribueren naar de kijkers. De kijkers starten hun RealPlayer en kunnen verbinding maken met de streaming server om de live uitzending te bekijken. Voor meer informatie over Real produkten kunnen de volgende bronnen worden geraadpleegd: • http://www.realnetworks.com/ voor producenten • http://www.real.com/ voor consumenten 2.2.1 kenmerken Formaat gegevens • File extensie: .ra, .ram, .rm, .rv • Mime-type: audio/x-pn-realaudio, audio/vnd.rn-realaudio, video/vnd.rn-realvideo • Type formaat: Protocollen Helix gebruikt het standaard RTSP protocol op poort 554, daarnaast kan Helix ook Windows Media over het MMS protocol streamen over poort 1755. Als laatste streamed Helix ook multicast. Codecs Voor codering van Real streams wordt de RealProducer gebruikt, deze codeert standaard in het RealAudio 10 en RealVideo 10 formaat.
  • Streaming Video Formaten pagina 23/63 De Helix server kan ook Windows Media en MPEG-4 streamen, de RealProducer kan dit niet produceren. • Bitrate De bitrate van de RealProducer basic varieert van 12 kbps tot 5 mbps. • Video Op deze url is informatie te vinden over de video codec en is voorbeeld materiaal af te spelen en downloadbaar: http://www.realnetworks.com/products/codecs/realvideo.html o Framesize: De framesize is volledig configureerbaar in RealProducer plus. De basic versie neemt hetzelfde formaat als het bron formaat, maar de plus versie kan croppen en schalen. o Framerate: Ook de framerate is in de producer plus instelbaar. o HD ondersteuning: Ja • Audio Zie deze url: http://www.realnetworks.com/products/codecs/realaudio.html voor meer informatie over de audio codec. Bitrates tussen de 12 en 800 kbps worden ondersteunt in uiteenlopende kwaliteiten. RealAudio heeft ook een lossless compressie die gelijk is aan cd kwaliteit en dus geen kwaliteit verlies geeft. o Channels: De audio codec ondersteunt zowel stereo als 5.1 geluid o Samplerate: o Samplesize: Welke encoders De belangrijkste encoder voor het Real formaat is de RealProducer. Deze komt in twee smaken. De RealProducer basic, die gratis is en de RealProducer plus, die voor een klein bedrag meer functionaliteiten biedt. Welke servers De server die Real aanbiedt is de Helix server. Daarvan zijn drie versies beschikbaar. Voor 25 gelijktijdige streams, voor 100 gelijktijdige streams en een unlimited versie. De unlimited versie kan uitgebreid worden met een ‘mobile streaming’ component en met deze server is het ook mogelijk meerdere servers aan elkaar te knopen voor een soort van content delivery netwerk. Welke players Real levert de RealPlayer ook in twee smaken (analoog aan de producer). Er is een gratis RealPlayer en een RealPlayer enterprise. De enterprise versie is zonder reclame en registratie en kan op afstand beheerd worden om
  • Streaming Video Formaten pagina 24/63 aangepaste clients te maken voor alle desktop binnen een bedrijf met de ‘RealPlayer enterprise manager’. • Dekkingsgraad player +- 60% Bron: http://www.streamcity.co.uk/ “The latest figures on version penetration from Macromedia show that 97.4% of the online audience in Europe can now watch video in the proprietary Macromedia® Flash™format. The survey carried out by NPD Online show that penetration of the most recent (video enabled) players is much higher than any other video formats (Java - 87.4%, Windows Media Player - 84.8%, QuickTime - 66%, RealOne - 60.1% ).” • Embed mogelijkheden player Real biedt embed en scripting mogelijkheden in een HTML pagina • Interactie mogelijkheden player De RealPlayer ondersteunt SMIL om een combinatie van video, plaatjes en tekst en interactieve presentaties te maken. Zie http://www.w3.org/AudioVideo/. Geschikt voor live Ja Geschikt voor on-demand Ja Keten ondersteuning • Capture • Encoding • Editing • Mastering • Transcoding In zekere zin is de RealProducer bedoeld om alle bovenstaande taken uit te voeren. Wat betreft capturing kan met een bijpassende capture kaart het signaal direct in de producer ingelezen worden. De producer doet dan de encoding rechtstreeks naar RealMedia formaat. Onderdeel van de RealMedia producer is de RealMedia editor. Met deze editor kunnen basis taken uitgevoerd worden, zoals het begin of het eind van de file trimmen of clip informatie aanpassen. RealMedia bestanden kunnen geschikt gemaakt worden voor downloaden, afspelen op een mediaserver of van cd-rom/dvd. Met de RealProducer is het naast encoding van het live signaal ook mogelijk bestanden om te zetten naar het Real formaat. • Distribution Distributie wordt verzorgd door de Helix server. • Playing De RealPlayer is de standaard afspeel afspeelapparaat.
  • Streaming Video Formaten pagina 25/63 Delivery platform • Mobile: Ja • PC: Ja • Settopbox: Nee • PDA: Ja DRM Real heeft diverse methoden ontwikkeld om content te beschermen. Het meest eenvoudig is web-based access control. Als je de webpage niet kan benaderen, dan kan je de content ook niet zien. Daarnaast voorziet Real ook in een ticketing mechanisme waarmee links naar URL uniek worden en url’s dus niet meer doorgegeven kunnen worden van gebruiker naar gebruiker. Voor encryptie van de data heeft Real een eigen DRM ontwikkeld zodat content niet bekeken kan worden zonder een licentie sleutel. • http://www.realnetworks.com/products/security/index.html Open standaard Het Real audio en video formaat is proprietary. De server gebruikt wel open standaarden om te streamen, zoals RTSP en HTTP. Kosten Voor het simultaan uitzenden van 5 Real audio en video streams is een gratis, simpele basic versie beschikbaar. De kosten lopen op per simultane streams. Je kan kiezen voor 25, 100 of unlimited. De unlimited versie heeft ook extra functionaliteit, zoals multicast en content delivery netwerk achtige opties. Daarnaast doet alleen de laatste ook mobile streaming met H.263 en H.264. 2.3 Windows Media Windows Media is een verzamelnaam voor de digitale media componenten van Microsoft. Windows Media bestaat uit een scala aan produkten voor afspelen, encoderen en uitzenden van streaming materiaal. Microsoft biedt in de basis: • Windows Media Player 11 voor het afspelen van audio en video, Windows Media Player is onderdeel van het Windows XP operating systeem. • Windows Media Services voor distributie van audio en video. Windows Media services is onderdeel van het Windows 2003 server operating systeem. • Windows Media Encoder voor het encoderen naar het Windows Media audio en video formaat. • Windows Media Digital Rights Management voor het inpakken en veilig afleveren van de video. Met een passende sleutel kan de video uitgepakt en weer afgespeeld worden. Windows Media is sterk gefocussed op HD content. Met de nieuwe Xbox is het mogelijk HD DVD te kijken in 1080p! (let op de p). Encoding in HD kan met de VC-1 encoder. Deze encoder van Microsoft wordt gebruikt om Windows Media audio en video te maken. VC-1 is vergelijkbaar met H.264, beiden worden gezien als
  • Streaming Video Formaten pagina 26/63 mogelijke opvolger voor MPEG-2 en kunnen gebruikt gaan worden op de HD-DVD en Blu-Ray. Microsoft biedt daarnaast verschillende andere tools die voor professionals bedoelt zijn en tools om de windows media beleving te vergroten. Een selectie van deze tools is: • ‘Windows Media Professional Exhibitor’ om op een dual screen PC altijd full screen video te kijken. • ‘Windows Media ASF Viewer’ om video files te analyseren. Het container formaat van windows media is ASF (Advanced System Format) • ‘Windows Media Capture’ is een tool om uncompressed AVI op te slaan en een bron bestand te creëren van een uitzending. • ‘Windows Media Encoder Studio Edition’ is een bèta programma voor experts om HD content te encoderen. • ‘Windows Media load simulator’ kan gebruikt worden om de performance van de streaming server te testen. Lees meer over Windows Media: • Voor consumenten: http://www.windowsmedia.com/ • Voor producenten: http://www.microsoft.com/windows/windowsmedia/default.mspx • Voor ontwikkelaars: http://msdn.microsoft.com/windowsmedia/ 2.3.1 kenmerken Formaat gegevens • File extensie: .asf, .asx, .nsc, .wax, .wm, .wma, .wmd, .wmv, .wmx, .wmz, .wvx • Mime-type: video/x-ms-asf, video/x-ms-asf, video/x-ms-asf, audio/x- ms-wax, video/x-ms-wm, audio/x-ms-wma, application/x-ms-wmd, video/x-ms-wmv, video/x-ms-wmx, application/x-ms-wmz, video/x- ms-wvx • Type formaat: codec Protocollen RTSP (Real Time Streaming Protocol) op poort 554 MMS (Microsoft Media Server) protocol op poort 1755 HTTP op poort 80 Codecs Microsoft codecs zijn gebaseerd op VC-1. VC-1 is sinds kort een formele standaard geworden en ook bekend als SMPTE 421M. De Windows Media Video 9 codec (WMV9) is een implementatie van de VC-1 standaard. VC-1 specificeert onder andere de volgende profielen en levels. profile level bitrate resolution simple low 96 kbps 176 x 144 @ 15 Hz = QCIF medium 384 kbps 240 x 176 @ 15 Hz 352 x 288 @ 15 Hz = CIF main low 2 mbps 320 x 240 @ 15 Hz medium 10 mbps 720 x 480 @ 30 Hz = 480p (NTSC)
  • Streaming Video Formaten pagina 27/63 720 x 576 @ 25 Hz = 576p (PAL) high 20 mbps 1920 x 1080 @ 30 Hz = 1080p advanced L0 2 mbps 352 x 288 @ 15 Hz = CIF L1 10 mbps 720 x 480 @ 30 Hz = 480p (NTSC) 720 x 576 @ 25 Hz = 576p (PAL) L2 20 mbps 1280 x 720 @ 30 Hz = 720p L3 45 mbps 1280 x 720 @ 60 Hz = 720p 1920 x 1080 @ 24 Hz = 1080p 1920 x 1080 @ 30 Hz = 1080i L4 135 mbps 1920 x 1080 @ 60 Hz = 1080p • Bitrate: Bitrates lopen van minder dan 100 kbps tot meer dan 100 mbps. • Video: Naast de WMV 9 codec zijn er ook codecs voor screen capture van PC schermen en image conversie van een rij plaatjes naar video. o Framesize: o Framerate: Met de encoder is tot een bitrate van 20 kbps (audio en video) te configureren voor een beeld van 160x120 / 10 frames per seconde. Video formaat lopen op tot HD 1920 x1080 / 60 progressive frames per seconde o HD ondersteuning: Ja • Audio De Windows Media Audio 9 codec (WMA9) komt in verschillende smaken. Er is een lossless variant (bij deze compressie techniek gaat geen data verloren) en een voice variant (geoptimaliseerd voor stemmen). Met Windos Media Audio 10 Professional kunnen 5.1 en 7.1 geluid opgenomen worden. o channels: 2.0, 5.1, 7.1 o samplerate: o samplesize: Welke encoders Windows Media content kan gemaakt worden met de Windows Media Encoder. Voor professioneel gebruik is de Windows Media Encoder Studio Edition beschikbaar. Welke servers Windows Media Services is de streaming server van Microsoft en wordt gebundeld met Windows Server 2003 Welke players De Windows Media Player is het afspeel apparaat van Microsoft. • Dekkingsgraad player: +/- 85 % Bron: zie verwijzing bij Real formaat.
  • Streaming Video Formaten pagina 28/63 • Embed mogelijkheden player: Windows Media Player is goed te embedden in een HTML pagina en met Javascript te besturen. • Interactie mogelijkheden player: Geen Geschikt voor live Ja Geschikt voor on-demand Ja Keten ondersteuning • Capture: Voor het maken van digitale video adviseert Microsoft of direct met de Windows Media Encoder Live een Windows Media video uit te zenden en op te slaan. Of, voor on-demand, adviseert Microsoft de capture tool te gebruiken en uncompressed AVI op te slaan, welke later bewerkt kan worden. • Encoding: Met Windows Media Encoder • Editing: • Mastering: Met Windows Movie Maker kunnen video files bewerkt worden • Transcoding: De encoder kan ook gebruikt worden voor transcoding. Van de encoder is tevens een command line tool om dit te automatiseren of in batch te doen. • Distribution: Met Windows Media Server • Playing: Met Windows Media Player Delivery platform • Mobile: Ja • PC: Ja • Settopbox: Ja • PDA: Ja DRM Windows media drm is een een uitgebreid paltform waarmee digitale content beveiligd kan worden. Het platform biedt onder andere een SDK om DRM in applicaties op te nemen. Het platform ondersteund diverse toepassingen, DRM is inzetbaar bij streaming , maar ook bij downloaden of distributie op een dvd bijvoorbeeld. • http://www.microsoft.com/windows/windowsmedia/nl/drm/default.as px
  • Streaming Video Formaten pagina 29/63 Open standaard Het windows media formaat is een implementatie van VC-1 en daarmee gestandaardiseerd. Tevens is het streaming protocol RTSP standaard. De ASF container en het MMS protocol zijn proprietary. Kosten De Windows Media Server komt gebundeld met Microsoft server software. De player komt met het PC operating systeem. De encoder en andere tools zijn gratis te downloaden. 2.4 QuickTime QuickTime is de naam die Apple heeft gegeven aan zijn video producten. Apple levert een breed assortiment aan video producten met als basis de volgende: • QuickTime Streaming Server voor live en on-demand streaming van QuickTime en MPEG-4 video. • QuickTime Broadcaster voor het produceren van een live uitzending. • QuickTime Player voor het afspelen van video. • QuickTime Pro voor capture en encoderen van video. Op de streaming server zijn tools beschikbaar om het distributie proces te vereenvoudigen, zoals de QuickTime Streaming Server Publisher waarmee video’s beheerd kunnen worden en bijvoorbeeld MP3 speellijsten kunnen worden gemaakt. Apple levert verder tegen betaling een MPEG-2 playback component voor het afspelen van MPEG-2 met QuickTime Player. De basis van QuickTime is de .mov container. Dit is de container die als basis heeft gediend voor MPEG-4. De focus van Apple ligt nu op MPEG-4 en H.264 encoding. H.264 wordt gezien als de opvolger van MPEG-2. Met 3GPP (een variant van H.264) is streaming naar mobiele apparatuur op lage bandbreedte mogelijk. H.264 schaalt tot HD encoding die geschikt is voor HD-DVD en Blu-Ray. Voor audio wordt ook gebruik gemaakt van MPEG-4, nl. AAC compressie. QuickTime is een van de video gebieden waarop Apple actief is. Een ander gebied is iTunes in combinatie met de iPod voor het beheren en afspelen van muziek, video en documenten zowel op de Mac/PC als onderweg. Daarnaast is Apple actief in video bewerking met de Final Cut Studio software. Meer informatie over de QuickTime produkten is te vinden op: • http://www.apple.com/quicktime • Technologie: http://www.apple.com/quicktime/technologies/ 2.4.1 kenmerken Formaat gegevens • File extensie: .mov, .qt • Mime-type: video/quicktime • Type formaat: container
  • Streaming Video Formaten pagina 30/63 Protocollen QuickTime streamt over poort 554, RTSP en poort 80, HTTP. Codecs De belangrijkste codec die QuickTime gebruikt is H.264. Met H.264 zijn verschillende scenario’s denkbaar: scenario bitrate resolution Mobiel 50 – 60 kbps 174 x 144 @ 10-15 Hz Internet – SD 1 – 2 mbps 640 x 480 @ 24 Hz HD 5 – 6 mbps 1280 x 720 @ 24 Hz (720 p) Full HD 7 – 8 mbps 1920 x 1080 @ 24 Hz (1080p) Met QuickTime Pro is HD in H.264 te produceren. Met QuickTime Broadcaster is ook H.264 te maken, maar tot een maximale resolutie van 640x480 @ 30 Hz. (Voor live HD in H.264 is veel rekenkracht nodig.) • Bitrate De bitrates variëren van minder dan 100 kbps voor mobiele playback tot meer dan 10 Mbps voor HD kwaliteit. • Video o Framesize: o Framerate: De resolutie loopt op tot 1920 x 1080 @ 60 Hz progressive o HD ondersteuning: ja • Audio QuickTime gebruikt het audio formaat AAC. Dit formaat wordt ook gebruikt in iTunes en de music store. AAC wordt gezien als de opvolger van mp3. AAC kan tot 48 kanalen aan en sampling rates tot 96 KHz. o Channels: o Samplerate: o Samplesize: Welke encoders Voor on-demand wordt QuickTime Pro gebruikt om files te encoderen. Voor live wordt de QuickTime Broadcaster gebruikt. Welke servers De QuickTime Streaming server wordt gebruikt om MPEG-4 te streamen over poort H.264. Een Apache webserver wordt gebruikt voor streamen over poort 80. Welke players De QuickTime player is het standaard afspeelapparaat. • Dekkingsgraad player +- 66 %
  • Streaming Video Formaten pagina 31/63 Bron: zie verwijzing bij Real formaat. • Embed mogelijkheden player De QuickTime player is te embedden in een HTML pagina. • Interactie mogelijkheden player: geen. Geschikt voor live Ja Geschikt voor on-demand Ja Keten ondersteuning • Capture Voor live capture en uitzending kan QuickTime Broadcaster gebruikt worden. Ook QuickTime Pro kan voor capture gebruikt worden voor bewerking daarna. • Encoding QuickTime Pro is de encoder. • Editing • Mastering Apple biedt naast QuickTime nog andere video produkten aan. Een daarvan is Final Cut Studio en dit product is geënt op video bewerking. • Transcoding Een van de componenten van Final Cut studio is de ‘compressor’. Met deze compressor kan een bewerkte video omgezet worden naar een bepaald formaat. De compressor is ook in batch modus te gebruiken. • Distribution Distributie van streaming materiaal gaat middels QuickTime streaming server. Een andere vorm van distributie waarin Apple actief is, is podcasting. Podcasting is het downloaden van materiaal vanaf een webserver, waarbij het materiaal aangeboden wordt via RSS. De gebruiker krijgt dus materiaal aangeboden in zijn RSS reader, bij Apple is dat iTunes. • Playing Afspelen van streaming materiaal gaat met QuickTime Player. Ook iTunes kan H.264 video en AAC audio afspelen. Delivery platform • Mobile: Ja • PC: Ja • Settopbox:Ja • PDA: Ja DRM Quicktime levert geen DRM. Content op de streaming server kan wel worden afgeschermd, op dezelfde manier als content op een webserver kan worden
  • Streaming Video Formaten pagina 32/63 afgeschermd. Dit gaat dus met zogenaamde .htaccess files waarin gebruikersnaam en wachtwoord combinaties zijn opgenomen die toegang tot de content hebben. Open standaard QuickTime streaming is zoveel mogelijk gebaseerd op open standaarden. De focus is de MPEG-4 standaard. Daarnaast is het MAC OS operating systeem gebaseerd op FreeBSD, een open Unix standaard. De QuickTime streaming server is beschikbaar in een open source variant, genaamd Darwin. De QuickTime player en iTunes zijn proprietary software. Kosten QuickTime software wordt gebundeld bij het Mac OS X. Dit geldt voor de streaming server en de Broadcaster. Voor QuickTime Player Pro dient extra betaald te worden alsmede voor de MPEG-2 plug-in. De QuickTime Player is gratis beschikbaar. 2.5 Flash Flash staat sinds 1996 bekend als een door Macromedia (nu Adobe) ontwikkeld formaat om vooral websites te verrijken met interactie en animaties. Sinds de moderne versie van de Flash player in staat is om live en on-demand audio en video fragmenten af te spelen kunnen we ook spreken van het streaming formaat Flash. We spreken dan over Flash Video (FLV). De Flash Player wordt als de meest verspreidde player beschouwd. Op 96% van alle op internet aangesloten PC’s is wel een of andere versie van deze Flash player aanwezig. Meestal is dit in de vorm van een web browser plug-in en vanwege het grote gebruiksgemak hiervan ziet men het gebruik van Flash video op websites sterk toenemen. Flash maakt een snelle opkomst door, mede dankzij populaire video portals zoals YouTube en Google Video die op een zeer laagdrempelige manier video vanuit een webomgeving aanbieden. Ze bieden hierbij ook ‘server-side encoding’ van video. Je kunt er ieder formaat video uploaden en deze wordt dan automatisch getranscodeerd naar een FLV bestand. Om een zo groot mogelijke doelgroep te bereiken worden hier bewust concessies gedaan ten aanzien van de kwaliteit van de video. Er wordt gekozen voor een lage bitrate en resolutie waardoor Flash video vaak wordt gezien als een niet serieuze streaming video toepassing. Met de laatste nieuwe codecs is het tegenwoordig ook mogelijk om hoogwaardige kwaliteit Flash video te maken die schermvullend bekeken kan worden. Lees meer over Flash en Flash Video: • http://www.adobe.com/products/player_census/flashplayer/ • http://www.adobe.com/software/flash/about/ • http://en.wikipedia.org/wiki/Adobe_Flash • http://www.flashdeveloper.nl/g_flash_video.html
  • Streaming Video Formaten pagina 33/63 • http://on2.com/video_samples/vp7-samples/ 2.5.1 Kenmerken Formaat gegevens • File extensie: .flv, .swf (FLV content kan ook embedded worden in een SWF file.) • Mime-type: video/x-flv • Type formaat: Media container Protocollen RTSP (Real Time Streaming Protocol) op poort 554 HTTP op poort 80 Codecs Sinds Flash Player 8, zijn er twee belangrijke video codecs in gebruik: On2 Technologies VP6 (http://on2.com/) en Sorenson Spark (http://www.sorensonmedia.com/) die beide hoge kwaliteit video en een grote mate van compressie, dus geschikt voor lage bandbreedtes (tot 700 kbps) bieden. Als audio codec wordt MP3 gebruikt. • Bitrate Gebruikte bitrates voor Flash video: 200 - 1000 kbps, afhankelijk van de hoeveelheid beweging in het bron materiaal. De gebruikelijke Audio bitrates (MP3) zijn 32, 64 of 96 kbps. 32 kbps voor alleen spraak en 96 kbps voor muziek. • Video o Framesize o Framerate o HD ondersteuning: Nee • Audio o Channels o Samplerate o Samplesize Welke encoders Standaard komt er met het Flash 8 pakket een Flash video encoder mee. Daarnaast worden de encoders van Sorenson (Sqeeze) en ON2 (Flix) veel gebruikt vanwege de betere encoding en uitgebreide mogelijkheden. Een gratis Flash encoder is de RivvaVX FLV Encoder. Deze is gebaseerd op de open source transcoding tool FFMPEG. Helaas niet beschikbaar voor het MAC platform en de nieuwe ON2 VP6 codec wordt nog niet ondersteund. • http://www.macromedia.com/software/flash/ • http://www.sorensonmedia.com/products/?pageID=3 • http://www.on2.com/technology/flix-features • http://www.rivavx.com/?encoder • http://ffMPEG.sourceforge.net/
  • Streaming Video Formaten pagina 34/63 Welke servers Adobe Flash Media Server (FMS) is de standaard server voor het streamen van Flash video, maar iedere webserver kan Flash video laten zien wanneer deze in een .swf file embedded is. We spreken dan van progressive download. Er zijn tegenwoordig ook alternatieve streaming servers beschikbaar die een Flash video kunnen streamen, zonder de dure licentie van Macromedia te moeten betalen. Gebaseerd op de Open Source PHP Flash streaming server is StroboScope van Jet Stream BV een interessante optie. Welke players Om Flash Video af te kunnen spelen is een geschikte Flash Player vereist die met het .flv formaat overweg kan. Dit is versie 6,7,8, of 9. De Flash Player is in feite een multimedia en applicatie player die ontwikkeld is en verspreid wordt door Macromedia. Er wordt wel eens gezegd dat je geen aparte player nodig zou hebben om Flash af te kunnen spelen omdat deze al in de browser zou zitten, maar dat is niet waar. De Flash Player draait weliswaar als een browser plug-in, maar je zult deze eerst moeten downloaden en installeren. De laatste versie van de Flash Player is: 9.0.28.0 (1324 KB) • Dekkingsgraad player De grote dekkingsgraad van de Flash player wordt door met name door Adobe aangeprezen als belangrijke oorzaak voor de populariteit van het formaat. Onderzoeken claimen een dekkingsgraad van 96% wanneer men kijkt naar de versies die Flash Video (FLV) ondersteunen.
  • Streaming Video Formaten pagina 35/63 Zie ook: http://www.adobe.com/products/player_census/flashplayer/version_ penetration.html • Embed mogelijkheden player Zeer groot! Omdat de player als een browser plug-in draait is het mogelijk om Flash Video te embedden in webpagina’s en om de video vanuit de browser te bekijken. De player zelf is customizable en kan dus geheel in stijl met de webpagina worden opgenomen. Het is zelfs mogelijk om iedere willekeurige vorm aan de video te geven. (any size and shape video). • Interactie mogelijkheden player Zeer groot! Omdat de Flash player ook in staat is om met SWF files om te gaan geeft dit zeer goede interactie mogelijkheden. Er wordt dan gebruik gemaakt van een programmeer taal ActionScript die gebruikt wordt om Flash video vanuit een SWF file te laten spelen. Daarnaast kan er gebruik worden gemaakt van server-side scripting. Hierdoor zijn de interactie mogelijkheden bijna onbeperkt. Voorbeelden van sites die de interactiemogelijkheden in Flash Video laten zien zijn: http://www.vodafone.com/ (Vodafone Future Vision website) http://www.redbullcopilot.com/ Geschikt voor live Nee, tenzij op zeer lage kwaliteit. Omdat de codecs een zeer hoge mate van compressie toepassen is de encoding tijd te groot om dit te gebruiken voor live video. (1 min. Flash video kost 3 min. encoding.). Met snelle hardware en een lage kwaliteit video bewijst Fabchannel (http://www.fabchannel.com/) echter dat het wel mogelijk is. Geschikt voor on-demand Ja, zeer goed. Keten ondersteuning • Capture • Encoding • Editing • Mastering • Transcoding • Distribution • Playing Delivery platform • Mobile: nee • PC: ja, PC en MAC • Settopbox: nee • PDA: nee DRM
  • Streaming Video Formaten pagina 36/63 Er is geen DRM aanwezig bij het gebruik van de Flash Media Server. Afscherming van video's kan door middel van server side scripting (ActionScript) gerealiseerd worden. Open standaard Nee. Kosten De player wordt gratis verspreid, maar aan het gebruik van de Flash Media Server zijn licentiekosten verbonden (€ 4500,-). Hiermee zijn verschillende licentie profielen toe te passen: Profile 1: 150 Concurrent Connections / Unlimited Bandwidth Profile 2: 1000 Concurrent Connections / 40 mbps Bandwidth Profile 3: 500 Concurrent Connections / 25 mbps Bandwidth Het ligt natuurlijk helemaal aan de kwaliteit streams die je wilt aanbieden om te bepalen welk profiel het meest geschikt is. 2.6 Ogg Ogg is een volledig open en patent vrij multimedia container formaat voor het streamen van video en audio, ontwikkeld door de non-profit organisatie Xiph.org (http://www.xiph.org/). Het belangrijkste kenmerk van dit formaat is dat Ogg volledig vrij van rechten en patenten is en daarom alle voordelen van Open Source heeft. De bekendste toepassing van dit formaat is de audio codec: Ogg Vorbis en wordt gebruikt voor het streamen van alleen audio. Het is vergelijkbaar met bijv. MP3, maar geeft kleinere bestanden bij een hogere kwaliteit. Ook hoeven er geen rechten betaald te worden aan de patenthouder zoals bij MP3 wel het geval is (Fraunhofer). 'Ogg' staat voor het algemene formaat dat op zich verschillende componenten kan omvatten, zoals Vorbis, het audiogedeelte en Theora, het videogedeelte. Op de XIPH website wordt nauwkeurig verslag gedaan van alle vorderingen, want Ogg is, zoals alle open source projecten, een werk in uitvoering waarbij men steeds toegang heeft tot de laatste ontwikkelingen. Wat minder bekend is de video codec van Ogg: Theora. Theora is direct afgeleid van de VP3 codec van On2 en claimt de concurrent van MPEG-4 te zijn. Referenties: • http://www.theora.org/doc/Theora_I_spec.pdf • http://www.theora.org/ • http://www.vorbis.com/
  • Streaming Video Formaten pagina 37/63 • http://www.xiph.org/ 2.6.1 Kenmerken Formaat gegevens • File extensie: .ogg • Mime-type: application/ogg • Type formaat: Media container Protocollen RTSP (Real Time Streaming Protocol) HTTP streaming (met Icecast) Codecs • Bitrate De Theora bitstream kan theoretisch video met een maximale resolutie van 1048560 × 1048560 pixels afhandelen. Een dergelijke bitrate zou per videoframe bijna 3TB aan (uncompressed) data bevatten en er bestaan nog geen decoders die deze enorme hoeveelheid data aan kunnen. • Video De Ogg Theora codec zit in dezelfde familie als de MPEG codec’s en is gebaseerd op DCT + block motion compensation, Huffman coding en lossless compressie. Kenmerken zijn willekeurige frame sizes, willekeurige framerates en gebruikt levensechte kleuren. o Framesize: willekeurig o Framerate: willekeurig o HD ondersteuning: ja (in theorie) • Audio Omdat Ogg een container formaat is en daarom afhankelijk is van de gebruikte codec waarmee de audio gecodeerd is zijn er verschillende sample en bitrates mogelijk. Afhankelijk van het gebruik varieert dit van 8 kbps tot 32 kbps voor spraak tot hoge kwaliteit tot 500 kbps voor muziek. Ook variabele bitrates zijn mogelijk. o Channels: willekeurig o Samplerate: willekeurig o Samplesize: willekeurig Welke encoders Er zijn diverse encoders beschikbaar. Meestal gebaseerd op de Open Source tool FFMPEG. Daarnaast zijn er diverse plug-ins voor populaire players beschikbaar. Veelal nog in een bèta stadium. • OggDropXPd: een grafische encoder voor Vorbis. • BeSweet: een transcoding utility dat verschillende audio formaten ondersteund zoals Ogg Vorbis. • OggEnc: een command line encoder.
  • Streaming Video Formaten pagina 38/63 • ffmpeg2theora: een simpele command line tool om Ogg Theora bestanden te maken. • RealProducer plug-in (bèta): hiermee kunnen Ogg gerelateerde formaten vanuit RealProducer gemaakt worden. Welke servers • Icecast: Een streaming server voor HTTP audio (Ogg Vorbis) streaming met Apache. IceCast is compatible met de Shoutcast server van Nullsoft. • Ices: een client voor de Icecast Server. Hiermee wordt een audio stream van de client naar de Icecast server gestuurd. De server verspreidt deze audio stream dan naar de luisteraars. Dit concept is populair vanwege de mogelijkheden om radiostations over internet op te zetten. • IceShare: een P2P library om Ogg streams (audio en video) via een Peer-to-peer netwerk te verspreiden. Het is gebaseerd op het BitTorrent protocol • JRoar streaming server: een op Java gebaseerde streaming server wat de verschillende Ogg formaten (audio en video) ondersteund. • Flumotion: een streaming media server van Fluendo voor zowel Ogg audio als Ogg video. Welke players Hoewel het formaat weinig bekendheid geniet zijn er al diverse players, filters en plug-ins die dit formaat kunnen afspelen. Voor Ogg Theora zijn dit: o VLC: de VideoLAN client o GStreamer o Xine o Helix/RealPlayer. o DirectShow plug-in voor gebruik in de Windows Media player. o Fluendo Java applet. o Mplayer voor gebruik onder Linux. Voor Ogg Vorbis zijn de players: o Media Player Classic: een Open Source DirectShow player met een simpele interface. o Core Media Player: een DirectShow player. o Zoom Player: een DirectShow player. o RadLight: een DirectShow player. o Windows Media Player: de DirectShow player van Microsoft. o Winamp: de meest bekende MP3 player ondersteund ook het Ogg Vorbis formaat. o foobar2000: zeer spartaanse interface. Wordt gebruikt in combinatie met de Icecast server. o RealPlayer plugins: maakt het mogelijk om vanuit de RealPlayer en Helix Player Ogg Vorbis files af te spelen. o Zinf: een Open Source player gebaseerd op FreeAmp. • Dekkingsgraad player: onbekend • Embed mogelijkheden player: mgelijk met Java applets.
  • Streaming Video Formaten pagina 39/63 • Interactie mogelijkheden player: mogelijk met Java applets Geschikt voor live Ja Geschikt voor on-demand Ja Keten ondersteuning • Capture • Encoding • Editing • Mastering • Transcoding • Distribution • Playing Voor de hele keten voor creëren van Ogg materiaal is ondersteuning te vinden. Omdat Ogg een open standaard is zijn er veel producten die een of andere vorm van Ogg ondersteunen. Het is zaak om eerst te bepalen welke functionaliteit gewenst is om vervolgens het bijpassende product te kiezen. Vaak zijn er extra filters of plug-ins nodig om het Ogg formaat te kunnen verwerken. Delivery platform • Mobile: ja, met de PocketPC GSPlayer. • PC: ja • Settopbox: nee • PDA: ja Open standaard Ja Kosten Gratis 2.7 Matroska Matroska is een project met als doelstelling om een volledig open source multimedia container formaat te ontwikkelen. Het is genoemd naar de Russische Matroesjka Poppen. Het project bestaat sinds 2002 en is ontstaan uit het ‘Multimedia Container Format’ project nadat er onenigheid ontstaan was over het te gebruiken binaire formaat. De oprichters van Matroska waren van mening dat het Extensible Binary Meta Language (EBML) formaat hen een aantal voordelen zouden geven.
  • Streaming Video Formaten pagina 40/63 Matroska is ontworpen met de toekomst in gedachte. Het bevat eigenschappen die je verwacht van een modern containerformaat, zoals: • Snel zoeken in het bestand • High error recovery • Hoofdstukken • Selecteerbare ondertitels • Selecteerbare audio tracks • Uitbreidbaar met modules • Streamable voor internet (HTTP and RTP audio & video tracks) • Menu's (zoals op DVD’s) Lag de basis bij de ontwikkeling van het Ogg formaat bij het streamen van audio, zien we bij Matroska dat al vanaf het begin van de ontwikkeling ervan rekening werd gehouden dat het formaat iedere type codec moet kunnen ondersteunen. Audio, video, ondertitels en presentatie elementen. Mede door de complexiteit van het formaat is Matroska vooral geschikt wanneer er geavanceerde technieken nodig zijn. Bij een lage bitrate audiostream zal Ogg altijd beter presteren en de voorkeur hebben. 2.7.1 Kenmerken Formaat gegevens • File extensie: .mka .mkv • Mime-type: audio/x-matroska, video/x-matroska • Type formaat: Media container Protocollen RTSP (Real Time Streaming Protocol) HTTP streaming Codecs • Bitrate Omdat diverse audio en video codecs ondersteund worden (zie hieronder) is de ondersteuning voor verschillende bitrates prima. Niet alleen wat betreft constant bitrate (CBR), maar ook variabele bitrate (VBR) wordt goed ondersteund. • video Matroska is geen codec maar een container formaat waarin je audio en video in kunt zetten. De ondersteunde video formaten zijn MPEG-1, MPEG-2, MPEG-4, H.264, RealVideo en Windows Media. o Framesize: willekeurig o Framerate: willekeurig ook variabele framerate o HD ondersteuning: Ja in theorie
  • Streaming Video Formaten pagina 41/63 • Audio Matroska is geen codec maar een container formaat waarin je audio en video in kunt zetten. De ondersteunde audio formaten zijn Ogg Vorbis, AAC, MP3, AC3, DTS en PCM. o Channels: willekeurig o Samplerate: willekeurig o Samplesize: willekeurig Welke encoders De MKVToolnix toolbox is a set van tools om Matroska files te maken, te editen en te analyseren. Het is te gebruiken onder zowel Linux als Windows. (http://www.bunkus.org/videotools/mkvtoolnix/). Zie verder onder Keten ondersteuning voor meer encoding tools/ Welke servers Je kunt VideoLan, die het Matroska formaat standaard ondersteund niet alleen als player, maar ook als streaming server gebruiken. Verder zijn er wel wat kleinschalige initiatieven voor de ontwikkeling van of het geschikt maken van streaming servers voor het Matroska formaat, maar op dit moment zie je vooral dat het formaat wordt ingezet als download formaat en in het gebruik van peer-2-peer netwerken. Welke players Hoewel het formaat weinig bekendheid geniet zijn er al diverse players, filters voor bestaande players en plug-ins die Matroska kunnen afspelen. Op de Matroska download pagina (http://www.matroska.org/downloads/windows.html) zijn altijd de laatste versies te vinden. Hieronder staan bekende players als de VideoLan client VLC voor gebruik onder windows, de MPlayer voor gebruik onder Linux. Met de DirectShow filters kunnen .mkv files afgespeeld worden onder Windows met iedere, op DirectShow gebaseerde speler, zoals de Windows Media player. De beste afspeel mogelijkheden biedt de Core Media Player (http://corecoded.com/) wanneer de Matroska CDLplug-in tenminste wordt gebruikt. • Dekkingsgraad player: niet bekend • Embed mogelijkheden player: nb • Interactie mogelijkheden player: nb Geschikt voor live Ja Geschikt voor on-demand Ja Keten ondersteuning • Capture • Encoding • Editing
  • Streaming Video Formaten pagina 42/63 • Mastering • Transcoding • Distribution • Playing De makkelijkste manier om het Matroska formaat te gebruiken is om een bestaande AVI of OGM bestand te converteren naar een Matroska bestand. Dit is een proces waarbij geen data verloren zal gaan (lossless) en waarbij alle data verpakt wordt in een nieuwe media container. Hierdoor zal er geen verandering in kwaliteit of eigenschappen plaatsvinden. Er zijn twee verschillende tools om dit te doen, maar er zullen er in de toekomst meer geschikt worden gemaakt voor de ondersteuning van het Matroska format. Deze tools zijn: • VirtualDubMod: het open source video editing packet gebaseerd op de populaire VirtualDub tool. Hiermee kan je direct coderen naar een .mkv bestand vauit iedere bron die het kan openen. Hierbij wordt iedere Video for Windows (VfW) en ACM codec ondersteund. Zelfs 2-pass encoding voor een betere kwaliteit is mogelijk. • Mkvmerger: een command line tool gebaseerd op Matroska Muxer voor gebruik onder Windows en Linux. Als input formaat worden de volgende formaten ondersteund: AVI en OGM voor video en AC3, AAC, Vorbis, DTS, MP3, MP2 en PCM voor audio. Delivery platform • Mobile: ja • PC: ja (ook Linux) • Settopbox: nee • PDA: ja Open standaard Ja, Matroska is Open Source en maakt gebruik van open standaarden. Kosten Gratis
  • Streaming Video Formaten pagina 43/63 3 Streaming landschap Het streaming landschap brengt het overzicht van de streaming video formaten in kaart. Daartoe worden in eerste instantie de belangrijkste kenmerken van de verschillende formaten nog eens op een rij gezet in de matrix van kenmerken. In de matrix van kenmerken worden alle kenmerken van de verschillende formaten gewogen en tegen elkaar afgezet. Dit geeft een overzicht van welk formaat welk kenmerk ondersteunt. Aan ieder formaat wordt vervolgens een score gegeven welke later gebruikt wordt in het landschap. De totaal score wordt opgebouwd uit drie score onderdelen. Het eerste onderdeel van de score gaat over de techniek en zegt iets over de kwaliteit van de video bij gebruik van een bepaalde bandbreedte. Het tweede onderdeel gaat over de encoders, servers en players en met name het gemak waarmee gebruikers de video kunnen bekijken. Het derde onderdeel zegt iets over de inzetbaarheid van een formaat, met name of je het op meerdere manieren kan inzetten. De totale score is de optelsom en geeft een algemeen beeld van de geschiktheid van een formaat bij een bepaalde bandbreedte en voor een bepaalde toepassing. 3.1 Matrix van kenmerken De kenmerken van de verschillende streaming video formaten zijn hieronder in de tabel weergegeven. Er zijn een aantal details aan de kenmerken toegevoegd op basis waarvan gescoord wordt in de drie score onderdelen. Techniek Om beter te discrimineren in de techniek kan in het kopje ‘protocollen’ gescoord worden op de waarden HTTP, RTSP en multicast. Aan ‘bitrate’ is een detail kwaliteitsverhouding toegevoegd, hoe beter hier gescoord wordt hoe minder bandbreedte nodig is om een bepaalde kwaliteit te behalen. Bij ‘audio’ wordt er gekeken naar ondersteuning van 5.1 audio en een lossless variant. Gebruik Bij de ‘player’ eigenschappen zijn de laagdrempeligheid van installatie en gebruik van de player toegevoegd. Ook de download grootte van de player is toegevoegd. Inzetbaarheid Aan het ‘delivery platform’ zijn de elementen DRM en multibitrate toegevoegd. Met deze optie wordt de inzetbaarheid van een formaat vergroot. Als een formaat een detail ondersteunt, dan wordt er een ‘+’ gegeven. Blinkt een formaat hierin uit dan zelfs twee: ‘++’. Alle plussen bij elkaar geven de totaal score onderaan de tabel. kenmerkenformaat MPEG(1) Real Windows Quicktime Flash OGG Matroska Media Protocollen + http - + + + + + + + rtsp - + + + + + - + multicast + + + + - + + Codecs + naam mpeg real wmv/vc1 h.264 On2, Vorbis, diversen
  • Streaming Video Formaten pagina 44/63 Spark Theora - Bitrate - + minimum <64 kbps 12 kbps < 100 <10 kbps <32 kbps <10 kbps <10 kbps kbps - + maximum > 300 5 mbps > 100 > 10 mbps 700 kbps > 10 > 10 mbps mbps mbps mbps - kwaliteitsverhouding + + + ++ + - + - video - + Framesize custom custom custom custom(3) custom custom custom - + Framerate custom custom custom custom custom custom custom - + HD ondersteuning ++ + ++ ++ - + + - Audio - + 5.1 audio + + +(2) + - + + - + lossless - + + + - + + Open standaard Open platform - + - + - + + Open codec/formaat + - + + + + + (vc-1 wel) Open software + - - + +/- + + Score techniek 7 8 9 12 5 9 9 Welke encoders + naam nvt real wm broadcaster On2 Flix, OggDropX producer encoder Sorenson Pd Spark Welke servers + naam nvt helix wm quicktime Flash Icecast services Media Server Welke players + naam nvt realplayer wm player quicktime flash div. div. player + Dekkingsgraad nvt 60% (+) 85% (++) 66% (+) 97% (++) nb nb player + Embed nvt + + + ++ - - mogelijkheden player + Interactie nvt + - - ++ - - mogelijkheden player + laagdrempeligheid nvt - + + ++ - - installatie en gebruik player + download grootte nvt 8 mb 7 mb 32 mb 1 mb (+) nb nb player Score gebruikgemak 0 3 4 3 9 0 0 live Geschikt voor live + + + + + + + On-demand Geschikt voor on- - + + + + + + demand Keten ondersteuning - Capture nvt + + + + + + - Encoding nvt + + + + + + - Editing nvt - + ++ + + + - Mastering nvt + + + + + + - Transcoding nvt + + + + + + - Distribution nvt + + + + + + - playing nvt + + + + + + Delivery platform - Mobile + + + + - + +
  • Streaming Video Formaten pagina 45/63 - Pc + + + + + + + - Settopbox + - + + - - - - PDA + + + + - + + - DRM + - ++ - - - - - MultiBitrate - + + - + + + Score breede 6 12 16 14 11 13 13 inzetbaarheid Kosten zijn beperkt + - + + - + + Score totaal 14 23 30 30 25 23 23 (1) Merk op dat MPEG is in de tabel met kenmerken meegenomen is als codec, er is niet gescoord op produkten zoals encoders, servers, players en de keten produkten. Met MPEG zijn de gebruiksmogelijkheden daarom beperkt tot functionaliteit die gebruikt wordt in de broadcast industrie, dit is het uitzenden van een uitzending in multicast om later te ontvangen op bijvoorbeeld een settopbox. Daarom zal MPEG bij voorbaat minder scoren dan de andere formaten, terwijl het voor de genoemde toepassing uitermate geschikt is. (2) Microsoft doet ook 7.1 audio (3) De framesize voor een live-uitzending met broadcaster is maximaal 640x480 3.2 Landschap van score, bandbreedte en toepassing Bij de start van het onderzoek was het idee een landschap neer te zetten van de streaming video formaten tegen de bandbreedte die gebruikt wordt. Hierdoor zou het duidelijk worden bij welke bandbreedte welk formaat het meest geschikt is. Naar mate het onderzoek vorderde is echter gebleken dat hier geen uitspraak over is te doen. Bijna alle formaten presteren op diverse bandbreedte van laag naar hoog goed. De meeste formaten zijn inzetbaar op de laagste bandbreedte voor mobiele toepassingen of de hoogste bandbreedte voor HD toepassingen. Uitzondering is het formaat Flash wat alleen geschikt is voor bandbreedten tot 700 kbps. Met andere formaten kunnen video’s gemaakt worden met bitrates tot tientallen mbps (Real Basic tot 5 mbps). Het is belangrijker om te kijken naar de video toepassing die gemaakt gaat worden. De streaming Video formaten hebben namelijk wel genoeg onderscheidende kenmerken om ze in te zetten voor een bepaald doel. Bijvoorbeeld scored MPEG laag in de kenmerken tabel omdat het een specifieke codec is en niet breed inzetbaar. Daarentegen wordt MPEG wel in de broadcast industrie gebruikt, juist omdat het een goede encoding biedt die voor digitale televisie met een settopbox uitermate geschikt is. HD content is met MPEG-2 het beste te encoderen, maar daar spelen Windows Media met de VC-1 encoder en QuickTime met de H.264 encoder ook een grote rol. Deze laatste twee kunnen op een lagere bandbreedte de zelfde kwaliteit realiseren als met MPEG-2 encoding op een hogere bandbreedte. Om het landschap vorm te geven zullen we de video toepassingen onderverdelen in drie categorieën, Techniek, Gebruik en Inzetbaarheid. Techniek Een toepassing valt in de categorie techniek als de kwaliteit/bandbreedte verhouding het meest belangrijk is en met open standaarden en codecs gewerkt moet worden. In deze categorie komt QuickTime als beste uit de bus vanwege de brede inzetbaarheid van de H.264 codec. Als open standaarden minder belangrijk zijn, dan is Windows Media ook een optie vanwege de VC-1 codec.
  • Streaming Video Formaten pagina 46/63 Techniek 12 10 8 Score 6 4 2 0 mpeg real windows quicktime flash 0gg Matroska media Streaming Video Formaat Figuur 1: techniek score Gebruik Een toepassing scoort hoog in de categorie gebruik als het gebruiksgemak voor de eindgebruiker voorop staat. Kenmerken van deze toepassing zijn laagdrempeligheid bij het afspelen en interactie mogelijkheden voor de gebruiker. In deze categorie steekt Flash met kop en schouders boven de anderen uit. Daarbij moet wel worden vermeld dat dit dus voor specifieke Internet toepassing geldt waarbij de bandbreedte niet hoger dan 700 kbps kan oplopen en dus HD kwaliteit video niet op deze manier is aan te bieden.
  • Streaming Video Formaten pagina 47/63 Gebruik 9 8 7 6 5 Score 4 3 2 1 0 mpeg real windows quicktime flash 0gg Matroska media Streaming Video Formaat Figuur 2: gebruik score Inzetbaarheid Een toepassing is breed inzetbaar als deze zowel voor lage en hoge bandbreedte geschikt is, maar bovendien ook voor diverse doeleinden gebruikt kan worden. Ondersteunt een formaat bijvoorbeeld DRM om video’s af te schermen? Het breedst inzetbare formaat van het moment is Windows Media. Windows Media is geschikt voor bijna alle toepassingen. Op sommige vlakken moet Windows Media echter zijn meerdere erkennen. Bijvoorbeeld in de kwaliteit van de encoding aan H.264 en de interactie mogelijkheden van Flash. Wat betreft breed inzetbaarheid wordt Windows Media gevolgd door QuickTime.
  • Streaming Video Formaten pagina 48/63 Inzetbaarheid 16 14 12 10 Score 8 6 4 2 0 mpeg real windows quicktime flash 0gg Matroska media Streaming Video Formaat Figuur 3: inzetbaarheid score Totaal Als we de score op de diverse onderdelen bij elkaar optellen dan zien we dat twee formaten gelijk eindigen, dat zijn Windows Media en QuickTime. Dit zijn de formaten die op alle drie de onderdelen goed scoren. Het brons gaat naar Flash en dat komt omdat Flash uitermate gebruiksvriendelijk is. De andere formaten hebben ieder hun eigen specialisme, maar zijn niet als beste geëindigd, terwijl ze voor een specifieke toepassing heel geschikt kunnen zijn. Het duidelijkste voorbeeld hiervan is MPEG. MPEG scoort niet hoog omdat het in feite alleen een codering standaard is. Het is echter wel een goede standaard die veel gebruikt wordt. Real valt niet in de prijzen omdat Real nergens uitblinkt. Real biedt net als Windows Media en QuickTime een totaal oplossing, maar deze is op alle fronten net 1 of 2 punten minder. Real eindigt op de vierde plaats omdat het wel inzetbaar is op veel fronten. Ogg scoort relatief hoog omdat er een actieve community is die er mee werkt. Vooral het audio formaat, wat vergelijkbaar is met MP3, is veel gebruikt. Dit komt omdat het formaat volledig open source en rechten vrij is. Hetzelfde geldt voor de video component van Ogg en de container Matroska. Deze zijn ook open source en rechten vrij en in de community zijn diverse tools die het mogelijk maken hiermee te werken. De formaten missen echter een bepaalde ‘volwassenheid’ waardoor ze moeilijker inzetbare zijn dan bijvoorbeeld Real. Daarentegen zijn aan Real hoge licentie kosten verbonden en als je dat meeneemt in de overweging dan scoren Ogg en Matroska even hoog.
  • Streaming Video Formaten pagina 49/63 Opbouw totaal score 30 25 20 Score 15 Inzetbaarheid Gebruik 10 Techniek 5 0 mpeg real w indow s quicktime flash 0gg Matroska media Streaming Video Formaat Figuur 4: totaal score
  • Streaming Video Formaten pagina 50/63 4 Conclusie Het streaming formaten onderzoek heeft aangetoond dat het moeilijk is formaten te vergelijken. De eerste vraag die gesteld is is al heel moeilijk te beantwoorden. Wat is precies een streaming formaat? Onderdelen van streaming formaten zijn codecs, containers, maar ook servers en afspeelapparaten. Sommige formaten leveren alleen codecs en containers, zoals MPEG. Andere formaten leveren een breder scala aan producten, zoals ook streaming servers en spelers, zoals Windows Media, QuickTime en Flash. Daarbij maakt QuickTime weer gebruik van MPEG codecs en de verwarring is compleet. Dit onderzoek schept structuur in het vergelijken van de formaten door verschillende kenmerken te benoemen. In het streaming formaten onderzoek zijn van diverse producten de kenmerken bepaald en met elkaar vergeleken. Wat duidelijk naar voren komt is dat er geen beste formaat in de algemene zin aan te wijzen is. Het is afhankelijk van de toepassing welk formaat het meest geschikt is. Voor mensen die actief zijn in de broadcast industrie en die digitale televisie bij de mensen in de huiskamer willen brengen ligt het voor de hand te kijken naar MPEG producten voor encoding op zo hoog mogelijke kwaliteit in de studio en vervolgens afspelen op een settopbox in de huiskamer. Voor streaming over internet, waar de kijker meestal achter een PC zit is het belangrijk te kijken naar de afspeelapparaten op de PC van de gebruiker, de gebruiksvriendelijkheid en de toepassing, dan komen de formaten Windows Media, QuickTime en Flash om de hoek kijken. De formaten Real, Ogg en Matroska zijn afgevallen als kandidaten voor een bepaalde toepassing. Real is in de vergelijking met Windows Media, QuickTime en Flash niet onderscheidend genoeg bevonden om geschikt te zijn. De formaten OGG en Matroska missen een bepaalde mate van ‘volwassenheid’ waardoor deze formaten (nog) niet toepasbaar zijn. Wat uit de vergelijking van kenmerken en het streaming landschap naar voren komt is dat niet alleen de score van een formaat van doorslaggevend belang is, maar dat de toepassing van minstens even groot belang is en vaak de doorslaggevende rol zal spelen. De drie winnende formaten, Windows Media, QuickTime en Flash zijn allen geschikt om op een diversiteit van bandbreedte een goede kwaliteit video af te spelen. Staat in de toepassing het gebruiksgemak voorop en de laagdrempeligheid van de video dan is Flash de beste keus. Staat kwaliteit op diverse bandbreedten voorop, zowel hoge kwaliteit video naar mobiel als hoge kwaliteit HD video, dan is H.264 encoding en streaming met de QuickTime producten de juiste keus. Is brede inzetbaarheid het uitgangspunt, er moet bijvoorbeeld gewerkt worden met DRM of multibitrate files, dan is Windows Media de voor de hand liggende keus. SURFnet kiest niet één formaat in de videodienst verlening. SURFnet ondersteunt nu meerdere formaten, MPEG-1, MPEG-2, MPEG-4 en Windows Media. In de toekomst wordt gebouwd aan H.264 streaming en Flash streaming. In bijlage A wordt een H.264 proefopstelling besproken. Dit wordt dus al in de zeer nabije toekomst gerealiseerd. H.264 zal uiteindelijk ook de toepassing van MPEG-1 en MPEG-2 overnemen. Daarnaast wordt er gewerkt aan een nieuwe versie van de SURFnet Videotheek waarin het Flash
  • Streaming Video Formaten pagina 51/63 formaat gebruikt zal worden voor de preview van video materiaal. SURFnet zal dus de formaten inzetten waar ze het meest geschikt zijn. Dit streaming formaten onderzoek gaat over toepasbaarheid van streaming formaten. Het onderzoek beantwoord niet de vraag welke kwaliteit het beste is. Dit komt omdat er per formaat verschillende codecs mogelijk zijn die de kwaliteit regelen. Per codec is er nog een verscheidenheid aan parameters die bepalend zijn voor het eindresultaat. Hier hebben wij geen onderzoek naar gedaan. Merk op dat met verschillende formaten hele goede kwaliteit video te realiseren is op een bepaalde bandbreedte. Bijvoorbeeld compressie van HD video op 20 mbps in MPEG-2 is van heel goede kwaliteit. Door de geavanceerdere coderingen van H.264 en VC-1 zijn met deze twee codecs de HD beelden met 12-16 mbps te comprimeren met een vergelijkbare kwaliteit. Hoe meer je vervolgens van de bandbreedte gaat afhalen hoe minder de kwaliteit zal worden en dat verschilt per codec. Bij dit onderzoek hoort een website, http://video.surfnet.nl/StreamingVideoFormaten/, waar aanvullende informatie is te vinden over het streaming video formaten onderzoek.
  • Streaming Video Formaten pagina 52/63 5 Bijlage A - H.264 proefopstelling De H.264 proefopstelling is een pilot voor het integreren van High Definition (HD) video in de SURFnet Videotheek en SURFnet-TV. Afgelopen jaar zijn experimenten met HD gedaan, oa. is het WK voetbal 2006 gebruikt om een live HD stream over het SURFnet netwerk uit te sturen. Dit is de vervolgstap. De (broadcast) industrie richt zich met name op HD H.264 (MPEG-4) encoding en de eerste HD encoders en conversie tools komen op de markt. SURFnet wil bij deze trend aansluiten en vooroplopen in de operationalisering van MPEG-4 HD. De proefopstelling wordt zo ingericht dat deze later opgenomen kan worden in het productie platform. De proefopstelling zelf dient als platform waar HD materiaal opgenomen en afgespeeld kan worden. 5.1 H.264 workflow Om HD in SVP en SURFnet-TV te integreren moet de hele workflow van HD on- demand en live streaming aangepakt worden. Zie onderstaande figuur 1 voor de workflow.
  • Streaming Video Formaten pagina 53/63 Figuur 1: H.264: Workflow Het proces begint bovenaan bij de producent van het streaming materiaal. Deze kan een on-demand source editen tot een file die in de video store geplaatst moet worden of een live source encoderen naar MPEG-4. De on-demand source wordt met een file-upload in de video store geplaatst (de bestaande upload mogelijkheden worden hiervoor gebruikt). Als de source een MPEG-4 HD film is dan kan deze direct in de video store worden geplaatst. Is de source file van een ander formaat, dan moet deze door een transcoder/compressor omgezet worden naar het juiste formaat. Materiaal wat in de video store staat kan via een streaming server en een web server afgespeeld worden. Dit resulteert onderaan de figuur in een on-demand stream voor de gebruiker
  • Streaming Video Formaten pagina 54/63 De live source die uit de encoder komt wordt vanaf de producent naar SURFnet gestuurd en daar opgevangen door een splitter. De splitter stuurt een recorder aan die ervoor zorgt dat de stream direct in de video store opgenomen kan worden. Deze splitter zorgt er ook voor dat meerdere gebruikers naar 1 encoded stream kunnen kijken. De splitter stuurt zowel unicast als multicast streams uit. Dit resulteert onderaan de figuur in live unicast en multicast streams voor de gebruiker. 5.2 H.264 architectuur Voor het uitzenden van H.264 materiaal is een architectuur nodig waarmee het volgende mogelijk wordt gemaakt. • Live H.264 streamen • Live H.264 in HD streamen • On-demand H.264 streamen • On-demand H.264 in HD streamen Uit het MPEG-4 onderzoek van SURFnet is gebleken dat MPEG-4 en H.264 encoding en streaming bij voorkeur op het Apple QuickTime platform gebouwd wordt. In eerste instantie is daarom een architectuur ontworpen die met Apple en QuickTime producten is opgebouwd, zie figuur 1. Voor live H.264 kan Mac OS X gebruikt worden met QuickTime Broadcaster. Deze encoder stuurt het live signaal direct naar de QuickTime Streaming Server (QTSS) en slaat het uitgezonden materiaal op in een file. De opgenomen file wordt via een andere Mac OS X server met de compressor van Final Cut Studio omgezet in een geschikte file voor de QTSS en daar geplaatst voor on-demand afspelen. Apple levert zelf geen kant en klare live HD encoders Voor live H.264 in HD is een andere oplossing gezocht die ook een live signaal aan QTSS levert en ook een opgenomen file aan de compressor. Meer over deze zoektocht in het hoofdstuk ‘live HD encoding in H.264’. Voor on-demand H.264 in SD en HD bieden we toegang tot de Mac OS X server met de compressor. Files die geupload worden kunnen daar omgezet worden naar geschikte file voor de QTSS.
  • Streaming Video Formaten pagina 55/63 Figuur 1: h.264 architectuur Het implementeren van bovenstaande architectuur betekent zelf sleutelen aan de workflow en dan met name het juist inzetten van de compressor tool voor transcoding. De architectuur is voorgelegd aan mensen van Apple en zij kwamen tot de conclusie dat dit heel dicht ligt bij de ‘podcast server’ die Apple momenteel ontwikkeld en volgend jaar op de markt wil brengen. Van de ‘podcast server’ is momenteel een bèta versie voorhanden en SURFnet gaat deze inzetten om de H.264 architectuur te realiseren. Zie het volgende hoofdstuk voor meer informatie over de ‘podcast server’. 5.2.1 Live HD encoding in H.264 Live HD encoding in H.264 is state-of-the-art functionaliteit. De H.264 encoding is zeer complex en vergt veel rekenkracht om in real-time een HD stream te encoderen. In tegenstelling tot MPEG-2 encoding dat gebruikt wordt om bijvoorbeeld HDV (1080i of 720p in 20mbps) te encoderen zijn er nog weinig producten die H.264 (MPEG-4) encoderen.
  • Streaming Video Formaten pagina 56/63 Kant en klare producten In de zoektocht naar geschikte apparatuur is begonnen met aansluiting te zoeken bij de Apple QuickTime apparatuur. Het meest voor de hand ligt om QuickTime Broadcaster te gebruiken, maar deze ondersteunt (nog) geen HD. De producten van Dicas en Darim die aan zouden moeten sluiten op Quicktime software ondersteunen geen HD en vallen dus ook af. Bekende leveranciers van SURFnet, zoals Haivision en Vbrick hebben nog geen HD encoders in productie genomen vanwege een aantal beperkingen van H.264 ten opzichte van MPEG-2. Allereerst is er het verschil in prijs. Waar een MPEG-2 encoder tegenwoordig voor +/- 5000 euro te koop is moet op het tienvoudige gerekend worden voor een H.264 encoder vanwege de hardware die nodig is om te comprimeren. Daarnaast is er voor H.264 nog niet zoveel randapparatuur als voor MPEG-2, zoals settopboxen, streaming server en andere apparatuur. Als laatste wordt als belemmering de vertraging gezien die optreedt bij het encoderen, waardoor H.264 op zijn beste kwaliteit nog niet geschikt is voor twee-weg communicatie. Beide producenten experimenteren wel met H.264 en verwachten in 2007 met een product te komen. Er zijn ook leveranciers die wel H.264 encoders leveren, zoals Tandberg, Scientific Altlanta en Modulus. Zij lopen voorop in de markt. Daar is de prijs van hun apparatuur ook naar. Wat zij echter doen is H.264 streamen in een MPEG-2 transport stream container en geen RTSP/RTP stream in een MPEG- 4 container die geschikt is voor samenwerking met QuickTime streaming server. In de zoektocht naar H.264 encoders voor HD die ook nog geschikt zijn voor QuickTime streaming server is alleen Envivio overgebleven met het product ‘4caster HD3 Encoder’. Deze encoder levert zowel een HD stream als een file die direct in het on-demand gedeelte opgenomen kan worden. De prijs van deze encoder ligt echter rond de 100K euro, waardoor deze buiten onze scope valt. Zelf een encoder maken Omdat het niet mogelijk is een kant en klare H.264 encoder voor HD aan te schaffen hebben we geprobeerd zelf een systeem samen te stellen wat deze encoding kan doen. In principe levert Aspex hardware accelerator kaarten waarvan er twee nodig zijn in een systeem om real-time HD encoding te doen. Deze kaarten brengen dus de benodigde processor power. In theorie zouden deze kaarten bijvoorbeeld goed moeten kunnen samenwerken met de Darim hardware, dit is echter nog nooit getest. De hardware accelerator kaarten kunnen gekoppeld worden aan Bluefish444 capture kaarten en zo kan een live HD stream gecaptured worden. De derde schakel ontbreekt echter nog. Het is vervolgens nodig om de opgenomen stroom in H.264 live uit te zenden. Er is wel software van bijvoorbeeld Mainconcepts om live H.264 op te slaan op de harddisk, maar
  • Streaming Video Formaten pagina 57/63 live streamen is er nog niet bij. Deze ontwikkeling staat gepland voor volgend jaar. Nieuwe experimenten Om live HD in H.264 te kunnen doen is de volgende stap om samen met Apple te gaan kijken in het kader van de ‘podcast server’ welke processor kracht hun encoder/agent nodig heeft om Live HD te kunnen verzorgen. Als de nieuwe Apple producten binnenkort beschikbaar komen gaan we daar mee experimenteren. Een van de meest belovende opties om live HD te streamen is door gebruik te maken van Wirecast software, zie: http://www.varasoftware.com/products/wirecast/. Met deze software moet het mogelijk zijn live HD te capturen en naar een QuickTime server te streamen mits de hardware voldoende capaciteit heeft. In onze proefopstelling gaan we een live encoder opzetten met deze software om dit te testen. 5.3 Podcast server - sneak preview Apple’s Podcast server is ontwikkeld voor het zo eenvoudig mogelijk opnemen en publiceren van audio en video lezingen. De opname worden beschikbaar gesteld als podcasts. De term podcast wordt door Apple gebruikt voor het beschikbaar stellen van audio en video materiaal. Dit is een breed begrip, want het geldt voor het publiceren van een video file voor de iPod, maar ook voor publiceren van video voor andere devices, zoals een PC. Daarnaast gebruikt Apple de term voor het on-demand aanbieden van de video, maar ook voor het streaming aanbieden van de video. Tevens worden de aangeboden video’s via meerdere kanalen ontsloten. De geëigende weg is downloaden via iTunes (RSS), maar ook kunnen in websites links worden opgenomen naar streaming video’s. Het idee is om lezingen op te nemen in een besloten netwerk en te verspreiden over het publieke netwerk naar meerdere devices, zie figuur 2.
  • Streaming Video Formaten pagina 58/63 Figuur 2: podcast server principe Daarnaast moet het voor docent zo eenvoudig mogelijk zijn om lezingen op te nemen en beschikbaar te stellen aan de student. In feite hoeft de docent alleen maar een stop en start knop in te drukken op een daarvoor bestemde webpagina/blog en zijn video wordt gepubliceerd in zijn blog. De student abonneert zich (met RSS) op de blog en ontvangt de video als deze gepubliceerd wordt. Zie figuur 3. Figuur 3: podcast server gebruik Wat de Podcast server aan processing doet is te lezen in het volgende hoofdstuk. 5.3.1 Podcast server - workflow Nadat de docent op stop heeft gedrukt volgen er een aantal stappen die geautomatiseerd verlopen. Zie voor de workflow architectuur figuur 4.
  • Streaming Video Formaten pagina 59/63 Figuur 4: podcast server: workflow architectuur Stap 1 Vanuit de ‘class room’ kopieert de encoder zijn file naar de ‘file sharing’ module. Stap 2 De encoder plaatst vervolgens een ‘XML job’ bij het ‘BATCH Processing System’ en daarmee heeft de encoder de verwerking in gang gezet. Dit proces is vergelijkbaar met de bulk upload tools van de SURFnet videotheek. Daar worden ook eerst mediafiles neergezet en vervolgens een XML beschrijving van deze files. Waarna het proces kan beginnen. Stap 3 Post processing van de job gaat nu aan de slag en afhankelijk van de job paramaters worden er verschillende taken uitgevoerd. Waaronder transcoderen, publiceren, notificeren, etc. Stap 4 De toegang voor de docent en student tot het gecreëerde materiaal wordt door de ‘Web Portal’ gegeven. In al deze stappen worden de ‘network en storage services’ intensief gebruikt. In bijlage A van dit document wordt de complete netwerk architectuur van de podcast server geschetst. 5.3.2 Podcast server - functionaliteiten De encoder geeft in XML aan de podcast server door welke post-processing taken gedaan moet worden met de video file die opgestuurd is. De taken die bijvoorbeeld losgelaten kunnen worden zijn: 1. Encode naar H.264 voor iPod 2. Encode naar AAC 3. Hint movie
  • Streaming Video Formaten pagina 60/63 Hiermee wordt gerealiseerd dat de inkomende file zowel als H.264 als ‘audio only’ op de blog gepubliceerd wordt. Daarnaast wordt de ‘hoge kwaliteit’ gehint en beschikbaar gesteld op de streaming server. Tevens wordt de maker genotificeerd. Zie figuur 5 voor dit voorbeeld. Figuur 5: voorbeeld functionaliteit Dit voorbeeld kan uitgebouwd worden tot een ‘real world’ applicatie door een job te creëren die een H.264 file on-demand beschikbaar stelt en dezelfde file streaming beschikbaar stelt. De on-demand file is met iTunes via een blog te downloaden en de streaming file met QuickTime streaming server af te spelen. Het is mogelijk zelf taken toe te voegen aan dit proces door bijvoorbeeld de metadata met referentie naar de streaming file op te nemen in de database van de universiteit of in de elektronische leeromgeving. Zie figuur 6 voor dit ‘real world’ voorbeeld. Figuur 6: ‘real world’ voorbeeld
  • Streaming Video Formaten pagina 61/63 Naast de taken die in de jobs uitgevoerd kunnen worden biedt Apple ook mogelijkheden om files eenvoudig te ingesten in het systeem, los van de agent/encoder. Het is bijvoorbeeld mogelijk om direct vanaf je desktop een file te FTP-en naar de podcast server en het systeem in gang te zetten. Ook hier gaat het om een FTP van de mediafile met de bijbehorende XML job. Zie figuur 7 voor een voorbeeld widget op de desktop. De werking is als volgt. In het eerste plaatje wordt op de bol een video file gesleept. Vervolgens wordt in het 2e plaatje om XML gegevens gevraagd, dit is als het ware de job. De job kan volledig voor gespecificeerd worden, zodat de gebruiker bijvoorbeeld alleen nog zijn gebruikersnaam en wachtwoord moet invullen. In het laatste plaatje kan je metadata toevoegen en de file wordt verzonden. Figuur 7: desktop widget 5.3.3 Podcast server – netwerk architectuur Onderstaande figuur 8 geeft een overzicht van de netwerk componenten die aanwezig moeten zijn in het Podcast server park.
  • Streaming Video Formaten pagina 62/63 Figuur 8: podcast server netwerk architectuur
  • Streaming Video Formaten pagina 63/63 5.4 H.264 Apparatuur Voor de implementatie van de podcast server zijn er een aantal componenten nodig. Encoding: Podcast agent Een MacMini die dienst doet als encoder voor het capturen en encoderen van de opname. HD encoding: Wirecast live HD streamer Een MacPro voor het capturen en encoderen van een live HD evenement. Application: Batch/Webportal server en metadata controller Een Apple Xserve server die dienst doet als applicatie server. Hier draait de website en een Apple Xserve server voor job processing power. Storage: Storage en network services Een Apple Xserve Raid server met een hoeveelheid schijfruimte en een Apple Xserve server voor ontsluiting van de storage en andere netwerk diensten. De apparatuur is onlangs beschikbaar gekomen. De proefopstelling wordt met deze hardware in december 2006 gerealiseerd.