08.09.2013 Views

HQ streaming klant documentatie - KPN Content Delivery Network

HQ streaming klant documentatie - KPN Content Delivery Network

HQ streaming klant documentatie - KPN Content Delivery Network

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>HQ</strong> <strong>streaming</strong> platform, <strong>klant</strong> <strong>documentatie</strong>. Versie 5 datum 6-3-2013 1(13)<br />

<strong>HQ</strong> <strong>streaming</strong> <strong>klant</strong> <strong>documentatie</strong><br />

Disclaimer:<br />

Dit document is met zorg samengesteld, doch voor de juistheid en volledigheid daarvan kan niet<br />

worden ingestaan. De auteur verstrekt door middel van dit document louter informatie over het<br />

technische product. Wijzigingen kunnen zonder voorafgaande mededeling worden aangebracht.<br />

<strong>HQ</strong> <strong>streaming</strong> platform<br />

Het <strong>HQ</strong> <strong>streaming</strong> platform bestaan uit nieuwe hardware met diverse 10Gbps interfaces.<br />

De <strong>streaming</strong> draait op Wowzamedia servers en de progressieve download op apache servers.<br />

Wowza versie 3<br />

Alle <strong>klant</strong>en zijn geconfigureerd op de nieuwe servers met wowza versie 3.<br />

Voor wowza 3 is de URL van het reflectorscript<br />

http://hqreflector.kpn<strong>streaming</strong>.nl/index.php<br />

De URL voor de live ingest push rtmp publishing points is:<br />

FMS URL: rtmp://push03.hq.kpn<strong>streaming</strong>.nl/account-live<br />

Backup URL: rtmp://push04.hq.kpn<strong>streaming</strong>.nl/account-live<br />

<strong>HQ</strong> platform uitgangspunten<br />

1. Hoge bedrijfszekerheid voor live en video on demand.<br />

Veel redundantie, als servers uitvallen draait de dienst door.<br />

2. Geïntegreerd onderdeel Telco netwerk.<br />

Korte en snelle lijnen naar de Nederlandse eindgebruikers en de rest van wereld.<br />

Veel <strong>streaming</strong> capaciteit.<br />

3. Grote flexibiliteit in <strong>streaming</strong> protocollen en ondersteunende devices.<br />

4. Eenvoudige integratie met portals/players, inclusief geo-blokking optie.<br />

Bijvoorbeeld players met flash en fallback naar HTML5.<br />

5. Eenvoudige live en video ingest en content beheer.<br />

6. Toegang tot de ruwe logging data van de laatste 90 dagen.<br />

Protocollen voor <strong>streaming</strong><br />

De volgende video protocollen worden ondersteund voor <strong>streaming</strong>.<br />

1. Progressive download van video (mp4, webm, wmv,…), plaatjes (jpg, png,…), documenten (pdf,<br />

zip, doc, ppt,…)<br />

2. Flash <strong>streaming</strong> via http, rtmp of rtmpt.<br />

3. HLS <strong>streaming</strong>, Http Live Streaming, ook wel apple <strong>streaming</strong> genoemd<br />

4. Microsoft smooth<strong>streaming</strong> via http.<br />

5. RTSP <strong>streaming</strong><br />

6. Icecast<br />

De volgende video extenties worden ondersteund voor steaming.<br />

.mp4 .mp3 .smil .m3u8 .f4v .flv<br />

Klant kan zelf de afmetingen en de snelheid bepalen. (* bekend van youtube)<br />

Kwaliteit video hoogte Breedte<br />

4:3<br />

Breedte<br />

16:9<br />

Frames<br />

per second<br />

snelheid


<strong>HQ</strong> <strong>streaming</strong> platform, <strong>klant</strong> <strong>documentatie</strong>. Versie 5 datum 6-3-2013 2(13)<br />

Laag 240p* 320 426 25 250-500Kbps.<br />

Midden 360p* 480 640<br />

500-<br />

25 1000Kbps.<br />

Midden 405p 540 720<br />

500-<br />

25 1000Kbps.<br />

Hoog 480p* 640 854 25 1-2Mbps<br />

SD PAL 576p 768 1024 25 1-2,5Mbps<br />

HD 720p* 960 1280 25 3-8Mbps.<br />

HD 1080p* 1440 1920 25 3-8Mbps.<br />

Encoding settings<br />

