EnglischFranzösischSpanisch

Ad


OnWorks-Favicon

ffmpeg-Formate – Online in der Cloud

Führen Sie ffmpeg-Formate im kostenlosen Hosting-Anbieter OnWorks über Ubuntu Online, Fedora Online, den Windows-Online-Emulator oder den MAC OS-Online-Emulator aus

Dies ist der Befehl ffmpeg-formats, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


ffmpeg-formats – FFmpeg-Formate

BESCHREIBUNG


Dieses Dokument beschreibt die unterstützten Formate (Muxer und Demuxer), die von bereitgestellt werden
libavformat-Bibliothek.

FORMAT OPTIONAL


Die Bibliothek libavformat bietet einige generische globale Optionen, die auf allen
Muxer und Demuxer. Darüber hinaus kann jeder Muxer oder Demuxer sogenannte private
Optionen, die für diese Komponente spezifisch sind.

Optionen können eingestellt werden durch Angabe von -zu erhalten Wert in den FFmpeg-Tools oder durch Einstellen der
Wert explizit in den "AVFormatContext"-Optionen oder über die libavutil/opt.h API für
programmatische Verwendung.

Die Liste der unterstützten Optionen folgt:

aviflags Fahnen (Input-Output)
Mögliche Werte:

Direkt
Reduzieren Sie die Pufferung.

Sondengröße ganze Zahl (Eingangsmöglichkeiten: )
Legen Sie die Sondierungsgröße in Byte fest, dh die Größe der zu analysierenden Daten, um einen Stream zu erhalten
Information. Ein höherer Wert ermöglicht die Erkennung weiterer Informationen, falls dies der Fall ist
in den Stream verteilt, erhöht aber die Latenz. Muss eine ganze Zahl sein, nicht kleiner
als 32. Standardmäßig sind es 5000000.

Paketgröße ganze Zahl (Signalausgangsmöglichkeiten: )
Paketgröße einstellen.

Flaggen Fahnen (Input-Output)
Format-Flags setzen.

Mögliche Werte:

ignidx
Index ignorieren.

Fastseek
Aktivieren Sie schnelle, aber ungenaue Suchvorgänge für einige Formate.

Genpts
PTS generieren.

Nofillin
Geben Sie keine fehlenden Werte ein, die genau berechnet werden können.

nicht analysieren
Deaktivieren Sie AVParsers, dies benötigt auch "+nofillin".

zündet
Ignorieren Sie DTS.

entsorgen
Verwerfen Sie beschädigte Frames.

sortiert
Versuchen Sie, Ausgabepakete durch DTS zu verschachteln.

halten
Seitendaten nicht zusammenführen.

lat
Aktivieren Sie die RTP MP4A-LATM-Nutzlast.

kein Puffer
Reduzieren Sie die durch optionale Pufferung eingeführte Latenz

bitexakt
Schreiben Sie nur plattform-, build- und zeitunabhängige Daten. Dadurch wird sichergestellt, dass die Datei
und Datenprüfsummen sind reproduzierbar und stimmen zwischen Plattformen überein. Seine primäre Verwendung
ist für Regressionstests.

search2any ganze Zahl (Eingangsmöglichkeiten: )
Suche nach Nicht-Keyframes auf Demuxer-Ebene zulassen, wenn unterstützt, wenn auf 1 gesetzt. Standard
ist 0.

Analyse ganze Zahl (Eingangsmöglichkeiten: )
Geben Sie an, wie viele Mikrosekunden analysiert werden, um die Eingabe zu prüfen. Ein höherer Wert wird
ermöglicht die Erkennung genauerer Informationen, erhöht jedoch die Latenz. Es ist standardmäßig
5,000,000 Mikrosekunden = 5 Sekunden.

Kryptoschlüssel hexadezimal Schnur (Eingangsmöglichkeiten: )
Entschlüsselungsschlüssel festlegen.

Indexmem ganze Zahl (Eingangsmöglichkeiten: )
Legen Sie den maximalen Speicher fest, der für den Zeitstempelindex verwendet wird (pro Stream).

rtbufsize ganze Zahl (Eingangsmöglichkeiten: )
Legen Sie den maximalen Speicher fest, der zum Puffern von Echtzeitframes verwendet wird.

fdebug Fahnen (Input-Output)
Drucken Sie spezifische Debug-Informationen.

Mögliche Werte:

ts
max_verzögerung ganze Zahl (Input-Output)
Legen Sie die maximale Muxing- oder Demuxing-Verzögerung in Mikrosekunden fest.

fpsprobesize ganze Zahl (Eingangsmöglichkeiten: )
Legen Sie die Anzahl der Frames fest, die verwendet werden, um fps zu prüfen.

audio_preload ganze Zahl (Signalausgangsmöglichkeiten: )
Legen Sie Mikrosekunden fest, um die Audiopakete früher verschachtelt werden sollen.

chunk_duration ganze Zahl (Signalausgangsmöglichkeiten: )
Stellen Sie Mikrosekunden für jeden Abschnitt ein.

stückgröße ganze Zahl (Signalausgangsmöglichkeiten: )
Legen Sie die Größe in Byte für jeden Block fest.

err_detektieren, f_err_detect Fahnen (Eingangsmöglichkeiten: )
Setzen Sie Fehlererkennungs-Flags. "f_err_detect" ist veraltet und sollte nur über verwendet werden
ffmpeg Werkzeug.

Mögliche Werte:

crccheck
Überprüfen Sie eingebettete CRCs.

Bitstream
Erkennen Sie Abweichungen von der Bitstream-Spezifikation.

puffern
Ermitteln Sie eine falsche Bitstream-Länge.

explodieren
Decodierung bei Erkennung kleiner Fehler abbrechen.

vorsichtig
Betrachten Sie Dinge, die gegen die Spezifikation verstoßen und die nicht in freier Wildbahn gesehen wurden, als
Fehler.

konform
Betrachten Sie alle Nichteinhaltungen der Spezifikationen als Fehler.

aggressiv
Betrachten Sie Dinge, die ein vernünftiger Encoder nicht tun sollte, als Fehler.

max_interleave_delta ganze Zahl (Signalausgangsmöglichkeiten: )
Legen Sie die maximale Pufferungsdauer für das Interleaving fest. Die Dauer wird ausgedrückt in
Mikrosekunden und ist standardmäßig auf 1000000 (1 Sekunde) eingestellt.

Um sicherzustellen, dass alle Streams korrekt verschachtelt sind, wartet libavformat, bis es
hat mindestens ein Paket für jeden Stream, bevor tatsächlich Pakete in den geschrieben werden
Ausgabedatei. Wenn einige Streams "sparse" sind (dh es gibt große Lücken zwischen
aufeinanderfolgende Pakete), kann dies zu einer übermäßigen Pufferung führen.

Dieses Feld gibt die maximale Differenz zwischen den Zeitstempeln des ersten und an
das letzte Paket in der Muxing-Warteschlange, über dem libavformat ein Paket ausgibt
unabhängig davon, ob es ein Paket für alle Ströme in die Warteschlange gestellt hat.

Wenn auf 0 gesetzt, puffert libavformat weiterhin Pakete, bis es ein Paket für . hat
jedem Stream, unabhängig von der maximalen Zeitstempeldifferenz zwischen den gepufferten
Pakete.

use_wallclock_as_timestamps ganze Zahl (Eingangsmöglichkeiten: )
Verwenden Sie die Wanduhr als Zeitstempel.

vermeiden_negative_ts ganze Zahl (Signalausgangsmöglichkeiten: )
Mögliche Werte:

make_non_negativ
Verschieben Sie Zeitstempel, um sie nicht negativ zu machen. Beachten Sie auch, dass dies nur betrifft
führende negative Zeitstempel und keine nicht monotonen negativen Zeitstempel.

make_zero
Verschieben Sie Zeitstempel, sodass der erste Zeitstempel 0 ist.

Auto (Default)
Aktiviert das Verschieben, wenn das Zielformat dies erfordert.

behindert
Deaktiviert das Verschieben des Zeitstempels.

Wenn die Verschiebung aktiviert ist, werden alle Ausgabezeitstempel um denselben Betrag verschoben. Audio,
Video- und Untertitel-Desynchronisierung und relative Zeitstempelunterschiede bleiben erhalten
im Vergleich dazu, wie sie ohne Verschiebung gewesen wären.

skip_initial_bytes ganze Zahl (Eingangsmöglichkeiten: )
Legen Sie die Anzahl der zu überspringenden Bytes fest, bevor Header und Frames gelesen werden, wenn auf 1 gesetzt. Standard ist
0.

korrekt_ts_overflow ganze Zahl (Eingangsmöglichkeiten: )
Korrigieren Sie einzelne Zeitstempelüberläufe, wenn auf 1 gesetzt. Der Standardwert ist 1.

Spülpakete ganze Zahl (Signalausgangsmöglichkeiten: )
Leeren Sie den zugrunde liegenden E/A-Stream nach jedem Paket. Standard 1 aktiviert es und hat die
Wirkung der Reduzierung der Latenz; 0 deaktiviert es und kann die Leistung in . leicht erhöhen
manche Fälle.

Output_ts_offset Offset (Signalausgangsmöglichkeiten: )
Legen Sie den Ausgabezeit-Offset fest.

Offset muss eine Zeitdauerangabe sein, siehe Uhrzeit Dauer Abschnitt in
ffmpeg-utils(1) manuell.

Der Offset wird vom Muxer zu den Ausgabezeitstempeln hinzugefügt.

Die Angabe eines positiven Offsets bedeutet, dass die entsprechenden Streams um die
Zeitdauer angegeben in Offset. Der Standardwert ist 0 (d.h. kein Offset ist
angewandt).

format_whitelist Liste (Eingangsmöglichkeiten: )
"," getrennt Liste der erlaubten Demuxer. Standardmäßig sind alle erlaubt.

dump_separator Schnur (Eingangsmöglichkeiten: )
Trennzeichen zum Trennen der Felder, die auf der Befehlszeile über den Stream gedruckt werden
Parameter. Um beispielsweise die Felder mit Zeilenumbrüchen und Einrückungen zu trennen:

ffprobe -dump_separator "
" -ich ~/videos/matrixbench_mpeg2.mpg

Format Strom Bezeichner
Format-Stream-Bezeichner ermöglichen die Auswahl eines oder mehrerer Streams, die mit bestimmten übereinstimmen
Eigenschaften.

Mögliche Formen von Stream-Bezeichnern sind:

stream_index
Entspricht dem Stream mit diesem Index.

stream_type[:stream_index]
stream_type ist einer der folgenden: 'v' für Video, 'a' für Audio, 's' für Untertitel, 'd'
für Daten und 't' für Anhänge. Wenn stream_index gegeben ist, dann entspricht es dem
Stream-Nummer stream_index dieser Art. Ansonsten passt es zu allen Streams davon
Art.

p:Programm-ID[:stream_index]
If stream_index gegeben ist, dann stimmt es mit dem Stream mit der Nummer überein stream_index der
Programm mit der ID Programm-ID. Andernfalls entspricht es allen Streams im Programm.

#stream_id
Entspricht dem Stream anhand einer formatspezifischen ID.

Die genaue Semantik von Stromspezifizierern wird durch die
"avformat_match_stream_specifier()" Funktion deklariert im libavformat/avformat.h
Header.

DEMUXER


Demuxer sind konfigurierte Elemente in FFmpeg, die die Multimedia-Streams von einem
bestimmten Dateityp.

Wenn Sie Ihren FFmpeg-Build konfigurieren, sind alle unterstützten Demuxer standardmäßig aktiviert.
Sie können alle verfügbaren auflisten, indem Sie die Konfigurationsoption "--list-demuxers" verwenden.

Sie können alle Demuxer mit der Konfigurationsoption "--disable-demuxers" deaktivieren und
Aktivieren Sie selektiv einen einzelnen Demuxer mit der Option "--enable-demuxer=DEMUXER", oder deaktivieren
es mit der Option "--disable-demuxer=DEMUXER".

Die Option "-formats" der ff*-Tools zeigt die Liste der aktivierten Demuxer an.

Die Beschreibung einiger der derzeit verfügbaren Demuxer folgt.

aa
Audible Format 2, 3 und 4 Demuxer.

Dieser Demuxer wird verwendet, um Dateien im Audible-Format 2, 3 und 4 (.aa) zu demuxen.

Apfelhttp
Apple HTTP-Live-Streaming-Demuxer.

