HTML5 -video - HTML5 video

Den HTML5 spesifikasjonen ble det innført videoelementet i den hensikt å spille av videoer, delvis erstatte den gjenstand element . HTML5 -videoen er laget av skaperne til å bli den nye standardmåten for å vise video på nettet, i stedet for den tidligere de facto -standarden for å bruke den proprietære Adobe Flash -pluginen, selv om tidlig adopsjon ble hemmet av mangel på enighet om hvilke videokodingsformater og lydkodingsformater bør støttes i nettlesere. Fra og med 2020 er HTML5 -video den eneste videostyringsteknologien som støttes i stor grad i moderne nettlesere, og Flash -pluginet blir faset ut.

Historikk for <video> element

Elementet <video> begynte å bli diskutert av WHATWG i oktober 2006. <video> -elementet ble foreslått av Opera Software i februar 2007. Opera ga også ut en forhåndsvisning som ble vist frem samme dag, og et manifest som ba om video til bli en førsteklasses borger på nettet.

<video> elementeksempler

Følgende HTML5 -kodefragment vil bygge en WebM -video inn på en webside.

<video src="movie.webm" poster="movie.jpg" controls>
	This is fallback content to display for user agents that do not support the video tag.
</video>

Attributtet "kontroller" muliggjør nettleserens eget brukergrensesnitt for å kontrollere avspilling. Alternativt kan avspillingen styres med JavaScript , som webdesigneren kan bruke til å lage et tilpasset brukergrensesnitt. Det valgfrie "plakat" -attributtet angir et bilde som skal vises på videoens sted før avspillingen startes. Formålet er å være representativ for videoen.

Flere kilder

Støtte for videoformat varierer mellom nettlesere (se nedenfor), så en webside kan tilby video i flere formater. For andre funksjoner brukes det noen ganger sniffing av nettleser , noe som kan være utsatt for feil: enhver nettutvikleres kunnskap om nettlesere vil uunngåelig være ufullstendig eller ikke oppdatert. Den aktuelle nettleseren "vet best" hvilke formater den kan bruke. "Video" -elementet støtter tilbakeslag gjennom spesifikasjon av flere kilder. Ved å bruke et hvilket som helst antall <kilde> -elementer, som vist nedenfor, velger nettleseren automatisk hvilken fil som skal lastes ned. Alternativt kan JavaScript canPlayType () -funksjonen brukes for å oppnå det samme. Attributtet "type" spesifiserer MIME -typen og muligens en liste over kodeker, som hjelper nettleseren med å avgjøre om den kan dekode filen uten å begynne å laste den ned. MIME -typen angir beholderformatet til filen, og beholderformatet definerer tolkningen av kodekstrengen.

<video poster="poster.jpg" controls>
	<source src="av1.mp4" type='video/mp4; codecs="av01.0.00M.08, opus"'>
	<source src="avc.mp4" type='video/mp4; codecs="avc1.4D401E, mp4a.40.2"'>
	<source src="vp9.webm" type='video/webm; codecs="vp9.0, opus"'>
	<source src="theora.ogv" type='video/ogg; codecs="theora, vorbis"'>
	<p>This is fallback content to display for user agents that do not support the video tag.</p>
</video>

Støttede video- og lydformater

HTML5 -spesifikasjonen spesifiserer ikke hvilke video- og lydformater nettlesere skal støtte. Brukeragenter står fritt til å støtte alle videoformater de mener er passende, men innholdsforfattere kan ikke anta at noen video vil være tilgjengelig for alle kompatible brukeragenter, siden brukeragenter ikke har et minimalt sett med video- og lydformater å støtte.

HTML5 -arbeidsgruppen anså det ønskelig å spesifisere minst ett videoformat som alle brukeragenter (nettlesere) bør støtte. Det ideelle formatet i denne forbindelse ville:

  • Ha god komprimering, god bildekvalitet og lav dekodeprosessorbruk.
  • Vær royalty-fri.
  • I tillegg til programvare dekodere, en hardware videodekoder bør eksistere for formatet, som mange innebygde prosessorer ikke har resultater å dekode video.

