Så använde vi molnet för att enkoda 200 timmar video
20 Dec 2009
Utveckling
Vi driver ett större projekt hos oss just nu där vi skall tillgängliggöra totalt 200 timmar filmat material i ett webbgränssnitt. Dels är själva gränssnittet rät väl utarbetat men en av de största nötterna att knäcka har varit hur vi rent praktiskt skall hantera enkodning och streaming av filmfiler. Vi kommer att använda oss av Flash i H.264-enkodning men har velat fram och tillbaka om hur vi skall hantera automatisering av uppladdat material. Men hur automatiserar man detta på bästa sätt?
Totalt har vi 200 timmar färdigt material som över tid skall kompletteras med användargenererade filmer. Det ställer krav på bra automatisering och skalbarhet. Efter många noggranna övervägningar föll valet på Encoding.com. Vi valde den tjänsten på grund av följande anledningar:
- Pay-as-you-go-modell. Vi betalar bara för det vi faktiskt använder.
- Tjänsten har både admin-gränssnitt och SOAP-API
- Tjänsten är lastbalancerad i Amazon EC2
- Tjänsten kan läsa och skriva filmfiler till Amazon S3 resp. FTP-konton.
- Gott om parametrar för inställning av enkodning
Genom att teckna Premiumkonto hos Encoding.com är vi garanterade relativt snabba hanteringstider på varje film och även om det kostar pengar per film vi bearbetar är det helt klart överkomliga summor pengar.
Ett annat praktiskt problem som vi stötta ihop med var hur vi skulle tillgängliggöra filmerna för Encoding.com att hämta upp och koda om dem. Planen var frrån början att lägga ut dem på en egen FTP vilket kändes som en bra idé tills vi om fram till att 200 timmar råmaterial tar upp flera terabyte med data och att köpa in fler hårddiskar bara för ett engångsarbete kändes onödigt. Lösningen i detta fall blev att teckna ett Amazon S3-konto och placera alla filer där innan de laddas ned för encodning. Obegränsat lagringsutrymme till en kostnad som understiger inköp av och arbete med nya egna hårddiskar.
Nu har vi en bra lösning som är helt oberoende av serverlast eller diskutrymme. Det är nog första gången som jag är med och bygger något krävande som till stora delar är direkt beroende av molntjänster.
Kul!
december 27th, 2009 kl 11:42 f m arne
[...] Som tidigare skrivit arbetar vi just nu med ett störe videoprojekt där vi skall publicera flera hundra timmar video. Vi kommer enbart att använda oss av flashvideo då helst MP4 med H264-encodning. Själva encodningen av filmer i stor skala har vi löst och nu har vi fokuserat på att försöka lösa streaming av filmfiler på ett bra sätt. Anledningen till att vi vill ha streaming istället för bara buffrade filmfiler(som t.ex. Vimeo kör) är att man vill kunna hoppa in i en filmfil var som helst för att dels kunna skapa bokmärkning av filmer men även ge en bättre användarupplevelse så man kan hoppa i filerna utan att behöva invänta buffring av hela filen. [...]