Dieser Demuxer präsentiert alle AVStreams aus allen Variantenstreams. Das id-Feld ist auf die eingestellt
Indexnummer der Bitratenvariante. Durch das Setzen der Discard-Flags auf AVStreams (durch Drücken von 'a'
oder 'v' in ffplay) kann der Anrufer entscheiden, welche Streams er tatsächlich empfangen möchte. Die
Gesamtbitrate der Variante, zu der der Stream gehört, ist in einem Metadatenschlüssel verfügbar
namens "variant_bitrate".

apng
Animierter Demuxer für tragbare Netzwerkgrafiken.

Dieser Demuxer wird verwendet, um APNG-Dateien zu demuxen. Alle Header, außer der PNG-Signatur, bis zu (aber
ohne) wird der erste fcTL-Chunk als Extradaten übertragen. Frames werden dann geteilt
als alle Chunks zwischen zwei fcTL-Chunks oder zwischen den letzten fcTL- und IEND-Chunks.

-ignore_loop bool
Ignorieren Sie die Schleifenvariable in der Datei, wenn sie gesetzt ist.

-max_fps int
Maximale Bildrate in Bildern pro Sekunde (0 für kein Limit).

-default_fps int
Standardbildrate in Bildern pro Sekunde, wenn keine in der Datei angegeben ist (0 Bedeutung
so schnell wie möglich).

asf
Demuxer für Advanced Systems Format.

Dieser Demuxer wird verwendet, um ASF-Dateien und MMS-Netzwerkstreams zu demuxen.

-no_resync_search bool
Versuchen Sie nicht, eine Neusynchronisierung durchzuführen, indem Sie nach einem bestimmten optionalen Startcode suchen.

concat
Demuxer für virtuelle Verkettungsskripte.

Dieser Demuxer liest eine Liste von Dateien und anderen Anweisungen aus einer Textdatei und demuxt sie
eins nach dem anderen, als ob alle ihre Pakete zusammengemixt worden wären.

Die Zeitstempel in den Dateien werden so angepasst, dass die erste Datei bei 0 beginnt und jede nächste
Datei beginnt dort, wo die vorherige endet. Beachten Sie, dass dies global erfolgt und dazu führen kann, dass
Lücken, wenn nicht alle Streams genau die gleiche Länge haben.

Alle Dateien müssen die gleichen Streams haben (gleiche Codecs, gleiche Zeitbasis usw.).

Die Dauer jeder Datei wird verwendet, um die Zeitstempel der nächsten Datei anzupassen: wenn die
die Dauer ist falsch (weil sie mit der Bitrate berechnet wurde oder weil die Datei
B. abgeschnitten), kann es zu Artefakten kommen. Die Direktive "duration" kann verwendet werden, um
die in jeder Datei gespeicherte Dauer überschreiben.

Syntax

Das Skript ist eine Textdatei im erweiterten ASCII-Format mit einer Direktive pro Zeile. Leere Zeilen,
führende Leerzeichen und Zeilen, die mit '#' beginnen, werden ignoriert. Die folgende Direktive ist
anerkannt:

"Datei Weg"
Pfad zu einer zu lesenden Datei; Sonderzeichen und Leerzeichen müssen mit Backslash maskiert werden
oder einfache Anführungszeichen.

Alle nachfolgenden dateibezogenen Direktiven gelten für diese Datei.

"ffconcat Version 1.0"
Identifizieren Sie den Skripttyp und die Version. Es setzt auch die safe Option auf 1, wenn es so wäre
seine Vorgabe -1.

Damit FFmpeg das Format automatisch erkennt, muss diese Anweisung genau vorkommen
wie es ist (kein zusätzliches Leerzeichen oder Byte-Reihenfolge-Markierung) in der allerersten Zeile des Skripts.

"Dauer dur"
Dauer der Datei. Diese Informationen können aus der Datei angegeben werden; es spezifizieren
hier kann es effizienter sein oder helfen, wenn die Informationen aus der Datei nicht verfügbar sind
oder genau.

Wenn die Dauer für alle Dateien eingestellt ist, kann im Ganzen gesucht werden
verkettetes Video.

"inpoint Zeitstempel"
Im Punkt der Datei. Wenn der Demuxer die Datei öffnet, sucht er sofort nach dem
angegebenen Zeitstempel. Es wird gesucht, damit alle Streams erfolgreich präsentiert werden können
am In-Punkt.

Diese Direktive funktioniert am besten mit Intra-Frame-Codecs, denn für Nicht-Intra-Frame-Codecs
Sie erhalten normalerweise zusätzliche Pakete vor dem eigentlichen In-Punkt und dem decodierten Inhalt
wird höchstwahrscheinlich auch Frames vor dem In-Point enthalten.

Für jede Datei haben Pakete vor dem Datei-In-Point Zeitstempel, die kleiner sind als die
berechneten Startzeitstempel der Datei (negativ bei der ersten Datei) und der
die Dauer der Dateien (sofern nicht in der Anweisung "duration" angegeben) wird reduziert
basierend auf ihrem angegebenen In-Punkt.

Aufgrund potenzieller Pakete vor dem angegebenen In-Punkt können Paketzeitstempel
Überlappung zwischen zwei verketteten Dateien.

"outpoint Zeitstempel"
Out-Point der Datei. Wenn der Demuxer den angegebenen Decodierungs-Zeitstempel in . erreicht
einen der Streams behandelt es als Dateiende-Bedingung und überspringt den aktuellen
und alle verbleibenden Pakete aus allen Strömen.

Out-Point ist exklusiv, was bedeutet, dass der Demuxer keine Pakete mit a . ausgibt
Decodierungszeitstempel größer oder gleich dem Out-Punkt.

Diese Anweisung funktioniert am besten mit Intra-Frame-Codecs und -Formaten, bei denen alle Streams vorhanden sind
eng verschachtelt. Für Nicht-Intra-Frame-Codecs erhalten Sie normalerweise zusätzliche
Pakete mit Präsentationszeitstempel nach Out-Point, daher wird der decodierte Inhalt
enthalten höchstwahrscheinlich auch Frames nach dem Out-Point. Wenn deine Streams nicht dicht sind
verschachtelt erhalten Sie möglicherweise nicht alle Pakete aus allen Streams vor dem Out-Punkt und Sie
kann möglicherweise nur den frühesten Stream bis zum Out-Punkt decodieren.

Die Dauer der Dateien (sofern nicht in der Anweisung "duration" angegeben) beträgt
basierend auf dem angegebenen Out-Punkt reduziert.

"file_packet_metadata Schlüssel=Wert"
Metadaten der Pakete der Datei. Die angegebenen Metadaten werden für jede Datei festgelegt
Paket. Sie können diese Anweisung mehrmals angeben, um mehrere Metadaten hinzuzufügen
Einträge.

"Strom"
Führen Sie einen Stream in die virtuelle Datei ein. Alle nachfolgenden Stream-bezogenen Direktiven
gelten für den zuletzt eingeführten Stream. Einige Stream-Eigenschaften müssen festgelegt werden, um
ermöglichen das Identifizieren der übereinstimmenden Streams in den Unterdateien. Wenn keine Streams definiert sind in
dem Skript werden die Streams aus der ersten Datei kopiert.

"exact_stream_id id"
Legen Sie die ID des Streams fest. Wenn diese Direktive angegeben ist, wird die Zeichenfolge mit dem
die entsprechende ID in den Unterdateien wird verwendet. Dies ist besonders nützlich für MPEG-PS
(VOB)-Dateien, bei denen die Reihenfolge der Streams nicht zuverlässig ist.

Optionen

Dieser Demuxer akzeptiert die folgende Option:

safe
Wenn auf 1 gesetzt, lehnen Sie unsichere Dateipfade ab. Ein Dateipfad gilt als sicher, wenn dies nicht der Fall ist
enthalten eine Protokollspezifikation und sind relativ und alle Komponenten enthalten nur
Zeichen aus dem portablen Zeichensatz (Buchstaben, Ziffern, Punkt, Unterstrich und
Bindestrich) und haben keinen Punkt am Anfang einer Komponente.

Bei 0 wird jeder Dateiname akzeptiert.

Der Standardwert ist -1, entspricht 1 wenn das Format automatisch geprüft wurde und 0
Andernfalls.

auto_convert
Wenn auf 1 gesetzt, versuchen Sie, automatische Konvertierungen der Paketdaten durchzuführen, um die Streams zu erstellen
verkettebar. Der Standardwert ist 1.

Derzeit ist die einzige Konvertierung das Hinzufügen des Bitstream-Filters h264_mp4toannexb zu
H.264-Streams im MP4-Format. Dies ist insbesondere erforderlich, wenn Auflösung
ändert.

flv
Demuxer für das Adobe Flash-Videoformat.

Dieser Demuxer wird verwendet, um FLV-Dateien und RTMP-Netzwerkstreams zu demuxen.

-flv_metadaten bool
Ordnen Sie die Streams gemäß dem Inhalt des onMetaData-Arrays zu.

libgme
Die Game Music Emu-Bibliothek ist eine Sammlung von Emulatoren für Videospiel-Musikdateien.

Sehenhttp://code.google.com/p/game-music-emu/> für weitere Informationen.

Einige Dateien haben mehrere Spuren. Der Demuxer wählt standardmäßig den ersten Track aus. Die
track_index Option kann verwendet werden, um einen anderen Titel auszuwählen. Track-Indizes beginnen bei 0. Die
demuxer exportiert die Anzahl der Tracks als Spuren Metadateneingabe.

Bei sehr großen Dateien ist die maximale Größe Option muss eventuell angepasst werden.

libquvi
Spielen Sie Medien von Internetdiensten mit dem quvi-Projekt ab.

Der Demuxer akzeptiert a Format Möglichkeit, eine bestimmte Qualität anzufordern. Es ist standardmäßig auf eingestellt
beste.

Sehenhttp://quvi.sourceforge.net/> für weitere Informationen.

FFmpeg muss mit "--enable-libquvi" erstellt werden, damit dieser Demuxer aktiviert werden kann.

gif
Animierter GIF-Demuxer.

Es akzeptiert die folgenden Optionen:

min_verzögerung
Legen Sie die minimal gültige Verzögerung zwischen Frames in Hundertstelsekunden fest. Bereich ist 0 bis
6000. Der Standardwert ist 2.

max_gif_delay
Legen Sie die maximal gültige Verzögerung zwischen Frames in Hundertstelsekunden fest. Bereich ist 0 bis
65535. Der Standardwert ist 65535 (fast elf Minuten), der maximal zulässige Wert von
die Spezifikation.

default_delay
Legen Sie die Standardverzögerung zwischen Frames in Hundertstelsekunden fest. Der Bereich ist 0 bis 6000.
Der Standardwert ist 10.

Ignorieren_Schleife
GIF-Dateien können Informationen enthalten, die eine bestimmte Anzahl (oder unendlich) wiederholt werden sollen.
If Ignorieren_Schleife auf 1 gesetzt ist, wird die Loop-Einstellung vom Eingang ignoriert und
Schleifen werden nicht auftreten. Wenn es auf 0 gesetzt ist, wird eine Schleife durchgeführt und die Nummer zyklisch durchlaufen
mal laut GIF. Der Standardwert ist 1.

Platzieren Sie zum Beispiel mit dem Überlagerungsfilter ein sich endlos wiederholendes GIF über einem anderen Video:

ffmpeg -i input.mp4 -ignore_loop 0 -i input.gif -filter_complex overlay=shortest=1 out.mkv

Beachten Sie, dass im obigen Beispiel die kürzeste Option für den Überlagerungsfilter verwendet wird, um die
Ausgabevideo mit der Länge der kürzesten Eingabedatei, die in diesem Fall ist Eingabe.mp4 as
das GIF in diesem Beispiel durchläuft eine Endlosschleife.

image2
Demuxer für Bilddateien.

Dieser Demuxer liest aus einer Liste von Bilddateien, die durch ein Muster angegeben sind. Die Syntax und
Bedeutung des Musters wird durch die Option festgelegt Muster-Art.

Das Muster kann ein Suffix enthalten, das verwendet wird, um das Format von . automatisch zu bestimmen
die in den Dateien enthaltenen Bilder.

Die Größe, das Pixelformat und das Format jedes Bildes müssen für alle Bilder gleich sein
Dateien in der Reihenfolge.

Dieser Demuxer akzeptiert die folgenden Optionen:

Framerate
Legen Sie die Bildrate für den Videostream fest. Der Standardwert ist 25.

Schleife
Wenn auf 1 gesetzt, überschleifen Sie den Eingang. Der Standardwert ist 0.

Muster-Art
Wählen Sie den Mustertyp aus, der verwendet wird, um den angegebenen Dateinamen zu interpretieren.

Muster-Art akzeptiert einen der folgenden Werte.