Het beste werkt H.264 video met AAC audio in een MP4 container met chunk duration van 2<br />

seconden (keyframes of GOP van 2 seconds of om de 50 frames). De-interlace de video voor<br />

transcoding.<br />

Audio sample rate: 48.000 Hz. Bij multi bitrate een audio only stream van 64kbps.<br />

Smart Phones, iOS devices encoding settings<br />

Video codec: H.264 baseline 3, audio codec: AAC-LC, aspect ratio: 16:9<br />

Advies max bit rate <strong>streaming</strong> 3G: 250Kbps (audio + video) en voor WiFi: 1Mbps (audio + video)<br />

Voor <strong>streaming</strong> gebruik 2-pass CBR (Constant Bit Rate) encoding. Voor download kan ook VBR<br />

worden gebruikt.<br />

Gebruik bij RTSP de toepassing ‘hint’the video.<br />

Playlists<br />

In een smil bestand kan een playlist worden gedefinieerd. Toepassingen zijn multi-bitrate <strong>streaming</strong>,<br />

video’s aan elkaar lassen tot een lineair kanaal, reclame toevoegen.<br />

Bestandsformaten voor download.<br />

Er kan van alles gedownload worden. Hieronder een aantal voorbeelden.<br />

1. Plaatjes, posters, thumnails bestanden zoals jpg en png<br />

2. Audio bestanden zoals MP3, WMA, AAC, AAC++, OGG<br />

3. Video bestanden zoals mp4, wmv, webm, ogg, mov, 3gpp, flv, mpg2, divx.<br />

4. Applicatie files als flash swf en silverlight manifest of ingepakte programma bestanden in een zipfile<br />

zoals zip, swf, xap<br />

5. Document bestanden als pdf, xls, doc, txt, xml, eventueel samen ingepakt in een zip-file<br />

6. HTML pagina, maar geen scripts als PHP of JS of EXE bestanden<br />

De storage is niet geschikt voor het hosten van websites. PHP bestanden worden gedownload en<br />

niet getoond zoals op een webserver.<br />

Download bestanden kunnen zonder player. Zonder player bepaalt het operating systeem (OS) of de<br />

browser of het device (mobiel) wat er gebeurt met het download bestand. Dit kan zijn afspelen in<br />

quicktime, windows media player, een dedicated mobiele player, vlc of opslaan op disk. Streaming<br />

protocollen hebben altijd een player nodig.<br />

Progressieve download (niet voor live, werkt altijd)<br />

Vele bestandsformaten kunnen worden gedownload van video, plaatjes tot pdf en excel documenten.<br />

Youtube gebruikt deze techniek voor zijn video’s.<br />

De html5 video-tag werkt hier bij de juiste combinatie browser en containerformaat (MP4 of WebM)<br />

Vaak wordt download ook als alternatief aangeboden mocht de gebruiker niet de juiste Flash of<br />

Silverlight plugin hebben.


<strong>HQ</strong> <strong>streaming</strong> platform, <strong>klant</strong> <strong>documentatie</strong>. Versie 5 datum 6-3-2013 3(13)<br />

Nadeel is dat er meer verkeer wordt verbruikt dan bij <strong>streaming</strong> omdat alles wordt gedownload<br />

ongeacht of de <strong>klant</strong> de gehele video kijkt. Een ander veel genoemd nadeel ten opzichte van<br />

<strong>streaming</strong> is dat de video in de browser cache staat en de gebruiker de video eenvoudig kan kopiëren.<br />

Voordeel van <strong>streaming</strong> is ook de mogelijkheid van multi bitrate support.<br />

Reflectorscript<br />

Het <strong>HQ</strong><strong>streaming</strong> concept is de PORTAL/website/Serverscript vraagt aan het reflectorscript de<br />

<strong>streaming</strong> url en plakt deze url in de site/player. Het reflectorscript kies een beschikbare server uit de<br />

<strong>KPN</strong> <strong>streaming</strong> cloud.<br />

Bijvoorbeeld een serverscript kan de html-player-object-code genereren (eventueel device<br />

afhankelijk). De site/cms heeft genereert dan een link naar zo’n service script.<br />

In het volgende hoofdstuk staan alternatieven voor het reflectorscript welke direct in de site/player<br />

kunnen worden opgenomen en ook de load verdelen over de servers, zoals<br />

http://downloadhq.kpn<strong>streaming</strong>.nl/index.php?download=<br />

