Wichtigste Erkenntnisse
- Beginnen Sie mit einer Voreinstellung, wenn sie bereits zum Wiedergabeziel passt, und überschreiben Sie nur die Einstellungen, die das Produkt bewusst gewählt hat.
- Behandeln Sie Container, Videocodec, Audiocodec, Profil, Ratensteuerung, Pixelformat und Filter als getrennte Kompatibilitätsentscheidungen.
- Wählen Sie den
ffmpeg_stackbewusst aus und testen Sie Fixtures erneut, bevor Sie ihn ändern, da sich das Verhalten von Encodern und Filtern zwischen Releases unterscheiden kann.
Codec-Kontrolle ist selten eine Alles-oder-nichts-Entscheidung zwischen einer festen Voreinstellung und einem rohen FFmpeg-Befehl. Transloadit ermöglicht es einem Template, von gepflegten Video- oder Audio-Voreinstellungen auszugehen, einzelne unterstützte FFmpeg-Optionen zu ersetzen oder die leere Voreinstellung zu verwenden, wenn der Workflow die Ausgabeeinstellungen selbst definieren muss.
Worauf es besonders ankommt
- Verwenden Sie
preset: "empty"mit dem explizitenffmpeg_stack: "v7"-Selektor, den die Robot-Dokumentation für Encoding-Einstellungen ohne Voreinstellungs-Standardwerte empfiehlt. - Erstellen Sie alternative Codecs als unabhängige Steps und validieren Sie anschließend die erzeugten Metadaten und die Wiedergabe, statt einen erfolgreichen Encode als Abnahme zu behandeln.
Mit dem Kompatibilitätsziel beginnen, nicht mit einem Lieblingscodec
Halten Sie fest, wo das Ergebnis abgespielt oder bearbeitet werden muss, bevor Sie Parameter wählen. Eine Datei für die Auslieferung im Browser, ein Archivmaster, ein Podcast-Download und eine Austauschdatei haben unterschiedliche Anforderungen, selbst wenn sie von derselben Quelle ausgehen. Notieren Sie für jedes Ziel den erforderlichen Container, Video- und Audiocodec, das Profil, das Kanal-Layout, die Abmessungen, die Bildrate, die Abtastrate, Untertitel und die maximale Auslieferungsgröße.
Halten Sie Container und Codecs in dieser Matrix getrennt. MP4, WebM, Ogg und MOV beschreiben, wie Streams und Metadaten verpackt werden; H.264, HEVC, VP9, AAC, Opus und FLAC beschreiben, wie einzelne Streams repräsentiert werden. Ein Player kann einen Container erkennen und trotzdem einen seiner Streams ablehnen, weshalb ein Test allein anhand der Dateierweiterung keine Kompatibilität belegen kann.
Wiedergabeziel
Benennen Sie die konkreten Browser, Geräte, Editoren oder Distributionsspezifikationen, die darüber entscheiden, ob eine Ausgabe akzeptabel ist.
Stream-Richtlinie
Legen Sie Video- und Audioanforderungen unabhängig voneinander fest, damit ein gültiger Container keinen nicht unterstützten Stream verdeckt.
Abnahmenachweis
Kombinieren Sie die Metadatenprüfung mit der Wiedergabe auf repräsentativen Clients, statt eine Datei allein anhand ihrer Dateierweiterung zu akzeptieren.
Unterstützte Overrides auf eine gepflegte Voreinstellung schichten
Eine Voreinstellung ist eine versionierte Sammlung von Encoding-Einstellungen für ein gängiges Ziel. /video/encode und /audio/encode führen die Einträge im ffmpeg-Objekt mit der ausgewählten Voreinstellung zusammen, sodass eine explizit angegebene Option den entsprechenden Voreinstellungswert ersetzt. Das ist meist die kleinste wartbare Richtlinie: Sie übernehmen die etablierte Grundlage und hinterlegen nur das Codec-, Profil-, Ratensteuerungs-, Filter- oder Containerverhalten, das bewusst geändert wurde.
Kopieren Sie nicht jede aufgelöste Voreinstellungsoption in ein Template, nur damit es explizit aussieht. Das erzeugt eine private Voreinstellung, die die Anwendung verstehen und pflegen muss. Benennen Sie stattdessen die Voreinstellung, halten Sie das Override-Objekt fokussiert und prüfen Sie das Ergebnis. Wenn der Workflow von der Voreinstellung vorgegebene FFmpeg-Standardwerte vermeiden muss, wählen Sie preset: "empty", halten Sie den in der Dokumentation empfohlenen Selektor ffmpeg_stack: "v7" explizit und geben Sie das erforderliche Format sowie die Codecs an.
Voreinstellungsbasis
Bietet einen dokumentierten Ausgangspunkt für eine gängige Ausgabe, ohne dass das Template jede FFmpeg-Option wiederholen muss.
Override-Objekt
Erfasst nur die unterstützten Einstellungen, die bewusst abweichen, und diese Werte haben Vorrang vor der Voreinstellung.
Leere Voreinstellung
Macht das bewusste Fehlen von der Voreinstellung vorgegebener Encoding-Standardwerte für künftige Maintainer sichtbar, statt sich auf einen weggelassenen Standardwert zu verlassen.
Videocodec- und Ratensteuerungs-Einstellungen gezielt steuern
Das Videobeispiel beginnt mit der Voreinstellung web/mp4/1080p, wählt die empfohlene v7-Stack-Serie aus und überschreibt dann die H.264-level-Beschränkung sowie die produktspezifischen Ratensteuerungs-Einstellungen in ffmpeg. JSON-Schlüssel lassen den Bindestrich der Kommandozeile weg: level, crf, maxrate und bufsize werden zu FFmpeg-Ausgabeoptionen. Die Voreinstellung liefert weiterhin ihren H.264-Videocodec (libx264), das high-Profil, das Pixelformat yuv420p, den AAC-Audioencoder (libfdk_aac), den MP4-Container und movflags: "+faststart"; diese geerbten Werte müssen nicht erneut angegeben werden.
Die Werte sind eine Beispielrichtlinie, keine universellen Qualitätsempfehlungen. CRF, eine Bitraten-Obergrenze, das Encoder-Profil, das Pixelformat, die Quellkomplexität und Wiedergabebeschränkungen wirken zusammen. Testen Sie Text, Animation, Filmkorn, Bewegung, dunkle Szenen und gewöhnliches Sprecher-Material in der vorgesehenen Auflösung. Prüfen Sie die Ausgabe sowohl auf visuelle Qualität als auch auf Decoder-Kompatibilität, bevor Sie die Einstellungen produktiv einsetzen.
{
"steps": {
":original": {
"robot": "/upload/handle"
},
"web_video": {
"use": ":original",
"robot": "/video/encode",
"ffmpeg_stack": "v7",
"preset": "web/mp4/1080p",
"ffmpeg": {
"level": "4.1",
"crf": 21,
"maxrate": "5M",
"bufsize": "10M"
},
"result": true
}
}
}Ratensteuerung und Konformität
CRF zielt auf ein Qualitätsniveau ab, während maxrate und bufsize die Bitrate begrenzen und Ausschläge glätten; sinnvolle Werte hängen vom Encoder und vom Auslieferungsziel ab. level ist davon unabhängig: Es legt eine H.264-Decoder-Konformitätsobergrenze fest, die Framegröße, Makroblockrate und eine maximale Bitrate begrenzt, ist aber nicht die über CRF, maxrate und bufsize festgelegte Ziel- oder Obergrenzen-Bitrate.
Kompatibilitätsbasis der Voreinstellung
Die gewählte Voreinstellung liefert das Profil und das Pixelformat, was für ältere Hardware und Browser-Decoder ebenso wichtig sein kann wie der Codec-Name.
Geerbter Fast Start
Die Voreinstellung liefert die MP4-movflags-Option für progressiven Download, ersetzt aber kein adaptives Streaming und kein CDN.
Eine explizite Audioausgabe mit der leeren Voreinstellung erstellen
Das Audio-Beispiel verwendet preset: "empty" mit dem in der Dokumentation empfohlenen ffmpeg_stack: "v7"-Selektor, sodass das Template seine Encoding-Einstellungen selbst liefert, statt sie von einer Voreinstellung zu übernehmen. Geben Sie diesen Selektor explizit an, statt sich auf den impliziten v6-Laufzeit-Fallback zu verlassen. Das Beispiel wählt den Ogg-Container, den Opus-Encoder, eine Ziel-Bitrate, eine Abtastrate von 48 kHz, zwei Ausgabekanäle und einen einfachen Hochpassfilter. /audio/encode akzeptiert Audiodateien und Videodateien, die einen Audio-Stream enthalten, wodurch sich derselbe Step sowohl für reine Audio-Uploads als auch für die Extraktion von Soundtracks eignet.
Die leere Voreinstellung entfernt die von der Voreinstellung bereitgestellten Encoding-Standardwerte, nicht aber alle vom Robot hinzugefügten Argumente. /audio/encode fügt weiterhin ein Standard-Stream-Mapping hinzu, damit das eingebettete Coverbild nicht als Audio codiert wird, und leitet Format oder Bitrate aus der Eingabe ab, wenn einer der beiden Werte fehlt. Dieses Beispiel gibt beide Werte im ffmpeg-Objekt mit f und b:a explizit an.
Dieses Audio-Beispiel verwendet das ffmpeg-Objekt, weil es explizite Encoding-Einstellungen mit leerer Voreinstellung demonstriert. Für einfache Konvertierungen, die nur Bitrate oder Abtastrate ändern, sollten Sie stattdessen die dokumentierten Robot-Parameter bitrate und sample_rate auf oberster Ebene verwenden. Diese erwarten Ganzzahlen in Bit pro Sekunde und Hertz – zum Beispiel 256000 und 48000 –, während ffmpeg.b:a Zeichenketten wie "128k" akzeptiert. Der Audio Encode Robot wendet die Werte auf oberster Ebene nach dem ffmpeg-Merge an, sodass sie widersprüchliche b:a- oder ar-Werte überschreiben. Vermeiden Sie es, denselben Sachverhalt an beiden Stellen anzugeben: Ein maßgeblicher Wert lässt sich leichter prüfen, testen und ändern.
{
"steps": {
":original": {
"robot": "/upload/handle"
},
"podcast_audio": {
"use": ":original",
"robot": "/audio/encode",
"ffmpeg_stack": "v7",
"preset": "empty",
"ffmpeg": {
"f": "ogg",
"codec:a": "libopus",
"b:a": "128k",
"ar": 48000,
"ac": 2,
"af": "highpass=f=80"
},
"result": true
}
}
}Expliziter Container
Die Option f wählt das Ausgabecontainerformat über den zugehörigen Muxer aus, unabhängig von codec:a, sodass Container und Audio-Codec getrennt gewählt werden.
Kanalrichtlinie
Die Option ac macht die angeforderte Anzahl an Ausgabekanälen sichtbar, statt ein unerwartetes Quell-Layout zu übernehmen.
Audiofilter
Eine af-Kette kann unterstützte FFmpeg-Filter anwenden, aber jeder Filter erfordert weiterhin repräsentative Hörproben und Pegelprüfungen.
FFmpeg-Flexibilität innerhalb der verwalteten Sicherheitsgrenze nutzen
Der Wert ffmpeg ist ein strukturiertes Optionsobjekt, kein Shell-Befehl. Transloadit wandelt dessen Schlüssel und Werte in Argumente für den ausgewählten, verwalteten FFmpeg-Stack um. Diese Abgrenzung ermöglicht erhebliche Kontrolle, ohne den Worker-Host offenzulegen. Sie bedeutet auch, dass ein Template weder einen anderen FFmpeg-Build installieren noch eine nicht verfügbare Encoder-Bibliothek hinzufügen noch davon ausgehen kann, dass jede Option aus der neuesten Upstream-Dokumentation in jedem Stack vorhanden ist.
Vom Nutzer kontrollierte Optionen durchlaufen Sicherheitsprüfungen. Filterskripte und Filterdirektiven, die lokale Dateien lesen, werden abgelehnt, einschließlich dateibasierter Untertitel-, Schrift- und Texteingaben. Verwenden Sie, wo verfügbar, dedizierte Robot-Parameter und -Robots, etwa watermark_url, /video/subtitle oder inline drawtext-Text mit einer verfügbaren Schriftfamilie. Betrachten Sie eine Ablehnung als Grenze, um die herum neu zu gestalten ist, nicht als Grund, einen weiteren Befehl in einer Filterzeichenkette zu verstecken.
Keine Shell-Syntax
Übergeben Sie Optionsnamen und -werte als JSON, damit Quoting, Interpolation und Validierung innerhalb der Assembly Instructions bleiben.
Stack-Fähigkeiten
Ein Encoder, Muxer oder Filter muss im ausgewählten, verwalteten Stack einkompiliert sein, bevor eine ansonsten gültige Option funktionieren kann.
Sichere Dateihandhabung
Verwenden Sie deklarierte Eingaben und speziell dafür vorgesehene Robot-Parameter, statt einen FFmpeg-Filter worker-lokale Pfade öffnen zu lassen.
Codec-Varianten als unabhängige Assembly Steps erstellen
Ein einzelner Quell-Step kann mehrere unabhängige Encoding-Steps versorgen. Das Beispiel erstellt die Video-Varianten H.264/MP4 und VP9/WebM sowie die Audio-Ausgaben AAC und Opus. Diese Zweige benötigen keine anwendungsseitigen Schleifen oder wiederholten Uploads: Ihr gemeinsamer use-Wert deklariert die Abhängigkeit, und jedes Encoding kann starten, sobald die Quelldatei verfügbar ist.
Geben Sie jedem Step einen Namen, der den Ausgabevertrag beschreibt statt ein Implementierungsdetail, das sich wahrscheinlich ändert. Eine Anwendung interessiert sich unter Umständen mehr für browser_fallback und modern_web als für die heutigen Encoder-Namen. Markieren Sie nur beabsichtigte Ausgaben als Ergebnisse, exportieren Sie jede dauerhafte Variante, und bewahren Sie die Assembly-ID auf, damit ein Bediener eine abgelehnte Datei genau dem Step und den Einstellungen zuordnen kann, die sie erzeugt haben.
{
"steps": {
":original": {
"robot": "/upload/handle"
},
"browser_fallback": {
"use": ":original",
"robot": "/video/encode",
"ffmpeg_stack": "v7",
"preset": "web/mp4/720p",
"result": true
},
"modern_web": {
"use": ":original",
"robot": "/video/encode",
"ffmpeg_stack": "v7",
"preset": "web/webm/720p",
"result": true
},
"download_aac": {
"use": ":original",
"robot": "/audio/encode",
"ffmpeg_stack": "v7",
"preset": "aac",
"result": true
},
"download_opus": {
"use": ":original",
"robot": "/audio/encode",
"ffmpeg_stack": "v7",
"preset": "opus",
"result": true
}
}
}Gemeinsame Quelle
Parallele Steps lesen dieselbe hochgeladene oder importierte Datei, ohne dass die Anwendung sie erneut übertragen muss.
Unabhängige Ergebnisse
Jeder Codec-Zweig verfügt über eigene Status-, Metadaten-, Fehler- und Ergebniseinträge für eine präzise Verarbeitung durch die Anwendung.
Zweckbasierte Namen
Stabile Namen für Ausgabeverträge ermöglichen es, die zugrunde liegende Codec-Richtlinie weiterzuentwickeln, ohne dass jedes nachgelagerte System sein Feld umbenennen muss.
Das Template versionieren und die erzeugten Medien testen
Bewahren Sie die Voreinstellung, die FFmpeg-Overrides und ffmpeg_stack in einem gespeicherten Template auf, damit Aufträge in der Produktion einer einzigen, überprüfbaren Richtlinie folgen. Die Dokumentation des in der Produktion eingesetzten Robots empfiehlt den Major-Selektor v7, während eine Anfrage, die ohne Selektor die API-Laufzeit erreicht, auf den impliziten v6-Fallback zurückgreift; deshalb speichern die Beispiele v7 explizit. Ein Major-Selektor wird zum höchsten verfügbaren Build innerhalb dieser Hauptversion aufgelöst – v7 wird beispielsweise zu einem v7-Build aufgelöst, nicht zu v8. Der veraltete Selektor v5 ist kein gültiger Stack mehr und wird inzwischen zu v6 aufgelöst. Testen Sie Änderungen an Stack, Voreinstellung oder Overrides neben der aktuellen Richtlinie, bevor Sie alle neuen Aufträge darauf umstellen.
Eine erfolgreiche Assembly belegt, dass der Befehl abgeschlossen wurde, nicht, dass die Ausgabe dem Produktvertrag entspricht. Lesen Sie die Ergebnismetadaten für Codecs, Abmessungen, Dauer, Bildrate, Kanalanzahl und Abtastrate, und spielen Sie die Dateien anschließend auf repräsentativen Clients ab. Bewahren Sie bekannt gute und schwierige Fixtures auf, vergleichen Sie Dateigröße und Verarbeitungskosten, prüfen Sie Audio-/Video-Synchronisation und Spulen, und behalten Sie einen Fallback bei, während eine geänderte Richtlinie ausgerollt wird.
Kontrolliertes Template
Hält die Codec-Richtlinie zusammen und verhindert, dass einzelne Aufrufer in undokumentierte Kombinationen abdriften.
Fixture-Matrix
Deckt die Quell-Codecs, Auflösungen, Bildraten, Kanäle, Metadaten und beschädigten Eingaben ab, die in der Produktion tatsächlich vorkommen.
Wiedergabeprüfungen
Weisen Sie Decodierung, Spulen, Timing und Qualität auf Zielgeräten nach, statt sich auf den Exit-Status des Encoders zu verlassen.
Wissenswerte technische Details
- Der Parameter
ffmpegist ein Objekt, dessen Einträge über die gewählte Voreinstellung gelegt werden; in diesem Objekt angegebene Werte haben Vorrang vor den entsprechenden Optionen der Voreinstellung. - Wenn ein Aufrufer ein
ffmpeg-Objekt angibt, ohne eine Voreinstellung zu nennen, wird die Standard-Voreinstellung für Video oder Audio nicht angewendet, wodurch vermieden wird, dass Einstellungen übernommen werden, die anschließend überschrieben werden müssten. - Die explizite Voreinstellung
emptyentfernt die von der Voreinstellung bereitgestellten Encoding-Standardwerte, doch der Robot kann weiterhin eine Stream-Auswahl oder aus der Eingabe abgeleitete Fallbacks hinzufügen, wenn erforderliche Werte fehlen. - Der Major-Selektor von
ffmpeg_stackwird innerhalb der angeforderten Hauptversion aufgelöst:v7wählt den höchsten verfügbarenv7-Build aus und wechselt nie zuv8. Unterstützte Hauptversionen sindv6,v7undv8. - Die Robot-Dokumentation für die Produktion empfiehlt derzeit
v7, weshalb jedes Beispielffmpeg_stack: "v7"explizit setzt; erreicht eine Anfrage die API-Laufzeitumgebung ohne Selektor, greift stattdessenv6. - Der veraltete Selektor
v5wird aus Gründen der Abwärtskompatibilität akzeptiert, ist aber kein Laufzeit-Stack mehr, sodass eine Anfrage, die ihn nennt, transparent aufv6hochgestuft wird;v6,v7undv8laufen jeweils innerhalb ihrer angeforderten Hauptversion. - Eine Container-Option wie
f: "mp4"oderf: "ogg"legt nicht jeden Stream-Codec fest; Video- und Audio-Codecs werden unabhängig voneinander gesteuert. Die Stream-Codec-Optionen akzeptieren entweder die Langform (codec:v,codec:a) oder die entsprechenden kurzen FFmpeg-Aliase (c:v,c:a); gepflegte Voreinstellungen verwenden die Kurzformen, und der Robot behandelt beide Schreibweisen als austauschbar. - Der Audio Encode Robot stellt außerdem die Integer-Parameter
bitrateundsample_rateauf oberster Ebene bereit, gemessen in Bit pro Sekunde und Hertz. Dasffmpeg-Objekt deckt Codec-, Format-, Kanal-, Filter- und weitere unterstützte Optionen ab und akzeptiert Werte wie"128k"fürb:a. - FFmpeg-Optionsnamen sind JSON-Schlüssel ohne führenden Bindestrich, sodass die Kommandozeilenoption
-movflags +faststartinnerhalb des Objekts als"movflags": "+faststart"dargestellt wird. - Transloadit prüft nutzergesteuerte FFmpeg-Optionen gegen eine verwaltete Sicherheitsrichtlinie; der ausgewählte Stack muss außerdem den angeforderten Encoder, Muxer und Filter enthalten.
- Unabhängige Steps, die dieselbe hochgeladene oder importierte Datei verwenden, können ohne einen weiteren Upload unterschiedliche Codec-Varianten codieren, und jeder Step erscheint separat im Assembly Status und in den Ergebnissen.
Ein praxisnaher Ansatz
- 1
Legen Sie fest, welche Player, Geräte, Editoren oder Distributionssysteme jede Ausgabe unterstützen muss.
- 2
Wählen Sie die am besten passende Voreinstellung und dokumentieren Sie nur die unterstützten FFmpeg-Overrides, die für dieses Ziel benötigt werden.
- 3
Führen Sie eine Fixture-Matrix aus, die reale Eingabe-Codecs, Kanäle, Bildraten, Abmessungen und beschädigte Dateien abdeckt.
- 4
Speichern Sie das Template, die Stack-Wahl, die Abnahmeprüfungen und die freigegebenen Ausgaben als eine kontrollierte Freigabe.
Wann Transloadit hilfreich ist
Verwenden Sie /video/encode und /audio/encode, wenn ein Workflow eine dokumentierte Voreinstellung, ausgewählte Codec- und Container-Kontrollen, Filter oder mehrere Varianten aus einer Quelle benötigt. Führen Sie Autorisierungs- und Ausgabefreigabelogik in Ihrer Anwendung aus, nicht innerhalb des Encode-Steps, und exportieren Sie freigegebene Ergebnisse in einen dauerhaften Speicherort.
Architekturgrenze
Der Parameter ffmpeg gibt unterstützte FFmpeg-Optionen innerhalb verwalteter Encoding-Robots frei; er ist kein Shell-Zugriff, keine Möglichkeit, einen anderen Encoder-Build zu installieren, und keine Garantie, dass jede Option jeder Upstream-FFmpeg-Version verfügbar ist. Optionen außerhalb der verwalteten Sicherheitsgrenze werden abgelehnt.
Häufig gestellte Fragen
Kann ich beliebige FFmpeg-Optionen über das Objekt ffmpeg übergeben?
Nein. Das Objekt akzeptiert unterstützte FFmpeg-Optionen, aber Transloadit validiert sie vor der Ausführung und blockiert Formen außerhalb der verwalteten Sicherheitsgrenze. Der ausgewählte Stack muss zudem den angeforderten Encoder, Muxer und Filter enthalten. Testen Sie den genauen Optionssatz an repräsentativen Eingaben, statt anzunehmen, dass ein Beispiel für einen anderen FFmpeg-Build unverändert übertragbar ist.
Wann sollte ich eine Voreinstellung anstelle von preset: "empty" verwenden?
Verwenden Sie eine benannte Voreinstellung, wenn sie den gewünschten Container, die Codec-Familie, die Abmessungen und die Kompatibilitätsbasis liefert. Fügen Sie ein kleines ffmpeg-Objekt hinzu, wenn sich nur wenige Optionen unterscheiden. Verwenden Sie preset: "empty", wenn das Verhalten einer Voreinstellung eine explizite Encoding-Richtlinie verschleiern oder ihr widersprechen würde, und behalten Sie den in der Dokumentation empfohlenen Selektor ffmpeg_stack: "v7" explizit bei.
Wie sollte ich einen ffmpeg_stack auswählen?
Verwenden Sie den aktuell empfohlenen Stack, sofern der Workflow keinen anderen unterstützten Hauptversions-Selektor erfordert, und halten Sie diese Wahl im gespeicherten Template fest. Die Dokumentation zum produktiven Robot empfiehlt v7, weshalb die Beispiele diesen Wert explizit wählen, statt sich auf den impliziten v6-Fallback der API-Laufzeit zu verlassen. Bevor Sie einen Produktions-Workflow auf einen anderen Stack umstellen, führen Sie dieselben Quell-Fixtures aus, vergleichen Sie Ausgabemetadaten und Wiedergabe und stellen Sie das geänderte Template als kontrollierte Freigabe bereit.
Legt die Wahl von MP4 oder Ogg auch die Codecs fest?
Nein. Ein Container verpackt Streams, während Codecs festlegen, wie diese Video- und Audio-Streams codiert werden. Eine MP4-Datei kann trotzdem einen Codec enthalten, den ein bestimmter Player nicht unterstützt. Geben Sie Videocodec, Audiocodec, Profil, Pixelformat und andere Wiedergabeanforderungen getrennt vom Container an und prüfen Sie sie einzeln.
Wie erstelle ich mehrere Codec-Varianten aus einer Eingabe?
Erstellen Sie parallele /video/encode- oder /audio/encode-Steps, die alle denselben Quell-Step verwenden. Geben Sie jedem Step einen stabilen, zweckbezogenen Namen, markieren Sie die ausgewählten Ausgaben als Ergebnisse oder exportieren Sie sie, und prüfen Sie jede unabhängige Variante gegen ihr eigenes Wiedergabeziel.