keine
Mustervergleich deaktivieren, daher enthält das Video nur die angegebenen
Bild. Sie sollten diese Option verwenden, wenn Sie keine Sequenzen erstellen möchten aus
mehrere Bilder und Ihre Dateinamen können Sonderzeichen enthalten.

Reihenfolge
Wählen Sie einen Sequenzmustertyp aus, der verwendet wird, um eine Sequenz von Dateien anzugeben, die nach . indiziert sind
fortlaufende Nummern.

Ein Sequenzmuster kann die Zeichenfolge "%d" oder "%0 . enthaltenNd", was die angibt
Position der Zeichen, die eine fortlaufende Nummer in jedem Dateinamen darstellen
passend zum Muster. Wenn das Formular "%d0Nd" verwendet wird, die Zeichenfolge, die die
Nummer in jedem Dateinamen ist mit 0 aufgefüllt und N ist die Gesamtzahl der mit 0 aufgefüllten Ziffern
die Zahl darstellen. Das Literalzeichen '%' kann im Muster angegeben werden
mit der Zeichenfolge "%%".

Wenn das Sequenzmuster "%d" oder "%0 . enthältNd", der erste Dateiname der Datei
Die durch das Muster angegebene Liste muss eine Zahl enthalten, die zwischen eingeschlossen ist
Startnummer und Startnummer+Startnummernbereich-1 und alle folgenden Zahlen
muss sequentiell sein.

Zum Beispiel entspricht das Muster "img-%03d.bmp" einer Folge von Dateinamen der
unten stehende Formular img-001.bmp, img-002.bmp... img-010.bmp, etc.; das Muster
"i%%m%%g-%d.jpg" loading="lazy" entspricht einer Sequenz von Dateinamen der Form i%m%g-1.jpg,
i%m%g-2.jpg... i%m%g-10.jpg, usw.

Beachten Sie, dass das Muster nicht unbedingt "%d" oder "%0 ." enthalten mussNd", zum Beispiel zu
Konvertieren einer einzelnen Bilddatei img.jpeg Sie können den Befehl verwenden:

ffmpeg -i img.jpeg img.png

Klacks
Wählen Sie einen Glob-Platzhaltermustertyp aus.

Das Muster wird wie ein "glob()"-Muster interpretiert. Dies ist nur wählbar, wenn
libavformat wurde mit Globbing-Unterstützung kompiliert.

glob_sequenz (veraltet, werden wir be entfernt)
Wählen Sie ein gemischtes Glob-Platzhalter-/Sequenzmuster aus.

Wenn Ihre Version von libavformat mit Globbing-Unterstützung kompiliert wurde und die
Das bereitgestellte Muster enthält mindestens ein Glob-Metazeichen unter "%*?[]{}", das heißt
vor einem "%" ohne Escapezeichen wird das Muster wie ein "glob()"-Muster interpretiert,
andernfalls wird es wie ein Sequenzmuster interpretiert.

Allen Glob-Sonderzeichen "%*?[]{}" muss "%" vorangestellt werden. Um zu entkommen
wörtlich "%" verwenden Sie "%%".

Zum Beispiel passt das Muster "foo-%*.jpeg" auf alle Dateinamen mit dem Präfix
"foo-" und endend mit ".jpeg" und "foo-%?%?%?.jpeg" entsprechen allen
Dateinamen mit dem Präfix "foo-", gefolgt von einer Folge von drei Zeichen, und
mit ".jpeg" beenden.

Dieser Mustertyp wird zugunsten von . eingestellt Klacks und Reihenfolge.

Standardwert ist glob_sequenz.

Pixelformat
Legen Sie das Pixelformat der zu lesenden Bilder fest. Wenn nicht angegeben, ist das Pixelformat
aus der ersten Bilddatei in der Sequenz erraten.

Startnummer
Legen Sie den Index der Datei fest, die dem Bilddateimuster entspricht, von dem aus gelesen werden soll.
Der Standardwert ist 0.

Startnummernbereich
Legen Sie den Indexintervallbereich fest, der bei der Suche nach der ersten Bilddatei im
Reihenfolge, beginnend mit Startnummer. Der Standardwert ist 5.

ts_from_file
Wenn auf 1 gesetzt, wird der Frame-Zeitstempel auf die Änderungszeit der Bilddatei gesetzt. Beachten Sie, dass
Monotonie der Zeitstempel ist nicht vorgesehen: Bilder gehen in der gleichen Reihenfolge wie ohne diese
Möglichkeit. Der Standardwert ist 0. Wenn auf 2 gesetzt, wird der Frame-Zeitstempel auf die Änderung gesetzt
Zeit der Bilddatei in Nanosekunden-Präzision.

Video Größe
Legen Sie die Videogröße der zu lesenden Bilder fest. Wenn nicht angegeben, wird die Videogröße geschätzt
aus der ersten Bilddatei in der Sequenz.

Beispiele

· Verwenden ffmpeg zum Erstellen eines Videos aus den Bildern in der Dateisequenz img-001.jpeg,
img-002.jpeg, ..., unter Annahme einer Eingangsbildrate von 10 Bildern pro Sekunde:

ffmpeg -framerate 10 -i 'img-%03d.jpeg' out.mkv

· Wie oben, jedoch lesen Sie zunächst aus einer Datei mit dem Index 100 in der Reihenfolge:

ffmpeg -framerate 10 -start_number 100 -i 'img-%03d.jpeg' out.mkv

· Bilder lesen, die dem "*.png" loading="lazy"-Glob-Muster entsprechen, das sind alle Dateien, die mit enden
das Suffix ".png" loading="faul":

ffmpeg -framerate 10 -pattern_type glob -i "*.png" loading="faul" out.mkv

mov/mp4/3gp/Quicktme
Quicktime / MP4-Demuxer.

Dieser Demuxer akzeptiert die folgenden Optionen:

enable_drefs
Aktivieren Sie das Laden externer Spuren, standardmäßig deaktiviert. Aktivieren dieser Dose
theoretisch in einigen Anwendungsfällen Informationen verlieren.

use_absolute_path
Ermöglicht das Laden externer Spuren über absolute Pfade, standardmäßig deaktiviert. Aktivieren
dies stellt ein Sicherheitsrisiko dar. Sie sollte nur aktiviert werden, wenn die Quelle als nicht bekannt ist
bösartig.

mpegs
MPEG-2-Transportstrom-Demuxer.

Dieser Demuxer akzeptiert die folgenden Optionen:

resync_size
Legen Sie die Größenbeschränkung für die Suche nach einer neuen Synchronisierung fest. Der Standardwert ist 65536.

fix_teletext_pts
Überschreiben Sie die PTS- und DTS-Werte von Videotextpaketen mit den Zeitstempeln, die aus den berechneten
PCR des ersten Programms, zu dem der Videotextstrom gehört und wird nicht verworfen.
Der Standardwert ist 1, setzen Sie diese Option auf 0, wenn Sie Ihr Videotextpaket PTS und DTS
Werte unberührt.

ts_packetsize
Ausgabeoption, die die rohe Paketgröße in Bytes enthält. Zeigen Sie das erkannte Rohpaket an
Größe, kann nicht vom Benutzer eingestellt werden.

scan_all_pmts
Scannen und kombinieren Sie alle PMTs. Der Wert ist eine ganze Zahl mit einem Wert von -1 bis 1 (-1 bedeutet
automatische Einstellung, 1 bedeutet aktiviert, 0 bedeutet deaktiviert). Der Standardwert ist -1.

Rohvideo
Raw-Video-Demuxer.

Dieser Demuxer ermöglicht das Lesen von Rohvideodaten. Da es keinen Header gibt, der die
angenommenen Videoparameter, muss der Benutzer diese angeben, um die
Daten richtig.

Dieser Demuxer akzeptiert die folgenden Optionen:

Framerate
Stellen Sie die Bildrate des Eingangsvideos ein. Der Standardwert ist 25.

Pixelformat
Legen Sie das Pixelformat des Eingangsvideos fest. Der Standardwert ist "yuv420p".

Video Größe
Stellen Sie die Eingangsvideogröße ein. Dieser Wert muss explizit angegeben werden.

Zum Beispiel um eine Rawvideo-Datei zu lesen Eingabe.raw mit ffplay, unter der Annahme eines Pixelformats von
"rgb24", einer Videogröße von "320x240" und einer Bildrate von 10 Bildern pro Sekunde, verwenden Sie die
Befehl:

ffplay -f rawvideo -pixel_format rgb24 -video_size 320x240 -Framerate 10 input.raw

sbg
SBaGen-Skript-Demuxer.

Dieser Demuxer liest die Skriptsprache von SBaGenhttp://uazu.net/sbagen/> bis
binaurale Beats-Sessions generieren. Ein SBG-Skript sieht so aus:

-SE
a: 300-2.5/3 440+4.5/0
b: 300-2.5/0 440+4.5/3
aus: -
JETZT == a
+0:07:00 == b
+0:14:00 == ein
+0:21:00 == b
+0:30:00 aus

Ein SBG-Skript kann absolute und relative Zeitstempel mischen. Wenn das Skript nur eines verwendet
absolute Zeitstempel (einschließlich der Startzeit des Skripts) oder nur relative, dann ist es
Layout ist fest und die Konvertierung ist unkompliziert. Auf der anderen Seite, wenn das Skript
mischt beide Arten von Zeitstempeln, dann die JETZT Referenz für relative Zeitstempel ist
entnommen aus der aktuellen Tageszeit zum Zeitpunkt des Lesens des Skripts und dem Skript-Layout
wird entsprechend dieser Referenz eingefroren. Das heißt, wenn das Skript direkt ist
abgespielt werden, stimmen die tatsächlichen Zeiten mit den absoluten Zeitstempeln bis zu den des Soundcontrollers überein
Taktgenauigkeit, aber wenn der Benutzer die Wiedergabe irgendwie pausiert oder sucht, werden alle Zeiten
entsprechend verschoben.

Bildunterschriften
JSON-Untertitel verwendet fürhttp://www.ted.com/>.

TED stellt keine Links zu den Bildunterschriften zur Verfügung, sie können jedoch von der Seite aus erraten werden. Die
Datei tools/bookmarklets.html aus dem FFmpeg-Quellbaum enthält ein Bookmarklet zum Freilegen
Them.

Dieser Demuxer akzeptiert die folgende Option:

Startzeit
Stellen Sie die Startzeit des TED-Gesprächs in Millisekunden ein. Der Standardwert ist 15000 (15s). es ist
verwendet, um die Untertitel mit den herunterladbaren Videos zu synchronisieren, da sie eine 15s . enthalten
Einführung.

Beispiel: Konvertieren Sie die Untertitel in ein Format, das die meisten Spieler verstehen:

ffmpeg-i http://www.ted.com/talks/subtitles/id/1/lang/en talk1-de.srt

MUXER


Muxer sind konfigurierte Elemente in FFmpeg, die es ermöglichen, Multimedia-Streams in eine Datei zu schreiben
bestimmten Dateityp.

Wenn Sie Ihren FFmpeg-Build konfigurieren, sind alle unterstützten Muxer standardmäßig aktiviert. Du
kann mit der Konfigurationsoption "--list-muxers" alle verfügbaren Muxer auflisten.

Sie können alle Muxer mit der Konfigurationsoption „--disable-muxers“ und deaktivieren
selektiv einzelne Muxer aktivieren / deaktivieren mit den Optionen "--enable-muxer=MUXER" /
"--disable-muxer=MUXER".

Die Option "-formats" der ff*-Tools zeigt die Liste der aktivierten Muxer an.

Es folgt eine Beschreibung einiger der derzeit verfügbaren Muxer.

aIFF
Muxer für Audio-Interchange-Dateiformate.

Optionen

Es akzeptiert die folgenden Optionen:

write_id3v2
Aktivieren Sie das Schreiben von ID3v2-Tags, wenn auf 1 gesetzt. Die Standardeinstellung ist 0 (deaktiviert).

id3v2_version
Wählen Sie die ID3v2-Version zum Schreiben aus. Derzeit nur Version 3 und 4 (auch bekannt als ID3v2.3 und
ID3v2.4) werden unterstützt. Die Standardeinstellung ist Version 4.

crc
CRC-Testformat (Cyclic Redundancy Check).

Dieser Muxer berechnet und druckt den Adler-32 CRC aller eingegebenen Audio- und Videobilder.
Standardmäßig werden Audioframes in signierte 16-Bit-Roh-Audio und Videoframes in Raw konvertiert
Video, bevor Sie den CRC berechnen.

Die Ausgabe des Muxers besteht aus einer einzelnen Zeile der Form: CRC=0xCRC, Wobei CRC ist eine
Hexadezimalzahl 0-aufgefüllt mit 8 Stellen, die den CRC für alle decodierten Eingaben enthalten
Frames.

