Von Mux zu Transloadit migrieren
Mux konzentriert sich auf Video-Ingest, Encoding, Wiedergabe und Analytics. Transloadit ist eine umfassendere Plattform für Medienverarbeitung: Sie können Dateien hochladen oder importieren, mehrere Varianten erzeugen, HLS- oder MPEG-DASH-Ausgaben erstellen, Thumbnails produzieren, Untertitel hinzufügen, Audio transkribieren und die Ergebnisse in Ihrem eigenen Speicher ablegen.
Dieser Leitfaden behandelt Ingest, Encoding, Thumbnails und Speicherung. Player-Integration, Analytics, Zugriffskontrolle und die Übernahme von Plattform-Metadaten erfordern eine eigene Planung; eine Assembly ist kein direkter Ersatz für ein Mux-Asset und eine Playback-ID.
Migrationsübersicht
| Mux-Konzept | Transloadit-Entsprechung |
|---|---|
| Direkter Upload | 🤖/upload/handle über ein SDK oder Uppy |
| Asset-Erstellung | Eine Transloadit Assembly |
| Encoding-Profil | 🤖/video/encode-Voreinstellung |
| Adaptive Wiedergabe | 🤖/video/adaptive oder 🤖/video/ondemand (Beta) |
| Posterbild | 🤖/video/thumbs |
| Captions/Untertitel | 🤖/speech/transcribe kann SRT oder WebVTT erzeugen; 🤖/video/subtitle kann diese Untertitel zum Video hinzufügen |
| Webhook bei fertigem Asset | Assembly Notification |
| Wiedergabe-URL | Exportiertes HLS-Manifest, das über Ihren Speicher bzw. Ihr CDN ausgeliefert wird, oder eine URL des Smart CDN |
Encoding im Voraus oder On-Demand-Encoding wählen
Bei vorhersehbaren Katalogen codieren Sie die Varianten im Voraus mit /video/encode
und /video/adaptive. Bei großen Katalogen, in denen nur ein Bruchteil der Videos
angesehen wird, prüfen Sie /video/ondemand zusammen mit Smart CDN, damit HLS-Assets
erst dann erzeugt werden, wenn Zuschauer sie anfordern. Dieser Beta-Robot benötigt ein separates,
kompatibles Smart CDN Template, dessen Antwortzweig mit dem Step /file/serve endet.
Signieren Sie die URLs in Ihrem Backend, um Ihr Encoding-Budget vor Missbrauch zu schützen. Das
Template für Upload und Export weiter unten ist für Encoding im Voraus gedacht, nicht für Smart CDN.
Beispiel-Template für adaptives Video
Dieses Template nimmt ein Video entgegen, codiert drei Varianten, segmentiert sie, schreibt Varianten-Playlists und eine Multivariant-Playlist, erstellt ein Thumbnail und speichert das Paket auf S3. Verwenden Sie für dieses Beispiel ein Quellvideo pro Assembly und wählen Sie Varianten, die zu dessen Auflösung passen; die drei Voreinstellungen fügen einer Quelle mit niedriger Auflösung keine fehlenden Details hinzu:
{
"steps": {
":original": {
"robot": "/upload/handle"
},
"encoded_480p": {
"use": ":original",
"robot": "/video/encode",
"preset": "hls/480p",
"ffmpeg_stack": "v7"
},
"encoded_720p": {
"use": ":original",
"robot": "/video/encode",
"preset": "hls/720p",
"ffmpeg_stack": "v7"
},
"encoded_1080p": {
"use": ":original",
"robot": "/video/encode",
"preset": "hls/1080p",
"ffmpeg_stack": "v7"
},
"hls": {
"use": {
"steps": ["encoded_480p", "encoded_720p", "encoded_1080p"],
"bundle_steps": true
},
"robot": "/video/adaptive",
"technique": "hls",
"playlist_name": "playlist.m3u8",
"result": true
},
"poster": {
"use": ":original",
"robot": "/video/thumbs",
"count": 1,
"result": true
},
"exported_hls": {
"use": "hls",
"robot": "/s3/store",
"credentials": "YOUR_AWS_CREDENTIALS",
"path": "videos/${assembly.id}/${file.meta.relative_path}/${file.name}",
"url_prefix": "https://cdn.example.com/",
"acl": "bucket-default"
},
"exported_poster": {
"use": "poster",
"robot": "/s3/store",
"credentials": "YOUR_AWS_CREDENTIALS",
"path": "videos/${assembly.id}/posters/${file.url_name}",
"url_prefix": "https://cdn.example.com/",
"acl": "bucket-default"
}
}
}
/video/adaptive setzt relative_path für seine Ausgaben. Behalten Sie
dies im Exportpfad bei, damit die Verweise in der Playlist aufgelöst werden. Konfigurieren Sie
Zugangsdaten von Drittanbietern und ein CDN, das den Bucket-Root
lesen kann; url_prefix konfiguriert weder die Auslieferung noch gewährt es
Zugriff. acl: "bucket-default" sendet keine Objekt-ACL;
konfigurieren Sie den Zugriff über Ihre Bucket-Policy und den Origin-Zugriff des CDN.
Setzen Sie notify_url in Ihrer signierten Assembly-Anfrage, verifizieren Sie die
Notification-Signaturen und verlangen Sie ASSEMBLY_COMPLETED. Der Export aktualisiert die
URLs unter den erzeugenden Steps: results.hls listet die Segmente und Playlists
auf; wählen Sie den Eintrag mit dem Namen playlist.m3u8 und einem leeren
meta.relative_path. Lesen Sie das Thumbnail aus results.poster und prüfen
Sie dabei is_temp_url: false, bevor Sie die Ergebnis-URLs dauerhaft speichern. Temporäre
Transloadit-URLs laufen nach 24 Stunden ab und dürfen nicht für die Wiedergabe verwendet werden;
siehe Konvertierungsergebnisse speichern. Testen Sie das exportierte
Manifest, die Varianten-Playlists und die Segmente über Ihr CDN im vorgesehenen HLS-Player, bevor Sie
den Traffic umstellen.
Vorhandene Mux-Quelldateien importieren
Wenn Sie noch Quellvideodateien in S3 haben, verwenden Sie
🤖/s3/import. Wenn Ihre Anwendung temporäre HTTPS-Quell-URLs
speichert, verwenden Sie 🤖/http/import. Speichern Sie eine
Backfill-Variante des Templates: Ersetzen Sie den Upload-Step :original durch
einen Import-Step mit dem Namen imported und ändern Sie alle vier Verweise auf
use: ":original" (drei Encodings und das Poster) in use: "imported".
Konfigurieren Sie diesen Import-Step mit einer autorisierten Quell-URL oder einem S3-Key pro
Assembly. Konfigurieren Sie für /s3/import die eigenen Quellangaben
credentials und path; für
/http/import konfigurieren Sie url. Nach einem
erfolgreichen Export und einer erfolgreichen Wiedergabeprüfung schreiben Sie die neue Wiedergabe-URL
in Ihre Datenbank und behalten dabei die Asset-ID der Quelle zum Abgleich bei.
Checkliste
- Entscheiden Sie, ob Videos im Voraus codiert werden sollen oder per On-Demand-Encoding.
- Erstellen Sie ein Template für die benötigten Varianten, Thumbnails, Untertitel und Exporte.
- Konfigurieren Sie die Zugangsdaten für den Speicher, den CDN-Zugriff und CORS für die HLS-Wiedergabe.
- Speichern Sie die exportierten Speicher-URLs aus Assembly Notifications.
- Führen Sie einen Backfill für vorhandene Quellvideos durch.
- Stellen Sie Ihren Player von Mux-Playback-IDs auf das exportierte Manifest oder die URL des Smart CDN um.