http://downloadhq.kpn<strong>streaming</strong>.nl/index.php?smil=<br />

http://downloadhq.kpn<strong>streaming</strong>.nl/index.php?playlist=<br />

Voor een webcast kan de <strong>klant</strong> tijdelijk 1 server aanroepen.<br />

<strong>KPN</strong> levert GEEN support voor <strong>klant</strong>en die hardlinken naar één servers. <strong>KPN</strong> kan hiervoor ook geen<br />

beschikbaarheid garanderen. <strong>KPN</strong> wil de het verkeer effectief kunnen verdelen en alternatieve servers<br />

kunnen inzetten. Dat kan niet als gebruikers hardlinken naar 1 server.<br />

Reflector Video aanroep:<br />

http://hqreflector.kpn<strong>streaming</strong>.nl/index.php<br />

username: account-vod<br />

password: ***<br />

Voorbeeld: http://account-vod:***@hqreflector.kpn<strong>streaming</strong>.nl/?account=accountvod&service=flash&ip=85.17.48.71&xml=true&video=mijnvideo.mp4<br />

Output:<br />

<br />

0<br />

OK<br />

http://213.75.58.225/account-vod/_definst_/account-vod/mijnvideo.mp4/manifest.f4m<br />

<br />

Voor flash kan deze url bijvoorbeeld getest worden op: http://www.osmf.org/configurator/fmp/ Plak de<br />

url http://213.75.58.225/account-vod/_definst_/account-vod/mijnvideo.mp4/manifest.f4m op de site.<br />

Parameters reflector (* is optionele parameters):<br />

account Account-vod of account-live<br />

service Mogelijkheden zijn flash (http), rtmp, rtmpt, smooth, apple, rtsp, icecast,<br />

wms, download of all. Die laatste voor een lijst met alle wowza<br />

<strong>streaming</strong> url’s.<br />

ip Ip-adres van de client, nodig voor support en functionalititen zoals geoblocking,<br />

IP-white/blacklist.<br />

video of livestream of file Video of audio asset naam of verwijzing naar smil file.<br />

Noot: voor audio is de parameter ook video.<br />

Wowza livestreams kan de <strong>klant</strong> zelfstandig pushen en publiceren.<br />

Windows media en icecast livestreams worden gepulled en<br />

aangemaakt door <strong>KPN</strong> op verzoek van de <strong>klant</strong>.<br />

xml=true of json=true * Optioneel, xml=true voor output in xml formaat,


<strong>HQ</strong> <strong>streaming</strong> platform, <strong>klant</strong> <strong>documentatie</strong>. Versie 5 datum 6-3-2013 4(13)<br />

http://hqreflector.kpn<strong>streaming</strong>.nl/ServiceResponse.xsd<br />

Json=true voor output in json formaat,<br />

{<br />

"resultCode" : "X" ,<br />

"resultDescription" : "Y" ,<br />

"url" : "Z"<br />

}<br />

geoip=true&country=nl * Optioneel voor geoblokking, in dit geval alleen toegang voor IPnummers<br />

uit NL<br />

start=1000&duration=5000 Waarde in millisecondes en minimaal 1000 (=1seconder) of groter<br />

jwplayer=smil of rss * Wowza rtmp ondersteuning voor multibitrate smil met rss voor jwplayer5 en<br />

smil voor jwplayer6.<br />

resultCode reflector:<br />

0 OK<br />

31 The GeoIP Module says that the ip address does not match with the country. Aborting<br />

request.<br />

Geoblokking, IP-adres en Country komen niet overeen. Bijvoorbeeld bij reflector parameters<br />

ip=85.17.48.71&xml=true&geoip=true&country=DE<br />

De GeoIP informatie komt uit de database van MaxMind GeoIP Country ® , zie<br />

http://www.maxmind.com/app/country. Het land behorende bij een IP-adres is te vinden op<br />

http://www.maxmind.com/app/lookup_city<br />

88 Tijdelijk geen toegang, netwerkcongestie of ip-adres in ip-blacklist<br />

99 Algemene fout, bijvoorbeeld een parameter is foutief of ontbreekt.<br />

Alternatieve voor reflectorscript<br />

Hier staan alternatieven voor het reflectorscript welke direct in de site/player kunnen worden<br />

opgenomen en die ook de load verdelen over de servers.<br />