Siehe auch die Framecrc Muxer.

Beispiele

Zum Beispiel, um den CRC der Eingabe zu berechnen und in der Datei zu speichern aus.crc:

ffmpeg -i EINGABE -f crc aus.crc

Sie können die CRC mit dem Befehl auf stdout drucken:

ffmpeg -i EINGANG -f crc -

Sie können das Ausgabeformat jedes Frames mit auswählen ffmpeg durch Angabe des Audios und
Video-Codec und -Format. Zum Beispiel, um den CRC des in PCM . konvertierten Eingangsaudios zu berechnen
8-Bit ohne Vorzeichen und das Eingabevideo in MPEG-2-Video konvertiert, verwenden Sie den Befehl:

ffmpeg -i EINGANG -c:a pcm_u8 -c:v mpeg2video -f crc -

Framecrc
CRC-Testformat (Cyclic Redundancy Check) pro Paket.

Dieser Muxer berechnet und druckt den Adler-32 CRC für jedes Audio- und Videopaket. Von
Standard-Audioframes werden in signiertes 16-Bit-Rohaudio und Videoframes in Rohformat konvertiert
Video, bevor Sie den CRC berechnen.

Die Ausgabe des Muxers besteht aus einer Zeile für jedes Audio- und Videopaket der Form:

, , , , , 0x

CRC ist eine mit 0 auf 8 Ziffern aufgefüllte Hexadezimalzahl, die den CRC des Pakets enthält.

Beispiele

Um beispielsweise den CRC der Audio- und Videoframes in zu berechnen SPEISUNG, umgewandelt in roh
Audio- und Videopakete und speichern Sie sie in der Datei aus.crc:

ffmpeg -i INPUT -f framecrc aus.crc

Um die Informationen auf stdout zu drucken, verwenden Sie den Befehl:

ffmpeg -i INPUT -f framecrc -

Mit der ffmpeg, können Sie das Ausgabeformat für die Audio- und Videobilder auswählen
codiert, bevor der CRC für jedes Paket berechnet wird, indem der Audio- und Videocodec angegeben wird.
Um beispielsweise den CRC jedes decodierten Eingangsaudioframes zu berechnen, der in PCM . umgewandelt wurde
8-Bit ohne Vorzeichen und von jedem decodierten Eingangsvideobild, das in MPEG-2-Video konvertiert wurde, verwenden Sie die
Befehl:

ffmpeg -i EINGANG -c:a pcm_u8 -c:v mpeg2video -f framecrc -

Siehe auch die crc Muxer.

Framemd5
MD5-Testformat pro Paket.

Dieser Muxer berechnet und druckt den MD5-Hash für jedes Audio- und Videopaket. Standardmäßig
Audio-Frames werden zuvor in signiertes 16-Bit-Roh-Audio und Video-Frames in Roh-Video konvertiert
den Hash berechnen.

Die Ausgabe des Muxers besteht aus einer Zeile für jedes Audio- und Videopaket der Form:

, , , , ,

MD5 ist eine hexadezimale Zahl, die den berechneten MD5-Hash für das Paket darstellt.

Beispiele

Um zum Beispiel den MD5 der Audio- und Videoframes in zu berechnen SPEISUNG, umgewandelt in roh
Audio- und Videopakete und speichern Sie sie in der Datei aus.md5:

ffmpeg -i INPUT -f framemd5 out.md5

Um die Informationen auf stdout zu drucken, verwenden Sie den Befehl:

ffmpeg -i EINGANG -f framemd5 -

Siehe auch die md5 Muxer.

gif
Animierter GIF-Muxer.

Es akzeptiert die folgenden Optionen:

Schleife
Legen Sie fest, wie oft die Ausgabe wiederholt werden soll. Verwenden Sie "-1" für keine Schleife, 0 für Schleifen
auf unbestimmte Zeit (Standard).

final_delay
Erzwinge die Verzögerung (ausgedrückt in Centisekunden) nach dem letzten Frame. Jeder Rahmen endet mit
eine Verzögerung bis zum nächsten Frame. Der Standardwert ist "-1", was ein spezieller Wert ist, der angegeben werden muss
den Muxer, um die vorherige Verzögerung wiederzuverwenden. Im Falle einer Schleife möchten Sie vielleicht anpassen
dieser Wert, um beispielsweise eine Pause zu markieren.

Um beispielsweise ein GIF zu codieren, das 10 Mal wiederholt wird, mit einer Verzögerung von 5 Sekunden zwischen den Schleifen:

ffmpeg -i INPUT -loop 10 -final_delay 500 out.gif

Hinweis 1: Wenn Sie die Frames in separate GIF-Dateien extrahieren möchten, müssen Sie die
image2 Muxer:

ffmpeg -i INPUT -c:v gif -f image2 "out%d.gif"

Hinweis 2: Das GIF-Format hat eine sehr kleine Zeitbasis: Die Verzögerung zwischen zwei Bildern kann nicht sein
kleiner als eine Centi Sekunde.

hls
Apple HTTP Live Streaming Muxer, der MPEG-TS gemäß dem HTTP Live Streaming segmentiert
(HLS)-Spezifikation.

Es erstellt eine Playlist-Datei und eine oder mehrere Segmentdateien. Der Ausgabedateiname gibt an
den Dateinamen der Wiedergabeliste.

Standardmäßig erstellt der Muxer für jedes produzierte Segment eine Datei. Diese Dateien haben das gleiche
Name als Playlist, gefolgt von einer fortlaufenden Nummer und einer .ts-Erweiterung.

Um beispielsweise eine Eingabedatei mit zu konvertieren ffmpeg:

ffmpeg -i in.nut out.m3u8

In diesem Beispiel wird die Wiedergabeliste erstellt, aus.m3u8, und Segmentdateien: out0.ts, out1.ts,
out2.ts, usw.

Siehe auch die Segment Muxer, der eine allgemeinere und flexiblere Implementierung von a
Segmentierer und kann verwendet werden, um eine HLS-Segmentierung durchzuführen.

Optionen

Dieser Muxer unterstützt die folgenden Optionen:

hls_time Sekunden
Legen Sie die Segmentlänge in Sekunden fest. Der Standardwert ist 2.

hls_list_size Größe
Legen Sie die maximale Anzahl von Playlist-Einträgen fest. Wenn auf 0 gesetzt, enthält die Listendatei alle
die Segmente. Der Standardwert ist 5.

hls_ts_options Optionen_Liste
Legen Sie Ausgabeformatoptionen mithilfe einer :-getrennten Liste von Schlüssel=Wert-Parametern fest. Werte
Sonderzeichen mit ":" müssen mit Escapezeichen versehen werden.

hls_wrap wickeln
Legen Sie die Nummer fest, nach der die Nummer des Segmentdateinamens (die in jedem
Segmentdatei) umschließt. Bei 0 wird die Zahl nie umgebrochen. Der Standardwert ist 0.

Diese Option ist nützlich, um zu vermeiden, dass die Festplatte mit vielen Segmentdateien gefüllt wird, und begrenzt
die maximale Anzahl von Segmentdateien, die auf die Festplatte geschrieben werden wickeln.

Startnummer Anzahl
Starten Sie die Playlist-Sequenznummer von Anzahl. Der Standardwert ist 0.

hls_allow_cache erlaubencache
Legen Sie explizit fest, ob der Client KANN \fIst0(1) oder MUSS NICHT \fIst0(0) Cache-Medien
Segmente.

hls_base_url Basis-URL
Anhängen Basis-URL zu jedem Eintrag in der Playlist. Nützlich zum Generieren von Wiedergabelisten mit
absolute Pfade.

Beachten Sie, dass die Sequenznummer der Wiedergabeliste für jedes Segment eindeutig sein muss und nicht
zu verwechseln mit der Sequenznummer des Segmentdateinamens, die zyklisch sein kann, z
Beispiel, wenn die wickeln Option ist angegeben.

hls_segment_dateiname Dateinamen
Legen Sie den Namen der Segmentdatei fest. Es sei denn, hls_flags single_file ist festgelegt Dateinamen wird verwendet als
String-Format mit der Segmentnummer:

ffmpeg in.nut -hls_segment_filename 'file%03d.ts' out.m3u8

In diesem Beispiel wird die Wiedergabeliste erstellt, aus.m3u8, und Segmentdateien: file000.ts,
file001.ts, file002.ts, usw.

hls_key_info_file key_info_file
Verwenden Sie die Informationen in key_info_file zur Segmentverschlüsselung. Die erste Zeile von
key_info_file gibt den Schlüssel-URI an, der in die Wiedergabeliste geschrieben wird. Die Schlüssel-URL wird verwendet, um
während der Wiedergabe auf den Verschlüsselungsschlüssel zugreifen. Die zweite Zeile gibt den Pfad zum
Schlüsseldatei, die zum Abrufen des Schlüssels während des Verschlüsselungsprozesses verwendet wird. Die Schlüsseldatei wird gelesen als
ein einzelnes gepacktes Array von 16 Oktetten im Binärformat. Die optionale dritte Zeile gibt an
der Initialisierungsvektor (IV) als hexadezimaler String, der anstelle des
Segmentsequenznummer (Standard) für die Verschlüsselung. Änderungen an key_info_file wird resultieren
bei Segmentverschlüsselung mit dem neuen Schlüssel/IV und einem Eintrag in der Playlist für den neuen Schlüssel
URI/IV.

Dateiformat der Schlüsselinformationen:



(Optional)

Beispiele für Schlüssel-URIs:

http://server/file.key
/Pfad/zu/Datei.Schlüssel
file.key

Beispiele für Schlüsseldateipfade:

file.key
/Pfad/zu/Datei.Schlüssel

Beispiel IV:

0123456789ABCDEF0123456789ABCDEF

Beispiel für eine Schlüsselinfodatei:

http://server/file.key
/Pfad/zu/Datei.Schlüssel
0123456789ABCDEF0123456789ABCDEF

Beispiel Shell-Skript:

#!/ Bin / sh
BASE_URL=${1:-'.'}
openssl rand 16 > file.key
echo $BASE_URL/file.key > file.keyinfo
echo file.key >> file.keyinfo
echo $(openssl rand -hex 16) >> file.keyinfo
ffmpeg -f lavfi -re -i testrc -c:v h264 -hls_flags delete_segments \
-hls_key_info_file file.keyinfo out.m3u8

hls_flags einzelne Datei
Wenn dieses Flag gesetzt ist, speichert der Muxer alle Segmente in einer einzigen MPEG-TS-Datei und
verwendet Byte-Bereiche in der Wiedergabeliste. Auf diese Weise generierte HLS-Wiedergabelisten haben
die Versionsnummer 4. Zum Beispiel:

ffmpeg -i in.nut -hls_flags single_file out.m3u8

Werde die Playlist produzieren, aus.m3u8, und eine einzelne Segmentdatei, aus.ts.

hls_flags delete_segments
Aus der Playlist entfernte Segmentdateien werden nach einem Zeitraum von gelöscht
die Dauer des Segments plus die Dauer der Playlist.

ico
ICO-Datei-Muxer.

Das Symboldateiformat (ICO) von Microsoft unterliegt einigen strengen Einschränkungen, die beachtet werden sollten:

· Größe darf 256 Pixel in keiner Dimension überschreiten

· Es können nur BMP- und PNG-Bilder gespeichert werden

· Wenn ein BMP-Bild verwendet wird, muss es eines der folgenden Pixelformate aufweisen:

BMP-Bittiefe FFmpeg-Pixelformat
1bit Kumpel8
4bit Kumpel8
8bit Kumpel8
16bit RGB555le
24bit bgr24
32-Bit-BGRA

· Wenn ein BMP-Bild verwendet wird, muss es den BITMAPINFOHEADER DIB-Header verwenden

· Wenn ein PNG-Bild verwendet wird, muss es das rgba-Pixelformat verwenden

image2
Bilddatei-Muxer.

Der Bilddatei-Muxer schreibt Videoframes in Bilddateien.

Die Ausgabedateinamen werden durch ein Muster angegeben, das verwendet werden kann, um sequentiell zu produzieren
nummerierte Dateireihe. Das Muster kann die Zeichenfolge „%d“ oder „%0“ enthaltenNd", diese Zeichenfolge
gibt die Position der Zeichen an, die eine Nummerierung in den Dateinamen darstellen. Wenn die
Formular "%0Nd" verwendet wird, wird die Zeichenfolge, die die Zahl in jedem Dateinamen darstellt, mit 0 aufgefüllt bis N
Ziffern. Das Literalzeichen „%“ kann im Muster mit der Zeichenfolge „%%“ angegeben werden.

