Ny streamingteknik för SVT Play

Vi byter nu leverantör för strömmande video på våra webbplatser. I samband med det byter vi även teknik för Flashvideo – vi går ifrån RTMP och använder i stället HTTP Dynamic Streaming.

Som ni tidigare kunna läsa byter vi ut vårt publiceringssystem och passar samtidigt på att bygga SVT:s sajter enligt principen “responsive design” (läs gärna tidigare blogginlägg, t.ex. https://blogg.svt.se/testbild/2012/07/ansvarsfull-webbutveckling/). Sedan början av sommaren har vi också arbetat med att byta streamingleverantör. Det är ett ganska omfattande jobb bakom kulisserna på SVT Play där vi gör ändringar i hur vi transkoderar, distribuerar och spelar upp video. Den större delen av jobbet märks inte på ytan men samtidigt som vi byter leverantör passar vi på att byta teknik för strömmande video.

Ny teknik för Flashvideo

I dagens SVT Play använder vi en teknik som kallas Flash Dynamic Streaming. Tekniken fungerar så att vår videospelare får tillgång till ett antal olika videoströmmar som alla innehåller samma program, men kodat i olika kvalitet. I spelaren väljer du som tittar vilken kvalitet du tycker är lämplig, eller så väljer du det automatiska läget där spelaren känner efter hur fort du kan ta emot strömmen och byter till högre eller lägre kvalitet när det passar.
Nu byter vi teknik till Flash HTTP Dynamic Streaming (HDS), en teknik med ett namn som är förvillande likt det gamla men som skiljer sig radikalt när det gäller funktion. I stället för att använda traditionella videoströmmar så klipper denna teknik upp videon i korta snuttar. Videosnuttarna hämtas till din dator med samma teknik som vanliga webbsidor och bilder på nätet, vilket gör det lättare att titta på video innanför brandväggar och proxyservrar. Funkar det att surfa ska det funka att titta på video. Varje videosnutt hämtas i så bra kvalitet som möjligt, baserat på hur lång tid den förra snutten tog att hämta. Bildkvaliteten kan alltså gå lite upp och ned medan du tittar, men du får hela tiden bästa möjliga bild och ljud.

Därför byter vi teknik

Traditionella videoströmmar har använts för att leverera video på Internet sedan 1990-talet. Nackdelen med en videoström är att den tar en konstant bandbredd i anspråk – så länge du tittar på videon kräver den att data går fram till din dator i rätt hastighet. Det fungerar bra över stabila, fasta nätverk med hög kapacitet, men i den mobila värld vi rör oss idag går det sämre. Om ditt 3G-modem kopplar ned sig tillfälligt, eller om du rör dig till ett område med sämre täckning, kommer inte videoströmmen fram och spelaren stannar och buffrar. Klart irriterande.
Genom att använda en segmentbaserad teknik som HDS kommer man bort ifrån strömmarnas behov av konstant bandbredd. Det innebär några fördelar:

  • Videokvalitet anpassas hela tiden efter Internetanslutningens kapacitet
  • Samma videofiler publiceras både för små mobilskärmar och stora HD-skärmar
  • HTTP-trafik stoppas inte i brandväggar på samma sätt som andra videoströmmar
  • HTTP är ett billigare sätt att transportera data så vi lägger mindre pengar på varje levererad video

Vi hoppas att ni tittare ska märka förändringen så lite som möjligt – i bästa fall fungerar allt bara. Om du tidigare haft problem med buffring eller brandväggar ska du förhoppningsvis uppleva en förbättring nu.

Videoformaten för HDS

Lite beroende på programtyp kodar vi varje program i upp till sex olika kvalitetsnivåer. Själva videofilerna används som grund för både HDS, HLS till Iphone/Ipad och till Android. Vi ser löpande över inställningarna för att förbättra videokvalitet och kodningstider men här är våra codec-inställningar just nu:
Container: mp4
Video-codec: h.264 baseline
Ljud-codec: aac-lc 160 kbps
Bildstorlek: 320×180, 480×270, 576×324, 704×396, 1024×576, 1280×720
Bitrate: 224, 420, 620, 960, 1660, 2760 kbps