De stap van de site via <strong>HQ</strong> reflectorscript met username/password kan dan worden overgeslagen.<br />

Download redirect script<br />

Een simpele aanroep met redirect naar een van de beschikbare apache servers. Het download script<br />

downloadhq.kpn<strong>streaming</strong>.nl/index.php?download=accountname/filename is een script met redirect.<br />

Voorbeeld<br />

http://downloadhq.kpn<strong>streaming</strong>.nl/?download=kpnvideovod/bigbuckbunny/bigbuckbunny_450.mp4<br />

Een simpele aanroep met parameter download=accountname/filename. Naast audio en video kan van<br />

alles gedownload worden pdf, doc, zip, exe, ect... of als audio/video in podcast/vodcast playlist.<br />

Streaming rtmp smil playlist script<br />

Script downloadhq.kpn<strong>streaming</strong>.nl/index.php?smil=accountname/filename is een aanroep voor een<br />

flash smil bestand waarin de rtmp streambase en source file zijn geknipt in een smil playlist.<br />

Voorbeeld<br />

http://downloadhq.kpn<strong>streaming</strong>.nl/index.php?smil=kpnvideovod/bigbuckbunny/bigbuckbunny_450.mp<br />

4<br />

xml output met <strong>Content</strong>-Type:application/smil<br />

<br />

<br />

<br />


<strong>HQ</strong> <strong>streaming</strong> platform, <strong>klant</strong> <strong>documentatie</strong>. Versie 5 datum 6-3-2013 5(13)<br />

<br />

<br />

<br />

<br />

Een simpele aanroep met parameter smil=accountname/filename, het eerste deel van de parameter is<br />

de account naam en het 2e deel de bestandsnaam.<br />

Toepassing in een jwplayer of flowplayer die nog geen http flash <strong>streaming</strong> ondersteund<br />

Noot: dit is de cliënt side smil en niet de wowza server side smil voor multi bitrate.<br />

Streaming redirect script van apples m3u8 stream<br />

Script downloadhq.kpn<strong>streaming</strong>.nl/index.php?playlist=accountname/filename redirect naar een apple<br />

HLS stream. Voorbeeld<br />

http://downloadhq.kpn<strong>streaming</strong>.nl/index.php?playlist=kpnvideovod/bigbuckbunny/bigbuckbunny_450.<br />

mp4<br />

Een simpele aanroep met parameter playlist=accountname/filename.<br />

Streaming livestream windows media axs playlist script<br />

Script downloadhq.kpn<strong>streaming</strong>.nl/index.php?asx=accountname/filename is een aanroep voor een<br />

asx playlist bestand waarin een van de beschikbare windows media servers met publishing point zijn<br />

opgenomen. Voorbeeld<br />

http://downloadhq.kpn<strong>streaming</strong>.nl/index.php?asx=kpnlive/webcast<br />

Een simpele aanroep met parameter asx=accountname/livestreamname.<br />

Window Media publishing points worden aangemaakt op verzoek.<br />

Streaming livestream windows media wms redirect script<br />

Script downloadhq.kpn<strong>streaming</strong>.nl/index.php?wms=accountname/filename is een aanroep voor een<br />

asx playlist bestand waarin een van de beschikbare windows media servers met publishing point zijn<br />

opgenomen. Voorbeeld<br />

http://downloadhq.kpn<strong>streaming</strong>.nl/index.php?wms=kpnlive/webcast<br />

Een simpele aanroep met parameter wms=accountname/livestreamname.<br />

Window Media publishing points worden aangemaakt op verzoek.<br />

Streaming livestream icecast via redirect script<br />

Script downloadhq.kpn<strong>streaming</strong>.nl/index.php?icecast=accountname/filename is een aanroep voor<br />

een playlist bestand waarin een van de beschikbare icecast servers met publishing point zijn<br />

opgenomen. Voorbeeld<br />

http://downloadhq.kpn<strong>streaming</strong>.nl/index?icecast=kpnlive/radio<br />

Een simpele aanroep met parameter icecast=accountname/livestreamname.<br />

Icecast publishing points worden aangemaakt op verzoek.<br />

Script Checkfile<br />

Met het script Checkfile kan een CMS of VMS checken of de file beschikbaar is op storage om te<br />

gebruiken.


<strong>HQ</strong> <strong>streaming</strong> platform, <strong>klant</strong> <strong>documentatie</strong>. Versie 5 datum 6-3-2013 6(13)<br />