Wenn das Muster "%d" oder "%0 . enthältNd", wird der erste Dateiname der angegebenen Dateiliste
die Zahl 1 enthalten, alle folgenden Zahlen werden fortlaufend sein.

Das Muster kann ein Suffix enthalten, das verwendet wird, um das Format von . automatisch zu bestimmen
die zu schreibenden Bilddateien.

Zum Beispiel wird das Muster "img-%03d.bmp" eine Folge von Dateinamen der Form angeben
img-001.bmp, img-002.bmp... img-010.bmp, usw. Das Muster "img%%-%d.jpg" loading="lazy" wird angeben
eine Folge von Dateinamen der Form Bild%-1.jpg, Bild%-2.jpg... Bild%-10.jpg, usw.

Beispiele

Das folgende Beispiel zeigt die Verwendung von ffmpeg zum Erstellen einer Dateifolge
img-001.jpeg, img-002.jpeg, ..., nimmt jede Sekunde ein Bild aus dem Eingangsvideo:

ffmpeg -i in.avi -vsync 1 -r 1 -f image2 'img-%03d.jpeg'

Beachten Sie, dass mit ffmpeg, wenn das Format nicht mit der Option "-f" angegeben wird und die Ausgabe
filename gibt ein Bilddateiformat an, der image2-Muxer wird automatisch ausgewählt, also
Der vorherige Befehl kann wie folgt geschrieben werden:

ffmpeg -i in.avi -vsync 1 -r 1 'img-%03d.jpeg'

Beachten Sie auch, dass das Muster nicht unbedingt "%d" oder "%0 ." enthalten mussNd", zum Beispiel zu
eine einzelne Bilddatei erstellen img.jpeg aus dem Eingabevideo können Sie den Befehl verwenden:

ffmpeg -i in.avi -f image2 -frames:v 1 img.jpeg

Das strftime Mit dieser Option können Sie den Dateinamen um Datums- und Uhrzeitinformationen erweitern.
Die Syntax finden Sie in der Dokumentation der Funktion "strftime()".

Um beispielsweise Bilddateien aus dem Muster "strftime()" "%Y-%m-%d_%H-%M-%S" zu generieren,
Folgende ffmpeg Befehl kann verwendet werden:

ffmpeg -f v4l2 -r 1 -i /dev/video0 -f image2 -strftime 1 "%Y-%m-%d_%H-%M-%S.jpg"

Optionen

Startnummer
Starten Sie die Sequenz ab der angegebenen Nummer. Der Standardwert ist 0.

Aktualisierung
Wenn der Wert auf 1 gesetzt ist, wird der Dateiname immer nur als Dateiname und nicht als Dateiname interpretiert
Muster, und die entsprechende Datei wird fortlaufend mit neuen Bildern überschrieben.
Der Standardwert ist 0.

strftime
Wenn auf 1 gesetzt, erweitern Sie den Dateinamen mit Datums- und Uhrzeitinformationen von "strftime()".
Der Standardwert ist 0.

Der Bild-Muxer unterstützt das .YUV-Bilddateiformat. Das Besondere an diesem Format ist das
Jeder Bildrahmen besteht aus drei Dateien für jede der YUV420P-Komponenten. Zum Lesen bzw
Schreiben Sie dieses Bilddateiformat und geben Sie den Namen der „.Y“-Datei an. Der Muxer wird es tun
Öffnen Sie automatisch die '.U'- und '.V'-Dateien nach Bedarf.

Matroska
Matroska Container-Muxer.

Dieser Muxer implementiert die Matroska- und Webm-Containerspezifikationen.

Metadaten

Die erkannten Metadateneinstellungen in diesem Muxer sind:

Titel
Stellen Sie den Titelnamen ein, der einem einzelnen Track zugewiesen wird.

Sprache
Geben Sie die Sprache des Tracks im Formular Matroska-Sprachen an.

Die Sprache kann entweder das bibliographische ISO-3-639 (ISO 2-639/B)-Formular mit 2 Buchstaben sein
(wie „fre“ für Französisch) oder ein Sprachcode gemischt mit einem Ländercode für Spezialitäten
in Sprachen (wie "fre-ca" für kanadisches Französisch).

stereo_modus
Legen Sie ein Stereo-3D-Videolayout für zwei Ansichten in einer einzigen Videospur fest.

Folgende Werte werden erkannt:

Mono
Video ist nicht stereo

links rechts
Beide Ansichten sind nebeneinander angeordnet, die Ansicht für das linke Auge befindet sich links

unten oben
Beide Ansichten sind in der Ausrichtung von oben nach unten angeordnet, die Ansicht für das linke Auge befindet sich unten

oben unten
Beide Ansichten sind in der Ausrichtung von oben nach unten angeordnet, die Ansicht für das linke Auge ist oben

Schachbrett_rl
Jede Ansicht ist in einem schachbrettartig verschachtelten Muster angeordnet, wobei die Ansicht für das linke Auge gilt
zuerst

Schachbrett_lr
Jede Ansicht ist in einem schachbrettartig verschachtelten Muster angeordnet, wobei es sich um die Ansicht für das rechte Auge handelt
zuerst

row_interleaved_rl
Jede Ansicht besteht aus einer zeilenbasierten Verschachtelung, die Ansicht für das rechte Auge ist die erste Zeile

row_interleaved_lr
Jede Ansicht besteht aus einer zeilenbasierten Verschachtelung, die Ansicht für das linke Auge ist die erste Zeile

col_interleaved_rl
Beide Ansichten sind in einer spaltenbasierten Verschachtelung angeordnet, die Ansicht für das rechte Auge ist
erste Spalte

col_interleaved_lr
Beide Ansichten sind in einer spaltenbasierten Verschachtelung angeordnet, die Ansicht für das linke Auge ist
erste Spalte

anaglyph_cyan_rot
Alle Bilder sind im Anaglyphenformat sichtbar durch Rot-Cyan-Filter

rechts links
Beide Ansichten sind nebeneinander angeordnet, die rechte Ansicht ist links

anaglyph_green_magenta
Alle Frames sind im Anaglyphenformat sichtbar durch Grün-Magenta-Filter

block_lr
Beide Augen in einem Block verbunden, die Ansicht mit dem linken Auge ist zuerst

block_rl
Beide Augen in einem Block verbunden, die rechte Augenansicht ist zuerst

Beispielsweise kann ein 3D-WebM-Clip mit der folgenden Befehlszeile erstellt werden:

ffmpeg -i sample_left_right_clip.mpg -an -c:v libvpx -metadata stereo_mode=left_right -y stereo_clip.webm

Optionen

Dieser Muxer unterstützt die folgenden Optionen:

Reserve_Index_Space
Standardmäßig schreibt dieser Muxer den Index für die Suche (in Matroska-Begriffen Cues genannt) unter
am Ende der Datei, da es nicht im Voraus wissen kann, wie viel Platz dafür übrig bleibt
Index am Anfang der Datei. Für einige Anwendungsfälle – z. B. Streaming
Wenn die Suche möglich, aber langsam ist, ist es sinnvoll, den Index an den Anfang zu stellen
der Datei.

Wenn diese Option auf einen Wert ungleich Null gesetzt ist, reserviert der Muxer eine bestimmte Menge an
Platz im Dateikopf und versuchen Sie dann, beim Muxen die Hinweise dort zu schreiben
beendet. Wenn der verfügbare Speicherplatz nicht ausreicht, schlägt das Muxen fehl. Eine sichere Größe für
Die meisten Anwendungsfälle sollten etwa 50 kB pro Stunde Video betragen.

Beachten Sie, dass Cues nur geschrieben werden, wenn die Ausgabe durchsuchbar ist und diese Option keine
Wirkung, wenn nicht.

md5
MD5-Testformat.

Dieser Muxer berechnet und druckt den MD5-Hash aller eingegebenen Audio- und Videoframes. Von
Standard-Audioframes werden in signiertes 16-Bit-Rohaudio und Videoframes in Rohformat konvertiert
Video, bevor Sie den Hash berechnen.

Die Ausgabe des Muxers besteht aus einer einzelnen Zeile der Form: MD5=MD5, Wobei MD5 ist eine
Hexadezimalzahl, die den berechneten MD5-Hash darstellt.

Zum Beispiel, um den MD5-Hash der in Rohaudio und -video konvertierten Eingabe zu berechnen, und
in der Datei speichern aus.md5:

ffmpeg -i EINGANG -f md5 out.md5

Sie können das MD5 mit dem Befehl auf stdout drucken:

ffmpeg -i EINGANG -f md5 -

Siehe auch die Framemd5 Muxer.

bewegen, mp4, ismv
MOV/MP4/ISMV-Muxer (Smooth Streaming).

Der Muxer mov/mp4/ismv unterstützt die Fragmentierung. Normalerweise enthält eine MOV/MP4-Datei alle
Metadaten zu allen Paketen, die an einem Ort gespeichert sind (am Ende der Datei geschrieben, kann es
durch Hinzufügen an den Anfang verschoben werden, um eine bessere Wiedergabe zu ermöglichen schneller Start zu den Bewegungsflagsoder mit
qt-faststart Werkzeug). Eine fragmentierte Datei besteht aus einer Reihe von Fragmenten, wobei Pakete
und Metadaten zu diesen Paketen werden zusammen gespeichert. Das Schreiben einer fragmentierten Datei hat die
Vorteil, dass die Datei auch dann dekodierbar ist, wenn der Schreibvorgang unterbrochen wird (während ein normaler
MOV/MP4 ist nicht dekodierbar, wenn es nicht richtig fertig ist) und benötigt weniger Speicher, wenn
Schreiben von sehr langen Dateien (da das Schreiben von normalen MOV/MP4-Dateien Informationen zu jedem einzelnen speichert
Paket im Speicher, bis die Datei geschlossen wird). Der Nachteil ist, dass es weniger kompatibel ist
mit anderen Anwendungen.

Optionen

Die Fragmentierung wird aktiviert, indem eine der AVOptions eingestellt wird, die das Schneiden der Datei definiert
in Fragmente:

-moov_size Bytes
Reserviert Platz für das moov-Atom am Anfang der Datei, anstatt das
moov-Atom am Ende. Wenn der reservierte Platz nicht ausreicht, schlägt das Muxen fehl.

-Movflags frag_keyframe
Starten Sie bei jedem Video-Keyframe ein neues Fragment.

-frag_duration Dauer
Erstellen Sie Fragmente, die Dauer Mikrosekunden lang.

-frag_size Größe
Fragmente erstellen, die bis zu . enthalten Größe Byte Nutzdaten.

-Movflags frag_benutzerdefiniert
Ermöglichen Sie dem Anrufer, manuell auszuwählen, wann Fragmente geschnitten werden sollen, indem Sie ihn anrufen
„av_write_frame(ctx, NULL)“, um ein Fragment mit den bisher geschriebenen Paketen zu schreiben. (Das
ist nur mit anderen Anwendungen nützlich, die libavformat integrieren, nicht mit ffmpeg.)

-min_frag_duration Dauer
Erstellen Sie keine Fragmente, die kürzer sind als Dauer Mikrosekunden lang.

Wenn mehr als eine Bedingung angegeben ist, werden Fragmente geschnitten, wenn eine der angegebenen Bedingungen erfüllt ist
Bedingungen erfüllt ist. Die Ausnahme hiervon ist "-min_frag_duration", die sein muss
erfüllt sind, damit alle anderen Bedingungen zutreffen.

Darüber hinaus kann die Schreibweise der Ausgabedatei durch einige andere Einstellungen angepasst werden
Optionen:

-Movflags leer_moov
Schreiben Sie ein erstes moov-Atom direkt an den Anfang der Datei, ohne eines zu beschreiben
Proben darin. Im Allgemeinen wird ein mdat/moov-Paar am Anfang der Datei geschrieben, als a
normale MOV/MP4-Datei, die nur einen kurzen Teil der Datei enthält. Mit dieser Option
Set gibt es kein anfängliches mdat-Atom und das moov-Atom beschreibt nur die Spuren, aber
hat eine Null-Dauer.

Diese Option wird beim Schreiben von ismv-Dateien (Smooth Streaming) implizit festgelegt.

-Movflags separate_moof
Schreiben Sie für jeden Track ein separates Moof-Atom (Filmfragment). Normalerweise Pakete für alle
Tracks werden in einem Moof-Atom geschrieben (was etwas effizienter ist), aber mit diesem
Option gesetzt, schreibt der Muxer ein moof/mdat-Paar für jede Spur, was die
getrennte Spuren.

Diese Option wird beim Schreiben von ismv-Dateien (Smooth Streaming) implizit festgelegt.