Opprinnelig var Ogg Theora det anbefalte standardvideoformatet i HTML5, fordi det ikke ble påvirket av noen kjente patenter. Men 10. desember 2007 ble HTML5 -spesifikasjonen oppdatert, og erstattet referansen til konkrete formater:

Brukeragenter bør støtte Theora -video og Vorbis -lyd, samt Ogg -beholderformatet.

med en plassholder:

Det ville være nyttig for interoperabilitet hvis alle nettlesere kunne støtte de samme kodekene. Imidlertid er det ingen kjente kodeker som tilfredsstiller alle de nåværende spillerne: vi trenger en kodek som er kjent for ikke å kreve lisensiering per enhet eller per distributør, som er kompatibel med åpen kildekode-utviklingsmodell, som er av tilstrekkelig kvalitet til å være brukbar, og det er ikke en ekstra ubåtpatentrisiko for store selskaper. Dette er et pågående problem, og denne delen vil bli oppdatert når mer informasjon er tilgjengelig.

Resultatet var en polarisering av HTML5-video mellom industristandard , ISO-definerte, men patentbeheftede formater og åpne formater . Det nye AV1- formatet fra Alliance for Open Media har som mål å være både industristandard, royalty-fri og åpen, og har bred bransjestøtte.

Gratis formater

Selv om Theora ikke er berørt av kjente ikke-frie patenter, har Apple uttrykt bekymring for ukjente patenter som kan påvirke det, hvis eiere kan vente på at et selskap med omfattende økonomiske ressurser skal bruke formatet før de saksøker. Formater som H.264 kan også være underlagt ukjente patenter i prinsippet, men de har blitt distribuert mye bredere, og det antas derfor at noen patentinnehavere allerede ville ha gjort seg kjent. Apple har også motsatt seg å kreve Ogg -formatstøtte i HTML -standarden (selv som et "bør" -krav) med den begrunnelse at noen enheter kan støtte andre formater mye lettere, og at HTML historisk sett ikke har krevd spesielle formater for noe.

Noen webutviklere kritiserte fjerning av Ogg -formatene fra spesifikasjonen. En oppfølgingsdiskusjon fant også sted på W3C spørsmål og svar-bloggen.

Mozilla og Opera støtter bare de åpne formatene til Theora og WebM . Google uttalte at den hadde til hensikt å fjerne støtte for H.264 i 2011, spesielt for HTML5 -videotaggen. Selv om den er fjernet fra Chromium , har den fra januar 2021 ennå ikke blitt fjernet fra Google Chrome ti år senere.

MPEG-DASH-støtte via HTML5 Media Source Extensions (MSE)

Den adaptive bitrate streaming-standarden MPEG-DASH kan brukes i nettlesere via HTML5 Media Source Extensions (MSE) og JavaScript-baserte DASH-spillere. Slike spillere er f.eks. Open-source-prosjektet dash.js fra DASH Industry Forum, men det er også produkter som bitdash av bitmovin (ved hjelp av HTML5 med JavaScript, men også en Flash-basert DASH-spiller for eldre nettlesere som ikke støtter HTML5 MSE).

Googles kjøp av On2

Googles oppkjøp av On2 i 2010 resulterte i kjøpet av videoformatet VP8 . Google har gitt en royalty-fri lisens for å bruke VP8. Google startet også WebM , som kombinerer den standardiserte åpen kildekode VP8 -videokodeken med Vorbis -lyd i en Matroska -basert beholder. Åpningen av VP8 ble ønsket velkommen av Free Software Foundation .