Checkfile script:<br />

server: http://hqreflector.kpn<strong>streaming</strong>.nl/checkfile.php?xml=true&file=mijnvideo.mp4<br />

username: account-vod of account-live<br />

password: *** (zelfde als reflectorscript)<br />

Output als bestand gevonden is<br />

<br />

0<br />

OK - File mijnvideo.mp4 is available!<br />

2011-07-04 14:46:05<br />

<br />

Output als bestand niet gevonden is<br />

<br />

99<br />

FAILED - File videoX.mp4 is not available!<br />

<br />


<strong>HQ</strong> <strong>streaming</strong> platform, <strong>klant</strong> <strong>documentatie</strong>. Versie 5 datum 6-3-2013 7(13)<br />

Video ingest<br />

Directe FTP of FTPS (poort 990) toegang tot 1 directory voor <strong>streaming</strong> en download.<br />

Server: ftp://ftphq.kpn<strong>streaming</strong>.nl of ftps://ftphq.kpn<strong>streaming</strong>.nl<br />

Username: account-vod<br />

Password: ***<br />

LET OP: Het <strong>HQ</strong><strong>streaming</strong> concept levert direct ftp toegang. Klant kan hier content toevoegen,<br />

wijzigen en verwijderen.<br />

(dus geen dropbox, geen management interface, geen xml of soap koppelingen zoals in het VDO-X<br />

concept.)<br />

Bestandsnamen:<br />

Plaats de video is de directory /wowza/content/vod/<br />

Om video’s maar één keer op te staan en zowel te kunnen streamen<br />

als downloaden is de map /apache/content/vod/ direct gekoppeld<br />

aan de map /wowza/content/vod/.<br />

In de map /logs/ schrijven de servers direct hun logs. Dus hier<br />

worden de logs in real time weggeschreven.<br />

Eventueel kunnen submappen gemaakt worden. Bijvoorbeeld<br />

/map2011/mijnvideo.mp4, de video parameter wordt vervolgens<br />

urlencoded (/ wordt %2F) ofwel video=map2010%2Fmijnvideo.mp4<br />

Advies:<br />

1/ Gebruik subdirectory’s om de snelheid erin te houden. Via FTP een directory listing opvragen<br />

waarin duizenden bestanden reageert erg traag.<br />

2/ Gebruik algemene tekens en géén spaties en géén speciale karaters als é, “ of &.<br />

3/ Een probleem dat wel eens optreed zijn dubbele bestandsnamen.<br />

Technisch gaan Windows Machines en Linux machines hier anders meer om !!!<br />

Windows is hoofdletter ongevoelig en ziet maar 1 bestand staan.<br />

Linux is hoofdletter gevoelig en ziet er 2 staan, waarbij de aanroep ook gevoelig is voor hoofdletters.<br />

Verzoek om uniformiteit te kiezen in de upload namen. Bijvoorbeeld altijd kleine letters en het liefst<br />

geen spaties maar een _ (underscore).<br />

Logging data<br />

De <strong>klant</strong> kan direct bij de logging data. De data is beschikbaar via dezelfde FTP toegang als bij ftpaccount-live<br />

en ftp-account-vod.<br />

Server: ftp://ftphq.kpn<strong>streaming</strong>.nl of ftps://ftphq.kpn<strong>streaming</strong>.nl<br />

aparte directory voor vod logs, map account-vod/wowza/logs/ en account-vod/apache/logs/<br />

aparte directory voor live logs, map account-live/wowza/logs/<br />

De timestamps in de logs zijn gebaseerd op local-time (Nederlandse tijd).<br />

Live ingest<br />

Gebruik bijvoorbeeld encoder http://www.adobe.com/products/flashmediaserver/flashmediaencoder/<br />

Live<strong>streaming</strong> push rtmp publishing points:<br />

FMS URL: rtmp://push03.hq.kpn<strong>streaming</strong>.nl/account-live<br />

Backup URL: rtmp://push04.hq.kpn<strong>streaming</strong>.nl/account-live<br />

username: account-live<br />

password: ***<br />

stream name: zelf te kiezen, bijvoorbeeld live-event% (% voor multibitrate, % wordt 1,2,3)


<strong>HQ</strong> <strong>streaming</strong> platform, <strong>klant</strong> <strong>documentatie</strong>. Versie 5 datum 6-3-2013 8(13)<br />

