HTML - Video Player: Bringing Motion to Your Web Pages

Hallo, angehende Web-Entwickler! Heute tauchen wir in die aufregende Welt der HTML-Video-Player ein. Erinnern Sie sich an die Zeiten, als Websites nur statischer Text und Bilder waren? Diese Zeiten sind lange vorbei! Jetzt können wir dynamische Videoinhalte direkt in unsere Webseiten einbetten, was sie ansprechender und interaktiver macht. Lassen Sie uns auf diese aufregende Reise gehen!

HTML - Video Player

HTML-Lokaler Video-Player

Was ist ein HTML-Video-Player?

Bevor wir uns dem Code zuwenden, lassen Sie uns verstehen, was ein HTML-Video-Player ist. Es ist eine integrierte Funktion von HTML5, die es uns ermöglicht, Videoinhalte direkt in unsere Webseiten einzubetten, ohne auf Drittanbieter-Plugins wie Flash angewiesen zu sein. Cool, oder?

Grundlegende Video-Player-Struktur

Lassen Sie uns mit der grundlegendsten Video-Player-Struktur beginnen:

<video width="320" height="240" controls>
<source src="movie.mp4" type="video/mp4">
Ihr Browser unterstützt das video-Tag nicht.
</video>

Lassen Sie uns das auseinandernehmen:

  • Das <video>-Tag ist der Hauptcontainer für unseren Video-Player.
  • Die Attribute width und height setzen die Abmessungen des Players.
  • Das Attribut controls fügt Play-, Pause- und Lautstärkeregelungen zum Player hinzu.
  • Das <source>-Tag gibt die abzuspielenen Videodatei an.
  • Der Text innerhalb des <video>-Tags wird angezeigt, wenn der Browser HTML5-Video nicht unterstützt.

Hinzufügen mehrerer Quellen

Aber warten, was ist, wenn einige Browser MP4 nicht unterstützen? Keine Sorge! Wir können mehrere Quellen hinzufügen:

<video width="320" height="240" controls>
<source src="movie.mp4" type="video/mp4">
<source src="movie.ogg" type="video/ogg">
Ihr Browser unterstützt das video-Tag nicht.
</video>

Auf diese Weise versucht der Browser, die OGG-Datei abzuspielen, wenn MP4 nicht unterstützt wird.

Autoplay und Loop

Möchten Sie, dass Ihr Video automatisch startet und endlos wiederholt? Hier ist, wie man das macht:

<video width="320" height="240" autoplay loop>
<source src="movie.mp4" type="video/mp4">
<source src="movie.ogg" type="video/ogg">
Ihr Browser unterstützt das video-Tag nicht.
</video>

Das Attribut autoplay lässt das Video spielen, sobald es bereit ist, während loop das Video am Ende von vorne startet.

Poster-Bild

Was ist, wenn wir ein Bild anzeigen möchten, bevor das Video startet? Hier kommt das poster-Attribut ins Spiel:

<video width="320" height="240" poster="movie_poster.jpg" controls>
<source src="movie.mp4" type="video/mp4">
<source src="movie.ogg" type="video/ogg">
Ihr Browser unterstützt das video-Tag nicht.
</video>

Dies zeigt das Bild "movie_poster.jpg", bis der Benutzer das Video startet.

Bildschirm capture

Nun, lassen Sie uns eine Stufe höher gehen und über Bildschirm capture sprechen. Dies ist eine fortgeschrittene Funktion, die es uns ermöglicht, ein Live-Video-Stream von der Benutzer-Bildschirm zu erfassen und anzuzeigen.

Grundlegendes Bildschirm capture

Hier ist ein einfaches Beispiel, wie man Bildschirm capture implementiert:

<video id="screenCapture" autoplay></video>
<button id="startCapture">Start Bildschirm capture</button>

<script>
const video = document.getElementById('screenCapture');
const startButton = document.getElementById('startCapture');

startButton.addEventListener('click', async () => {
try {
const captureStream = await navigator.mediaDevices.getDisplayMedia();
video.srcObject = captureStream;
} catch (err) {
console.error("Fehler: " + err);
}
});
</script>

Lassen Sie uns das auseinandernehmen:

  1. Wir haben ein <video>-Element, um den erfassten Bildschirm anzuzeigen.
  2. Ein Knopf löst den Bildschirm capture-Vorgang aus.
  3. Wenn der Knopf geklickt wird, verwenden wir navigator.mediaDevices.getDisplayMedia(), um die Bildschirm capture-Berechtigung anzufordern und den Stream zu erhalten.
  4. Wir setzen diesen Stream als Quelle für unser Video-Element.

Fehlerbehandlung und Stream-Ende

Wir sollten auch potenzielle Fehler und was passiert, wenn der Benutzer das Teilen des Bildschirms stoppt, behandeln:

<video id="screenCapture" autoplay></video>
<button id="startCapture">Start Bildschirm capture</button>

<script>
const video = document.getElementById('screenCapture');
const startButton = document.getElementById('startCapture');

startButton.addEventListener('click', async () => {
try {
const captureStream = await navigator.mediaDevices.getDisplayMedia();
video.srcObject = captureStream;

const track = captureStream.getVideoTracks()[0];
track.onended = () => {
video.srcObject = null;
console.log('Bildschirm teilen beendet');
};
} catch (err) {
console.error("Fehler: " + err);
}
});
</script>

In dieser erweiterten Version:

  1. Wir erhalten die Video-Spur aus dem Capture-Stream.
  2. Wir fügen einen onended- Ereignislistener zu dieser Spur hinzu.
  3. Wenn das Bildschirm teilen endet, setzen wir die srcObject des Videos auf null und protokollieren eine Nachricht.

Schlussfolgerung

Und da haben Sie es, Leute! Wir sind von grundlegenden Video-Playern zu fortgeschrittenen Bildschirm capture-Techniken gereist. Denken Sie daran, der Schlüssel zum Beherrschen dieser Konzepte ist die Übung. Versuchen Sie, Videos in Ihre Webseiten zu integrieren, experimentieren Sie mit verschiedenen Attributen und haben Sie keine Angst, sich mit komplexeren Funktionen wie Bildschirm capture zu beschäftigen.

Hier ist eine Tabelle, die die wichtigsten Attribute und Methoden zusammenfasst, die wir behandelt haben:

Attribut/Methode Beschreibung
controls Fügt Video-Steuerungen (Play, Pause, Lautstärke) hinzu
autoplay Startet das Video automatisch
loop Lässt das Video am Ende von vorne beginnen
poster Gibt ein Bild an, das vor dem Abspielen des Videos angezeigt wird
getDisplayMedia() Fordert die Berechtigung zum Erfassen des Bildschirms an und erhält den Stream

Weiter codieren, weiter lernen, und bald werden Sie Webseiten erstellen, die nicht nur informieren, sondern auch unterhalten und Ihre Besucher fesseln. Bis zum nächsten Mal, fröhliches Coden!

Credits: Image by storyset