Da Google kunngjorde i januar 2011 at det ville stoppe den opprinnelige støtten til H.264 i Chrome, kom kritikk fra mange hold, inkludert Peter Bright fra Ars Technica og Microsoft webevangelist Tim Sneath, som sammenlignet Googles trekk med å erklære esperanto som det offisielle språket i USA Stater. Imidlertid kritiserte Haavard Moen fra Opera Software kraftig Ars Technica -artikkelen, og Google svarte på reaksjonen ved å tydeliggjøre intensjonen om å markedsføre WebM i sine produkter på grunnlag av åpenhet.

Etter lanseringen av WebM har Mozilla og Opera oppfordret til å inkludere VP8 i HTML.

Mars 2013 kunngjorde Google Inc. og MPEG LA , LLC avtaler som dekker teknikker som "kan være avgjørende" for VP8, med Google som mottar lisens fra MPEG LA og 11 patentinnehavere, og MPEG LA avslutter arbeidet med å danne et VP8 -patent basseng.

I 2012 ble VP9 utgitt av Google som en etterfølger av VP8, også åpen og royalty -fri.

I slutten av 2017 har det nye AV1 -formatet utviklet av Alliance for Open Media (AOMedia) etter hvert som utviklingen av VP9 har nådd funksjonen frysing, og bitstream -frysingen forventes i januar 2018. Firefox nightly builds inkluderer allerede støtte for AV1.

Ikke-frie formater

H.264/MPEG-4 AVC er mye brukt, og har god hastighet, komprimering, maskinvaredekodere og videokvalitet, men er patentbeskyttet. Brukere av H.264 trenger lisenser enten fra de enkelte patentinnehaverne, eller fra MPEG LA , en gruppe patentinnehavere inkludert Microsoft og Apple, bortsett fra noen bruk av Internett -kringkasting. H.264 brukes vanligvis i MP4 -beholderformatet, sammen med Advanced Audio Coding (AAC) lyd. AAC er også dekket av patenter i seg selv, så brukere av MP4 må lisensiere både H.264 og AAC.

I juni 2009 konkluderte WHATWG med at ingen eksisterende formater var egnet som et spesifisert krav.

Apple støtter fortsatt bare H.264, men Microsoft støtter nå VP9 og WebM, og har lovet støtte for AV1 .

Cisco gjør en lisensiert binærmodul H.264 tilgjengelig gratis

Oktober 2013 kunngjorde Cisco at den gjorde en binær H.264 -modul tilgjengelig for nedlasting. Cisco betaler kostnadene for patentlisensiering for de binære modulene når de lastes ned av programvaren som brukes mens den installeres , noe som gjør H.264 gratis å bruke i det spesifikke tilfellet.

I kunngjøringen nevnte Cisco sitt ønske om å fremme bruken av WebRTC -prosjektet som årsaken, siden WebRTCs videochat -funksjon vil ha fordeler av å ha et videoformat støttet i alle nettlesere. H.264 -modulen vil være tilgjengelig på "alle populære eller gjennomførbare plattformer som kan lastes inn i alle applikasjoner".

Cisco planlegger også å publisere kildekoden for disse modulene under BSD -lisens , men uten å betale royalties, så koden vil praktisk talt være gratis programvare bare i land uten H.264 -programvarepatenter , noe som allerede har vært sant om andre eksisterende implementeringer.

30. oktober 2013 kunngjorde Mozillas Brendan Eich at Firefox automatisk ville laste ned Ciscos H.264 -modul ved behov som standard. Han bemerket også at den binære modulen ikke er en perfekt løsning, siden brukerne ikke har full gratis programvarerett til å "endre, kompilere og omfordele uten lisensavtaler eller gebyrer". Dermed fortsetter Xiph og Mozilla utviklingen av Daala .

OpenH264 støtter bare grunnlinjeprofilen til H.264, og løser ikke i seg selv behovet for en AAC -dekoder. Derfor anses det ikke som tilstrekkelig for typisk MP4 -nettvideo, som vanligvis er i høy profil med AAC -lyd. For bruk i WebRTC var utelatelsen av AAC imidlertid berettiget i utgivelsesmeddelelsen: "standardorganene har justert seg for Opus og G.711 som de vanlige lydkodekene for WebRTC". Det er tvil om en begrenset global lisensiering av AAC, som Ciscos for H.264, er mulig etter at AACs lisensieringskontor fjernet pristaket kort tid etter utgivelsen av OpenH264.

