Analog zu Audio-Ressourcen soll das mit HTML5 neu eingeführte video-Element ermöglichen, Videos direkt im Browser abspielen zu lassen, ohne Plugin und ohne Flash.

Ziel des video-Elements ist, dass alle Browser bestimmte Video-Formate ohne zusätzliche Software abspielen können, also direkt in der Browser-Software implementieren. Die Probleme beim video-Element sind dabei die gleichen wie beim audio-Element. Geht es beim audio-Element um MP3 vs. OGG, so konkurrieren beim video-Element MPEG-4 und OGG-Video (OGV). Die Situation ist die gleiche. Der Codec H.264, den MPEG-4 verwendet, ist durch Software-Patente geschützt. Der Theora-Codec für das OGG-Format ist hingegen patentfrei. Während Microsoft, Google und Apple H.264 wegen dessen höherer Performanz favorisieren, weigern sich Mozilla Firefox und Opera, diesen Codec in ihren Browsern zu implementieren und setzen stattdessen auf den OGG-Container mit Theora-Codec. Das Problem lässt sich in HTML5 immerhin dadurch lösen, indem man beide Formate vorhält und anbietet. Als Dauerlösung ist dies jedoch nicht befriedigend.

Der MS Internet Explorer kennt das video-Element bis einschließlich Version 8.0 überhaupt nicht.

Beispiel

<h1>Autoscooter</h1>
<video src="autoscooter.mp4" width="640" height="480" 
       controls preload="metadata" poster="autoscooter.jpg"> 
   <source src="autoscooter.ogv" type="video/ogg"></source> 
</video>

Solange noch keine Einigkeit über den oder die Codecs herrscht, die jeder HTML5-fähige Browser verbindlich implementieren sollte, ist es allerdings korrekter, das obige Beispiel in der folgenden Form zu notieren:

<video src="autoscooter.mp4" width="640" height="480" 
       controls preload="metadata" poster="autoscooter.jpg"> 
   <source src="autoscooter.ogv" type="video/ogg"></source> 
   <source src="autoscooter.mp4" type="video/mp4"></source> 
</video>

Erläuterung

Die Video-Ressource wird durch <video>…</video> markiert. Genau wie beim audio-Element kann das video-Element als Elementinhalt ein oder mehrere source-Elemente in Form von Standalone-Tags <source> enthalten. Im einleitenden <video>-Tag geben Sie beim Attribut src die eigentlich gewünschte und bevorzugte Video-Datei an, die abgespielt werden soll. In dem oder den source-Elementen, die ebenfalls je ein src-Attribut haben, notieren Sie Video-Dateien mit gleichem Inhalt, aber anderen Video-Formaten. Das einleitende <video>-Tag muss nicht zwangsläufig ein src-Attribut enthalten. Sie können auch alle Alternativen wie oben in der derzeit empfohlenen Notationsform gezeigt in die <source>-Tags verlagern.

Bei den src-Attributen gelten die Regeln für Referenzierung in HTML.

Im einleitenden <video>-Tag sind die folgenden gleichen Attribute möglich wie bei <audio>:

Darüber hinaus stehen bei <video> noch weitere Attribute zur Verfügung:

Für das source-Element, das innerhalb von <video>…</video> für alternative Video-Formate notiert werden kann, gibt es zwei weitere Attribute: type und media.

Mit type können Sie den MimeType der Video-Datei angeben. Im Zusammenhang mit Videos kommen jene MimeTypen in Frage, die mit video/ beginnen, also z.B. video/mpeg für herkömmliche MPEG-Dateien, video/quicktime für MOV-Dateien oder video/x-msvideo für AVI-Dateien. Wenn nötig, sollten Sie außerdem eine Codec-Angabe innerhalb der type-Angabe notieren. Eine solche Erweiterung der MimeType-Angabe wird im RFC 4281 beschrieben.

Die HTML5-Spezifikation listet im Zusammenhang mit Video-Codecs folgende typische Angaben für das type-Attribut auf:

Verwenden Sie diese Angaben jedoch nur, wenn Sie genau wissen, welche Codecs Ihre Videos im Detail verwenden.

Mit dem media-Attribut können Sie angeben, für welche Medientypen die Video-Ressource geeignet ist. Die Voreinstellung ist media="all", also alle Medientypen. Beim media-Attribut wird als Wert eine gültige Medienabfrage erwartet.

Weitere Hinweise

Die Attribute type und media gibt es nur beim source-Element, nicht beim video-Element. Der Grund ist, dass beim video-Element beim src-Attribut nur Dateien angegeben werden sollten, die der Browser in jedem Fall selbst erkennt. Greift er dagegen auf eine im alternativen source-Element angegebene Datei zurück, helfen die zusätzlichen Attribute gegebenenfalls bei der Wahl eines externen Abspielprogramms.

Wie der im Browser angezeigte Video-Player genau aussieht, ist nicht festgelegt.

Es ist möglich, CSS-Eigenschaften auf das video-Element anzuwenden, doch damit ist das Aussehen des Players nur bedingt beeinflussbar. Um eigene Player zu kreieren, müssen Sie auf Scripting zurückgreifen.

Die Browser, die das video-Element kennen, interpretieren nicht unbedingt alle Attribute davon. Das gilt besonders für das preload-Attribut, das in der HTML5-Spezifikation zunächst als autobuffer-Attribut ausgewiesen wurde.

Wenn Sie XHTML-konform arbeiten, notieren Sie source-Elemente in der Form <source … /> und die Standalone-Attribute durch Zuweisung des Attributnamens als Wert, also autoplay="autoplay", controls="controls" und loop="loop".

Referenzinformationen

(Browser-Angaben mit weiter oben erwähnten Einschränkungen)

 


Korrekturen, Hinweise und Ergänzungen
Bitte scheut euch nicht und meldet, was auf dieser Seite sachlich falsch oder irreführend ist, was ergänzt werden sollte, was fehlt usw. Dazu bitte oben aus dem Menü Seite den Eintrag Diskutieren wählen. Es ist keine Anmeldung erforderlich, um Anmerkungen zu posten. Unpassende Postings, Spam usw. werden allerdings kommentarlos entfernt.