Medienimport (Nicht verfügbar in VIMP Light)
Das Medienimport-Plugin importiert Mediendateien von einem vorkonfigurierten lokalen Verzeichnis, via SCP/SSH oder via FTP.
Der Import kann durch Klick auf den entsprechenden Button in der Medien-Übersicht gestartet werden.
Der Dialog bietet vier unterschiedliche Möglichkeiten, um den Import durchzuführen:
- XML (Media-Import XML-Datei): Über den "Browse"-Button kann eine XML-Datei mit allen Medien-Informationen, wie z.B. Speicherort und Metadaten der Mediendateien hochgeladen werden.
- Directory (auf dem Server): Diese Option sollte genutzt werden, wenn die XML-Datei(en) und/oder Medien auf dem Webserver liegen und von dort lokal importiert werden sollen.
- FTP-Server: Diese Option ermöglicht es, XML-Datei(en) und/oder Medien zu importieren, die auf einem externen FTP-Server liegen.
- SSH-Server: Diese Option ermöglicht es, XML-Datei(en) und/oder Medien via SSH zu importieren, wenn sie auf einem externen Server liegen.
Verzeichnis (auf dem Server), FTP-Server und SSH-Server bieten jeweils zwei Möglichkeiten des Imports an:
- XML-Dateien: Ist diese Option aktiviert, werden XML-Dateien aus dem Verzeichnis importiert, das Sie in dem Formular angeben. Die XML-Dateien beinhalten alle Informationen, wie z.B. wo die zu importierenden Medien liegen und zugehörige (Meta-)Daten wie Titel, Beschreibung, Kategorien etc.
- Medien-Dateien: Diese Option können Sie nutzen, wenn Sie keine XML-Dateien erstellt haben. Es werden dann die Medien aus dem Verzeichnis importiert, das Sie im Formular angeben.
Auf diese Weise importierte Medien erhalten die Default-Werte (Titel, Beschreibung, Besitzer/User, Sichtbarkeit etc.), die Sie in den Medien-Import Einstellungen hinterlegt haben.
Wichtig: Bei dieser Art des Imports werden Medien nicht importiert, wenn sich in demselben Verzeichnis XML-Dateien befinden, die auf Medien in dem Ordner verweisen.
Nachfolgend sehen Sie die Struktur der XML-Datei für die Import-Daten:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mediaimport PUBLIC "-//MEDIAIMPORT//DTD MEDIAIMPORT//EN" "http://www.vimp.com/mediaimport-1.3.dtd">
<mediaimport version="1.3">
<locations>
<location id="loc1" type="filesystem">
<path></path>
</location>
<location id="loc2" type="ftp">
<hostname></hostname>
<port></port>
<path></path>
<username></username>
<password></password>
<passive></passive>
<ssl></ssl>
</location>
</locations>
<media>
<medium location="loc1">
<title></title>
<description></description>
<username></username>
<publication></publication>
<categories>
<category></category>
</categories>
<tags>
<tag></tag>
</tags>
<metadata>
<title></title>
<description></description>
<keywords></keywords>
<author></author>
<copyright></copyright>
</metadata>
<!-- media permissions -->
<permissions>
<permission></permission>
</permissions>
<!-- /media permissions -->
<!-- channel direct upload -->
<channel></channel>
<!-- /channel direct upload -->
<!-- media fields -->
<fields>
<field name="required_field"></field>
</fields>
<!-- /media fields -->
<!-- chapters -->
<chapters>
<chapter xml:lang="de">
<name></name>
<description></description>
<timecode></timecode>
</chapter>
</chapters>
<!-- /chapters -->
<files>
<file type="source"></file>
<file type="transcoded"></file>
<file type="thumbnail"></file>
<html5>
<file type="mp4"></file>
<file type="m4v"></file>
<file type="ogv"></file>
<file type="webm"></file>
<file type="mp3"></file>
<file type="oga"></file>
<file type="wav"></file>
</html5>
<previews>
<file type="transcoded"></file>
<file type="thumbnail"></file>
<html5>
<file type="m4v"></file>
<file type="ogv"></file>
<file type="webm"></file>
<file type="mp3"></file>
<file type="oga"></file>
<file type="wav"></file>
</html5>
</previews>
</files>
</medium>
</media>
</mediaimport>
Sie können Knoten entfernen, die Sie nicht benötigen. Beachten Sie jedoch, dass die Reihenfolge der Knoten immer beibehalten werden muss. So muss der Knoten title beispielsweise immer direkt vor dem Knoten description stehen.
Innerhalb des locations Knotens werden die Orte definiert, aus denen die Medien importiert werden sollen. Dies können lokale Verzeichnisse auf Ihrem Webserver sein oder auch externe Server und Verzeichnisse, von denen Sie per FTP oder SCP importieren möchten.
Jedem Medium, das Sie importieren, geben Sie anschließend eine „location“ als Attribut mit.
Der locations Knoten wird nur benötigt,
- wenn Sie im Importieren-Dialog die Option "XML" wählen und Ihre XML-Datei direkt im VIMP Backend hochladen
- oder wenn Ihre Medien-Dateien nicht im selben Verzeichnis liegen, wie das XML selbst
- und natürlich, wenn beides zutrifft.
Beschreibung der XML-Knoten
<media> ... </media>
Innerhalb des media Containers erstellen Sie für jedes Medium, das importiert werden soll, ein Element.
<medium location="location-id"></medium>
Das location Attribut location="location-id" kann weggelassen werden, wenn kein location Element im XML vorhanden ist oder das Video im selben Ordner liegt wie das XML selbst.
Das medium Element ist für jedes zu importierende Medium obligatorisch.
<title>Titel des Mediums</title>
Das title Element beinhaltet den Titel des Mediums.
<username>moderator</username>
Dieses Element definiert den Benutzer, dem das Medium gehört.
Mögliche Werte: der Benutzername, mit dem sich der Benutzer in VIMP anmeldet.
<publication>public</publication>
Dieses Element legt fest, ob das Medium öffentlich (public) oder privat (im Frontend nur vom Besitzer sichtbar) importiert wird. Die dritte Option versteckt (hidden), aktiviert den Direktlink.
Mögliche Werte: public; private; hidden
<categories>
<category>Unterhaltung</category>
<category>Wissenschaft</category>
<category>9</category>
<category>Tiere</category>
</categories>
Jede Kategorie benötigt ein eigenes category Element innerhalb des categories Knoten.
Das Beispiel ordnet das Medium vier unterschiedlichen Kategorien zu.
Mögliche Werte: der Kategoriename in einer der installierten Sprachen (Groß/Kleinschreibung wird nicht beachtet) oder die Kategorie-ID.
<tags>
<tag>Tag 1</tag>
<tag>zweites Tag</tag>
<tag>und ein 3. Tag</tag>
</tags>
Jedes Tag benötigt ein eigenes tag Element innerhalb des tags Containers.
Das Beispiel fügt drei Tags hinzu.
<metadata>
<title>Titel des Mediums</title>
<description>Beschreibung zum Medium</description>
<keywords>keyword1, keyword2, keyword3</keywords>
<author>Name des Autors</author>
<copyright>Name des Copyright-Inhabers</copyright>
</metadata>
Meta-Tags werden in dem Container metadata hinzugefügt. Die Meta-Tags sind beschränkt auf die vorgegebenen Elemente title, desciption, keywords, author und copyright.
<permissions>
<permission>anonymous</permission>
<permission>administrator</permission>
<permission>moderator</permission>
</permissions>
Das Element permissions definiert die Zugriffsberechtigungen für das Medium. Inhaber der gesetzten Rolle(n) können das Medium im Frontend sehen.
Mögliche Werte: Namen der Benutzerrollen.
Possible values: name of the user role
Wird das permissions Element in VIMP Enterprise und Campus nicht im XML gesetzt, werden die Default-Rollen für das Medium verwendet, die unter Backend -> Konfiguration -> Medienrecht definiert wurden.
<channel>Mein Channel 1</channel>
<channel>mY ChaNNel 2</channel>
<channel>3</channel>
Das channel Element erlaubt es Ihnen, ein Medium direkt beim Import einem Channel zuzuweisen.
Mögliche Werte: Channelname in allen definierten Sprachen (Groß-/Kleinschreibung wird nicht beachtet) oder eine Channel ID.
Wird das channel Element nicht gesetzt, wird das Medium keinem Channel beim Import zugeordnet.
<fields>
<field name="required_field">Wert</field>
<field name="Feld Name">Wert</field>
</fields>
Die field Elemente innerhalb des fields Containers definieren die Werte für die individuellen Medien-Felder (Backend -> Medien-Felder).
Dem Attribut name muss dabei der unique Feldname (nicht der Anzeigename) zugeordnet werden. Die IDs der Medienfelder können hier nicht verwendet werden.
chapters>
<chapter lang="de">
<name>Chapter 1</name>
<description>Chapter 1</description>
<timecode>00:00:05</timecode>
</chapter>
</chapters>
Alle Chapters/Kapitelmarken werden in einem chapters Knoten definiert.
Definiert wird ein Chapter jeweils über einen Knoten chapter, immer mit dem "lang=".." Attribut für die Sprache (de = Deutsch, en = Englisch ...).
Es folgt der Name des Chapters, gefolgt von der Beschreibung und dem Timecode der Kapitelmarke im Format HH:MM:SS.
<files> ... </files>
Der Knoten files kann weggelassen werden, wenn das zu importierende Medium denselben Dateinamen hat wie das XML (ohne Dateiendungen).
Wenn der XML-Dateiname nicht dem zu importierenden Medium entspricht oder mehrere Medien über ein XML importiert werden sollen, wird in jedem medium Knoten ein files Block benötigt.
Hier ein Beispiel, das alle Möglichkeiten berücksichtigt
<files>
<file type="source">abc.xyz</file>
<file type="transcoded">abc.xyz</file>
<file type="thumbnail">abc.xyz</file>
<html5>
<file type="m4v">abc.m4v</file>
<file type="ogv">abc.ogv</file>
<file type="webm">abc.webm</file>
<file type="mp3">abc.mp3</file>
<file type="oga">abc.oga</file>
<file type="wav">abc.wav</file>
</html5>
<previews>
<file type="source">abc.xyz</file>
<file type="thumbnail">abc.xyz</file>
<html5>
<file type="mp4">abc.mp4</file>
<file type="m4v">abc.m4v</file>
<file type="ogv">abc.ogv</file>
<file type="webm">abc.webm</file>
<file type="mp3">abc.mp3</file>
<file type="oga">abc.oga</file>
<file type="wav">abc.wav</file>
</html5>
</previews>
</files>
Möchten Sie nur die Source-Datei importieren (häufigster Fall), reicht folgende Struktur aus:
<files>
<file type="source">abc.xyz</file>
</files>
Dieser Code ist ausreichend, wenn Sie wie beim normalen Upload alle Medien-Dateien von VIMP durch das Transcoding automatisch erstellen lassen möchten.
Möchten Sie eine Source-Datei und bereits existierende Webformate importieren, ohne, dass die Dateien nochmals transcodiert werden, sieht die files-Struktur folgendermaßen aus:
<files>
<file type="source">abc.xyz</file>
<file type="transcoded">abc.mp4</file>
<file type="thumbnail">abc.xyz</file>
</files>
Sobald ein file Element mit Attribut type="transcoded" gesetzt ist, führt dies dazu, dass für das Medium nach dem Import der Status gesetzt wird, der unter Backend -> Konfiguration -> Medien-Import Einstellungen > Default Status konfiguriert wurde. Der Status kann "freigegeben" (Medium sofort im Frontend sichtbar) oder "überprüfen" (Medium muss von einem Administrator im Backend freigegeben werden) lauten.
<file type="source">abc.wmv</file>
Quellmedium. Aus der Source-Datei können durch die Transcodierung alle anderen Formate erstellt werden.
<file type="transcoded">abc.mp4</file>
Transcodiertes Format. .mp4-Videos werden im Browser (HTML5-Player) abgespielt.
<file type="thumbnail">abc.jpg</file>
Thumbnail. Wird für das Vorschaubild und das Posterbild im Player verwendet.
Zusätzliche Formate:
<html5>
<file type="m4v">abc.m4v</file>
<file type="ogv">abc.ogv</file>
<file type="webm">abc.webm</file>
<file type="mp3">abc.mp3</file>
<file type="oga">abc.oga</file>
<file type="wav">abc.wav</file>
</html5>
Zusätzliche Formate werden im html5 Knoten definiert. Für Videos sollte hier type="m4v" ausreichen, um Videos auf allen modernen Mobilgeräten abspielen zu können.
Bei installierter und aktivierter Video-On-Demand Erweiterung lassen sich zusätzlich auch die Preview-/Vorschau-Videos importieren:
<previews>
<file type="transcoded">abc.mp4</file>
<file type="thumbnail">abc.jpg</file>
<html5>
<file type="m4v">abc.m4v</file>
<file type="ogv">abc.ogv</file>
<file type="webm">abc.webm</file>
<file type="mp3">abc.mp3</file>
<file type="oga">abc.oga</file>
<file type="wav">abc.wav</file>
</html5>
</previews>
Wie Sie sehen, haben Sie mit dem Medien-Import (wenn gewünscht) die volle Kontrolle über alle benötigten Formate. Alternativ können Sie immer auch nur die Source-Medien importieren und das Transcoding erstellt alle weiteren benötigten Formate automatisch.