Videoverarbeitung und Videoerstellung

# Video- und Audio-Codecs mit Transloadit steuern

Video-/Audio-Voreinstellungen wählen, unterstützte FFmpeg-Optionen überschreiben, FFmpeg-Stack wählen und Codec-Ausgaben ohne eigene Encoding-Flotte testen.

Veröffentlicht am 31. August 2026

## 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_stack` bewusst 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.

## In diesem Leitfaden

1. [Mit dem Kompatibilitätsziel beginnen, nicht mit einem Lieblingscodec](#control-video-audio-codecs-section-1)
2. [Unterstützte Overrides auf eine gepflegte Voreinstellung schichten](#control-video-audio-codecs-section-2)
3. [Videocodec- und Ratensteuerungs-Einstellungen gezielt steuern](#control-video-audio-codecs-section-3)
4. [Eine explizite Audioausgabe mit der leeren Voreinstellung erstellen](#control-video-audio-codecs-section-4)
5. [FFmpeg-Flexibilität innerhalb der verwalteten Sicherheitsgrenze nutzen](#control-video-audio-codecs-section-5)
6. [Codec-Varianten als unabhängige Assembly Steps erstellen](#control-video-audio-codecs-section-6)
7. [Das Template versionieren und die erzeugten Medien testen](#control-video-audio-codecs-section-7)

## Worauf es besonders ankommt

* Verwenden Sie `preset: "empty"` mit dem expliziten `ffmpeg_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.

Von einer Web-Voreinstellung ausgehen und ausgewählte FFmpeg-Optionen überschreiben

```
{
  "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.

Ogg-Opus-Ausgabe ohne geerbte Voreinstellungsoptionen definieren

```
{
  "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.

Vier unabhängige Codec-Ausgaben aus einer Quelle erstellen

```
{
  "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 `ffmpeg` ist 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 `empty` entfernt 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_stack` wird innerhalb der angeforderten Hauptversion aufgelöst: `v7` wählt den höchsten verfügbaren `v7`-Build aus und wechselt nie zu `v8`. Unterstützte Hauptversionen sind `v6`, `v7` und `v8`.
* Die Robot-Dokumentation für die Produktion empfiehlt derzeit `v7`, weshalb jedes Beispiel `ffmpeg_stack: "v7"` explizit setzt; erreicht eine Anfrage die API-Laufzeitumgebung ohne Selektor, greift stattdessen `v6`.
* Der veraltete Selektor `v5` wird aus Gründen der Abwärtskompatibilität akzeptiert, ist aber kein Laufzeit-Stack mehr, sodass eine Anfrage, die ihn nennt, transparent auf `v6` hochgestuft wird; `v6`, `v7` und `v8` laufen jeweils innerhalb ihrer angeforderten Hauptversion.
* Eine Container-Option wie `f: "mp4"` oder `f: "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 `bitrate` und `sample_rate` auf oberster Ebene bereit, gemessen in Bit pro Sekunde und Hertz. Das `ffmpeg`-Objekt deckt Codec-, Format-, Kanal-, Filter- und weitere unterstützte Optionen ab und akzeptiert Werte wie `"128k"` für `b:a`.
* FFmpeg-Optionsnamen sind JSON-Schlüssel ohne führenden Bindestrich, sodass die Kommandozeilenoption `-movflags +faststart` innerhalb 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. 1\
   Legen Sie fest, welche Player, Geräte, Editoren oder Distributionssysteme jede Ausgabe unterstützen muss.
2. 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. 3\
   Führen Sie eine Fixture-Matrix aus, die reale Eingabe-Codecs, Kanäle, Bildraten, Abmessungen und beschädigte Dateien abdeckt.
4. 4\
   Speichern Sie das Template, die Stack-Wahl, die Abnahmeprüfungen und die freigegebenen Ausgaben als eine kontrollierte Freigabe.

Ein vierstufiger Medienworkflow

## 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.

## Erstellen Sie den Workflow

Entwickeln Sie das Konzept mithilfe der Robot-Dokumentation und funktionsfähiger Demos zu einer getesteten Assembly weiter.

### Relevante Robots

* [/video/encode](/de/docs/robots/video-encode.md)
* [/audio/encode](/de/docs/robots/audio-encode.md)
* [Den Video Encode Robot konfigurieren](/de/docs/robots/video-encode.md)
* [Den Audio Encode Robot konfigurieren](/de/docs/robots/audio-encode.md)
* [Video-Voreinstellungen durchsuchen](/de/docs/presets/video.md)
* [Audio-Voreinstellungen durchsuchen](/de/docs/presets/audio.md)
* [Die FFmpeg-Optionsreferenz lesen⁠](https://ffmpeg.org/ffmpeg-doc.html)
* [API-Dokumentation lesen](/de/docs.md)
* [Funktionsfähige Demos entdecken EN (English)](/demos.md)
* [Kostenlosen Workspace erstellen](/c/signup/)

Videoverarbeitung und Videoerstellung

## Mit verwandten Leitfäden fortfahren

* [Medienautomatisierung: vom Upload zur zuverlässigen Ausgabe](/de/guides/media-automation.md)\
  Automatisieren Sie wiederholbare Medienaufnahme, Transformation, Validierung und Export, ohne Beobachtbarkeit und Kontrolle einzuschränken.
* [Ein Video hochladen, codieren und auf YouTube veröffentlichen](/de/guides/upload-encode-publish-video-youtube.md)\
  Video-Upload empfangen, kontrollierte MP4-Variante erstellen und über einen überprüfbaren Workflow privat auf YouTube veröffentlichen.
* [Vimeo-Videos sicher importieren, codieren und erneut veröffentlichen](/de/guides/vimeo-import-encode-republish-workflow.md)\
  Eine bestehende Vimeo-Variante importieren, zu kontrolliertem MP4 normalisieren und ein neues privates Vimeo-Video zur Prüfung oder Migration exportieren.
