@[toc] Hinweis: "vue": "^2.6.11", "video.js": "^7.10.2", "videojs-contrib-hls": "^5.15.0", "mux.js": "^5.7.0" 1. InstallationGarn fügt Video.js hinzu yarn add videojs-contrib-hls // Dies ist ein Plugin, das zum Abspielen von HLS-Streams erforderlich ist yarn add mux.js // Wenn es im Vue-Projekt nicht installiert ist, kann ein Fehler auftreten 2. Einführung in videojs1. Erstellen Sie einen Plugin-Ordner unter dem src-Ordner und erstellen Sie eine video.js-Datei; Der Inhalt der Datei video.js ist wie folgt: importiere "video.js/dist/video-js.css"; // Importiere das CSS von video.js importiere hls von „videojs-contrib-hls“; // Zum Abspielen des HLS-Streams ist ein Plug-in erforderlich. importiere Vue von „vue“; Vue.use(hls); 2. Importieren Sie die Datei video.js jetzt in main.js importiere "./plugins/video.js"; // Importiere die soeben definierte Datei video.js 3. Testen und in Komponenten verwenden 1. Implementieren Sie eine grundlegende automatische WiedergabeTest.vue-Datei <Vorlage> <div Klasse="test-videojs"> <video id="videoPlayer" class="video-js" stummgeschaltet></video> </div> </Vorlage> <Skript> importiere Videojs aus "video.js"; // Videojs importieren Standard exportieren { Daten() { zurückkehren { // https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8 ist ein Video. Sie können cctv1 (eine Live-Übertragung, die nicht zurückgespult werden kann) damit ersetzen, um den Effekt des Vor- und Zurückspulens zu sehen nowPlayVideoUrl: "http://ivi.bupt.edu.cn/hls/cctv1hd.m3u8" }; }, montiert() { dies.initVideo(diese.nowPlayVideoUrl); }, Methoden: { initVideo(jetztPlayVideoUrl) { // Diese Optionsattribute können auch direkt im Video-Tag gesetzt werden, siehe stummgeschaltet let Optionen = { autoplay: true, // Automatische Wiedergabesteuerung festlegen: true, // Quellen für Wiedergabesteuerung anzeigen: [ // Beachten Sie, dass, wenn src als Option festgelegt ist, kein Kanalwechsel möglich ist (auch wenn nowPlayVideoUrl überwacht wird). { Quelle: nowPlayVideoUrl, Typ: „application/x-mpegURL“ // Sagen Sie videojs, dass dies ein HLS-Stream ist} ] }; // Der erste Parameter von videojs stellt die ID des Videos im Dokument dar const myPlayer = Videojs("videoPlayer", Optionen, Funktion onPlayerReady() { console.log("this in onPlayerReady refers to:", this); // dies hier bezieht sich auf Player, eine von Videojs erstellte Instanz console.log(myPlyer === this); // Dies gibt true zurück }); } } }; </Skript> <style lang="scss"> #videoPlayer { Breite: 500px; Höhe: 300px; Rand: 50px automatisch; } </Stil> Der Videowiedergabeeffekt ist wie unten dargestellt: Das Druckergebnis sieht wie folgt aus: 2. Kanalwechsel durchführenTest.vue-Datei <Vorlage> <div Klasse="test-videojs"> <video id="videoPlayer" class="video-js"></video> <el-button type="danger" @click="changeSource">Zu CCTV3 wechseln</el-button> </div> </Vorlage> <Skript> importiere Videojs aus "video.js"; // Videojs importieren Standard exportieren { Daten() { zurückkehren { nowPlayVideoUrl: "http://ivi.bupt.edu.cn/hls/cctv1hd.m3u8", Optionen: autoplay: true, // Autoplay einstellen muted: true, // Auf true setzen, um die automatische Wiedergabe zu erreichen, und das Video wird stummgeschaltet (Chrome 66 und höher verbietet die automatische Wiedergabe von Audio und Video) preload: "auto", // Preload-Steuerung: true // Wiedergabesteuerung anzeigen}, Spieler:null }; }, montiert() { dies.getVideo(diese.nowPlayVideoUrl); }, Methoden: { getVideo(jetztPlayVideoUrl) { this.player = Videojs("videoPlayer", this.options); //Tastencode, src dynamisch festlegen, um den Kanalumschaltvorgang zu implementieren this.player.src([ { Quelle: nowPlayVideoUrl, Typ: „application/x-mpegURL“ // Sagen Sie videojs, dass dies ein HLS-Stream ist} ]); }, Quelle ändern() { this.nowPlayVideoUrl = "http://ivi.bupt.edu.cn/hls/cctv3hd.m3u8"; console.log(this.nowPlayVideoUrl, "geändert"); } }, betrachten: nowPlayVideoUrl(neuerWert, alt) { dies.getVideo(newVal); } }, vorZerstören() { wenn (dieser.Spieler) { this.player.dispose(); // Player entfernen, diese Methode setzt den internen Status von videojs zurück und entfernt dom } } }; </Skript> <style lang="scss"> #videoPlayer { Breite: 500px; Höhe: 300px; Rand: 50px automatisch; } </Stil> Der Video-Umschalteffekt ist wie unten dargestellt: 4. Hinweise zu Fallstricken 1. Das Video kann nicht automatisch abgespielt werden oder es wird eine Fehlermeldung angezeigt: DOMException: play() fehlgeschlagenZur Lösung muss das Stummschaltattribut verwendet werden Fehlermeldung: DOMException: play() ist fehlgeschlagen, da der Benutzer nicht zuerst mit dem Dokument interagiert hat. (Der Benutzer hat noch nicht interagiert, daher kann „play“ nicht aufgerufen werden) Lösung: Setzen Sie die stummgeschaltete Eigenschaft auf true <video id="videoPlayer" class="video-js" stummgeschaltet></video> Über das Stummschaltattribut:
2. Beim Kanalwechsel wurde die URL erfolgreich geändert, das Video ist aber immer noch das gleiche wie zuvorUm dies zu erreichen, müssen Sie src dynamisch festlegen. // Quelle dynamisch festlegen dieser.Player.src([ { Quelle: nowPlayVideoUrl, Typ: „application/x-mpegURL“ // Sagen Sie videojs, dass dies ein HLS-Stream ist} ]); 3. Das Modul mux.js kann nicht gefunden werdenFehlerinformationen: * mux.js/lib/tools/parse-sidx in ./node_modules/video.js/dist/video.es.js Um es zu installieren, können Sie Folgendes ausführen: npm install --save mux.js/lib/tools/parse-sidx Lösung: Installieren Sie mux.js Garn fügt mux.js hinzu 5. RTMP-Stream abspielenDie Bedienung des Abspielens eines RTMP-Streams ist fast identisch mit der Bedienung des Abspielens eines HLS-Streams, außer dass: importiere "videojs-flash"; // Zum Abspielen des RTMP-Stream-Typs ist ein Plug-in erforderlich: „rtmp/flv“, // Dieser Typwert ist erforderlich, um videojs mitzuteilen, dass dies ein RTMP-Stream-Video ist Oben finden Sie Einzelheiten zur Verwendung von video.js in vue zum Abspielen von Videos im m3u8-Format. Weitere Informationen zur Verwendung von videojs in vue zum Abspielen von Videos im m3u8-Format finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.7.11 Zip
>>: So verwenden Sie Nginx, um die Koexistenz mehrerer Container auf dem Server zu realisieren
Meine Maschinenumgebung: Windows 2008 R2 MySQL 5....
1. Befehlseinführung nl (Anzahl der Zeilen) fügt ...
Das Wechseln von Dateien ist eine gängige Operati...
1. Laden Sie die 64-Bit-ZIP-Datei von der offizie...
Funktion Currying (schwarzes Fragezeichen)? ? ? C...
Installations-Tutorial für VMware12.0+Ubuntu16.04...
So zeigen Sie Linux-Dateien an Befehl zum Anzeige...
Schauen Sie sich zunächst den Beispielcode an: #/...
Inhaltsverzeichnis Szenario Kernthemen Statusüber...
Docker-Installation 1. Anforderungen: Linux-Kerne...
Vorwort Für Produktions-VPS mit öffentlicher IP w...
Inhaltsverzeichnis 1. Verwenden Sie in der v-for-...
1. Überprüfen Sie die MySQL-Datenbankkodierung my...
1. Erstellen Sie eine Tabelle CREATE TABLE `stude...
Inhaltsverzeichnis Herkunft Virtueller Speicher P...