HQ streaming klant documentatie - KPN Content Delivery Network
HQ streaming klant documentatie - KPN Content Delivery Network
HQ streaming klant documentatie - KPN Content Delivery Network
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 />