10 Einbinden von Video und Audio

Werbung
Frank L. Schad
Das HTML5 Lernbuch
Art.-Nr. 12a822e977d6
Version 3.7.2 vom 21.4.2015
Autorisiertes Curriculum für das Webmasters Europe Ausbildungs- und Zertifizierungsprogramm
© 2015 by Webmasters Press
www.webmasters-press.de
Nordostpark 7, 90411 Nürnberg, Germany
Das vorliegende Fachbuch ist urheberrechtlich geschützt. Alle Rechte
vorbehalten. Die Verwendung der Texte und Abbildungen, auch auszugsweise, ist ohne schriftliche Genehmigung des Verlags urheberrechtswidrig und daher strafbar. Dies gilt insbesondere für die Vervielfältigung, Übersetzung oder Verwendung in elektronischen Systemen
sowie für die Verwendung in Schulungsveranstaltungen. Die Informationen in diesem Fachbuch wurden mit größter Sorgfalt erarbeitet. Trotzdem können Fehler nicht vollständig ausgeschlossen werden. Autoren
und Herausgeber übernehmen keine juristische Verantwortung oder
irgendeine Haftung für eventuell verbliebene fehlerhafte Angaben und
deren Folgen.
Informationen zu dieser
Buchreihe
Dieses Buch ist Teil unserer Buchreihe zum Zertifizierungsprogramm des Europäischen Webmasterverbandes, Webmasters Europe e.V. (WE).
Das Webmasters Europe Ausbildungs- und Zertifizierungsprogramm ist modular aufgebaut
und bietet Abschlüsse und Zertifizierungen auf verschiedenen Ebenen an – von der ExpertenZertifizierung für einzelne Themen bis hin zu Diploma-Abschlüssen für Webdesigner, WebEntwickler, Webmaster und Online Marketing Manager. Nähere Informationen dazu finden Sie
unter http://de.webmasters-europe.org/bildungsprogramm
Unsere Buchreihe bietet Ihnen nicht nur eine fundierte und praxisnahe Einführung in das
jeweilige Thema, sondern ist von Webmasters Europe e.V. offiziell autorisiert zur Vorbereitung
auf die WE-Zertifikatsprüfungen. Damit haben Sie die Garantie, dass alle prüfungsrelevanten
Themen behandelt werden.
Inhaltsverzeichnis
1
2
3
Vorwort
11
Was ist HTML?
12
1.1
1.2
1.3
1.4
1.5
1.5.1
1.5.2
1.5.3
1.5.4
1.5.5
1.6
12
Das World Wide Web
Was ist Hypertext?
Das Prinzip von Auszeichnungssprachen
Die Philosophie von HTML
HTML: Entwicklung und Standards
Die Ursprünge des World Wide Web
Das World Wide Web Consortium (W3C)
XHTML
HTML5
Die Webbrowser
Fragen zur Selbstkontrolle
12
14
15
16
16
17
17
17
18
21
Grundlagen
22
2.1
2.1.1
2.1.2
2.2
2.2.1
2.2.2
2.2.3
2.2.4
2.2.5
2.3
2.3.1
2.3.2
2.3.3
2.3.4
2.4
2.5
2.6
2.7
22
Womit werden HTML-Seiten erstellt?
Adobe Brackets
WYSIWYG-Editoren
Woraus bestehen HTML-Dateien?
Tags
Das HTML-Grundgerüst
Verschachtelte Tags
Block- und Inline-Elemente
Attribute
Zeichenkodierung
Die Problematik unterschiedlicher Zeichenkodierungen
Sonderzeichen
Unicode
Maskierung reservierter Zeichen
Kommentare
Weitere wichtige Prinzipien
Webseiten testen
Fragen zur Selbstkontrolle
23
26
26
26
28
32
33
33
35
35
37
38
40
41
41
43
45
Einfache Textformatierung
46
3.1
3.2
3.2.1
3.2.2
3.2.3
3.2.4
3.3
46
Besonderheiten bei der Textformatierung mit HTML
Blockelemente
Absätze
Überschriften
Trennlinien
Weitere Blockelemente zur Strukturierung von Dokumenten
Inline-Elemente
46
46
47
47
48
49
3.3.1
3.3.2
3.3.3
3.4
3.4.1
3.4.2
3.4.3
3.4.4
3.5
4
5
6
7
Fettschrift
Kursivschnitt
Weitere Tags zur Textauszeichnung
Umbrüche und andere typographische Steuerzeichen
Zeilenumbrüche
Optionale Wortumbrüche
Bedingter Trennstrich
Geschütztes Leerzeichen
Fragen zur Selbstkontrolle
49
50
50
52
52
52
53
54
57
Listen und Aufzählungen
58
4.1
4.2
4.3
4.4
4.5
4.6
58
Punktlisten
Nummerierte Listen
Definitionslisten
Verschachtelte Listen
Ausklapp-Texte
Fragen zur Selbstkontrolle
59
59
60
60
62
Einbinden von Bildern
63
5.1
5.2
5.2.1
5.2.2
5.3
5.4
5.5
5.6
5.7
63
Funktionsweise und Dateiformate
Referenzierung
Relative Pfadangaben
Absolute Pfadangaben
Größenangaben
Alternativtext
Tooltips
Abbildungen mit Bildunterschrift
Fragen zur Selbstkontrolle
65
65
68
69
69
69
70
70
Hyperlinks
72
6.1
6.1.1
6.1.2
6.1.3
Einen Hyperlink definieren
Grundlagen
Relative Pfadangaben
Absolute Pfadangaben
72
6.1.4
6.1.5
6.1.6
6.2
6.2.1
6.2.2
6.3
6.4
Zielfenster definieren
Downloads
Der mailto-Link
Links zu bestimmten Stellen einer Webseite
Links zu einer Textstelle auf einer anderen Seite
Links zu einer Textstelle auf derselben Seite
Imagemaps
Fragen zur Selbstkontrolle
78
Tabellen
7.1
7.2
7.3
7.4
72
73
77
78
79
79
80
81
82
86
87
Was ist das Besondere an Tabellen in HTML?
Das Grundprinzip
Tabellenbeschriftung
Verbinden von Zellen
87
87
89
89
7.4.1
7.4.2
7.5
8
9
90
91
92
Formulare
93
8.1
8.2
8.3
8.4
8.5
8.6
8.7
8.8
8.9
8.9.1
8.9.2
8.10
8.11
8.11.1
8.11.2
8.11.3
8.11.4
8.12
8.13
8.14
8.15
8.16
8.17
8.17.1
8.17.2
8.17.3
8.18
8.19
93
Grundlagen
Festlegen des Ziels
Erzeugen einzelner Formularelemente
Einzeilige Texteingabefelder
Eindeutige Identifikation von Formularfeldern
Beschriftung von Formularfeldern
Mehrzeilige Eingabefelder
Auswahllisten
Kontrollfelder
Checkboxen
Radiobuttons
Datei-Upload
Buttons
Standard-Buttons
Reset-Button
Submit-Button
Moderne Buttons
Versteckte Felder in Formularen
Tastatursteuerung von Formularen
Autofocus
Deaktivieren von Formularelementen
Gruppieren von Formularfeldern
Neue Formularelemente in HTML5
Neue Eingabefelder
Suchvorschläge
Neue Interface-Elemente
Bearbeitbarer Inhalt
Fragen zur Selbstkontrolle
iFrames
9.1
9.2
9.3
10
Horizontale Verbindung von Zellen
Vertikale Verbindung von Zellen
Fragen zur Selbstkontrolle
94
94
95
96
97
98
99
102
103
103
104
106
106
106
107
107
108
108
109
109
109
111
111
112
114
115
116
118
Klassische Frames
Inline Frames
Fragen zur Selbstkontrolle
118
119
121
Einbinden von Video und Audio
122
10.1
10.1.1
10.1.2
10.1.3
10.2
10.2.1
10.2.2
122
Videos einbinden
Videos im Web
Browserunterstützung
Einbinden von Videos mit dem <video>-Tag
Für Interessierte: Videos mit Flash-Fallback einbinden mit MediaElement.js
Der <object>-Tag
MediaElement.js
122
123
126
129
129
130
10.3
10.4
11
12
Audiodateien einbinden
Fragen zur Selbstkontrolle
133
133
Meta-Tags
135
11.1
11.2
11.3
11.4
135
Allgemeine Syntax
Angaben für Suchmaschinen
Angaben für Browser
Fragen zur Selbstkontrolle
Anhang
12.1
136
136
138
139
Liste der wichtigsten HTML-Tags
139
Lösungen der Übungsaufgaben
144
Lösungen der Wissensfragen
145
Index
153
Vorwort
HTML is precisely what we were trying to prevent —
ever-breaking links, links going outward only, […] no
version management, no rights management.
Ted Nelson
Das World Wide Web ist ein weiterer Meilenstein in der Entwicklung menschlicher Kommunikationsstrukturen. Es hat am Ende des 20. Jahrunderts eine ähnliche Revolution ausgelöst
wie vor rund 500 Jahren die Gutenbergpresse: Praktisch jeder kann beliebige Informationen in
Form von Texten, Bildern, Animationen oder Videos im Web publizieren und damit die Tür zu
Millionen Menschen rund um den Globus öffnen. Auf Webseiten lassen sich Dienstleistungen
oder Produkte anbieten und verkaufen, Einzelpersonen können hier ihre Ideen präsentieren
oder Geschichten erzählen.
Die Grundlage dafür ist die Hypertext Markup Language (kurz HTML). HTML ist jedoch weit
mehr als nur eine weitere Technik zur Erstellung eindrucksvoller Dokumente. Die wesentliche
Bedeutung wird bereits im ersten Teil des Namens deutlich: Hypertext. HTML-Dokumente lassen sich mit anderen HTML-Dokumenten oder praktisch jeder Information im Internet verknüpfen. Dadurch entsteht ein weltweites Kommunikationsnetz, in dem nahezu jede Information jederzeit abrufbar (und jedes Produkt erhältlich) ist.
Ziel dieses Lernhefts ist es, Ihnen die grundlegenden Konzepte und Elemente von HTML zu
vermitteln und Ihnen Möglichkeiten zu zeigen, wie Sie diese Elemente für ein effektives Webdesign einsetzen können. Sie lernen, Texte übersichtlich zu strukturieren, Tabellen, Formulare
und Listen zu erstellen, Hyperlinks zu setzen sowie Bilder und Videos einzubinden. Besonderes Augenmerk wird dabei auf die zahlreichen Neuerungen von HTML5 gelegt.
Dieses Lernheft soll Ihnen dabei helfen, sich die »Philosophie« von HTML zu erschließen und
die Werkzeuge für den täglichen Gebrauch nutzbar zu machen. Nach der Durcharbeitung des
Lernhefts sollten Sie auch in der Lage sein, sich nach Bedarf zusätzliche Anwendungsmöglichkeiten selbst zu erarbeiten. Das sollten Sie auch tun, denn HTML entwickelt sich beständig
weiter.
Frank Schad
Nürnberg, im Februar 2015
122
10
10 Einbinden von Video und Audio
Einbinden von Video und Audio
In dieser Lektion lernen Sie:
➤ wie Sie Video- und Audiodateien in Ihr Dokument einbinden können.
10.1
Videos einbinden
10.1.1
Videos im Web
Eine der interessantesten und wohl meistgenutzten Neuerungen in HTML5 ist sicherlich die
Möglichkeit, Video-Dateien in HTML-Dokumente einzubinden. Zwar gibt es Videos im Web
nicht erst seit gestern, doch war dafür bisher ein Plug-in notwendig, d. h. die Besucher der
Website mussten sich Zusatzsoftware installieren, um die Videos ansehen zu können.
Und damit nicht genug: Videos können in unterschiedlichsten Formaten vorliegen (z. B. MP4,
Flash, QuickTime, Windows Media usw.), und da es keinen einheitlichen Standard gab, wurde
auch lange Zeit auf jeder Website ein anderes Format eingesetzt. Weil für nahezu jedes Format
ein eigenes Plug-in benötigt wird, haben sich im Lauf der Zeit unzählige Plug-ins auf den Festplatten der Benutzer angesammelt, um alle Videos im Web ansehen zu können. Dies kostete
natürlich Speicherplatz und Rechenleistung und war eine häufige Ursache für Konflikte und
Abstürze.
Zwar hat sich in den letzten Jahren das Adobe-Flash-Format zu einem Quasi-Standard für
Web-Videos entwickelt, sodass zumindest nur noch ein Plug-in installiert werden musste,
doch viele Nachteile blieben:
1. Wenn ein Benutzer das Plug-in nicht installiert hatte (weil er z. B. nicht wusste, wie das
geht, oder weil er nicht die nötigen Administrator-Rechte besaß), konnte er das Video
nicht sehen.
2. Flash ist eine proprietäre, kommerzielle Technologie der Fa. Adobe und dadurch von
deren Unternehmenspolitik abhängig.
3. Dadurch widerspricht Flash dem Grundsatz des W3C, nur offene Standards zu verwenden.
4. Flash ist äußerst ressourcenhungrig und eine häufige Ursache für Systemabstürze.
5. Flash läuft nicht auf Apple-Mobilgeräten (iPhone, iPad) und demnächst auch nicht mehr
auf anderen Mobilgeräten, da Adobe den Flash-Support dafür eingestellt hat.
Mit HTML5 nun ist es möglich, Videos ähnlich wie Bilder in eine Webseite einzubinden, ohne
dass dafür ein Plug-in benötigt wird. Die Browser sind nun selbst in der Lage, die Videos abzuspielen. Doch sind damit noch nicht alle Probleme gelöst: Es gibt nämlich noch immer keinen
einheitlichen Standard, in welchem Dateiformat die Videos vorliegen müssen.
10.1 Videos einbinden
10.1.2
123
Browserunterstützung
Momentan haben sich aus der Vielzahl an Möglichkeiten zumindest zwei konkurrierende Formate herauskristallisiert: MP4 und Googles neues Format WebM. Ein drittes Format, OGV, ist
zwar mittlerweile aus dem Rennen, kann aber aus Kompatibilitätsgründen mit etwas älteren
Browsern noch dazugezählt werden. Jedes Video, das Sie in eine Webseite einbinden wollen,
muss momentan mindestens in den Formaten MP4 und WebM vorliegen, d. h. Sie müssen
jedes Video mindestens zweimal ins Web stellen! Jeder Browser wählt dann automatisch das
Format, das er abspielen kann. Es gibt z. Z. kein Format, das alle Browser abspielen können.
Nachfolgend ein Überblick:
Browser
MP4
IE 9+
WebM
OGV
Anmerkungen
* nur, wenn der VP8-Codec installiert ist.
IE9 unterstützt ansonsten keine anderen Codecs
von Drittherstellern (im Gegensatz zu Safari, der alle
Formate abspielt, die QuickTime unterstützt).
*
Firefox
3.5, 3.6
—
Firefox 4+
—
Safari 3.1+
*
*
*
* spielt alle Formate ab, die QuickTime unterstützt
(kann durch zusätzliche QuickTime-Components
erweitert werden)
Chrome 3,
4, 5
—
Chrome
6+
—
Opera
10.5
—
Opera
10.6+
—
Konqueror
4.4+
—
Tabelle 10.1 Browserunterstützung der HTML5-Videoformate (Quelle: docs.sublimevideo.net/supported-browsers-andplatforms)
Andere Formate, wie z. B. Flash-Videos, können nicht mit dem <video>-Tag in
HTML5-Dokumente eingebunden werden!
124
10 Einbinden von Video und Audio
Formate und Codecs
Bevor wir uns jedoch mit der Einbindung dieser drei Video-Formate in HTML-Seiten beschäftigen können, benötigen wir ein wenig Hintergrundwissen darüber, wie Videodateien aufgebaut sind.
Eine Videodatei besteht i. d. R. aus Bild und Ton, also einer Video- und einer Audiospur. Um
die Dateigröße beider Spuren zu reduzieren (und das ist auch heute noch zwingend notwendig), müssen bestimmte Kompressions- oder Kodierungsverfahren eingesetzt werden. Dies
geschieht für Audio- und Videospur i. d. R. getrennt! Beim Abspielen des Videos muss der
Browser dieselben Verfahren zur Dekompression nutzen. Deshalb werden diese Verfahren
Codecs (Einzahl Codec, Kurzform für Coder/Decoder) genannt.
Damit nun aber Bild und Ton immer gemeinsam und synchron abgespielt werden, werden
beide zusammen in eine sogenannte Container-Datei (engl. Behälter) gepackt. Diese
Container-Datei ist das, was man gemeinhin als Video-Datei bezeichnet, und trägt Endungen
wie .mp4, .mov, .flv, .wmv usw.
In anderen Worten: Eine Video-Datei ist lediglich das Containerformat, das zwei unterschiedlich kodierte Elemente enthält:
Abb. 10.1 Schematische Darstellung des Aufbaus einer Videodatei: Im Containerformat liegen die Video- und die
Audio-Spur, die mit unterschiedlichen Codecs komprimiert sein können.
Bei vielen (aber nicht allen) Containerformaten ist vorgegeben, in welchen Codecs die enthaltenen Video- und Audiospuren vorliegen müssen, bei anderen bestehen gewisse Auswahlmöglichkeiten. Folgende Tabelle verschafft einen kleinen Überblick über die in HTML5 möglichen Dateiformate und Codecs:
Containerformat/
Dateiendung
enthaltener
Video-Codec
enthaltener
Audio-Codec
MPEG-4 / .mp4
H.264 (= MPEG-4 AVC)
AAC (= MPEG-4 Audio)
WebM / .webm
VP8
Vorbis
OGV, OGG / .ogv
Theora
Vorbis
Tabelle 10.2 Überblick über in HTML5 mögliche Videoformate und Codecs (Stand April 2014)
10.1 Videos einbinden
125
Das bedeutet z. B., dass Sie keine MP4-Dateien in Webseiten einbinden können, deren Videospur mit einem anderen als dem H.264-Codec kodiert ist (in der Praxis ist dies aber zum Glück
meist der Fall).
Ob Ihr Video, sofern es in einem geeigneten Format vorliegt, auch die passenden Codecs enthält, können Sie in den meisten Video-Abspielprogrammen überprüfen. Öffnen Sie Ihr Video
z. B. im QuickTime-Player und wählen Sie dann im Menü Fenster → Filminformationen einblenden oder drücken Sie auf der Tastatur Strg-I (Windows) bzw. -I (Mac). Daraufhin öffnet
sich ein kleines Fenster mit allerlei nützlichen Infos. Dort finden Sie u. a. die Bildgröße sowie
die verwendeten Codecs. (Das in den folgenden Beispielen verwendete Video bunny.mp4 finden Sie im Begleitmaterial zu diesem Lernheft im Ordner videos_einbinden.)
Abb. 10.2 Im Info-Fenster des QuickTime-Players finden Sie unter »Format« die verwendeten Codecs (hier AAC-Audio
und H.264-Video). Unter »Normale Größe« finden Sie die Abmessungen des Videos.
Videos konvertieren
Um Ihr Video in die benötigten Formate mit den passenden Codecs zu konvertieren, benötigen Sie entsprechende Konverter-Software. Davon gibt es eine ganze Menge im Web in unterschiedlicher Qualität und zu (sehr) unterschiedlichen Preisen.
Eine erste Anlaufstelle wäre der Adobe Media Encoder, der in vielen Creative-Suite- bzw.
Creative-Cloud-Paketen enthalten ist und automatisch mitinstalliert wird, doch kann dieser —
wie die meisten anderen Konverter auch — z. Z. noch nicht in das WebM-Format konvertieren
(obwohl Adobe seine Unterstützung für dieses Format schon vor längerer Zeit offiziell angekündigt hat).
Eine günstige und sehr flexible Möglichkeit ist die Pro-Variante des QuickTime-Players 7
(30,– € im Apple-Store, auch für Windows erhältlich), die mit Hilfe sogenannter — meist kostenloser — Components beliebig um zusätzliche Formate und Codecs erweitert werden kann.
Für den Anfang empfehle ich den kostenlosen Miro Video Converter (Mac und Windows,
www.mirovideoconverter.com). Nachteil: Dieser Konverter erlaubt — bis auf die Bildgröße —
keinerlei Einstellungen bzgl. Datenrate, Framerate, Qualität usw., d. h. Ihr Ausgangsmaterial
sollte bereits über die richtigen Eigenschaften verfügen.
126
10 Einbinden von Video und Audio
Abb. 10.3 Links: Auswahl des WebM-Formats im Miro Video Converter über den Button »Format« (SD steht für
»Standard Definition« für Videos in Standardgröße, HD für »High Definition« für hochauflösende Videos). Direkt
darunter das Format MP4, danach das OGV-Format (»Ogg Theora«). Rechts: Durch Klick auf die Schaltfläche mit dem
Zahnrad können Sie die Bildgröße anpassen (»Custom Size«).
Im Gegensatz zu Bildern spielt die Dateigröße bei Videos keine Rolle, da die Videos nicht
komplett heruntergeladen werden müssen, bevor man sie ansehen kann (diesen Vorgang nennt man Streaming). Wichtig ist stattdessen die Datenrate, die Sie ebenfalls im
Infofenster des QuickTime-Players ablesen können (s. o.) und beim Exportieren/Konvertieren des Videos einstellen sollten. Dieser Wert bestimmt letztlich, wie schnell die Internetverbindung des Anwenders mindestens sein muss, um das Video ruckelfrei abspielen
zu können.
Je niedriger die Datenrate, desto schlechter ist aber auch die Qualität des Videos. Sinnvolle Werte für Videos in Standard-Webgrößen (ca. 720 × 400 px) sind etwa 500–1.500
kBit/s, abhängig vom Inhalt: Videos, die viel Bewegung und viele Details enthalten (wie
etwa ein Fußballspiel), benötigen höhere Datenraten, während z. B. ein Nachrichtensprecher, der sich kaum bewegt, mit einer wesentlich niedrigeren Datenrate auskommt. Im
Zweifelsfall heißt es hier: ausprobieren!
10.1.3
Einbinden von Videos mit dem <video>-Tag
Liegen Ihre Videos in den drei benötigten Formaten vor, ist die Einbindung in HTML ein leichtes: Sie benötigen dazu den Tag <video> , der mit </video> auch separat wieder geschlossen werden muss. Im Video-Tag müssen Sie die Abmessungen des Videos mit den Attributen
width und height (in Pixeln) angeben:
<video width="720" height="300"></video>
Theoretisch wäre hier — wie bei Bildern — auch das Attribut src möglich, doch könnten Sie
damit nur eine Videodatei referenzieren, z. B.
<video width="720" height="300" src="bunny.mp4"></video>
10.1 Videos einbinden
127
Um Alternativen anzugeben, müssen Sie anders vorgehen: Innerhalb des Tag-Paares
<video></video> ist die Angabe des Tags <source /> möglich. Dieser Tag ist ein
Standalone-Tag und kann beliebig häufig wiederholt werden. In jedem dieser Tags können Sie
— wieder mit dem Attribut src — eine andere Variante Ihres Videos referenzieren:
<video width="720" height="300">
<source src="bunny.mp4" />
<source src="bunny.webm" />
<source src="bunny.ogv" />
</video>
Zusätzlich sollten Sie mit dem Attribut type den MIME-Typ (vgl. Tabelle 8.1) des jeweiligen
Videos angeben. Das kann den Browser bei der Auswahl des korrekten Formats unterstützen:
<video width="720" height="300">
<source src="bunny.mp4" type="video/mp4" />
<source src="bunny.webm" type="video/webm" />
<source src="bunny.ogv" type="video/ogg" />
</video>
Steuerleiste einblenden
Damit wäre die grundlegende Einbindung bereits fertig. Das Problem: Es gibt keine Möglichkeit, das Video abzuspielen. Dazu benötigt der einleitende <video> -Tag noch mindestens ein
weiteres Attribut.
Mit dem Attribut controls können Sie die Standard-Steuerleiste des Videos einblenden, die
u. a. auch über einen Play-Button verfügt:
<video width="720" height="300" controls>
Das Attribut controls ist ein boole’sches Attribut, d. h. wenn das Attribut vorhanden ist, wird die
Steuerleiste angezeigt, ansonsten nicht. Alternativ kann das Attribut auch wieder ausgeschrieben werden (vgl. Abschnitt 2.2.5):
<video width="720" height="300" controls="controls">
Diese Steuerleiste wird vom Browser zur Verfügung gestellt und sieht in jedem Browser anders
aus.
Video automatisch abspielen und wiederholen
Zusätzlich (oder alternativ dazu) können Sie mit dem Attribut autoplay bestimmen, dass das
Video von alleine abgespielt wird.
<video width="720" height="300" controls autoplay>
Dieses Attribut sollten Sie aber nur in begründeten Fällen verwenden, da Sie damit den Besuchern Ihrer Website durchaus auf die Nerven fallen oder diese sogar erschrecken können.
Zudem können dadurch zusätzliche Kosten für den Benutzer anfallen (z. B. bei Volumentarifen
für Mobilverbindungen), obwohl er das Video vielleicht gar nicht sehen möchte. Aus diesem
Grund wird das Attribut autoplay auf dem iPhone und dem iPad ignoriert.
128
10 Einbinden von Video und Audio
Ähnliches gilt für das Attribut loop, das Ihr Video in einer Endlosschleife abspielt:
<video width="720" height="300" controls loop>
Startbild festlegen
Interessant dagegen ist die Eigenschaft poster, mit der Sie ein sogenanntes Posterframe — also
ein Start- oder Titelbild — festlegen können. Das Posterframe wird dann angezeigt, wenn das
Video (noch) nicht spielt, und kann ein beliebiges Pixelbild in einem der drei Web-Bildformate
sein (JPEG, PNG oder GIF). Geeignet dafür sind z. B. eine besonders prägnante Szene aus dem
Video selbst oder aber Ihr Firmenlogo o. ä. Sie müssen lediglich darauf achten, dass das Posterframe dieselben Abmessungen wie das Video hat. Als Wert weisen Sie dem Attribut wie
gewohnt den Pfad zu dem Bild zu:
<video width="720" height="300" controls poster="bilder/bunny.jpg">
Video vorausladen
Zusätzlich besteht die Möglichkeit, mit dem Attribut preload das Video bereits beim Laden der
Seite vorauszuladen, noch bevor es abgespielt wird. Mögliche Werte wären auto (das gesamte
Video wird vorausgeladen), metadata (nur die Meta-Informationen des Videos werden vorausgeladen) und none (das Video wird nicht vorausgeladen). In der Praxis sollten Sie diesen Wert
jedoch aus o. g. Gründen (zusätzliche Kosten für den Benutzer) i. d. R. auf none setzen:
<video width="720" height="300" controls preload="none">
In bestimmten Fällen jedoch können Browser dieses Attribut ignorieren und anders entscheiden.
Alternativinhalt angeben
Für Browser, die den HTML5-Video-Tag noch nicht kennen, können (und sollten) Sie Alternativinhalte zur Verfügung stellen. Dies kann z. B. ein Hinweistext und/oder ein Screenshot
des Videos sein, aber auch nochmals das Video selbst z. B. im Flash-Format (vgl. Abschnitt
10.2). Der Alternativinhalt wird mit beliebigen HTML-Tags innerhalb des Video-Elements
nach dem letzten <source> -Tag angegeben und nur angezeigt, wenn der Browser den
<video> -Tag nicht kennt:
<video width="720" height="300" controls poster="bilder/bunny.jpg">
<source src="bunny.mp4" type="video/mp4" />
<source src="bunny.webm" type="video/webm" />
<source src="bunny.ogv" type="video/ogg" />
<img src="bilder/bunny.jpg" alt="Bunny" />
</video>
Übung 9:
Binden Sie das Video 1984.mov aus dem Begleitmaterial (Ordner videos_einbinden) in ein
HTML-Dokument ein.
10.2 Für Interessierte: Videos mit Flash-Fallback einbinden mit MediaElement.js
129
1. Konvertieren Sie das Video mit dem Miro Video Converter (oder einem Konvertierungsprogramm Ihrer Wahl) in die drei Formate MP4, WebM und OGV.
2. Erstellen Sie ein neues HTML-Dokument aus Ihrer vorlage.html und notieren Sie darin
den <video>-Tag, der alle drei Videos einbindet. Vergeben Sie folgende Eigenschaften:
➤ Die Steuerleiste soll angezeigt werden.
➤ Ein Posterframe soll angezeigt werden.
➤ Als Alternativinhalt soll ein Bild angezeigt werden (dies kann dasselbe Bild wie
das Posterframe sein).
➤ Das Video soll nicht vorausgeladen werden.
➤ Das Video soll nicht von alleine starten und nicht in einer Endlosschleife abgespielt werden.
10.2
Für Interessierte: Videos mit Flash-Fallback einbinden
mit MediaElement.js
Dieser Abschnitt ist nicht Bestandteil der Webmasters-Europe-Zertifikatsprüfung, sondern ist nur als Zusatzinformation für Interessierte gedacht.
Nicht alle Anwender haben bereits einen HTML5-fähigen Browser. Damit auch diese Anwender unsere Videos sehen können, empfiehlt es sich, ein sogenanntes Flash-Fallback einzubinden. Dadurch wird automatisch eine Flash-Version des Videos angezeigt, wenn der Browser
den HTML5-Video-Tag nicht kennt. In diesem Fall benötigt der Benutzer natürlich das FlashPlug-in.
Der Vorteil dabei: Sie müssen Ihr Video nicht nochmals in ein viertes Format konvertieren, da
der Flash-Player auch MP4-Videos abspielen kann. Der Nachteil: Das Video kann nicht direkt
in HTML eingebunden werden, sondern muss zunächst in eine Flash-Datei (Dateiendung .swf )
eingebettet werden, die die Steuerung des Videos ermöglicht. Diese wird dann ihrerseits in
HTML eingebunden.
10.2.1
Der <object>-Tag
Flash-Dateien (und auch alle anderen Dateien, die ein Plug-in benötigen) werden nach dem
W3C-Standard mit dem Tag <object> eingebunden. Theoretisch könnten wir diesen Tag —
vorausgesetzt, wir hätten bereits eine SWF-Datei — also einfach als Alternativinhalt innerhalb
des Video-Tags platzieren (siehe oben):
<video width="720" height="300" controls poster="bilder/bunny.jpg">
<source src="bunny.mp4" type="video/mp4" />
<source src="bunny.webm" type="video/webm" />
<source src="bunny.ogv" type="video/ogg" />
<object data="bunny.swf" width="720" height="300"></object>
</video>
130
10.2.2
10 Einbinden von Video und Audio
MediaElement.js
Der <object> -Tag hat jedoch aufgrund der enormen Unterschiede zwischen den Browsern
und den verschiedenen Plug-ins noch nie sauber funktioniert, weshalb an dieser Stelle auch
nicht näher darauf eingegangen werden soll. Deshalb werden in der Praxis Flash-Videos nicht
mit HTML, sondern dynamisch mit Hilfe von JavaScript eingebunden. Der <object> -Tag
wird in diesem Fall mit den für die jeweilige Browserversion passenden Parametern automatisch generiert. Zu diesem Zweck haben sich mittlerweile fertige Lösungen etabliert. Eine der
besten ist das kostenlose MediaElement.js, das Sie sich unter mediaelementjs.com herunterladen können:
Die heruntergeladene ZIP-Datei enthält eine Menge Dateien. Benötigt werden davon nur die
aus dem Ordner build. Dieser enthält — neben den JavaScript-Dateien — u. a. die bereits
erwähnte Flash-Datei (flashmediaelement.swf), die zur Anzeige des MP4-Videos im FlashPlayer benötigt wird. Daneben gibt es auch noch eine Reihe von CSS-Dateien und Bildern, die
das Erscheinungsbild der Steuerleiste in den unterschiedlichen Browsern vereinheitlichen.
Von den JavaScript- und CSS-Dateien gibt es jeweils zwei Varianten: je eine mit der Endung js
bzw. css und eine mit der Endung min.js bzw. min.css. Diese Dateien sind jeweils identisch, mit
dem Unterschied, dass die min-Varianten komprimiert sind, um Ladezeit zu sparen (min steht
für minified). Sie benötigen nur jeweils eine der beiden Varianten.
Alle anderen Dateien aus dem Ordner build sind Bestandteil Ihres Projektes und müssen
zusammen mit der HTML-Datei und den Videos auf den Webserver hochgeladen werden! Am
besten legen Sie sie in einen Unterordner namens mediaelement o. ä. Ihre Verzeichnisstruktur
sollte nun so aussehen:
10.2 Für Interessierte: Videos mit Flash-Fallback einbinden mit MediaElement.js
131
Abb. 10.4 Verzeichnisstruktur inklusive MediaElement
Video-Tag notieren
In der HTML-Datei notieren Sie zunächst wie gewohnt Ihren <video> -Tag (der <object> Tag wird nicht benötigt, dieser wird ja mit JavaScript automatisch erzeugt):
<video width="720" height="300" controls poster="bilder/bunny.jpg"
preload="none">
<source src="bunny.mp4" type="video/mp4" />
<source src="bunny.webm" type="video/webm" />
<source src="bunny.ogv" type="video/ogg" />
<img src="bilder/bunny.jpg" alt="Bunny" />
</video>
JavaScript- und CSS-Dateien im head referenzieren
Als nächstes müssen Sie im <head> der HTML-Datei — am besten nach dem <title> Tag — die CSS-Datei mediaelementplayer.css sowie die JavaScript-Dateien jquery.js und
mediaelement-and-player.js (in dieser Reihenfolge!) einbinden, damit sie vom Browser geladen
werden, wenn die HTML-Seite angezeigt wird:
<head>
<meta charset="utf-8" />
<title>Video mit Flash-Fallback</title>
132
10 Einbinden von Video und Audio
<link rel="stylesheet" type="text/css" href="mediaelement/
mediaelementplayer.css" />
<script type="text/javascript" src="mediaelement/jquery.js"></script>
<script type="text/javascript" src="mediaelement/
mediaelement-and-player.js"></script>
</head>
MediaElement aufrufen
Als letztes notieren Sie im <head> folgenden JavaScript-Code (Sie finden den gesamten
Code auch im Begleitmaterial zu diesem Lernheft in der Datei flash_fallback.html im Ordner
videos_einbinden):
<head>
<meta charset="utf-8" />
<title>Video mit Flash-Fallback</title>
<link rel="stylesheet" type="text/css" href="mediaelement/
mediaelementplayer.css" />
<script type="text/javascript" src="mediaelement/jquery.js"></script>
<script type="text/javascript" src="mediaelement/
mediaelement-and-player.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("video").mediaelementplayer({
startVolume
startVolume: 0.8,
hideVideoControlsOnLoad
hideVideoControlsOnLoad: true
});
});
</script>
</head>
Dieser Code weist das MediaElement-Script an, alle auf der Seite eingebundenen Videos zu
steuern und gegebenenfalls mit Flash abzuspielen. Dabei können Sie eine ganze Menge an
Optionen angeben. Zwei davon sind hier beispielhaft angegeben: startVolume legt fest, mit
welcher Anfangslautstärke das Video abgespielt werden soll (hier 0.8, also 80%). hideVideoControlsOnLoad: true verbirgt die Steuerleiste zu Beginn. Sie wird dann erst beim Überfahren
des Videos mit der Maus angezeigt. Die gesamte Liste der möglichen Optionen finden Sie auf
der Website des MediaElement-Players.
Fertig. Wie erwähnt ersetzt der MediaElement-Player auch die Standard-Steuerleiste des Browsers, sodass sie in jedem Browser gleich aussieht. Mit CSS können Sie das Erscheinungsbild
dieser Steuerleiste komplett verändern!
Abb. 10.5 So sollte Ihr Video nun aussehen
Herunterladen