Kyrre Baker

kyrre.baker@gmail.com

HTML5 Videotest

5 svar Onsdag 07. April 2010, kl. 05:38:59

Jeg har med fire små endringer i koden konvertert til HTML5. Dette gjør at jeg nå også kan eksperimentere med HTML5 sine muligheter for å servere video uten tillegg som eksempelvis Flash. Dette fungerer ikke i alle nettlesere så det er pr. dato kun å regne som testing og leking med kode.

Referanse i Flash

du kan ikke se denne videoen på grunn av manglende javascript eller flash

du kan i stedet forsøke laste den ned og se den lokalt

Videoen over er ment som en referanse så du vet hva du skal forvente av HTML5-videoene lenger ned. Referansen bruker Flash og skal være synlig så lenge du har aktivert dette- og JavaScript i nettleseren.

Videoene / HTML5 -/ <video … >


Fungerer ikke videoen over så mangler nettleseren din for FLV i HTML5


Fungerer ikke videoen over så mangler nettleseren din støtte for OGV i HTML5


Fungerer ikke videoen over så mangler nettleseren din støtte for WebM i HTML5


Fungerer ikke videoen over så mangler nettleseren din støtte for M4V i HTML5


Denne; siste videoen er kun for å gi støtte for iPhone / iPod (samt mobiltelefoner som gjerne vil ha en mindre filstørrelse) og bør fungere dersom du også kan se videoen som ligger over.

Implementasjonen

Nettleseren din kan selv velge hvilken av filene (om noen) som skal vises. Dette gjør den ut fra enten metadata i koden- eller fra filen i seg selv. Sistnevnte er helt klart unødvendig da det tar båndbredde du ikke behøver å bruke. Dette gjøres med følgende kode dersom du vil la nettleseren sjekke filene og selv finne ut hva den kan spille.

<video style="[css]" controls="controls" preload="none">
    <source src="micmacs.flv"  />
    <source src="micmacs.ogv" />
    <source src="micmacs.m4v" />
    <source src="micmacs_hd.m4v" />
    <source src="micmacs.webm  />
</video>

For dette eksempelet har jeg valgt å legge de inn som flere «containere» så du selv skal kunne se hvilken fil som blir lastet eller ikke. I tillegg er ikke denne- foreslåtte metoden validerbar og jeg ser ingen muligheter for å få til både dette- og validering annet enn å bruke JavaScript; noe jeg ikke ønsker i dette tilfellet.

Rekkefølgen her er kritisk for visning av filene. Etter som dette fint kan brukes for å servere mindre filer til eksempelvis mobiltelefoner bør disse ligge over filene for skrivebords-nettlesere. I tillegg har enkelte nettlesere problemer med skille ut hva de kan- og ikke kan. F.eks vil Google Chrome gjerne tro at den kan spille av både FLV og OGV og disse bør derfor prioriteres ned i forhold til akkurat denne nettleseren.

Den minst gode av to dårlige løsninger

Skal man servere video på nettet i dag er det fremdeles Flash som fungerer best. Det er ganske så ubrukelig å måtte kode videoen to- eller flere ganger for å vise den, og det kan fort ta mye harddisk-plass. I dette tilfellet har jeg brukt godt over det doble av den lagringsplassen jeg strengt tatt hadde hatt behov for.

Nå er det rett og slett for komplisert, tid- og ikke minst plasskrevende å servere video på denne måten. Frem til den dagen da det finnes et videoformat som støttes av alle nettlesere via HTML5 er det kun Flash som er «bra nok». Noe som egentlig er veldig synd etter som Flash er den absolutt største kilden mange har til ustabile nettlesere og reklame på internett.

Skriv gjerne ett ord eller to om nettleser, operativsystem og annet relevant dersom dette skulle slumpe til å fungere- eller brekke veldig. Skulle du ønske å leser mer inngående om temaet kan jeg anbefale Video On The Web - Dive Into HTML 5 (og kanskje særlig avsnittet om hva som virker på nettet) der det finnes flere eksempler og mer informasjon.

Kommentarer

Av Asle Ommundsen, #c1009

Onsdag 07. April 2010, kl. 10:21:49

Interessant! Men merkelig nok fungerer det ikke i Opera 10.51 på Windows 7. Når jeg besøker sida, laster den automatisk ned 21,7MB (uten at jeg har klikket på noen av videoene), deretter blir den stående å henge uten å laste ned mer, og ingen av videoene fungerer. I Firefox derimot, fungerte video nummer to hos meg (.ogv), og den startet (heldigvis) ikke nedlastingen før jeg klikket på «Play»-knappen.

Av Kyrre Baker, #c1010

Onsdag 07. April 2010, kl. 10:32:03

Så Opera 10.51 på Windows ignorerer preload=»none»? Interessant. God informasjon å få dersom man vil spare båndbredde. Opera 10.50 Beta for OS X viser OGV glitrende godt.

Når preload=»none» er satt så skal ikke nettleseren laste ned video før brukeren har startet videoen. Jeg vet dog at ikke er 100% støttet enda så det er vel ikke annet å regne at det er litt feil ute å går.

Av Asle Ommundsen, #c1011

Onsdag 07. April 2010, kl. 10:54:00

Nå har jeg ikke begynt å lære meg HTML5 videre enda, men jeg slo det opp nå, og du har rett, preload er enda ikke støttet i Opera Presto 2.5:

«preload attribute is not supported; for your reference, autobuffer was changed to preload in the specification.» (fra opera.com/docs/specs/presto25/html5)

Av Lasse G. Dahl, #c1012

Onsdag 07. April 2010, kl. 11:11:57

Vorbis/Theora er den eneste som virker i min Firefox 3.5.8 på Ubuntu 9.10 (i tillegg til Flash da, så klart. Alle støtter jo Flash?). Det tar imidlertid litt tid før den starter. Det betyr vel kanskje at «preload» støttes?

Av Kyrre Baker, #c1014

Onsdag 07. April 2010, kl. 11:15:24

Jeg vet ikke hvorfor det tar så veldig lang tid med OGV-filen. Det samme gjør det her hos meg med FF 3.6.3 på OS X. Men det er forventet at FF kun spiller av den filen etter som den ikke har støtte for H.264.

Trackbacks

Fra JW Player og mod_h264 hos Kyrre Baker, #p539

Torsdag 08. April 2010, kl. 06:21:09

Til Apache, Lighthttp, IIS (5, 6, 7), Nginx og AOLserver finnes det en modul som heter «H264 Streaming Module». Denne modulen er relativt triviell å installere, og gjør at du kan «pseudostreame» videocodecen H.264. Bruker du i til...