Aktualisieren Sie den HTML5-Videoplayer von Rutube. Machen Sie einen Screenshot des abgespielten Videos. VIDEO-Tag-Attribute

Und mehr treten in das Leben eines jeden Menschen ein. Auch das globale Netzwerk unterliegt diesem Trend, wie der Erfolg und die Beliebtheit von Diensten wie YouTube belegen. Der Betrieb solcher Systeme ist jedoch ohne Technologien, die es ermöglichen, Videoinhalte für den Benutzer wiederzugeben, nicht möglich.

Der klassische Ansatz zur Implementierung eines Videoplayers ist die Verwendung der Flash-Technologie. Es ist wahrscheinlich schwierig, ein häufigeres Webbrowser-Plugin zu finden als Flash Player. Es ist jedoch anzumerken, dass der Schwachpunkt dieses Ansatzes in der Notwendigkeit liegt Flash-Installationen Plugin. Und bei vielen Geräten fehlt es völlig. Beispielsweise verfügen die beliebten iPhones und iPads nicht über die Möglichkeit, Flash-Anwendungen im Browser auszuführen. Der Ausweg aus dieser Situation ist die Verwendung von HTML5.

Der Bildschirm unten sieht aus wie unsere Steuerung. Es zeigt Ihre Videos und Videos an, die es verwenden. Bis vor kurzem gab es keine ernsthaften Probleme damit. Zum Glück gibt es eine Alternative. Die Antwort finden Sie in diesem Beitrag. Stellen Sie sicher, dass Sie es verwenden letzte Version z.B. Ihr Browser.

Benennen und markieren Sie den Player entsprechend Ihrer Website

Glücklicherweise können wir sie mit einem Klick entsperren und ansehen. Ein neuer, außergewöhnlicher, personalisierter Filmplayer von Drittanbietern ist jetzt fertig. Sie können erreichen Gute Qualität Wiedergabe und reduziert gleichzeitig den CPU-Verbrauch um 85 %. Wir bieten eine große Auswahl an vorgefertigten Farbvorlagen, aus denen Sie den Stil auswählen können, der am besten zu Ihrer Website passt. Wir haben Ihnen Zugriff auf alle Ressourcen gegeben, die Sie benötigen, um Ihren eigenen Player mit einzigartigem Aussehen zu erstellen.

Dieser moderne Standard HTML-Sprache brachte viele Innovationen. Aber der Schlüssel für uns ist die Fähigkeit, Videos abzuspielen Standardmittel Webbrowser. Zu diesem Zweck wurde das Tag in die HTML5-Spezifikation eingeführt

Sind Sie bereit, Ihren neuen Player zu verwenden? Beginnen wir also mit dem nächsten Video-Tutorial

Es ist verfügbar neuer Spieler kostenlos? Erstellen Sie einfach neue Einbettungscodes und ersetzen Sie diese durch die vorherigen. Leider gibt es keine einzige Steuerung, mit der Sie alle alten Player durch neue ersetzen können. Multimedia-Befehle verursachen viele Probleme. Es hat zum Beispiel den Vorteil, dass die verlinkte Datei direkt auf der Seite abgespielt wird. Leider sind dies auch seine Mängel. Mediendateien sind normalerweise groß, daher kann das Laden der Seite lange dauern.

  • Automatisches Abspielen— wenn es dieses Attribut mit dem Wert „ automatisches Abspielen' Die Wiedergabe beginnt sofort, nachdem genügend Videos geladen wurden.
  • Kontrollen– der Wert dieses Attributs ist gleich „ Kontrollen werden die Wiedergabesteuerungen angezeigt.
  • Höhe– Höhe des Players in Pixel.
  • Schleifedieses Attribut, einstellen ' Schleife' führt dazu, dass das Video nach Abschluss in einer Schleife abgespielt wird.
  • Stummgeschaltet– mit dem Wert „ gedämpft' schaltet den Ton der Videodatei stumm.
  • Poster– Dieses Attribut akzeptiert die URL des Bildes, das angezeigt wird, bevor der Inhalt abgespielt wird.
  • Vorladen– Das Attribut bestimmt die Browserstrategie zum Laden von Videoinhalten. Kann verschiedene Bedeutungen annehmen:
    • Auto'– ob das Laden des Videos beim Laden der Seite beginnen soll.
    • Metadaten'– wenn beim Laden der Seite nur die Inhaltsmetadaten geladen werden sollen.
    • Keiner'– Wenn beim Laden der Seite das Video nicht geladen werden soll.
  • Src– Dieses Attribut enthält die URL der Datei mit Videoinhalt.
  • Breite— enthält den Größenwert des Spielers.