-Movflags schneller Start
Führen Sie einen zweiten Durchgang durch, indem Sie den Index (moov atom) an den Anfang der Datei verschieben. Dies
Der Vorgang kann eine Weile dauern und funktioniert in verschiedenen Situationen nicht, z
Ausgabe, daher ist sie standardmäßig nicht aktiviert.

-Movflags rtphint
Fügen Sie RTP-Hinweisspuren zur Ausgabedatei hinzu.

-Movflags deaktivieren_chpl
Deaktivieren Sie die Nero-Kapitelmarkierungen (chpl-Atom). Normalerweise sind sowohl Nero-Kapitel als auch a
QuickTime-Kapitelspuren werden in die Datei geschrieben. Wenn diese Option eingestellt ist, werden nur die
Die QuickTime-Kapitelspur wird geschrieben. Nero-Kapitel können zu Fehlern führen, wenn die
Die Datei wird mit bestimmten Tagging-Programmen wie mp3Tag 2.61a und iTunes 11.3 erneut verarbeitet.
höchstwahrscheinlich sind auch andere Versionen betroffen.

-Movflags weglassen_tfhd_offset
Schreiben Sie keinen absoluten base_data_offset in tfhd-Atome. Dies vermeidet das Zusammenbinden von Fragmenten
auf absolute Byte-Positionen in der Datei/den Streams.

-Movflags default_base_moof
Ähnlich wie bei omit_tfhd_offset vermeidet dieses Flag das Schreiben des absoluten
base_data_offset-Feld in tfhd-Atomen, jedoch unter Verwendung des neuen default-base-is-
stattdessen eine Moof-Flagge. Diese Flagge ist neu von 14496-12:2012. Dadurch können Fragmente entstehen
unter bestimmten Umständen einfacher zu analysieren (Vermeidung der Positionierung von Trackfragmenten auf Basis).
Berechnungen am impliziten Ende des vorherigen Spurfragments).

Beispiel

Damit können Smooth Streaming-Inhalte in Echtzeit an einen Veröffentlichungspunkt auf IIS übertragen werden
muxer. Beispiel:

ffmpeg -re < > -movflags isml+frag_keyframe -f ismv http://server/publishingpoint.isml/Streams(Geber1)

Audible AAX

Audible AAX-Dateien sind verschlüsselte M4B-Dateien und können durch Angabe eines 4 . entschlüsselt werden
Byte-Aktivierungsgeheimnis.

ffmpeg -activation_bytes 1CEB00DA -i test.aax -vn -c:a Ausgabe.mp4 kopieren

mp3
Der MP3-Muxer schreibt einen rohen MP3-Stream mit den folgenden optionalen Funktionen:

· Ein ID3v2-Metadaten-Header am Anfang (standardmäßig aktiviert). Versionen 2.3 und 2.4
unterstützt werden, steuert die private Option "id3v2_version", welche verwendet wird (3 oder 4).
Wenn Sie „id3v2_version“ auf 0 setzen, wird der ID3v2-Header vollständig deaktiviert.

Der Muxer unterstützt das Schreiben angehängter Bilder (APIC-Frames) in den ID3v2-Header. Der
Bilder werden dem Muxer in Form eines Videostreams mit einem einzigen Paket zugeführt.
Es kann eine beliebige Anzahl dieser Streams geben, jeder entspricht einem einzelnen APIC-Frame.
Die Stream-Metadaten-Tags Titel und Kommentar Karte zu APIC Beschreibung und ein Bild tippe
bzw. Sehenhttp://id3.org/id3v2.4.0-frames> für erlaubte Bildtypen.

Beachten Sie, dass die APIC-Frames am Anfang geschrieben werden müssen, damit der Muxer puffert
die Audio-Frames, bis alle Bilder vorliegen. Es wird daher empfohlen, diese bereitzustellen
Laden Sie die Bilder so schnell wie möglich herunter, um eine übermäßige Pufferung zu vermeiden.

· Ein Xing/LAME-Frame direkt nach dem ID3v2-Header (falls vorhanden). Es ist standardmäßig aktiviert,
wird aber nur geschrieben, wenn die Ausgabe suchbar ist. Die private Option „write_xing“.
kann verwendet werden, um es zu deaktivieren. Der Rahmen enthält verschiedene Informationen, die nützlich sein können
an den Decoder, wie die Audiodauer oder die Encoderverzögerung.

· Ein Legacy-ID3v1-Tag am Ende der Datei (standardmäßig deaktiviert). Es kann aktiviert sein
mit der privaten Option "write_id3v1", aber da ihre Fähigkeiten sehr begrenzt sind, ist es
Verwendung wird nicht empfohlen.

Beispiele:

Schreiben Sie eine MP3-Datei mit einer ID3v2.3-Kopfzeile und einer ID3v1-Fußzeile:

ffmpeg -i INPUT -id3v2_version 3 -write_id3v1 1 aus.mp3

Um ein Bild an eine mp3-Datei anzuhängen, wählen Sie sowohl den Audio- als auch den Bildstream mit
"Karte":

ffmpeg -i input.mp3 -i cover.png -c kopieren -map 0 -map 1
-metadata:s:v title="Album-Cover" -metadata:s:v comment="Cover (Vorderseite)" out.mp3

Schreiben Sie eine "saubere" MP3 ohne zusätzliche Funktionen:

ffmpeg -i input.wav -write_xing 0 -id3v2_version 0 out.mp3

mpegs
MPEG-Transportstrom-Muxer.

Dieser Muxer implementiert ISO 13818-1 und ist Teil von ETSI EN 300 468.

Die anerkannten Metadateneinstellungen in mpegts Muxer sind "service_provider" und
"Dienstname". Wenn sie nicht festgelegt sind, ist die Standardeinstellung für "service_provider" "FFmpeg" und die
Standard für "service_name" ist "Service01".

Optionen

Die Muxer-Optionen sind:

-mpegts_original_network_id Anzahl
Legen Sie die original_network_id fest (Standard 0x0001). Dies ist eine eindeutige Kennung eines Netzwerks
im DVB-T. Seine Hauptverwendung liegt in der eindeutigen Identifizierung eines Dienstes durch den Pfad
Original_Network_ID, Transport_Stream_ID.

-mpegts_transport_stream_id Anzahl
Legen Sie die transport_stream_id fest (Standard 0x0001). Dies identifiziert einen Transponder in DVB.

-mpegts_service_id Anzahl
Legen Sie die service_id (Standard 0x0001) fest, die in DVB auch als Programm bezeichnet wird.

-mpegts_service_type Anzahl
Setzen Sie das Programm service_type (Standard Digitales Fernsehen), siehe unten eine Liste der vordefinierten
Werte.

-mpegts_pmt_start_pid Anzahl
Legen Sie die erste PID für PMT fest (Standard 0x1000, max. 0x1f00).

-mpegts_start_pid Anzahl
Legen Sie die erste PID für Datenpakete fest (Standard 0x0100, max. 0x0f00).

-mpegts_m2ts_mode Anzahl
Aktivieren Sie den m2ts-Modus, wenn er auf 1 gesetzt ist. Der Standardwert ist -1, wodurch der m2ts-Modus deaktiviert wird.

-Muxrate Anzahl
Stellen Sie eine konstante Muxrate ein (Standard-VBR).

-pcr_period nummer
Überschreiben Sie die Standard-PCR-Neuübertragungszeit (Standard 20 ms), wird ignoriert, wenn variabel
muxrate ausgewählt ist.

pat_periode Anzahl
Maximale Zeit in Sekunden zwischen PAT/PMT-Tabellen.

sdt_period Anzahl
Maximale Zeit in Sekunden zwischen SDT-Tabellen.

-pes_payload_size Anzahl
Legen Sie die minimale PES-Paketnutzlast in Byte fest.

-mpegts_flags Fahnen
Setzen Sie Flags (siehe unten).

-mpegts_copyts Anzahl
Behalten Sie die ursprünglichen Zeitstempel bei, wenn der Wert auf 1 gesetzt ist. Der Standardwert ist -1, was dazu führt, dass
beim Verschieben von Zeitstempeln, sodass sie bei 0 beginnen.

-tables_version Anzahl
Stellen Sie die PAT-, PMT- und SDT-Version ein (Standard 0, gültige Werte sind von 0 bis einschließlich 31).
Mit dieser Option können Sie die Stream-Struktur aktualisieren, damit der Standardverbraucher sie erkennen kann
Veränderung. Öffnen Sie dazu die Ausgabe AVFormatContext (bei API-Nutzung) erneut oder starten Sie sie neu
ffmpeg-Instanz, zyklisch ändernder Wert von tables_version:

ffmpeg -i source1.ts -codec copy -f mpegts -tables_version 0 udp://1.1.1.1:1111
ffmpeg -i source2.ts -codec copy -f mpegts -tables_version 1 udp://1.1.1.1:1111
...
ffmpeg -i source3.ts -codec copy -f mpegts -tables_version 31 udp://1.1.1.1:1111
ffmpeg -i source1.ts -codec copy -f mpegts -tables_version 0 udp://1.1.1.1:1111
ffmpeg -i source2.ts -codec copy -f mpegts -tables_version 1 udp://1.1.1.1:1111
...

Die Option mpegts_service_type akzeptiert die folgenden Werte:

Hex_Wert
Jeder hexadezimale Wert zwischen 0x01 und 0xff, wie in ETSI 300 468 definiert.

Digitales Fernsehen
Digitaler TV-Dienst.

digitales Radio
Digitaler Radiodienst.

Videotext
Teletext-Dienst.

advanced_codec_digital_radio
Erweiterter Codec-Digitalradio-Dienst.

mpeg2_digital_hdtv
MPEG2 Digitaler HDTV-Dienst.

advanced_codec_digital_sdtv
Erweiterter Codec-Digital-SDTV-Dienst.

advanced_codec_digital_hdtv
Erweiterter Codec-Digital-HDTV-Dienst.

Die Option mpegts_flags kann einen Satz solcher Flags annehmen:

resend_headers
Senden Sie PAT/PMT erneut, bevor Sie das nächste Paket schreiben.

lat
Verwenden Sie die LATM-Paketierung für AAC.

pat_pmt_at_frames
Senden Sie PAT und PMT bei jedem Videobild erneut aus.

Beispiel

ffmpeg -i Datei.mpg -c kopieren \
-mpegts_original_network_id 0x1122 \
-mpegts_transport_stream_id 0x3344 \
-mpegts_service_id 0x5566 \
-mpegts_pmt_start_pid 0x1500 \
-mpegts_start_pid 0x150 \
-metadata service_provider="Einige Anbieter" \
-metadata service_name="Einige Kanäle" \
-y aus.ts

mxf, mxf_d10
MXF-Muxer.

Optionen

Die Muxer-Optionen sind:

store_user_comments bool
Legen Sie fest, ob Benutzerkommentare gespeichert werden sollen, falls verfügbar oder nie. IRT D-10 erlaubt nicht
Benutzerkommentare. Standardmäßig werden sie daher für mxf geschrieben, nicht jedoch für mxf_d10

null
Null-Muxer.

Dieser Muxer generiert keine Ausgabedatei, er ist hauptsächlich zum Testen oder zum Testen nützlich
Benchmarking-Zwecke.

Zum Beispiel zum Benchmarken der Dekodierung mit ffmpeg Sie können den Befehl verwenden:

ffmpeg -benchmark -i INPUT -f null out.null

Beachten Sie, dass der obige Befehl die aus.null Datei, aber unter Angabe der
Ausgabedatei wird von der ffmpeg Syntax.

Alternativ können Sie den Befehl schreiben als:

ffmpeg -benchmark -i EINGANG -f null -

Nuss
-Synchronisationspunkte Fahnen
Ändern Sie die Syncpoint-Nutzung in Nut:

Standard - normal geringer Overhead auf der Suche nach Aids.
keine do nicht - Synchronisationspunkte at alle, Reduzierung oben aber Herstellung Strom
nicht suchbar;
Die Verwendung dieser Option wird nicht empfohlen, da die resultierenden Dateien sehr beschädigt sind
sensibel und suchend ist nicht möglich. Auch im Allgemeinen der Overhead von
Syncpoints ist vernachlässigbar. Hinweis: -C 0 kann zum Deaktivieren verwendet werden
alle wachsenden Datentabellen, die es ermöglichen, endlose Streams mit begrenztem Speicher zu muxen
und ohne diese Nachteile.

Zeitstempel erweitern Synchronisationspunkt mit a Wanduhr Feld.

Das keine und Zeitstempel Flaggen sind experimentell.

-write_index bool
Index am Ende schreiben, standardmäßig wird ein Index geschrieben.

ffmpeg -i INPUT -f_strict experimentell -syncpoints keine - | Prozessor

