HTML5-video er et element introdusert i HTML5 -spesifikasjonen med sikte på å åpne nye standarder for reproduksjon av filmer og videoer, som alle erstatter elementet<object> .
Dette betyr at HTML5-kompatible nettlesere ikke trenger proprietære spillere (som Adobe Flash Player ) for å spille av videoer som er innebygd via taggen <video>.
Denne standarden hemmes av mangelen på enighet om hvilke videoformater som offisielt skal støttes.
HTML5 gir en rekke attributter som skal legges til åpningstaggen for <video>å indikere til nettleseren om og hvordan man bruker visse funksjoner:
Tekst kan settes inn mellom åpnings- ( <video>) og avsluttende ( )-tagger som nettlesere som ikke støtter HTML5 vil vise i stedet for videoen.</video>
Følgende HTML5-kodebit setter inn en video i WebM -format på siden og viser bruken av de tidligere sett attributtene (i eksemplet er alle vist, i virkeligheten er bare de ønskede satt inn).
<video src = "example.webm" width = "720" høyde = "576" poster = "immagine.jpg" kontrollerer autoplay loop preload = "auto" dempet> Denne teksten vises hvis nettleseren ikke støtter HTML5. </video>Gjeldende HTML5-regler spesifiserer ikke hvilke videoformater nettlesere skal støtte i video-taggen. Derfor kan de til dags dato støtte alle formater utviklerne deres anser som passende.
HTML5 Working Group mener det er å foretrekke at det er ett enkelt videoformat som støttes av alle nettlesere. Det ideelle formatet bør:
Theora var opprinnelig den anbefalte videostandarden for HTML5, siden den ikke er bundet av noen kjente patenter. Den 10. desember 2007 ble imidlertid HTML5-utkastet endret, og erstattet referansen til Theora:
"Programmer bør støtte Theora -video og Vorbis -lyd , så vel som Ogg -beholderformatet ." |
med:
«Det er nyttig for interoperabilitet hvis alle nettlesere støtter de samme kodekene. Det er imidlertid ingen kjent kodek som fungerer med alle eksisterende spillere: det er behov for en kodek som ikke krever betaling av lisenser, som er kompatibel med utviklingsmodellen for åpen kildekode , som har tilstrekkelig kvalitet til å kunne brukes og som er ingen potensielle skjulte patentrisikoer for selskaper. Denne delen vil bli oppdatert så snart ny informasjon er tilgjengelig." |
Selv om Theora ikke er bundet av noen kjente patenter, er selskaper som Apple og Nokia bekymret for muligheten for skjulte patenter, hvis eiere kan vente på at et stort selskap skal bruke formatet og deretter kreve betaling for lisensene. Apple , Microsoft og andre selskaper har patentene til hovedkonkurrenten, H.264 -formatet .
Fjerningen av Ogg-formatet fra spesifikasjonen har blitt kritisert, da det ikke er grunn til å anta at Theora er bundet av "skjulte" patenter, og det er heller ikke mulig å fastslå at "skjulte" patenter også eksisterer i tilfellet H.264 .
Apple motsatte seg også bruken av Ogg -formatet i HTML - standarden (som uansett ikke er obligatorisk) og hevdet at mange enheter støtter andre formater mye lettere og at HTML aldri har håndhevet bruken av et bestemt format på ingenting.
H.264 / MPEG-4 AVC er mer utbredt og har god hastighet, komprimering, maskinvaredekoder og videokvalitet, men den er dekket av patenter. Med unntak av spesielle tilfeller må H.264-brukere betale lisensavgifter til MPEG LA , en gruppe H.264-patentinnehavere som inkluderer Microsoft og Apple . Av denne grunn ble den ikke ansett som egnet som en unik kodek for HTML5.
Googles oppkjøp av On2 Technologies førte til opprettelsen av WebM -prosjektet , som bruker den patentfrie, åpen kildekode-videokodeken VP8 i en Matroska -beholder med Vorbis -lyd . Den støttes av nettleserne Google Chrome , Opera og Mozilla Firefox , så vel som av andre mindre brukte.
Da Google i januar 2011 kunngjorde sin intensjon om å fjerne innebygd H.264-støtte i Chrome, fikk den kritikk fra mange hold, inkludert Ars Technicas Peter Bright og Microsofts Tim Sneath (en av H. 264), som sammenlignet Googles trekk med erklæringen om esperanto som det offisielle språket i USA . Opera Softwares Haavard Moen kritiserte imidlertid Ars Technica-artikkelen sterkt og tydeliggjorde dens intensjon om å markedsføre WebM i produktene sine basert på åpenheten til Internett.
Nettleser | Operativsystemer | Siste stabile versjon | Støttede videoformater | |||
---|---|---|---|---|---|---|
Ogg |
MPEG |
WebM | ||||
Theora | H.264 | VP8 | VP9 | |||
Android-nettleser | Android | 4.4.4 "KitKat" (19. juni 2014) | Fra 2.3 | Fra 3.0 | Fra 2.3 | Nei |
Krom | Alle støttes | Fra 18297 kr | Manuell installasjon [1] | Fra r47759 | Fra r172738 | |
Google Chrome | Alle støttes | 44.0.2403.125 (28. juli 2015) | Fra 3.0 | Fra 3.0 [2] | Fra 6.0 | Fra 29.0 |
Internet Explorer | Windows | 11.0.21 (14. juli 2015) | Manuell installasjon | Fra 9.0 | Manuell installasjon | Nei |
Windows telefon | 11,0 (10. februar 2014) | Nei | Fra 9.0 | Nei | ||
Windows RT | 10,0 (14. februar 2011) | Fra 10.0 | ||||
Konqueror | Alle støttes | 4.14.3 (11. november 2014) | Fra 4.4 [3] | |||
Microsoft Edge | Windows 10 | 20.10240.16384.0 (29. juli 2015) | Fra 17 | Fra 1.0 | Nei | Nei |
Mozilla Firefox | Windows 7+ | 39,0 (2. juli 2015) | Fra 3.5 | Fra 21.0 | Fra 4.0 | Fra 28.0 |
Windows Vista | Fra 22.0 | |||||
Windows XP | Manuell installasjon | |||||
Linux | Fra 26.0 | |||||
Android | Fra 17.0 | |||||
Mac os | Fra 34.0 | |||||
Firefox OS | Fra 1.1 | |||||
Opera | Android | 30.0.1856.93524 (24. juni 2015) | Nei | Fra 11.50 | Fra 15.0 | Fra 16.0 |
Symbian S60 | 12.0.22 (24. juni 2012) | |||||
Windows Mobile | 10,0 (16. mars 2010) | |||||
Windows , macOS , Linux | 30.0.1835.125 (14. juli 2015) | Fra 10.50 | Fra 24.0 | Fra 10.60 | Nei | |
Safari | iOS | 8.0.7 (30. juni 2015) | Nei | Fra 3.1 | Nei | Nei |
Mac os | Manuell installasjon | Manuell installasjon | ||||
Web | Alle støttes | 3.16.3 (18. mai 2015) | Fra 2.28 [4] |
I april 2010, da Apples iPad var i ferd med å bli lansert, begynte mange nettsteder å tilby HTML5-video med H.264-kodeken i stedet for Flash for brukere identifisert som iPads.
Fra mai 2010 var ikke HTML5-videoer like populære som Flash-videoer, selv om noen nettsteder hadde begynt å eksperimentere med HTML5-videoer, inkludert Dailymotion (ved bruk av Theora- og Vorbis-formater), YouTube (både H.264 og i WebM) og Vimeo (i H ). .264).
Ifølge et YouTube-notat <video>oppfyller ikke varen for øyeblikket alle nettstedets behov. Hovedårsaken til dette er fraværet av et standardformat, mangelen på et innholdsbeskyttelsessystem og manglende evne til å vise videoer i fullskjerm. Selv Hulu har ikke tatt i bruk HTML5 på grunn av umuligheten av å tilpasse båndbredden som er tilgjengelig for brukeren og beskytte innholdet som vises. Netflix har dessuten ikke tatt i bruk HTML5 av lignende årsaker.
11. januar 2011 kunngjorde Googles Chromium-prosjekt fjerning av støtte for lukkede kodeker (spesielt H.264) fra fremtidige utgivelser av Chrome. Kunngjøringen spesifiserte at beslutningen ble tatt for å bidra til å spre patentfri HTML5 ved å favorisere bruken av open source-kodekene VP8 og Theora.
I april 2011 annonserte Google konverteringen av alle YouTube-videoer til WebM, og starter med 30 % av de mest viste.
Mens man venter på at HTML5 Working Group skal fastslå en gang for alle hva som skal være det offisielle videoformatet for elementet <video>, er det mulig å sette inn <video>ulike multimedieformater i samme tag slik at nettleseren velger hvilket som skal åpnes. For å gjøre dette må du bruke elementet <source>.
Hvis du for eksempel vil sette inn "eksempel"-videoen på en side i de tre formatene Theora , H.264 og WebM , må du bruke følgende kode:
<videoplakat = "immagine.jpg" kontroller> <source src = "example.ogv" type = "video / ogg"> <source src = "example.mp4" type = "video / mp4"> <source src = "example.webm" type = "video / webm"> <p> Denne teksten vises hvis nettleseren din ikke støtter HTML5. </p> </video>Du kan legge inn en video ved å være vert for den på webserveren din ("self hosting ") eller på en ekstern plattform ( YouTube , Vimeo , ...) [5] [6] [7] [8] .
Egen server | Ekstern plattform | ||
---|---|---|---|
PRO | MOT | PRO | MOT |
Totalt personvern og kontroll | Lengre sideinnlastingstid | Ulike enheter og nettlesere krever forskjellige filformater. Tredjepartstjenester er i stand til å konvertere videofilen. | Videoen kan lastes ned gjennom spesielle nettjenester [9] |
Ingen kan laste ned, slette eller utestenge videoen | Hvis privat hosting ikke presterer, kan avspilling mangle | Mye høyere båndbredde enn vanlig privat hosting | Mindre personvern og kontroll |
Ingen logo eller vannmerke | Tregere og mindre pålitelig avspilling | Raskere avspilling | Utseende kan ikke tilpasses fullt ut |
Fullt tilpassbare farger / utseende | Ingen ytterligere kampanjer utenfor nettstedet
vert gir |
Videoen stopper ikke før den er ferdig, uavhengig av brukerens internetthastighet | Mulige vannmerker |
Du holder besøkende på din egen side | Potensielle kunder kan ved et uhell havne på videoen hvis den er på en ekstern plattform. Dette skjer ikke på en privat hosting | Potensielle kunder kan ved et uhell havne på videoen | Kunngjøringer fra eksterne selskaper under videoen |
Ingen annonser eller videoer foreslått på slutten av videoen | Mer begrenset SEO av plattformene
berømt |
Bedre SEO (populære plattformer er bedre indeksert enn private nettsteder) | Mulig sletting av videoen hvis den ikke oppfyller visse regler |
Noen animasjoner laget med forskjellige teknikker er visuelt identiske eller ligner veldig på en innebygd video med taggen <video>. Hver teknikk har fordeler og ulemper, avhengig av dine behov [10] [11] [12] :
GIF | CSS-animasjon | Canvas \ WebGL | SVG | <video> |
---|---|---|---|---|
PROS: enkelhet i å lage,
tilpasningsevne til forskjellige enheter, kan lagres av brukeren med høyre museknapp , ingen programmering CONS: svært begrensede muligheter, ingen interaktivitet |
PROS: brede muligheter, liten vekt i KB, interaktivitet
CONS: ikke alltid tilpasningsdyktig til alle enheter, programmering nødvendig ikke alltid lett |
PROS: brede muligheter, 3D-realisme, interaktivitet
CONS: ikke alltid tilpasningsdyktig til alle enheter, programmering nødvendig ikke alltid lett |
PROS: brede muligheter, ingen begrensninger på pikselkvalitet, interaktivitet
CONS: ikke alltid tilpasningsdyktig til alle enheter, programmering nødvendig ikke alltid lett |
PRO: svært brede muligheter med bruk av avansert animasjonsprogramvare som Premiere og After Effects , tilpasningsdyktig
til alle enheter, muligheten for å stoppe og gjenoppta videoen fra ethvert punkt, undertekster på alle språk, ingen programmering CONS: ingen interaktivitet, tykke filer, video kan lastes ned av brukeren med høyre museknapp |
Du kan lage undertekster på alle språk etter eget valg, synlige under videoen og også nedlastbare i TXT eller annet format [13] [14] :
< video id = "video" kontrollerer forhåndsinnlasting = "metadata" > < source src = "video / uno.mp4" type = "video / mp4" > < source src = "video / uno.webm" type = "video / webm " > < track label = " English " kind = " subtitles " srclang = " en " src = " captions / vtt / uno-en.vtt " default > < track label = " Deutsch " kind = " undertekster " srclang = " de " src = " captions / vtt / uno-de.vtt " > < track label = " Español " kind = " undertekster " srclang = " es " src = " captions / vtt / uno-es.vtt " > </ video >Du kan formatere undertekster med forskjellige stiler. De viktigste CSS-egenskapene for å gjøre dette er [15] :
Eksempel:
:: cue ( v [ voice = 'Test' ]) { color : #ccc ; bakgrunn : # 0055dd ; }En HTML5-video kan settes inn som bakgrunn for et annet HTML-element, for eksempel et avsnitt, en DIV eller til og med hele nettstedet og gjøre det responsivt. Hvis den er satt inn som bakgrunn, akkurat som et bilde eller en CSS 3-gradient, kan den ikke lagres av brukeren med høyre museknapp og "lagre som" siden det vil være en dekorasjonsvideo og ikke en innholdsvideo [16] .
# myVideo { posisjon : fast ; høyre : 0 ; bunn : 0 ; min bredde : 100 % ; min-høyde : 100 % ; } . innhold { posisjon : fast ; bunn : 0 ; bakgrunn : rgba ( 0 , 0 , 0 , 0,5 ); farge : # f1f1f1 ; bredde : 100 % ; polstring : 20 px ; }Med CSS 3 , Canvas , SVG og WebGL er det mulig å formatere den innebygde videoen med <video>og legge til ulike effekter uten å direkte påvirke videoen med Adobe Premiere eller annen programvare [17] .
Du kan legge til filtre foran videoen [18] også i responsiv bakgrunnsmodus [19] [20] (sepia, vignett , uskarphet ...):
CSS 3 video { posisjon : fast ; topp : 50 % ; venstre : 50 % ; min bredde : 100 % ; min-høyde : 100 % ; bredde : auto ; høyde : auto ; z-indeks : -1 ; transform : translateX ( -50 % ) translateY ( -50 % ); } SVG < video autoplay = "true" id = "vid" kontroller = "kontroller" loop = "loop" > < source src = "https://upload.wikimedia.org/wikipedia/commons/transcoded/f/f6/Videoonwikipedia.ogv/Videoonwikipedia.ogv.480p.vp9.webm" type = "video / ogg" /> < source src = "https://upload.wikimedia.org/wikipedia/commons/transcoded/f/f6/Videoonwikipedia.ogv/Videoonwikipedia.ogv.480p.vp9.webm" type = "video / mp4" /> </ video > < svg id = 'image' version = "1.1" xmlns = "http://www.w3.org/2000/svg" > < defs > < filter id = "blurEffect" > < feGaussianBlur stdDeviation = " 4" /> </ filter > < filter id = "turbulence" > < feTurbulence baseFrequency = ".01" type = "fractalNoise" numOctaves = "3" frø = "23" stitchTiles = "stitch" /> </ filter > < filter id = "blur" > < feGaussianBlur stdDeviation = " 10,3" resultat = "outBlur" /> </ filter > < filter id = "inverse" > < feComponentTransfer > < feFuncR type = "tabell" tableValues = "1 0" /> < feFuncG type = "tabell" tableValues = "1 0" /> < feFuncB type = "tabell" tableValues = "1 0" /> </ feComponentTransfer > </ filter >Du kan lage SVG- eller CSS3-masker som er geometriske former med en video inni [21] [22] .
SVG <? xml-versjon = "1.0" frittstående = "nei"?> <! DOCTYPE svg PUBLIC "- // W3C // DTD SVG 1.1 // EN" "http://www.w3.org/Graphics/SVG/1.1 /DTD/svg11.dtd "> < svg versjon = " 1.1 " xmlns = " https://www.w3.org/2000/svg " xmlns: xlink = " http://www.w3.org/1999 /xlink " > < defs > < maske > < text id = " text " x = " 10 " y = " 140 " font-size = " 150 " font-weight = " bold " font-family = " Verdana " fill = " white " > HEI </ text > </ mask > </ defs > < use xlink: href = " #text " /> </ svg > CSS 3 video { mask : url ( '#vmask' ); box-image : url ( 'text.svg' ); margin : 100 px ; }Du kan gjøre manipulasjoner takket være HTML5 Canvas som Chroma Key -effekten [23] .
var prosessor ; prosessor . doLoad = funksjon doLoad () { this . video = dokument . getElementById ( 'video' ); dette . c1 = dokument . getElementById ( 'c1' ); dette . ctx1 = dette . c1 . getContext ( '2d' ); dette . c2 = dokument . getElementById ( 'c2' ); dette . ctx2 = dette . c2 . getContext ( '2d' ); la seg selv = dette ; dette . video . addEventListener ( 'play' , function () { self . width = self . video . videoWidth / 2 ; self . height = self . video . videoHeight / 2 ; self . timerCallback (); }, false ); },Du kan lage overganger mellom videoer med WebGL [24] .
const gardiner = nye Gardiner ({ container : "canvas" , pixelRatio : Math . min ( 1.5 , window . devicePixelRatio ), }); const params = { vertexShaderID : "vertexShader" , fragmentShaderID : "fragmentShader" , uniformer : { transition : { name : "uTransition" , type : "1f" , value : 0 , }, }, }; const multiTexturesPlane = new Plane ( gardiner , [... document . getElementsByClassName ( "plane" )], params );Du kan også endre videospilleren som viser videoen (dvs. knappene, videofremdriftslinjen, omrisset ...) [25] . Et eksempel med CSS:
. kontroller knapp { border : none ; markør : peker ; bakgrunn : gjennomsiktig ; bakgrunnsstørrelse : inneholder ; bakgrunns-gjenta : ikke-gjenta ; } . kontrollerer fremdriften { display : block ; bredde : 100 % ; høyde : 81 % ; marg-topp : 0,125 rem ; grense : ingen ; farge : # 00ccff ; kantradius : 2 px ; }Eksempel på en Chroma Key-effekt i en video laget med Canvas .
SVG-maskeeksempel i en video (med CSS3 kan du få samme effekt)
SVG-filtereksempel (samme effekt kan oppnås med CSS3)