Encoding instellingen zijn hier belangrijk, zoals GOP=2 seconde, Meer info volgt…<br />

Als die ene aanvoer goed ingesteld is dan kan de stream in meerdere protocollen worden<br />

uitgeserveerd, zoals flash, smooth, apple, rtsp <strong>streaming</strong>.<br />

Reflector livestream:<br />

server: http://hqreflector.kpn<strong>streaming</strong>.nl/index.php?<br />

username: account-live<br />

password: ***<br />

Voor wowza versie 2 is het script: http://hqreflector.kpn<strong>streaming</strong>.nl/index.php?<br />

Voorbeeld: http://account-live:***@hqreflector.kpn<strong>streaming</strong>.nl/index.php?account=accountlive&service=flash&ip=85.17.48.71&xml=true&livestream=live-event1<br />

Output<br />

<br />

0<br />

OK<br />

http://213.75.58.225/account-live/live-event1/manifest.f4m<br />

<br />

Als de live stream loopt is de url op dezelfde manier te testen als bij vod.<br />

multi bitrate kan ook, Voorbeeld:<br />

http://hqreflector.kpn<strong>streaming</strong>.nl/index.php?account=bijlagetvlive&service=flash&ip=1.0.0.0&livestrea<br />

m=live-event.smil<br />

Hiervoor moet een smil file worden geupload,<br />

Server: ftp://ftphq.kpn<strong>streaming</strong>.nl of ftps://ftphq.kpn<strong>streaming</strong>.nl<br />

Username: account-live<br />

Password: ***<br />

Adding Multi-bitrate Audio-only Rendition to iOS Streams (AppStore 64Kbps)<br />

Er is geen audio bestand op storage. de audio-only wordt realtime gemaakt.<br />

voorbeeld: de bron video is "xxxxx.mp4"<br />

plaats smil bestand "xxxxx.smil" via FTP op storage<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

maak een website, voorbeeld<br />

<br />

<br />

<br />

apple <strong>streaming</strong> : xxxxx.smil<br />

<br />

<br />

<br />


<strong>HQ</strong> <strong>streaming</strong> platform, <strong>klant</strong> <strong>documentatie</strong>. Versie 5 datum 6-3-2013 9(13)<br />

<br />

<br />

<br />

<br />

In principe kan ook alleen de audio worden afgespeeld.<br />

Plaats smil bestand "xxxxx_audioonly.smil" via FTP op storage<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

maak een website, voorbeeld<br />

<br />

<br />

<br />

apple <strong>streaming</strong> : xxxxx.smil<br />

<br />

<br />

<br />

<br />


<strong>HQ</strong> <strong>streaming</strong> platform, <strong>klant</strong> <strong>documentatie</strong>. Versie 5 datum 6-3-2013<br />

10(13)<br />

FAQ<br />

Waarom bestanden op een CDN plaatsen<br />

Download bestanden kunnen ook op een site (webserver) geplaatst worden. Het <strong>KPN</strong> CDN heeft het<br />

voordeel dat hij veel netwerkconnectiviteit heeft, meerdere 10Gbps connecties en dat de servers en<br />

storage snel veel data verkeer kunnen verwerken.<br />

Kan ik ook vanaf de cliënt direct het reflectorscript aanroepen?<br />

Drie redenen van <strong>KPN</strong> om het reflectorscript te koppelen aan de <strong>klant</strong> server/cms/player:<br />

1. Met de server constructie kan kpn de reflectorscript aanvragen autoriseren, een wens vanuit<br />

security en <strong>klant</strong>en. Onze ervaring met het oude reflectorscript is dat het veel werd aangeroepen<br />