ogg
Ogg-Container-Muxer.

-page_duration Dauer
Bevorzugte Seitendauer in Mikrosekunden. Der Muxer versucht, Seiten zu erstellen, die
sind ungefähr Dauer Mikrosekunden lang. Dies ermöglicht dem Benutzer, Kompromisse einzugehen
zwischen Suchgranularität und Container-Overhead. Der Standardwert ist 1 Sekunde. Ein Wert von 0
füllt alle Segmente und macht die Seiten so groß wie möglich. Ein Wert von 1 wird
Verwenden Sie in den meisten Situationen effektiv 1 Paket pro Seite, was eine kleine Suchgranularität ergibt
auf Kosten des zusätzlichen Container-Overheads.

-serial_offset Wert
Seriennummer, von der aus die Seriennummer des Streams festgelegt werden soll. Stellen Sie es auf andere ein und
ausreichend große Werte sorgen dafür, dass die erzeugten ogg-Dateien sicher verkettet werden können.

Segment, stream_segment, Segment
Grundlegender Stream-Segmentierer.

Dieser Muxer gibt Streams in eine Reihe separater Dateien mit nahezu fester Dauer aus. Ausgang
Das Dateinamenmuster kann auf ähnliche Weise wie festgelegt werden image2, oder mit "strftime"
Vorlage, wenn die strftime Option ist aktiviert.

"stream_segment" ist eine Variante des Muxers, der zum Schreiben in Streaming-Ausgabeformate verwendet wird, dh
die keine globalen Header erfordern und für die Ausgabe z. B. nach MPEG empfohlen werden
Transportstromsegmente. „ssegment“ ist ein kürzerer Alias ​​für „stream_segment“.

Jedes Segment beginnt mit einem Keyframe des ausgewählten Referenzstreams, der gesetzt wird
durch das Referenzstrom .

Beachten Sie, dass Sie, wenn Sie eine genaue Aufteilung für eine Videodatei wünschen, den Eingabeschlüssel
Frames entsprechen genau den Teilungszeiten, die vom Segmentierer oder vom Segment erwartet werden
Muxer startet das neue Segment mit dem Schlüsselbild, das als nächstes nach dem angegebenen Start gefunden wurde
Zeit.

Der Segment-Muxer funktioniert am besten mit einem einzelnen Video mit konstanter Bildrate.

Optional kann eine Liste der erstellten Segmente generiert werden, indem die Option gesetzt wird
segment_liste. Der Listentyp wird durch die segment_list_type Möglichkeit. Der Eintritt
Dateinamen in der Segmentliste werden standardmäßig auf den Basisnamen des entsprechenden
Segmentdateien.

Siehe auch die hls Muxer, der eine spezifischere Implementierung für HLS bereitstellt
Segmentierung.

Optionen

Der Segment-Muxer unterstützt die folgenden Optionen:

Referenzstrom Bezeichner
Legen Sie den Referenzstream fest, wie durch die Zeichenfolge angegeben Bezeichner. Wenn Bezeichner eingestellt ist
auf "auto" wird die Referenz automatisch gewählt. Sonst muss es ein Stream sein
specifier (siehe das Kapitel ``Stream specifiers'' im ffmpeg-Handbuch), der spezifiziert
der Referenzstrom. Der Standardwert ist "auto".

segment_format Format
Überschreiben Sie das innere Containerformat. Standardmäßig wird es anhand des Dateinamens erraten
Erweiterung.

segment_format_options Optionen_Liste
Legen Sie Ausgabeformatoptionen mithilfe einer :-getrennten Liste von Schlüssel=Wert-Parametern fest. Werte
das das Sonderzeichen ":" enthält, muss mit Escapezeichen versehen werden.

segment_liste Name
Generiere auch eine Listendatei namens Name. Wenn nicht angegeben, wird keine Listendatei generiert.

segment_list_flags Fahnen
Setzen Sie Flags, die sich auf die Generierung von Segmentlisten auswirken.

Es unterstützt derzeit die folgenden Flags:

Cache-Speicher
Caching zulassen (betrifft nur M3U8-Listendateien).

leben
Ermöglichen Sie eine live-freundliche Dateigenerierung.

segment_list_size Größe
Aktualisieren Sie die Listendatei, sodass sie höchstens enthält Größe Segmente. Wenn 0 die Listendatei
enthält alle Segmente. Der Standardwert ist 0.

segment_list_entry_prefix Präfix
Vorbereiten Präfix zu jedem Eintrag. Nützlich, um absolute Pfade zu generieren. Standardmäßig kein Präfix
wird angewandt.

segment_list_type tippe
Wählen Sie das Listenformat aus.

Folgende Werte werden erkannt:

Wohnung
Generieren Sie eine flache Liste für die erstellten Segmente, ein Segment pro Zeile.

csv-, ext
Erstellen Sie eine Liste für die erstellten Segmente, ein Segment pro Zeile, wobei jede Zeile übereinstimmt
das Format (durch Kommas getrennte Werte):

, ,

segment_dateiname ist der Name der vom Muxer erzeugten Ausgabedatei gemäß
nach dem bereitgestellten Muster. CSV-Escape-Funktion (gemäß RFC4180) wird angewendet, wenn
erforderlich.

segment_start_time und segment_end_time Geben Sie die Start- und Endzeit des Segments an
in Sekunden ausgedrückt.

Eine Listendatei mit dem Suffix „.csv“ oder „.ext“ wählt dieses Format automatisch aus.

ext wird abgelehnt oder csv.

ffkonkat
Generieren Sie eine ffconcat-Datei für die erstellten Segmente. Die resultierende Datei kann gelesen werden
mit dem FFmpeg concat Demuxer.

Eine Listendatei mit dem Suffix „.ffcat“ oder „.ffconcat“ wählt dieses Format automatisch aus.

m3u8
Generieren Sie eine erweiterte M3U8-Datei, Version 3, konform mit
<http://tools.ietf.org/id/draft-pantos-http-live-streaming>.

Eine Listendatei mit dem Suffix „.m3u8“ wählt dieses Format automatisch aus.

Wenn nicht angegeben, wird der Typ aus dem Listendateinamensuffix erraten.

segment_time Zeit
Segmentdauer auf setzen Zeit, muss der Wert eine Dauerangabe sein. Standard
Wert ist "2". Siehe auch die segment_times .

Beachten Sie, dass die Aufteilung möglicherweise nicht genau ist, es sei denn, Sie erzwingen den Referenz-Stream-Schlüssel-
Rahmen zur angegebenen Zeit. Siehe die Einführung und die Beispiele unten.

segment_atclocktime 1 | 0
Bei Einstellung „1“ erfolgt die Aufteilung in regelmäßigen Zeitintervallen ab 00:00 Uhr. Der
Zeit Wert angegeben in segment_time dient zur Einstellung der Spaltlänge
Intervall.

Zum Beispiel mit segment_time auf "900" eingestellt ermöglicht dies das Erstellen von Dateien unter
12:00 Uhr, 12:15, 12:30 usw.

Der Standardwert ist "0".

segment_time_delta Delta
Geben Sie die Genauigkeitszeit bei der Auswahl der Startzeit für ein Segment an, ausgedrückt als a
Angabe der Dauer. Der Standardwert ist "0".

Wenn Delta angegeben ist, startet ein Schlüsselbild ein neues Segment, wenn sein PTS die Anforderungen erfüllt
Beziehung:

PTS >= start_time - time_delta

Diese Option ist nützlich, wenn Sie Videoinhalte aufteilen, die immer nach GOP aufgeteilt werden
Grenzen, falls ein Keyframe kurz vor der angegebenen Split-Zeit gefunden wird.

Kann insbesondere in Kombination mit dem ffmpeg zu erhalten force_key_framesdem „Vermischten Geschmack“. Seine
Keyframe-Zeiten angegeben durch force_key_frames möglicherweise nicht genau eingestellt, weil
Rundungsprobleme, mit der Folge, dass eine Schlüsselbildzeit kurz vor dem
die angegebene Zeit. Für Videos mit konstanter Bildrate ein Wert von 1/(2*Bildrate) sollte
Beheben Sie die Worst-Case-Nichtübereinstimmung zwischen der angegebenen Zeit und der von eingestellten Zeit
force_key_frames.

segment_times mal
Geben Sie eine Liste von Splitpunkten an. mal enthält eine Liste der durch Kommas getrennten Dauer
Spezifikationen, in aufsteigender Reihenfolge. Siehe auch die segment_time .

segment_frames Rahmen
Geben Sie eine Liste mit geteilten Videobildnummern an. Rahmen enthält eine durch Kommas getrennte Liste
ganze Zahlen in aufsteigender Reihenfolge.

Diese Option legt fest, dass ein neues Segment immer dann gestartet wird, wenn ein Referenz-Stream-Keyframe
gefunden und die fortlaufende Nummer (beginnend mit 0) des Frames ist größer oder gleich
der nächste Wert in der Liste.

segment_wrap begrenzen
Segmentindex umbrechen, sobald er erreicht ist begrenzen.

segment_start_number Anzahl
Legen Sie die Sequenznummer des ersten Segments fest. Standardmäßig auf 0.

strftime 1 | 0
Verwenden Sie die Funktion "strftime", um den Namen der neu zu schreibenden Segmente zu definieren. Wenn das
ausgewählt ist, muss der Ausgabesegmentname eine „strftime“-Funktionsvorlage enthalten.
Der Standardwert ist 0.

break_non_keyframes 1 | 0
Wenn diese Option aktiviert ist, lassen Sie zu, dass Segmente auf anderen Frames als Keyframes beginnen. Das verbessert sich
Verhalten bei einigen Playern, wenn die Zeit zwischen Keyframes inkonsistent ist, kann aber zu Problemen führen
bei anderen schlimmer und kann beim Suchen einige Merkwürdigkeiten verursachen. Standardmäßig auf 0.

reset_timestamps 1 | 0
Setzen Sie die Zeitstempel zu Beginn jedes Segments zurück, sodass jedes Segment mit beginnt
Zeitstempel nahe Null. Es soll die Wiedergabe der generierten Segmente erleichtern. Dürfen
funktioniert nicht mit einigen Kombinationen von Muxern/Codecs. Es ist standardmäßig auf 0 gesetzt.

initial_offset Offset
Geben Sie den Zeitstempel-Offset an, der auf die Zeitstempel der Ausgabepakete angewendet werden soll. Das Argument muss
eine Zeitdauerangabe sein, und der Standardwert ist 0.

Beispiele

· Remuxen Sie den Inhalt der Datei in.mkv zu einer Liste von Segmenten out-000.nut, out-001.nutUsw.
und schreibe die Liste der generierten Segmente nach aus.liste:

ffmpeg -i in.mkv -codec copy -map 0 -f segment -segment_list out.list out%03d.nut

· Segment-Input- und Set-Output-Format-Optionen für die Ausgabesegmente:

ffmpeg -i in.mkv -f segment -segment_time 10 -segment_format_options movflags=+faststart out%03d.mp4

· Segmentieren Sie die Eingabedatei gemäß den von der segment_times
Option:

ffmpeg -i in.mkv -codec kopieren -map 0 -f segment -segment_list out.csv -segment_times 1,2,3,5,8,13,21 out%03d.nut

· Verwenden Sie die ffmpeg force_key_frames Option, um Keyframes in der Eingabe zu erzwingen
angegebener Ort, zusammen mit der Segmentoption segment_time_delta Rechenschaft ablegen
mögliche Rundungen beim Einstellen von Keyframe-Zeiten.

ffmpeg -i in.mkv -force_key_frames 1,2,3,5,8,13,21 -codec:v mpeg4 -codec:a pcm_s16le -map 0 \
-f segment -segment_list out.csv -segment_times 1,2,3,5,8,13,21 -segment_time_delta 0.05 out%03d.nut

Um Schlüsselbilder in der Eingabedatei zu erzwingen, ist eine Transkodierung erforderlich.

· Segmentieren Sie die Eingabedatei, indem Sie die Eingabedatei entsprechend den Bildnummern aufteilen
Reihenfolge angegeben mit dem segment_frames Option:

ffmpeg -i in.mkv -codec copy -map 0 -f segment -segment_list out.csv -segment_frames 100,200,300,500,800 out%03d.nut

· Konvertieren Sie die in.mkv zu TS-Segmenten mit den Encodern "libx264" und "libfaac":

ffmpeg -i in.mkv -map 0 -codec:v libx264 -codec:a libfaac -f ssegment -segment_list out.list out%03d.ts

· Segmentieren Sie die Eingabedatei und erstellen Sie eine M3U8-Live-Wiedergabeliste (kann als Live-HLS verwendet werden)
Quelle):

