Übernehmen Sie Ihre Vimeo-Bibliothek in Ihre eigene Pipeline
Vimeo eignet sich gut, um Videos zu hosten und zu teilen. Doch früher oder später möchten viele Teams ihre Videos selbst verwalten: im eigenen Player, im eigenen CDN, in einem Archiv oder in einer Pipeline, die Untertitel oder Thumbnails hinzufügt. Um die Dateien zu exportieren, müssen sie einen Vimeo-API-Client schreiben, die Bibliothek seitenweise abrufen, auf noch laufende Videoverarbeitungen warten und für jedes Video die passende Qualitätsstufe auswählen.
🤖 /vimeo/import übernimmt den Import, wartet für eine begrenzte Zeit auf den Abschluss der Verarbeitung
und wählt die angeforderte Qualitätsstufe aus, bevor die Videos die weiteren Steps Ihrer Assembly
durchlaufen. Dieses Beispiel importiert eine Seite mit bis zu 20 Videos;
der Standardwert für page_number ist 1.
Schritt 1: Transloadit Lesezugriff auf Ihre Videos geben
Vimeo erlaubt einer App den Download Ihrer Videodateien nur mit einem Token, das die Berechtigung Video Files hat. Apps anderer Anbieter erhalten diese Berechtigung nur über das Partnerprogramm. Deshalb erstellen Sie das Token selbst in Ihrer eigenen Vimeo-App:
- Erstellen Sie unter developer.vimeo.com/apps eine App (oder öffnen Sie eine vorhandene) und generieren Sie ein persönliches Zugriffstoken mit Public, Private und Video Files.
- Öffnen Sie in der Transloadit Console Zugangsdaten, fügen Sie einen Zugangsdaten-Eintrag
für Vimeo hinzu, wählen Sie Persönliches Zugriffstoken einfügen und geben Sie dem
Eintrag beispielsweise den Namen
vimeo.

Beim Speichern prüft Transloadit das Token bei Vimeo und meldet fehlende Berechtigungen. Das Token wird danach nie wieder angezeigt. Downloads hängen weiterhin von Ihrem Vimeo-Tarif und den Berechtigungen des Videos ab. Einzelheiten finden Sie in der Dokumentation zu Template-Zugangsdaten.

Schritt 2: ein Befehl
Authentifizieren Sie zunächst die Transloadit CLI. Die
Browser-Anmeldung des SDK verwendet
npx -y @transloadit/node auth login, um einen dedizierten CLI-Schlüssel zu erhalten. Diese
Authentifizierung erfolgt unabhängig von den oben angelegten Template-Zugangsdaten für Vimeo.
Speichern Sie diese Assembly Instructions als vimeo.json:
{
"steps": {
"imported": {
"robot": "/vimeo/import",
"credentials": "vimeo",
"path": "me/videos",
"rendition": "720p",
"files_per_page": 20
},
"encoded_480p": {
"use": "imported",
"robot": "/video/encode",
"preset": "hls/480p",
"ffmpeg_stack": "v7"
},
"encoded_720p": {
"use": "imported",
"robot": "/video/encode",
"preset": "hls/720p",
"ffmpeg_stack": "v7"
},
"hls": {
"use": {
"steps": ["encoded_480p", "encoded_720p"],
"bundle_steps": true,
"group_by_original": true
},
"robot": "/video/adaptive",
"technique": "hls",
"playlist_name": "playlist.m3u8"
},
"stored": {
"use": "hls",
"robot": "/transloadit/store",
"path": "vimeo/${file.original_basename}/${file.meta.relative_path}/${file.name}",
"conflict_strategy": "overwrite",
"result": true
}
}
}
Führen Sie dann den Befehl aus:
npx -y @transloadit/node assemblies create --steps vimeo.json -o out/
Jedes Video auf der ausgewählten Seite wird mit 720p importiert, mit 480p und 720p codiert und zu einem
eigenen adaptiven HLS-Stream gebündelt. group_by_original hält die Qualitätsstufen jedes Videos zusammen.
So erhalten Sie pro Video eine Datei playlist.m3u8, benannt nach seiner Vimeo-ID:
$ find out/hls -name '*.m3u8'
out/hls/1243010274/playlist.m3u8
out/hls/1243010274/852x480_785191_25/852x480_785191_25.m3u8
out/hls/1243010274/1280x720_1367783_25/1280x720_1367783_25.m3u8
out/hls/1243010465/playlist.m3u8
out/hls/1243010465/852x480_769775_25/852x480_769775_25.m3u8
out/hls/1243010465/1280x720_1366589_25/1280x720_1366589_25.m3u8
Dieselbe Verzeichnisstruktur wird privat in Ihrem Transloadit Storage
unter vimeo/ gespeichert. Für die öffentliche Wiedergabe ist eine separate
Auslieferungskonfiguration nötig. Einen Überblick bietet unsere
Hosting-FAQ. Das Beispiel verwendet bewusst
overwrite: Eine erneute Ausführung verarbeitet die aktuelle Seitenauswahl erneut
und erstellt an jedem bereits vorhandenen Ziel eine neue Version, die aufbewahrt wird.
Sie bevorzugen Ihren eigenen Bucket? Ersetzen Sie den letzten Step durch
🤖 /s3/store oder einen anderen
Robot zum Speichern mit demselben Wert für path.
An Ihre Bibliothek anpassen
- Alben, Kanäle und mehr:
pathakzeptiert Vimeo-API-Pfade, die Videos auflisten, etwame/albums/:album_id/videos,me/channels/:channel_id/videosoderme/likes. - Große Bibliotheken: Vimeo liefert bis zu 100 Videos pro Seite zurück. Setzen Sie
files_per_pageund führen Sie den Befehl einmal propage_numberaus. Die Anleitung zur Migration von Vimeo zu Vimeo erläutert Fallstricke der Paginierung und die Nachverfolgung der Quellidentität. - Qualität:
renditionakzeptiert240pbis1080podersourcefür den ursprünglichen Upload. Originale sind nur verfügbar, wenn Vimeo sie aufbewahrt hat. Nicht jedes Video bietet jede Qualitätsstufe. Fehlt eine, meldet die Assembly dies, statt stillschweigend fehlzuschlagen. - Noch in Verarbeitung: Die Wartezeit ist begrenzt. Wird ein Video nach Ablauf der Frist noch verarbeitet, schlägt der Import fehl und fordert Sie auf, es später erneut zu versuchen. Schlägt die Transkodierung bei Vimeo fehl, schlägt der Import sofort fehl.
Loslegen
Erstellen Sie das Token, fügen Sie den Zugangsdaten-Eintrag hinzu, authentifizieren Sie die CLI und führen Sie den obigen Befehl mit Ihrem eigenen Konto aus. Die Dokumentation zu 🤖 /vimeo/import listet alle Parameter auf.