door niet <strong>klant</strong>en (bots, chinese ip's, hackachtige scans) en dat er van ex-videos/ex-sites/ex<strong>klant</strong>en<br />

nog veel aanroepen zijn (bijvoorbeeld de video aanroepen van een ex-site staan nog op<br />

google als je zoekt op artiest X).<br />

2. De <strong>klant</strong> krijgt via de server meer controle over toegang tot zijn video's en kan reports bijhouden<br />

over de aanvragen. (bijvoorbeeld direct zien of error404 of error99 of error31 optreed.).<br />

3. De <strong>klant</strong> kan URL vriendelijke aanvragen maken. www.mijsite.nl/video/apple/354628 en<br />

vervolgens op de server een player of embedcode en/of playlist genereren die bij de<br />

pagina/device/browser past. Bijvoorbeeld veel mobile devices zien liever een directe server URL<br />

dan een playlist.<br />

Wowza crossdomain.xml<br />

Op elke wowza server is een standaard crossdomain.xml ingesteld.<br />

http://213.75.58.225/crossdomain.xml<br />

<br />

<br />

<br />

<br />

Apache crossdomain.xml<br />

De Apache server haalt de crossdomain.xml van uw vod storage. Uw kunt deze dus zelf aanpassen.<br />

De browser haalt de crossdomain.xml op bij de video server. voorbeeld<br />

apache.account-vod.pmedia10.kpn<strong>streaming</strong>.nl/crossdomain.xml<br />

Apache index.html<br />

Een optie is het plaatsen van bestand index.html met een redirect naar uw website.<br />

Mocht de download server benadert worden dan wordt gebruiker of zoekmachine verwezen naar uw<br />

website. voorbeeld<br />

apache.account-vod.pmedia10.kpn<strong>streaming</strong>.nl/index.html<br />

Noot: de apache server ondersteunt geen server side scripting zoals php.<br />

Noot: vaak is het ook handig om standaard de bestanden favicon.ico en robots.txt te plaatsen.<br />

Voorbeeld inhoud robots.txt<br />

User-agent: *<br />

Disallow: /<br />

Er is geen backup van uw video.<br />

De content staat opgeslagen op een NAS met RAID 10n configuratie. Dit betekent dat één video<br />

verspreid is over meerdere disken voor maximale performance en dat er extra parity bits worden<br />

opgeslagen. Die parity bits zorgen voor redundantie. Hierdoor is het mogelijk om disken te vervangen<br />

zonder dat de content verloren gaat of dat de service offline moet. Dit resulteert in een zeer hoge<br />

beschikbaarheid.<br />

Er wordt dus niet dagelijks een backup gemaakt van de content. Eventueel kun u hiervoor additionele<br />

backup diensten bij <strong>KPN</strong> afnemen of zelf een backup (laten) maken.<br />

ftp sessie time out<br />

Ingesteld zijn de standaard waarden, te weten data connectie time out na 120 seconden en na idle<br />

status een time out van 600 seconden.


<strong>HQ</strong> <strong>streaming</strong> platform, <strong>klant</strong> <strong>documentatie</strong>. Versie 5 datum 6-3-2013<br />

11(13)<br />

Referenties:<br />

Overzicht mogelijkheden wowza media servers<br />

http://www.wowza.com/media-server<br />

Flash <strong>streaming</strong> (flash player en flash plugin nodig):<br />

Mogelijke protocollen http, rtmp (port xx) en rtmpt (rtmp over port 80 via tunneling)<br />

Smooth <strong>streaming</strong> (Silverlight player en Silverlight plugin nodig):<br />

Protocollen http.<br />

HTTP Live Streaming (Apple, Andorid 3.x met html5 video-tag)<br />

De live streams maken gebruikt van HTTP Live Streaming, ook wel Apple HTTP Adaptive Streaming<br />

genoemd. De distributie vindt plaats met WOWZA MEDIA servers.<br />

Achtergrond info http://tools.ietf.org/html/draft-pantos-http-live-<strong>streaming</strong>-06<br />

RTSP <strong>streaming</strong> (Real Time Streaming Protocol, port xx):<br />

Voor mobieltjes wordt vooral progressive download en RTSP <strong>streaming</strong> gebruikt.<br />

<strong>KPN</strong> ondersteunt geen automatische multi bitrate voor RTSP. Eventueel kan de cliënt of <strong>klant</strong><br />

handmatig een andere snelheid kiezen.<br />

Streaming servers gebruiken wowzamedia.<br />

Veel zaken zijn te vinden op de site van Wowza<br />

http://www.wowza.com/forums/content.php?188-documentation<br />

How to play a video on demand file<br />

http://www.wowza.com/forums/content.php?35 met video en smil voorbeelden als bigbuckbunny.smil<br />

“You can download the smil file and the videos referenced in this tutorial (H.264 Main profile) and<br />

Lower bitrate set for mobile <strong>streaming</strong> (H.264 Baseline profile - iPhone and iPod touch compatible)”


<strong>HQ</strong> <strong>streaming</strong> platform, <strong>klant</strong> <strong>documentatie</strong>. Versie 5 datum 6-3-2013<br />

12(13)<br />

Bijlage 1: Voorbeelden aanroep reflectorscript:<br />

Standaard aanroep flash video:<br />

let op aanroep urlencoded<br />

http://hqreflector.kpn<strong>streaming</strong>.nl/index.php?account=accountvod&service=flash&ip=85.17.48.71&xml=true&video=map2011%2Fmijnvideo.mp4<br />

<br />

0<br />

OK<br />

http://213.75.58.225/account-vod/_definst_/account-vod/map2011/mijnvideo.mp4/manifest.f4m<br />

<br />

Test <strong>streaming</strong> video's door url te plakken in http://www.osmf.org/configurator/fmp/# met HTTP<br />

<strong>streaming</strong> is vinkje bij Yes<br />

demo geo blokking:<br />

http://hqreflector.kpn<strong>streaming</strong>.nl/index.php?account=accountvod&service=flash&ip=85.17.48.71&xml=true&video=mijnvideo.mp4&geoip=true&country=DE<br />

<br />

31<br />

The GeoIP Module says that the ip address does not match with the country. Aborting<br />

request.<br />

<br />

<br />

demo error 99:<br />

Aanvraag met onbekende waarde voor parameter service=http<br />

http://hqreflector.kpn<strong>streaming</strong>.nl/index.php?account=accountvod&service=http&ip=85.17.48.71&xml=true&video=mijnvideo.mp4&geoip=true&country=DE<br />

<br />

99<br />

Service is unknown, please provide the right service name.<br />

<br />

<br />

Standaard aanroep download:<br />

http://hqreflector.kpn<strong>streaming</strong>.nl/index.php?account=accountvod&service=download&ip=85.17.48.71&xml=true&video=mijnvideo.mp4<br />

<br />

o<br />

OK<br />

http://apache.account-vod.pmedia08.kpn<strong>streaming</strong>.nl/mijnvideo.mp4<br />

<br />

Test video door bijvoorbeeld de url te plakken in een browser of player.<br />

Standaard aanroep flash livestream:<br />

http://hqreflector.kpn<strong>streaming</strong>.nl/index.php?account=accountlive&service=flash&ip=85.17.48.71&xml=true&livestream=mijnzender_1<br />

<br />

0<br />

OK<br />

http://213.75.58.225/account-live/mijnzender_1/manifest.f4m<br />

<br />

Test live stream door url te plakken in http://www.osmf.org/configurator/fmp/# met HTTP <strong>streaming</strong> is<br />

vinkje bij Yes


<strong>HQ</strong> <strong>streaming</strong> platform, <strong>klant</strong> <strong>documentatie</strong>. Versie 5 datum 6-3-2013<br />

13(13)<br />

Standaard aanroep apple livestream met smil voor multi bitrate:<br />

http://hqreflector.kpn<strong>streaming</strong>.nl/index.php?account=accountlive&service=apple&ip=85.17.48.71&xml=true&livestream=mijnzender.smil<br />

<br />

0<br />

OK<br />

http://213.75.58.225/account-live/mijnzender.smil/playlist.m3u8<br />

<br />

Standaard aanroep icecast livestream<br />

De implementatie kent 2 fases.<br />

Fase 1 is <strong>HQ</strong> reflector welke url terugkoppeld van bestaande icecast streams.<br />

http://hqreflector.kpn<strong>streaming</strong>.nl/index.php?account=accountlive&service=icecast&ip=85.17.48.71&xml=true&livestream=kpn=OmroepL=nonstop.mp3<br />

<br />

0<br />

OK<br />

http://ice.media05.kpn<strong>streaming</strong>.nl:8000/kpn=OmropFryslanL=OmroepL=nonstop.mp3<br />

<br />

fase 2 is <strong>HQ</strong> reflector met eigen icecast implementatie voor <strong>HQ</strong>.<br />

De aanvraag wordt dan livestream=nonstop.mp3 en de url (en poort) wordt anders.<br />

http://hqreflector.kpn<strong>streaming</strong>.nl/index.php?account=accountlive&service=icecast&ip=85.17.48.71&xml=true&livestream=kpn=OmroepL=nonstop.mp3<br />

<br />

0<br />

OK<br />

http://icecast.media66.hq<strong>streaming</strong>.nl:80/nonstop.mp3<br />

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!