ffmpeg -re -i in.mkv -codec kopieren -map 0 -f Segment -segment_list playlist.m3u8 \
-segment_list_flags +live -segment_time 10 out%03d.mkv

reibungsloses Streaming
Smooth Streaming Muxer generiert eine Reihe von Dateien (Manifest, Chunks), die für die Bereitstellung geeignet sind
mit herkömmlichem Webserver.

Fenstergröße
Geben Sie die Anzahl der Fragmente an, die im Manifest aufbewahrt werden. Standard 0 (alle behalten).

extra_window_size
Geben Sie die Anzahl der Fragmente an, die außerhalb des Manifests aufbewahrt werden, bevor Sie sie aus . entfernen
Scheibe. Vorgabe 5.

lookahead_count
Geben Sie die Anzahl der Lookahead-Fragmente an. Vorgabe 2.

min_frag_duration
Geben Sie die minimale Fragmentdauer (in Mikrosekunden) an. Standard 5000000.

Remove_at_exit
Geben Sie an, ob alle Fragmente entfernt werden sollen, wenn Sie fertig sind. Standard 0 (nicht entfernen).

Abschlag
Der Tee Muxer kann verwendet werden, um die gleichen Daten in mehrere Dateien zu schreiben oder jede andere Art von
muxer. Es kann beispielsweise verwendet werden, um ein Video sowohl ins Netzwerk zu streamen als auch zu speichern
Festplatte gleichzeitig.

Es unterscheidet sich von der Angabe mehrerer Ausgänge an die ffmpeg Befehlszeilentool, weil
die Audio- und Videodaten werden mit dem Tee-Muxer nur einmal kodiert; Kodierung kann ein sein
sehr teurer Prozess. Dies ist nicht sinnvoll, wenn die libavformat-API direkt verwendet wird, weil
es ist dann möglich, die gleichen Pakete direkt mehreren Muxern zuzuführen.

Die Slave-Ausgänge werden im Dateinamen angegeben, der dem Muxer gegeben wird, getrennt durch „|“. Wenn
Jeder der Slave-Namen enthält das '|' Trennzeichen, führende oder nachgestellte Leerzeichen oder beliebige
Sonderzeichen, es muss mit Escapezeichen versehen werden (siehe "Zitieren und Flucht" Abschnitt in
ffmpeg-utils(1) manuell).

Muxer-Optionen können für jeden Slave angegeben werden, indem ihnen eine Liste von . vorangestellt wird Schlüssel=Wert
Paare getrennt durch „:“, in eckigen Klammern. Wenn die Optionswerte ein Sonderzeichen enthalten
Zeichen oder das Trennzeichen ':' müssen sie mit Escapezeichen versehen werden; Beachten Sie, dass dies eine zweite Ebene ist
entkommen.

Außerdem werden folgende Sonderoptionen anerkannt:

f Geben Sie den Formatnamen an. Nützlich, wenn es anhand des Suffixes des Ausgabenamens nicht erraten werden kann.

bsfs[/spec]
Geben Sie eine Liste von Bitstream-Filtern an, die auf die angegebene Ausgabe angewendet werden sollen.

Es ist möglich, anzugeben, auf welche Streams ein bestimmter Bitstream-Filter angewendet wird
Anhängen eines Stream-Bezeichners an die Option, getrennt durch "/". spec muss ein Stream sein
Bezeichner (siehe Format Strom Bezeichner). Wenn der Streamspezifizierer nicht angegeben ist,
die Bitstream-Filter werden auf alle Streams in der Ausgabe angewendet.

Es können mehrere Bitstromfilter angegeben werden, getrennt durch ",".

wählen
Wählen Sie die Streams aus, die dem Slave-Ausgang zugeordnet werden sollen, angegeben durch einen Stream
Spezifizierer. Wenn nicht angegeben, werden standardmäßig alle Eingabestreams verwendet.

Beispiele

· Kodieren Sie etwas und archivieren Sie es in einer WebM-Datei und streamen Sie es als MPEG-TS über UDP
(die Streams müssen explizit zugeordnet werden):

ffmpeg -i ... -c:v libx264 -c:a mp2 -f tee -map 0:v -map 0:a
"archive-20121107.mkv|[f=mpegts]udp://10.0.1.255:1234/"

· Verwenden ffmpeg um die Eingabe zu kodieren und die Ausgabe an drei verschiedene Ziele zu senden.
Der Bitstream-Filter "dump_extra" wird verwendet, um allen
Gibt Video-Keyframes-Pakete aus, wie vom MPEG-TS-Format gefordert. Die Auswahloption
wird angewendet auf aus.aac damit es nur Audiopakete enthält.

ffmpeg -i ... -map 0 -flags +global_header -c:v libx264 -c:a aac -strict experimentell
-f tee „[bsfs/v=dump_extra]out.ts|[movflags=+faststart]out.mp4|[select=a]out.aac“

· Wie unten, aber wählen Sie nur Stream "a:1" für die Audioausgabe. Beachten Sie, dass eine zweite Ebene
Es muss ein Escaping durchgeführt werden, da ":" ein Sonderzeichen ist, das verwendet wird, um Optionen zu trennen.

ffmpeg -i ... -map 0 -flags +global_header -c:v libx264 -c:a aac -strict experimentell
-f tee "[bsfs/v=dump_extra]out.ts|[movflags=+faststart]out.mp4|[select=\'a:1\']out.aac"

Hinweis: Einige Codecs benötigen möglicherweise je nach Ausgabeformat unterschiedliche Optionen; das Auto-
Die Erkennung dieses Problems kann mit dem Tee-Muxer nicht funktionieren. Das Hauptbeispiel ist das global_header
Flagge.

webm_dash_manifest
WebM DASH Manifest-Muxer.

Dieser Muxer implementiert die WebM-DASH-Manifest-Spezifikation, um das DASH-Manifest zu generieren
XML. Es unterstützt auch die Manifestgenerierung für DASH-Livestreams.

Für weitere Informationen siehe:

· WebM DASH-Spezifikation:
<https://sites.google.com/a/webmproject.org/wiki/adaptive-streaming/webm-dash-specification>

· ISO DASH-Spezifikation:
<http://standards.iso.org/ittf/PubliclyAvailableStandards/c065274_ISO_IEC_23009-1_2014.zip>

Optionen

Dieser Muxer unterstützt die folgenden Optionen:

Anpassungssätze
Diese Option hat die folgende Syntax: „id=x,streams=a,b,c id=y,streams=d,e“, wobei x
und y die eindeutigen Kennungen der Anpassungssätze sind und a,b,c,d und e die
Indizes der entsprechenden Audio- und Videostreams. Beliebig viele Adaptionssätze
können mit dieser Option hinzugefügt werden.

leben
Setzen Sie dies auf 1, um ein Live-Stream-DASH-Manifest zu erstellen. Standard: 0.

chunk_start_index
Startindex des ersten Chunks. Das geht in die Startnummer Attribut des
Segmentvorlage Element im Manifest. Standard: 0.

chunk_duration_ms
Dauer jedes Chunks in Millisekunden. Das geht in die Dauer Attribut des
Segmentvorlage Element im Manifest. Standard: 1000.

utc_timing_url
URL der Seite, die den UTC-Zeitstempel im ISO-Format zurückgibt. Das geht in die
Wert Attribut des UTC-Zeit Element im Manifest. Standard: Keine.

time_shift_buffer_ Depth
Kleinster Zeitverschiebungspuffer (in Sekunden), für den eine Darstellung garantiert ist
zu Verfügung stehen. Das geht in die timeShiftBufferDepth Attribut des MPD
Element. Standard: 60.

minimaler_Update_Zeitraum
Mindestaktualisierungszeit (in Sekunden) des Manifests. Das geht in die
MinimumUpdatePeriode Attribut des MPD Element. Standard: 0.

Beispiel

ffmpeg -f webm_dash_manifest -i video1.webm \
-f webm_dash_manifest -i video2.webm \
-f webm_dash_manifest -i audio1.webm \
-f webm_dash_manifest -i audio2.webm \
-Karte 0 -Karte 1 -Karte 2 -Karte 3 \
-c kopieren \
-f webm_dash_manifest \
-adaptation_sets "id=0,streams=0,1 id=1,streams=2,3" \
manifest.xml

webm_chunk
WebM Live-Chunk-Muxer.

Dieser Muxer schreibt WebM-Header und -Chunks als separate Dateien, die von konsumiert werden können
Clients, die WebM-Live-Streams über DASH unterstützen.

Optionen

Dieser Muxer unterstützt die folgenden Optionen:

chunk_start_index
Index des ersten Chunks (standardmäßig 0).

Kopfzeile
Dateiname des Headers, in den die Initialisierungsdaten geschrieben werden.

audio_chunk_duration
Dauer jedes Audio-Chunks in Millisekunden (standardmäßig 5000).

Beispiel

ffmpeg -f v4l2 -i /dev/video0 \
-f alsa -i hw:0 \
-Karte 0:0 \
-c:vlibvpx-vp9 \
-s 640x360 -keyint_min 30 -g 30 \
-f webm_chunk \
-header webm_live_video_360.hdr \
-chunk_start_index 1 \
webm_live_video_360_%d.chk \
-Karte 1:0 \
-c:a libvorbis \
-b:a 128k \
-f webm_chunk \
-header webm_live_audio_128.hdr \
-chunk_start_index 1 \
-audio_chunk_duration 1000 \
webm_live_audio_128_%d.chk

METADATEN


FFmpeg ist in der Lage, Metadaten aus Mediendateien in einen einfachen UTF-8-codierten INI-ähnlichen Text zu übertragen
Datei und laden Sie sie dann mit dem Metadaten-Muxer/Demuxer zurück.

Das Dateiformat ist wie folgt:

1. Eine Datei besteht aus einem Header und einer Reihe von Metadaten-Tags, die jeweils in Abschnitte unterteilt sind
auf eigener Linie.

2. Der Header ist a ;FFMETADATEN string, gefolgt von einer Versionsnummer (jetzt 1).

3. Metadaten-Tags haben die Form Schlüssel=Wert

4. Unmittelbar nach dem Header folgen globale Metadaten

5. Nach globalen Metadaten kann es Abschnitte mit Metadaten pro Stream/Kapitel geben.

6. Ein Abschnitt beginnt mit dem Abschnittsnamen in Großbuchstaben (zB STREAM oder KAPITEL) in
Klammern ([, ]) und endet mit dem nächsten Abschnitt oder dem Ende der Datei.

7. Am Anfang eines Kapitelabschnitts kann es eine optionale Zeitbasis geben, die verwendet werden kann für
Start-/Endwerte. Es muss in Form sein ZEITBASIS=num/am, Wobei num und am sind ganze Zahlen.
Wenn die Zeitbasis fehlt, werden Start-/Endzeiten in Millisekunden angenommen.

Als nächstes muss ein Kapitelabschnitt die Anfangs- und Endzeiten des Kapitels in Form enthalten START =num,
ENDE=num, Wobei num ist eine positive ganze Zahl.

8. Leerzeilen und Zeilen, die mit beginnen ; or # werden ignoriert.

9. Metadatenschlüssel oder Werte mit Sonderzeichen (=, ;, #, \ und ein Zeilenumbruch) muss
mit einem Backslash entkommen \.

10. Beachten Sie, dass Leerzeichen in Metadaten (z. B. foo = Bar) gilt als Teil der
Tag (im obigen Beispiel ist der Schlüssel foo , Wert ist
Bar).

Eine ffmetadata-Datei könnte so aussehen:

;FFMETADATEN1
title=Fahrrad\\Schuppen
;das ist ein Kommentar
artist=FFmpeg-Troll-Team

[KAPITEL]
ZEITBASIS=1/1000
START=0
#Kapitel endet um 0:01:00
ENDE=60000
title=Kapitel \#1
[STROM]
Titel=mehrere\
Linie

Mit dem ffmetadata Muxer und Demuxer ist es möglich, Metadaten aus einer Eingabe zu extrahieren
Datei in eine ffmetadata-Datei und transkodieren Sie die Datei dann mit dem in eine Ausgabedatei
bearbeitete ffmetadata-Datei.

Extrahieren einer ffmetadata-Datei mit ffmpeg geht wie folgt:

ffmpeg -i INPUT -f ffmetadata FFMETADATAFILE

Das erneute Einfügen von bearbeiteten Metadateninformationen aus der FFMETADATAFILE-Datei kann wie folgt erfolgen:

ffmpeg -i INPUT -i FFMETADATAFILE -map_metadata 1 -codec copy OUTPUT

Verwenden Sie ffmpeg-Formate online über die Dienste von onworks.net


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad