Was ist der beste Weg, um die ".VTT" Datei und das dazugehörige jpg Sprite für die Tooltip Thumbnails von Jwplayer ( Ссылка ?
Ich weiß, wie man ein Bild Sprite mit PHP macht, aber ich weiß nicht, wie man die Screenshots von jedem Video mit der Zeit in Sekunden macht .. Ich denke, es muss ein Server-Tool sein, um alle Aufgaben zu erledigen, aber ich kann nicht finde es.
Danke
Ich habe ein Skript geschrieben, um diese Aufgabe zu erledigen. Erstellen Sie bei einer Videodatei (MP4 oder M4v) Miniaturbilder, komprimieren Sie sie in ein Sprite und generieren Sie eine VTT-Datei, die mit JWPlayer-Tooltip-Miniaturansichten kompatibel ist. Die gesamte Bildbearbeitung verwendet Werkzeuge von ffmpeg, ImageMagick und optional nips und optipng. Der WebVTT-Generierungsteil musste ich schreiben.
Sie müssen ffmpeg & amp; ImageMagick, mindestens um dies zu nutzen.
Github-Code ist hier: Ссылка (unter Sprites /).
Der grundlegende Kern ist:
Erstellen Sie eine Reihe von Miniaturansichten, z. alle 45 Sekunden aus einem Video
%Vor%Ändern Sie die Größe dieser Miniaturbilder so, dass sie klein sind, z. 100 Pixel breit
%Vor%ODER Wenn keine Slips verfügbar sind, verwenden Sie das imageMagick-Dienstprogramm:
%Vor%Holen Sie sich die Höhe & amp; Breitendimensionen eines der Miniaturbilder, die als Grundlage für unsere Gitterkoordinaten verwendet werden, mit dem ImageMagick-Dienstprogramm
%Vor%die Ausgabe wie folgt zurückgibt: 100x55 + 0 + 0 - tv001.png
von dem wir 100 und 55 als unsere Breite & amp; Höhe und die allgemeine Geometrie jedes Miniaturbildes (W, H, X, Y)
Aus den einzelnen Thumbnails generieren wir dann unsere einzelne spritemap. Wir bestimmen die Größe des Zielrasters (z. B. 2x2, 8x8) entsprechend der Anzahl der Thumbnails, die wir für dieses Video erstellt haben, sowie der Übergabe der Sprite-Geometrie mit einem ImageMagick-Dienstprogramm
%Vor%Optional können wir hier einen zusätzlichen Komprimierungsschritt ausführen, um das Sprite kleiner zu machen
%Vor%Wir erstellen dann eine VTT-Datei, die auf der Anzahl der von uns erstellten Thumbnails basiert das Intervall, in dem wir die Thumbnails platzierten, um jedes Zeitsegment zu markieren, und Verwenden Sie die bekannten Koordinaten jedes fortlaufenden Bildes in unserem Sprite, auf das abgebildet wird das zugehörige Segment.
Ich weiß, das ist schon ein paar Jahre alt, aber ich hatte das gleiche Problem und fand ein Kommandozeilen-Tool, das Sprites ziemlich schnell generiert und seit 1.0.6 die WebVTT-Erstellung direkt unterstützt. Der Name ist mt und Sie können hier nachsehen.
Zitat aus ihrer Dokumentation können Sie es wie folgt verwenden:
Starten Sie einfach mt und stellen Sie eine beliebige Videodatei als args:
bereitmt video.avi
Einige der Einstellungen können über bereitgestellte Laufzeitflags geändert werden direkt zu mt für weitere Informationen einfach
ausführenmt --help
Sie können die API von encoding.com verwenden und ihnen mitteilen, dass sie auch die vtt-Datei exportieren soll
Ich empfehle zu lesen " Wie kann ich zeitsynchrone Miniaturansichten für den JW Player erstellen? " Erklärung von Die Wissensdatenbank von encoding.com
Verwenden Sie Film thumbnailer (mtn) , dies ist ein Kommandozeilen-Tool, das auf UNIX, Windows-Systemen läuft. Sie müssen jedoch ein benutzerdefiniertes Skript schreiben, um die entsprechende VTT-Datei zu erstellen.
Ich habe ein Ruby-Juwel entwickelt, um einfach .VTT-Dateien und Sprites von Thumbnails zu erstellen.
Danke für die Inspiration von @randalv!
Sie können es sich hier ansehen: Ссылка
Instanziieren Sie Ihre Videodatei:
%Vor% Jwthumbs::Movie.new
akzeptiert den zweiten Parameter als options
hash. Du kannst mehrere Sachen gleichzeitig konfigurieren, wenn du dein Video instanzist:
oder nachdem Sie Ihr Video aktiviert haben, können Sie Jwthumbs::Movie
file verwenden, um Dinge zu konfigurieren:
und dann, um Ihre Thumbnails und .VTT-Datei zu erstellen, führen Sie einfach diesen Befehl aus.
%Vor%