Nettleserstøtte

Denne tabellen viser hvilke videoformater som sannsynligvis støttes av en gitt brukeragent . De fleste nettlesere som er oppført her, bruker et multimedia -rammeverk for dekoding og visning av video, i stedet for å inkorporere slike programvarekomponenter. Det er generelt ikke mulig å fortelle settet med formater som støttes av et multimedia -rammeverk uten å spørre om det, fordi det avhenger av operativsystemet og tredjeparts kodeker. I disse tilfellene er støtte for videoformat et attributt for rammeverket, ikke nettleseren (eller layoutmotoren), forutsatt at nettleseren spørre multimedia -rammeverket før det avvises ukjente videoformater. I noen tilfeller er ikke støtten som er oppført her en funksjon av enten kodeker som er tilgjengelige i operativsystemets underliggende medieramme, eller av kodekfunksjoner som er innebygd i nettleseren, men kan snarere være av et nettlesertillegg som for eksempel kan omgå leserens normale HTML-analyse av <video> -taggen for å bygge inn en plug-in-basert videospiller.

Vær oppmerksom på at en videofil normalt inneholder både video- og lydinnhold, hver kodet i sitt eget format. Nettleseren må støtte både video- og lydformatene. Se HTML5 -lyd for en tabell over hvilke lydformater som støttes av hver nettleser.

Videoformatet kan spesifiseres etter MIME -type i HTML (se eksempel ). MIME -typer brukes til å spørre multimedierammer for støttede formater.

Av disse nettleserne er det bare Firefox og Opera som bruker biblioteker for innebygd dekoding. I praksis kan Internet Explorer og Safari også garantere viss formatstøtte, fordi produsentene også lager sine multimedia -rammer. I den andre enden av skalaen har Konqueror identisk formatstøtte til Internet Explorer når den kjøres på Windows, og Safari når den kjøres på Mac, men den valgte støtten her for Konqueror er typisk for Linux , der Konqueror har de fleste brukerne. Generelt er formatstøtte for nettlesere mye diktert av motstridende interesser hos leverandører, spesielt at Media Foundation og QuickTime støtter kommersielle standarder, mens GStreamer og Phonon ikke lovlig kan støtte andre enn gratis formater som standard på de gratis operativsystemene de er beregnet på .

Status for videoformatstøtte i hver nettleser
Nettleser Operativsystem Theora ( Ogg ) H.264 ( MP4 ) HEVC ( MP4 ) VP8 ( WebM ) VP9 ( WebM ) AV1 ( WebM )
Android -nettleser Android Siden 2.3 Siden 3.0 Siden 5.0 Siden 2.3 Siden 4.4 Siden 10
Krom Unix-lignende og Windows Siden 18297 kr Via FFmpeg Nei Siden 47759 kr Siden r172738 Ja
Google Chrome Unix-lignende, Android, macOS og Windows Siden 3.0 Siden 3.0 Nei Siden 6.0 Siden 29.0 Siden 70
Internet Explorer Windows Via OpenCodecs Siden 9.0 Nei Via OpenCodecs Nei Nei
Windows telefon Nei Siden 9.0 Nei
Windows RT Siden 10.0
Microsoft Edge Unix-lignende, macOS og Windows

(Krom)

Siden v79 Siden v79 (bare nettleser som støtter DRM PlayReady) Nei Siden v79 Siden v79 Siden v79
Windows 10 (eldre kantHTML) Siden 17.0 (med Web Media Extensions ) Siden 12.0 Trenger maskinvaredekoder Siden 17.0 (støtter <video> -taggen med Web Media Extensions og VP9 Video Extensions ) Bare aktivert som standard hvis maskinvaredekoder er tilstede