Fallstricke und erste Schwierigkeiten

Leider ist es nicht so einfach. HTML5 ist ein relativ junger Standard. Als Erstes ist also die eingeschränkte Browserunterstützung zu beachten. Verwenden eines Tags

Anhängen von Mediendateien

Darüber hinaus funktioniert der Befehl nicht immer korrekt, insbesondere wenn es um seine zusätzlichen Attribute geht. Wenn wir die Mediendatei unbedingt zum direkten Abspielen auf der Seite benötigen und gleichzeitig die Anzeige in verschiedenen Browsern wünschen, können wir Dateianhänge nutzen.

Andernfalls erscheint auf dem Bildschirm ein Link, über den es heruntergeladen werden kann. Diese Systeme verfügen jedoch häufig über Plugins, mit denen Sie beispielsweise automatisch eine Mediendatei im Standardplayer des Systems öffnen können. Dies kann jedoch in einem separaten Anwendungsfenster und nicht direkt auf der Seite erfolgen.

  • IE 9+
  • Firefox 4.0+
  • Chrome 6+
  • Safari 5+
  • Opera 10.6+

Es ist auch erwähnenswert, dass verschiedene Browser reproduzieren verschiedene Formate Video, d.h. Es ist notwendig, denselben Inhalt in verschiedenen Formaten für verschiedene Browser aufzubereiten. Die folgende Tabelle zeigt die wichtigsten Browser mit ihrer Unterstützung für Formate:

Browser Formate
OggTheora H.264 VP8(WebM)
Internet Explorer Erfordert die Installation einer Erweiterung 9.0 Erfordert die Installation einer Erweiterung
Mozilla Firefox 3.5 Nein 4.0
Google Chrome 3.0 Ja 6.0
Safari Erfordert die Installation einer Erweiterung 3.1 Erfordert die Installation einer Erweiterung
Oper 10.50 Nein 10.60

Es gibt einen Mechanismus zur browserübergreifenden Wiedergabe. Es besteht darin, nach innen hinzuzufügen

Die universellste Möglichkeit, Mediendateien abzuspielen, die in jedem Webbrowser und in jedem Dateiformat funktioniert, ist die Verknüpfung mit der Datei. Wenn Sie bereits über einen Abschnitt mit Links verfügen, wissen Sie wahrscheinlich, dass der obige Befehl nur ein Link ist – ein Link zu einer Datei. Wenn Sie diesen Link ausführen, wird möglicherweise ein Popup-Fenster angezeigt, in dem Sie gefragt werden, ob Sie die Datei öffnen oder auf Ihrem Computer speichern möchten. Wenn Sie „Speichern“ wählen, können Sie die angegebene Datei auf Ihre Festplatte kopieren.

Wenn Ihr Betriebssystem mit dem ausgewählten Dateityp mit dem Programm verknüpft ist, wird es automatisch geöffnet, ohne nach einem Namen zu fragen. Darüber hinaus gibt es bestimmte Dateitypen, die möglicherweise direkt in Ihrem Browserfenster angezeigt werden, wenn Sie auf einen Link klicken. Wenn der Benutzer das Programm selbst installiert hat Betriebssystem, das die ausgewählte Datei öffnen kann, wird es funktionieren Hintergrund. Leider kann das Verhalten je nach Browser variieren.

Bitte beachten Sie, dass die Wiedergabesteuerung in verschiedenen Browsern unterschiedlich aussieht. Daher ist es für die Vereinheitlichung notwendig, eine eigene Player-Schnittstelle zu entwickeln. Die Idee ist äußerst einfach: Die Steuerelemente sind Divs, die über dem Videocontainer positioniert sind.

Der hier bereitgestellte Dateilink weist keine der mit anderen Multimedia-Befehlen verbundenen Mängel auf. Da die Datei nicht direkt auf der Seite platziert wird, kommt es zu keiner Verzögerung beim Laden. Darüber hinaus funktioniert es mit allen Dateitypen. Darüber hinaus kann der Benutzer die Datei auf der Festplatte speichern und beliebig oft abspielen, ohne darauf warten zu müssen, dass sie erneut aus dem Internet heruntergeladen wird. Leider hat diese Methode auch Nachteile. Erstens wird die Datei nicht auf der Website geöffnet, sondern in separates Programm, was wie eine etwas „elegante“ Lösung erscheinen mag.