Siden 17.0 (støtter <video> -taggen med Web Media Extensions og VP9 Video Extensions )

Siden 18.0 (med AV1 Video Extension )
Windows 10 Mobile Nei Siden 13.0 Siden 15.0 (bare via MSE ) Siden 14.0 (bare via MSE ) Nei
Konqueror Unix-lignende og Windows Trenger kodeker på operativnivå
Mozilla Firefox Windows 7+ Siden 3.5 Siden 21.0 Nei Siden 4.0 Siden 28.0 Siden 65.0
Windows Vista Siden 22.0
Windows XP og N utgaver Siden 46.0
Linux 26.0 (via GStreamer )
43.0 (via FFmpeg )
Siden 67
Android Siden 17.0 i Nightly
Mac os Siden 34.0 Siden 66.0
Firefox OS Siden 1.1 Nei
Opera Mobile Android, iOS, Symbian og Windows Mobile Siden 13.0 Siden 11.50 Nei Siden 15.0 Siden 16.0 siden 57.0
Opera macOS, Windows, Linux Siden 10.50 Siden 24.0 Siden 10.60 Ja siden 57.0
Safari iOS Nei Siden 3.1 Siden 11 Siden 12.1 (støtter bare WebRTC ) Siden 14 (støtter bare WebRTC ) Nei
Mac os Via Xiph QuickTime -komponenter ( macOS 10.11 og tidligere)
GNOME Web Linux og BSD Trenger kodeker på operativnivå
Merknader

Digital rettighetsbehandling (krypterte medieutvidelser)

HTML har støtte for digital rettighetsbehandling (DRM, som begrenser hvordan innhold kan brukes) via HTML5 Encrypted Media Extensions (EME). Tillegget av DRM er kontroversielt fordi det tillater begrensning av brukernes frihet til å bruke medier som er begrenset av DRM, selv om rettferdig bruk gir brukerne den juridiske retten til å gjøre det. Et hovedargument i W3Cs godkjenning av EME var at videoinnholdet ellers ville blitt levert i plugins og apper, og ikke i nettleseren.

I 2013 la Netflix til støtte for HTML5 -video ved bruk av EME, ved siden av den gamle leveringsmetoden ved hjelp av en Silverlight -plugin (også med DRM).

Bruk

I 2010, i kjølvannet av lanseringen av Apple iPad og etter at Steve Jobs kunngjorde at Apple mobile enheter ikke ville støtte Flash , begynte en rekke høyprofilerte nettsteder å servere H.264 HTML5-video i stedet for Adobe Flash for brukeragenter som identifiseres som iPad . HTML5-video var ikke like utbredt som Flash-videoer, selv om det var utrullinger av eksperimentelle HTML5-baserte videospillere fra DailyMotion (ved bruk av Ogg Theora og Vorbis-format), YouTube (med formatene H.264 og WebM) og Vimeo (ved bruk av H .264 -format).

Støtten for HTML5 -video har stadig økt. I juni 2013 la Netflix til støtte for HTML5 -video. I januar 2015 byttet YouTube til å bruke HTML5 -video i stedet for Flash som standard. I desember 2015 byttet Facebook fra Flash til HTML5 for alt videoinnhold.

Fra 2016 er Flash fortsatt mye installert på stasjonære datamaskiner, mens det vanligvis ikke støttes på mobile enheter som smarttelefoner. Flash -pluginet antas allment, inkludert av Adobe, å bli faset ut, noe som vil etterlate HTML5 -video som den eneste støttede metoden for å spille av video på World Wide Web. Chrome, Firefox, Safari og Edge har planer om å få nesten alt flashinnhold til å klikke for å spille i 2017. Den eneste store nettleseren som ikke har annonsert planer om å avvikle Flash, er Internet Explorer. Adobe kunngjorde 25. juli 2017 at de vil stoppe utviklingen av Flash permanent i 2020.

Se også

Referanser

Eksterne linker

Kategori; Multimedia