Das ist erwähnenswert verschiedene Browser Bei der Arbeit mit HTML5-Videos kann es zu einem unterschiedlichen Verhalten kommen. Zum Beispiel aufiOS-Geräte können die Wiedergabe nicht automatisch starten.

Auch Es gibt keine Möglichkeit, die Größe des Videopuffers in irgendeiner Weise zu steuern. Es ist auch nicht möglich, die Größe der abgespielten Datei sowie die Download-Geschwindigkeit zu bestimmen.

Zweitens muss der Benutzer haben passendes Programm, das den ausgewählten Dateityp abspielen kann. Auf diese Weise kann der Benutzer entscheiden, ob er den Link ausführen möchte. Welchen Befehl sollte ich zum Abspielen von Mediendateien verwenden? Natürlich empfiehlt es sich in jedem Fall, das Ergebnis in verschiedenen Browsern zu überprüfen.

Sie können auch Empfänger hinzufügen, die als Reaktion auf bestimmte Player-Ereignisse ausgelöst werden, z. B. eine Änderung ihres Status oder eine Änderung der Filmwiedergabequalität. Sollen Steuerelemente auf dem Player sichtbar sein, müssen diese groß genug sein, damit die Steuerelemente vollständig sichtbar sind, ohne dass das angezeigte Fenster unter die Mindestgröße verkleinert wird.

Beginn der Arbeiten

Im HTML5-Standard verfügen Multimedia-Elemente über eine leistungsstarke API, mit der Sie nicht nur eine Single-Player-Schnittstelle entwickeln, sondern auch zusätzliche Funktionen implementieren können. JavaScript ist das Tool zum Arbeiten mit der HTML5 Media API.

Nehmen wir an, auf der Seite befindet sich der folgende Videocontainer:

Laden eines Films

Mit dieser Funktion kann der Player Player-Objekte erstellen, die nach dem Laden der Seite angezeigt werden. Die folgende Liste enthält Details zum oben gezeigten Beispiel. Dies kann Auswirkungen auf das Seitenlayout haben, wenn das zu ersetzende Element einen anderen Darstellungsstil hat als das eingefügte Element.

  • Standardmäßig wird das Element als Inline-Blockelement angezeigt.
  • Der zweite Parameter ist ein Objekt, das die Player-Parameter definiert.
  • Dieses Objekt hat die folgenden Eigenschaften: width – die Breite des Players.
Diese Funktion lädt eine Miniaturansicht eines bestimmten Films und bereitet den Player für die Wiedergabe vor.

Um mit dem Player über die API arbeiten zu können, müssen Sie ein Objekt definieren, das einen Container mit Medieninhalten enthält. Hierzu verwenden wir den JQuery-Selektor:

Var Spieler = $(‘#Spieler’);

Das war's, jetzt sind wir bereit, unseren Player über JS zu steuern! Um die Wiedergabe einer Datei zu starten und anzuhalten, genügt es, jeweils den folgenden Code auszuführen:

Player.start(); player.pause();

Warteschlangenfunktionen für Mailinglisten

Diese Funktion lädt den angegebenen Film herunter und spielt ihn ab. Wenn Sie zum Aufrufen dieser Funktionen Objektsyntax verwenden, können Sie Seiten auch in Suchergebnisse oder eine Liste von Videos unterteilen, die der Benutzer heruntergeladen hat. Da diese Funktionen unterschiedlich funktionieren, je nachdem, ob sie durch Argumente oder Objektsyntax aufgerufen wurden, finden Sie unten eine Dokumentation für beide Methoden.

Verwalten Sie Wiedergabe- und Player-Einstellungen

Der Endzustand nach dieser Funktion wird angehalten, wenn der Player die Funktion nicht beendet, während die Funktion aufgerufen wird. Diese Funktion sollte besonderen Situationen vorbehalten bleiben, in denen bekannt ist, dass der Benutzer keine Filme mehr im Player ansehen wird. Wenn Sie den Film anhalten möchten, rufen Sie einfach die Funktion auf. Wenn Sie die Videowiedergabe auf dem Player ändern möchten, können Sie sofort eine der Warteschlangenfunktionen aufrufen.

Mit der HTML5-Medien-API können Sie Informationen über das abgespielte Video abrufen. Sie können beispielsweise alle Manipulationen am Wiedergabeinhalt durchführen, indem Sie mit dem Feld „ arbeiten currentSrc':

Var currentSource = player.currentSrc; // URL des abgespielten Inhalts abrufen // player.currentSrc = 'path_to_new_media_source'; // Inhalt // im Player ersetzen

Gleiches gilt für die Video-Rückspulfunktion. Diese Funktionalität wird durch die „ aktuelle Uhrzeit (nimmt einen Float-Wert an, d. h. die aktuelle Wiedergabezeit in Sekunden):

Einen Film in einer Playlist abspielen

Dieser Ansatz ermöglicht es dem Benutzer, zu verschiedenen Orten zu scrollen, ohne beim Scrollen einer gepufferten Seite neue Videostreams anfordern zu müssen. Wenn der Benutzer die Maustaste loslässt, spult der Player den Film an die gewünschte Stelle zurück und fordert bei Bedarf einen neuen Videostream an.

Ändern der Player-Lautstärke

Legen Sie die Playergröße fest. Wiedergabegeschwindigkeit einstellen. Der Aufruf dieser Funktion garantiert nicht, dass sich die Wiedergabegeschwindigkeit tatsächlich ändert.

Var currentTime = player.currentTime; // aktueller Wiedergabezeitwert player.currentTime = 60 // Zurückspulen zur 1-Minuten-Position

Sie können die Dauer der abgespielten Datei ermitteln, indem Sie auf das Feld „ zugreifen Dauer'. Und zusammen mit dem Wert der aktuellen Spielzeit lässt sich ganz einfach der Prozentsatz der angesehenen Inhalte berechnen:

Var duration = player.duration; // Inhaltsdauer in Sekunden var proportion = currentTime / duration; // Verhältnis von // Wiedergabezeit zu // Videodauer.

Verwenden Sie die Methode, um den Prozentsatz des Films zu bestimmen, der in den Puffer geladen wird. Dies kann je nach Benutzer, Filmen, Systemen und anderen Wiedergabeumgebungen variieren. Wenn Sie eine Videowiedergabequalität vorschlagen, gilt diese vorgeschlagene Qualität nur für dieses Video. Es empfiehlt sich, eine Wiedergabequalität zu wählen, die zur Größe Ihres Films passt.

Die folgende Liste enthält Wiedergabequalitätsstufen, die verschiedenen Standard-Playergrößen entsprechen. Wenn Sie beispielsweise eine hohe Qualitätsstufe anfordern und diese nicht verfügbar ist, wird die Wiedergabequalität auf „Mittel“ eingestellt. Mit dieser Funktion können Sie feststellen, ob ein Video in einer höheren Qualität als der von Ihnen verwendeten verfügbar ist, und der Player kann eine Schaltfläche oder ein anderes Steuerelement anzeigen, mit dem der Benutzer die Qualität anpassen kann.

Es besteht die Möglichkeit, die Wiedergabelautstärke über das Feld „ zu steuern Volumen':

Player.volume = 1; // volle Lautstärke einschalten (um // den Ton auszuschalten, muss dem Feld der Wert „0“ zugewiesen werden)

Die Möglichkeiten der HTML5 Media API enden hier nicht. Die Implementierung komplexer Steuerungen kann über den Ereignismechanismus erfolgen. Nutzen Sie dazu einfach die Funktion addEventListenter(). Um beispielsweise das Ereignis „Ende der Wiedergabe“ zu abonnieren, gehen Sie einfach wie folgt vor:

Diese Funktion gibt ein Array von Zeichenfolgen zurück, sortiert von der höchsten zur niedrigsten Qualität. Diese Funktion gibt ein leeres Array zurück, wenn kein aktueller Film vorhanden ist. Ihr Client sollte nicht automatisch auf hochwertige Videos oder einen unbekannten Formatnamen umschalten. Wenn Sie sicherstellen, dass Ihr Client nur auf bekannte verfügbare Formate umschaltet, wird die Leistung Ihres Clients nicht durch die Einführung neuer Qualitätsstufen oder die Eliminierung von Qualitätsstufen, die im Kontext des Players inakzeptabel sind, beeinträchtigt.

Filminformationen

Das Ereignisobjekt verfügt über die folgenden Eigenschaften. Die Anwendung sollte diese Funktion implementieren, wenn Sie bestimmte Vorgänge automatisch ausführen möchten, z. B. die Wiedergabe eines Films oder die Anzeige von Filminformationen, sobald der Player bereit ist. Das folgende Beispiel zeigt eine Beispielfunktion, die Unterstützung für dieses Ereignis bereitstellt.

Var onEndFunc = function() ( // Funktion wird aufgerufen, wenn // die Wiedergabe endet // einige Aktionen ) player.addEventListener(‘ended’, onEndFunc); // Abonnieren Sie die Funktion // am Ende des Videos player.removeEventListener(‘ended’, onEndFunc); // Abmeldefunktionen // vom Ende des Videos

Nachfolgend finden Sie alle Ereignisse, die in der HTML5-Medien-API vorhanden sind.

  • Önabort– ungewöhnliches Wiedergabeereignis
  • oncanplay– Ereignis der Bereitschaft zur Videowiedergabe nach dem Laden eines ausreichenden Teils in den Puffer
  • oncanplaythrough– spielbereites Ereignis, nachdem der Inhalt vollständig in den Puffer geladen wurde
  • ondurationchange— Ereignis zur Änderung der Inhaltsdauer
  • einmal geleert– Ereignis, das ausgelöst wird, wenn die Verbindung unterbrochen wird
  • beendet– Wiedergabe-Ende-Ereignis
  • onerror— Fehlerereignis beim Laden einer Inhaltsdatei
  • onloadeddata– Ereignis zum Laden von Inhalten
  • onloadedmetadata– Ereignis zum Laden von Metadaten.
  • Önloadstart– Startereignis für den Datei-Download
  • OnPause– Wiedergabe-Stopp-Ereignis
  • onplay— Startereignis der Wiedergabe
  • weiterspielen– Wiedergabeereignis (wird ausgeführt, bis das Video stoppt)
  • In Arbeit– Video-Ladevorgang-Ereignis (wird ausgeführt, bis der gesamte Inhalt geladen ist)
  • onratechange– Ereignis zur Änderung der Wiedergabegeschwindigkeit
  • onreadystatechange– Ereignis der Änderung des Bereitschaftszustands des Videoplayers
  • gesucht– Endereignis des Videorücklaufs
  • auf der Suche– Ereignis, das beim Zurückspulen von Inhalten ausgelöst wird
  • Eingerichtet– ein Ereignis, das aufgerufen wird, wenn der Browser keinen Inhalt empfangen kann
  • onsuspendieren– ein Ereignis, das ausgelöst wird, wenn das Laden von Inhalten stoppt.
  • Öntimeupdate– Ereignis, das ausgelöst wird, wenn sich die aktuelle Wiedergabeposition ändert
  • onvolumechange– Ereignis zur Änderung der Lautstärke
  • wartend– Wiedergabestoppereignis zur Datenpufferung

Mithilfe dieser Ereignisse können Sie Videoplayer-Elemente wie Wiedergabelisten, die Anzeige von Untertiteln, die Anzeige des Zielbilds beim Zurückspulen und viele andere implementieren.

Hinweise zu mobilen Apps

Dieser Fehler tritt auf, wenn ein Video gelöscht oder als privat markiert wurde. 101 – Der Eigentümer des angeforderten Films erlaubt nicht, dass er auf den Playern auf den Seiten abgespielt wird. 150 – dieser Fehler ist derselbe wie 101.

Autoplay und Skriptwiedergabe

Dies ist nur ein Tarnfehler 101. . Dieses Update enthält die folgenden Änderungen.

Letzte Aktualisierung: 16. November. Diese Option aktiviert beispielsweise automatisch die Wiedergabe und sorgt dafür, dass das Video in einer Schleife abgespielt wird. Mit dieser Option können Sie den Player zusätzlich aktivieren. Jede Parameterdefinition wird Spielern zur Verfügung gestellt, die sie unterstützen. Wenn Sie möchten, dass Steuerelemente im Player sichtbar sind, muss dieser groß genug sein, damit die Steuerelemente vollständig sichtbar sind, ohne dass das angezeigte Fenster unter die Mindestgröße verkleinert wird.

Dynamische Änderungen der Videoqualität

Wie oben erwähnt, verfügt HTML5 über kein Tool zum Arbeiten mit der Puffergröße, aber mit der Medien-API können Sie die Dauer des gepufferten Teils des Inhalts ermitteln, die für die Anzeige des zum Anzeigen verfügbaren Teils in der Rückspulleiste erforderlich ist . Führen Sie dazu einfach den folgenden Code aus:

Bitte beachten Sie, dass die folgenden Anweisungen auf dem Standort des Players basieren, auf dem ein Film geladen ist. Im nächsten Abschnitt wird erläutert, wie Sie den Player so konfigurieren, dass er andere Arten von Inhalten lädt, beispielsweise Wiedergabelisten oder Suchergebnisse. Legen Sie außerdem weitere Parameter des Players fest, den Sie identifizieren möchten. Die Höhen- und Breiteneinstellungen des Tags bestimmen die Größe des Players.

Auswahl des Wiedergabematerials

Das Adressformat ist wie folgt. Der zweite Parameter des Builders eines Spielers ist ein Objekt, das seine Parameter angibt. Dieser Code definiert keine Player-Parameter oder andere Event-Handler. Durch entsprechende Konfigurationseinstellungen können der Player, Playlists, vom ausgewählten Benutzer hochgeladene Videos oder Suchergebnisse für bestimmte Passwörter in den Player geladen werden.

Var bufferedTime = player.buffered.end(0); // temporäre Grenze // des gepufferten Teils

Jetzt kommt der spaßige Teil! Wenn Sie die Dauer des Inhalts im Puffer kennen, können Sie eine dynamische Bestimmung der Qualität des abgespielten Inhalts implementieren. Dazu müssen Sie eine Methode implementieren, die die Geschwindigkeit des Ladens von Informationen in den Puffer bewertet und je nach Wert die Videoqualität umschaltet.

Die Idee der Analyse ist folgende: Wir berechnen die Pufferaufbaurate, und wenn diese niedriger als die Wiedergabegeschwindigkeit ist, dann berechnen wir die Zeit, bis der Inhalt vollständig gepuffert ist, und vergleichen sie mit der verbleibenden Wiedergabezeit. Wenn die Pufferzeit bei der berechneten Geschwindigkeit größer ist als die verzögerte Wiedergabezeit, schalten wir den Inhalt auf eine niedrigere Qualität um.

Var bufferAnalizer = function (playbackStartPoint, PlaybackEndPoint, bufferStartPoint, bufferEndPoint, Dauer) ( var oldQualityObj = this.qualityObj, PlaybackStart = 0, // neuer Wiedergabe-Startpunkt bufferStart = 0; // neuer Puffer-Startpunkt if (oldQualityObj) ( PlaybackStart = oldQualityObj.playbackEndPoint; bufferStart = oldQualityObj.bufferEndPoint; ) else ( PlaybackStart = PlaybackStartPoint; BufferStart = BufferStartPoint; ) this.qualityObj = ( "playbackEndPoint": playingEndPoint, "bufferEndPoint": bufferEndPoint, "deltaBuffer": bufferEndPoint - bufferStart, // wie viele gepuffert „bufferSpeed“: (bufferEndPoint – bufferStart) / (playbackEndPoint – PlaybackStart), „deltaPlayback“: PlaybackEndPoint – PlaybackStart, // wie viel wurde // abgespielt „availTime“: bufferEndPoint – PlaybackEndPoint // Unterschied zwischen Puffer und // Playback position) var restTime = Dauer – PlaybackEndPoint, bufferTime = (Dauer – BufferEndPoint) / this.qualityObj.bufferSpeed; if ((bufferTime > restTime) && ((this.qualityObj.availTime / this.qualityObj.deltaPlayback)< 2)) { if (this.quality == "normal") { this.quality = "low"; } } }

Untertitel verbinden

Im HTML5-Standard gibt es ein spezielles Tag Zum Anzeigen von Untertiteln wird dies jedoch zum Zeitpunkt des Schreibens von keinem gängigen Browser unterstützt. Sie können diese Funktionalität jedoch manuell implementieren. Lassen Sie die Untertitel in der Datei „subs.srt“ liegen. Zuerst verbinden wir es und fügen den Inhalt in ein spezielles Objekt ein:

Var toSeconds = function(time) ( var seconds = 0.0; if (time) ( var p = time.split(":"); for (var i = 0; i< p.length; i++) seconds = seconds * 60 + parseFloat(p[i].replace(",", ".")) } return seconds; } $.get(subsSrc, function (data) { data = data.replace(/\r\n\r\n/g, "").split(""); for (var item in data) { var subItem = data.split(/\r\n/g); if (subItem.length >3) ( für (var i = 3; i< subItem.length; i++) { subItem += "
" + subItem[i]; ) ) var time = subItem.split(" --> "); self.subs.push(( id:subItem, sTime:self.toSeconds(time), eTime:self.toSeconds(time ), text:subItem )); ) ), "html");

Jetzt muss nur noch ein Timer erstellt werden, der abhängig von der aktuellen Uhrzeit die benötigten Untertitel in einem div mit der Klasse „.subs“ anzeigt:

Var self = this, lastSub = "empty", currentSub; this.subsTimer = setInterval(function () ( for (var item in self.subs) ( var currentTime = self.player.currentTime; if ((self.subs.eTime > currentTime) && (self.subs.sTime<= currentTime)) { currentSub = self.subs.text; } else if ((self.subs.eTime < currentTime)) { // no subs now currentSub = " "; } } if (currentSub && (currentSub != lastSub)) { self.container.find(".subs").html(currentSub); lastSub = currentSub; } }, 500);

Vorschau der Miniaturansichten beim Zurückspulen

Es gibt kaum jemanden, der den Komfort nicht schätzt, beim Zurückspulen einen Rahmen zum Verschieben anzuzeigen. Die Implementierung dieser Funktionalität ist keine schwierige Aufgabe. Um eine Vorschau zu erstellen, müssen Sie über dem Hauptcontainer mit Video eine neue kleinere mit demselben Videoinhalt erstellen und diese genau über dem Cursor positionieren:

Self.container.find(".controls").append(" ");

Und dann spulen wir das Video in diesem Container zurück:

Var self = dies; $(".seekbar).bind("mousemove", Funktion (e) ( self.cursorX = e.pageX; self.seek(self); )); this.scale = this. Container.find(".seekbar").width() / player.duration; var see = function (context) ( $(".thumb").currentTime = (self.cursorX - self.container.find(".seekbar").offset().left) / self.scale; )

Wechseln Sie in den Vollbildmodus

In den Browsern Firefox, Safari und Chrome gibt es eine spezielle API für das Arbeiten im Vollbildmodus. Der Mechanismus ermöglicht es Ihnen, das ausgewählte Div auf dem gesamten Bildschirm anzuzeigen. Die Funktionen, die diese Aktionen ausführen, sind in diesen Browsern unterschiedlich benannt, daher müssen Sie einen Aufruf für beide implementieren.

Var element = document.getElementById('player_container'); if (element.mozRequestFullScreen) ( element.mozRequestFullScreen(); // Für Firefox bereitstellen) else if (element.webkitRequestFullScreen) ( element.width("100%"); element.height("100%"); element.webkitRequestFullScreen (); // Für Chrome und Safari bereitstellen)

Bitte beachten Sie, dass für Chrome und Safari zusätzlich zum Vollbildmodus des Containers auch die Einstellung seiner Höhe und Breite auf 100 % erforderlich ist. Dies liegt am Methodenaufruf webkitRequestFullScreen() Verdunkeln Sie einfach den gesamten Bildschirm und zentrieren Sie den Zielcontainer. Die Containerskalierung bleibt vollständig dem Entwickler überlassen.

Die Tatsache, dass der Container auf den Vollbildmodus erweitert wird, kann anhand des Status der Felder bestimmt werden document.mozFullScreenElement für Firefox und document.webkitIsFullScreen für Browser auf WebKit.

Das Zurückschalten des Containers in den normalen Anzeigemodus ist über Undo-Funktionen möglich.

// Bestimmen Sie, ob ein Container im Vollbildmodus angezeigt wird. if (document.mozFullScreenElement || document.webkitIsFullScreen) ( if (document.mozCancelFullScreen) ( document.mozCancelFullScreen(); // Minimieren für Mozilla ) else if (document.webkitCancelFullScreen) ( document.webkitCancelFullScreen(); // Minimieren für Chrome und Safari))

Die FullScreen-API implementiert auch Anzeigestatusänderungsereignisse – „mozfullscreenchange“ bzw. „webkitfullscreenchange“. Oben wurde erwähnt, dass die Skalierung des Containers in WebKit in der Verantwortung des Entwicklers liegt; daher müssen Sie bei der Rückkehr zur normalen Anzeige auch die Größe des Containers mit dem Player ändern:

Document.addEventListener("webkitfullscreenchange", this.WebkitFullscreenEvent = function() ( if (!document.webkitIsFullScreen) ( self.container.width(width); self.container.height(height); ) ));

Andere Funktionalität

Bestimmen der Größe der heruntergeladenen Datei.

Wie bereits erwähnt, hat der Entwickler mit HTML5 keine Möglichkeit, die Größe einer Videodatei zu bestimmen. Es wird jedoch niemand verbieten, seine Größe vom Backend zu erhalten, sei es beim Generieren einer Playlist, beim Empfang der Dateiadresse oder durch Aufrufen einer speziellen Methode.

Audiospuren wechseln

Derzeit gibt es keine Implementierung zum Wechseln von Audiospuren. Natürlich können Sie mehrere Audioplayer mit Spuren auf einer Seite erstellen, aber in diesem Fall ist die Synchronisierung der Videowiedergabe und des gewünschten Audios eine äußerst nicht triviale Aufgabe.

Machen Sie einen Screenshot des abgespielten Videos

Wenn Sie einen Screenshot eines Videos erstellen müssen, erfahren Sie, wie Sie dies mit umsetzen kann gelesen werden.

Auswirkungen

Eine nette Funktion von HTML5-Video ist, dass alle Effekte, Transformationen und Masken, die über CSS3 durchgeführt werden können, auf den Player angewendet werden können. Ein Beispiel für eine solche Funktionalität ist zu sehen.

HTML5 vs. Flash

Es ist weit verbreitet, dass HTML5-Video eine Art „Killer“ von Flash ist, weil... bietet ähnliche Funktionalität. In Wirklichkeit stimmt das natürlich nicht ganz. HTML5 eignet sich nicht für die Bereitstellung von Premium-Videodiensten, weil... unterstützt die folgenden wichtigen Funktionen nicht:

  • Ein Video streamen. HTML5 ist nur zum Abspielen von Videodateien geeignet.
  • Inhaltsschutz. Gleichzeitig bietet Flash die Möglichkeit, Sicherheitstechnologien einzusetzen.
  • Eine einzige API und ihre Implementierung für alle Browser.
  • Standard-Videoformat. Unterschiedliche Browser = unterschiedliche Videoformate für den HTML5-Player.

Es ist jedoch anzumerken, dass bereits daran gearbeitet wird, die Funktionen von HTML5-Video zu Flash zu erweitern. Diese Initiative geht zunächst einmal vom Suchriesen Google aus – mehr erfahren Sie im Bericht über die Rede eines Unternehmensvertreters auf der Streaming-Media-Konferenz Erstellen eines Video-Screenshots

  • Bericht über die Zukunft von HTML5
  • PS

    Halten Sie in naher Zukunft Ausschau nach einem Artikel über die Analyse abgespielter HTML5-Videos.

    Eines der bemerkenswertesten Merkmale HTML5 streamt Audio.

    Wenn Sie im Bereich Webentwicklung tätig sind, dann eine Auswahl aus 10 unglaubliche HTML5-Audioplayer es wird Ihnen sehr nützlich sein.

    - Audio- und Videoplayer, der in reiner Sprache geschrieben ist HTML5 Und CSS. Die Unterstützung älterer Browser erfolgt über Blitz Und Silverlight Spieler, die nachahmen HTML5 MediaElement-API.
    MediaElement bietet viele Designs und Unterstützung für gängige Plattformen: WordPress, Drupal, Joomla usw.


    Dieser Player ist recht minimalistisch, aber funktional. Gut, wenn Sie Wiedergabelisten und ausgefallene Effekte benötigen!


    Ein weiterer großartiger Spieler, vielleicht der beste auf der gesamten Liste. Profis ist, dass es sehr einfach einzurichten ist und in der Größe recht flexibel ist und auf eine unbegrenzte Anzahl von Farben anpassbar ist.
    U Cross-Browser-Unterstützung, und für ältere Browser gibt es sie Blitz-analog.


    Du benutzt Mootools Auf deiner Webseite? Wenn ja, dann könnte Ihnen dieser Player gefallen HTML5 Und Mootools JavaScript Rahmen. Der Player funktioniert perfekt in allen modernen Browsern.


    Dieser Spieler ist der einzige auf der Liste, der bezahlt wird. Er ist alles wert $5 , aber es funktioniert perfekt. Der Player verfügt über viele nützliche Funktionen, wie z. B. den Schutz Ihrer Audiodaten vor Abhören durch Signal-Overlay, was für den kommerziellen Einsatz sehr gut ist.

    Quelle: http://codecanyon.net/item/universal-html5-audio-player


    IN beteiligte Technologien HTML5 Und Blitz, was es sehr leicht macht ( 10 KB), eine robuste browserübergreifende Lösung zum Streamen von Audio.
    Möchten Sie wissen, was Sie damit machen können? Soundmanager 2? Besuchen Sie uns, um die Demo anzusehen!