EnglischFranzösischSpanisch

Ad


OnWorks-Favicon

ffplay-all – Online in der Cloud

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

Dies ist der Befehl ffplay-all, der im kostenlosen OnWorks-Hosting-Provider mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, Windows-Online-Emulator oder MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


ffplay - FFplay-Mediaplayer

ZUSAMMENFASSUNG


ffplay [Optionen] [Eingabedatei]

BESCHREIBUNG


FFplay ist ein sehr einfacher und tragbarer Mediaplayer, der die FFmpeg-Bibliotheken und das SDL verwendet
Bücherei. Es wird hauptsächlich als Testumgebung für die verschiedenen FFmpeg-APIs verwendet.

OPTIONAL


Alle numerischen Optionen akzeptieren, wenn nicht anders angegeben, eine Zeichenfolge, die a . darstellt
Zahl als Eingabe, gefolgt von einem der SI-Einheitenpräfixe, zum Beispiel: 'K',
'M' oder 'G'.

Wenn 'i' an das SI-Einheitenpräfix angehängt wird, wird das vollständige Präfix als a . interpretiert
Einheitenpräfix für binäre Vielfache, die auf Potenzen von 1024 statt Potenzen von . basieren
1000. Das Anhängen von 'B' an das Präfix der SI-Einheit multipliziert den Wert mit 8. Dies ermöglicht die Verwendung von
zum Beispiel: 'KB', 'MiB', 'G' und 'B' als Nummernsuffixe.

Optionen, die keine Argumente annehmen, sind boolesche Optionen und setzen den entsprechenden Wert
zu wahr. Sie können auf false gesetzt werden, indem dem Optionsnamen "no" vorangestellt wird. Zum Beispiel
die Verwendung von "-nofoo" setzt die boolesche Option mit dem Namen "foo" auf false.

Strom Bezeichner
Einige Optionen werden pro Stream angewendet, zB Bitrate oder Codec. Stream-Bezeichner werden verwendet, um
Geben Sie genau an, zu welchem/n Stream(s) eine bestimmte Option gehört.

Ein Stream-Bezeichner ist eine Zeichenfolge, die im Allgemeinen an den Optionsnamen angehängt und von diesem getrennt wird
durch einen Doppelpunkt. Beispiel: "-codec:a:1 ac3" enthält den Stream-Spezifizierer "a:1", der dem
zweiten Audiostream. Daher würde es den ac3-Codec für den zweiten Audiostream auswählen.

Ein Stream-Bezeichner kann mehrere Streams zuordnen, sodass die Option auf alle angewendet wird
Sie. ZB passt der Stream-Specifier in "-b:a 128k" zu allen Audio-Streams.

Ein leerer Stream-Bezeichner stimmt mit allen Streams überein. Beispiel: "-codec copy" oder "-codec:
copy" würde alle Streams ohne Neucodierung kopieren.

Mögliche Formen von Stream-Bezeichnern sind:

stream_index
Entspricht dem Stream mit diesem Index. ZB "-threads:1 4" würde die Threadanzahl für . setzen
der zweite Stream zu 4.

stream_type[:stream_index]
stream_type ist einer der folgenden: 'v' oder 'V' für Video, 'a' für Audio, 's' für
Untertitel, 'd' für Daten und 't' für Anhänge. 'v' entspricht allen Videostreams, 'V'
Gleicht nur Videostreams ab, denen keine Bilder, Video-Thumbnails oder Cover angehängt sind
Künste. Wenn stream_index gegeben ist, dann stimmt es mit der Stream-Nummer überein stream_index von diesem
Typ. Andernfalls entspricht es allen Streams dieses Typs.

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 or i:stream_id
Ordnen Sie den Stream nach der Stream-ID zu (zB PID im MPEG-TS-Container).

m:Schlüssel[:Wert]
Gleicht Streams mit dem Metadaten-Tag ab Schlüssel den angegebenen Wert haben. Wenn Wert ist nicht
gegeben, ordnet Streams, die das angegebene Tag enthalten, einen beliebigen Wert zu.

u Stimmt Streams mit brauchbarer Konfiguration überein, der Codec muss definiert und das Wesentliche
Informationen wie Videodimension oder Audio-Samplerate müssen vorhanden sein.

Beachten Sie, dass in ffmpeg, funktioniert der Abgleich nach Metadaten nur für Eingabedateien richtig.

Generisch Optionen
Diese Optionen werden von den ff*-Tools gemeinsam genutzt.

-L Lizenz anzeigen.

-H, -?, -Hilfe, --help [arg]
Zeig Hilfe. Ein optionaler Parameter kann angegeben werden, um Hilfe zu einem bestimmten Element zu drucken.
Wenn kein Argument angegeben wird, werden nur grundlegende (nicht erweiterte) Werkzeugoptionen angezeigt.

Mögliche Werte von arg sind:

lange
Drucken Sie erweiterte Werkzeugoptionen zusätzlich zu den grundlegenden Werkzeugoptionen.

voller
Drucken Sie eine vollständige Liste der Optionen, einschließlich gemeinsamer und privater Optionen für Encoder,
Decoder, Demuxer, Muxer, Filter usw.

Decoder=Decodername
Drucken Sie detaillierte Informationen über den benannten Decoder Decodername. Benutze die -Decoder
Option, um eine Liste aller Decoder zu erhalten.

Encoder=Encoder_Name
Detaillierte Informationen zum benannten Encoder ausdrucken Encoder_Name. Benutze die -Encoder
Option, um eine Liste aller Encoder zu erhalten.

Demuxer=Demuxer-Name
Drucken Sie detaillierte Informationen über den benannten Demuxer Demuxer-Name. Benutze die -Formate
Option, um eine Liste aller Demuxer und Muxer zu erhalten.

muxer=muxer_name
Drucken Sie detaillierte Informationen über den genannten Muxer muxer_name. Benutze die -Formate
Option, um eine Liste aller Muxer und Demuxer zu erhalten.

Filter=Filtername
Detaillierte Informationen zum Filternamen drucken Filtername. Benutze die -Filter
Option, um eine Liste aller Filter zu erhalten.

-Ausführung
Version anzeigen.

-Formate
Verfügbare Formate anzeigen (einschließlich Geräte).

-Geräte
Verfügbare Geräte anzeigen.

-Codecs
Alle Codecs anzeigen, die libavcodec bekannt sind.

Beachten Sie, dass der Begriff 'Codec' in dieser Dokumentation als Abkürzung für
was richtiger ein Medien-Bitstream-Format genannt wird.

-Decoder
Verfügbare Decoder anzeigen.

-Encoder
Alle verfügbaren Encoder anzeigen.

-bsfs
Verfügbare Bitstream-Filter anzeigen.

-Protokolle
Verfügbare Protokolle anzeigen.

-Filter
Verfügbare libavfilter-Filter anzeigen.

-pix_fmts
Verfügbare Pixelformate anzeigen.

-sample_fmts
Verfügbare Beispielformate anzeigen.

-Layouts
Kanalnamen und Standardkanallayouts anzeigen.

-Farben
Erkannte Farbnamen anzeigen.

-quellen Gerät[,opt1=val1[,opt2=val2]...]
Zeigt automatisch erkannte Quellen des Eingabegeräts an. Einige Geräte können system-
abhängige Quellennamen, die nicht automatisch erkannt werden können. Die zurückgegebene Liste kann nicht sein
als immer vollständig angenommen.

ffmpeg -sources puls,server=192.168.0.4

-senkt Gerät[,opt1=val1[,opt2=val2]...]
Automatisch erkannte Senken des Ausgabegeräts anzeigen. Einige Geräte können system-
abhängige Senkennamen, die nicht automatisch erkannt werden können. Die zurückgegebene Liste kann nicht angenommen werden
immer vollständig zu sein.

ffmpeg -senkt Impuls, Server=192.168.0.4

-Loglevel [wiederholen+]loglevel | -v [wiederholen+]loglevel
Legen Sie die von der Bibliothek verwendete Protokollierungsebene fest. Das Hinzufügen von "repeat+" zeigt an, dass wiederholt
log-Ausgabe sollte nicht auf die erste Zeile komprimiert werden und die "Letzte Nachricht wiederholt n
times" wird ausgelassen. "repeat" kann auch alleine verwendet werden. Wenn "repeat" verwendet wird
allein und ohne vorheriges gesetztes Loglevel wird das Standard-Loglevel verwendet. Wenn mehrere
Loglevel-Parameter angegeben sind, wird die Verwendung von 'repeat' den Loglevel nicht ändern. loglevel
ist ein String oder eine Zahl mit einem der folgenden Werte:

ruhig, -8
Zeigen Sie überhaupt nichts; Schweigen.

Panik, 0
Zeigen Sie nur schwerwiegende Fehler an, die zum Absturz des Prozesses führen könnten, wie und assert
Versagen. Dies wird derzeit für nichts verwendet.

tödlich, 8
Nur schwerwiegende Fehler anzeigen. Dies sind Fehler, nach denen der Prozess absolut nicht mehr möglich ist
weiter nach.

Error, 16
Zeigen Sie alle Fehler an, einschließlich derer, die wiederhergestellt werden können.

Warnung, 24
Alle Warnungen und Fehler anzeigen. Jede Nachricht im Zusammenhang mit möglicherweise falschen oder
unerwartete Ereignisse werden angezeigt.

Info, 32
Zeigen Sie während der Verarbeitung informative Meldungen an. Dies ist zusätzlich zu Warnungen und
Fehler. Dies ist der Standardwert.

ausführlich, 40
Wie "info", nur ausführlicher.

debuggen, 48
Alles anzeigen, einschließlich Debugging-Informationen.

verfolgen, 56

Standardmäßig loggt sich das Programm in stderr ein, wenn die Farbgebung vom Terminal unterstützt wird,
Farben werden verwendet, um Fehler und Warnungen zu markieren. Die Färbung des Protokolls kann deaktiviert werden, indem die
variable Umgebung AV_LOG_FORCE_NOCOLOR or KEINE FARBE, oder kann erzwungenes Einstellen der
variable Umgebung AV_LOG_FORCE_COLOR. Die Verwendung der Umgebungsvariablen KEINE FARBE
ist veraltet und wird in einer folgenden FFmpeg-Version entfernt.

-Bericht
Vollständige Befehlszeilen- und Konsolenausgabe in eine Datei namens . ausgeben
"Programm-JJJJMMTT-HHMMSS.log" im aktuellen Verzeichnis. Diese Datei kann nützlich sein für
Fehlerberichte. Es impliziert auch "-loglevel verbose".

Umgebungsvariable setzen FREPORT auf einen beliebigen Wert hat den gleichen Effekt. Wenn die
value ist eine durch ':' getrennte Schlüssel=Wert-Sequenz, diese Optionen wirken sich auf den Bericht aus;
Optionswerte müssen mit Escapezeichen versehen werden, wenn sie Sonderzeichen oder die Optionen enthalten
Trennzeichen ':' (siehe den Abschnitt ``Quoting and Escaping'' im ffmpeg-utils-Handbuch).

Folgende Optionen werden erkannt:

Datei
Legen Sie den Dateinamen fest, der für den Bericht verwendet werden soll; %p wird zum Namen des . erweitert
Programm, %t wird zu einem Zeitstempel erweitert, "%%" wird zu einem einfachen "%" erweitert

Grad des
Setzen Sie den Log Ausführlichkeitsgrad mit einem numerischen Wert (siehe "-loglevel").

Um beispielsweise einen Bericht in eine Datei namens . auszugeben ffreport.log mit einem Log-Level von 32
(Alias ​​für Loglevel "info"):

FFREPORT=file=ffreport.log:level=32 ffmpeg -i Eingabe Ausgabe

Fehler beim Parsen der Umgebungsvariablen sind nicht schwerwiegend und werden nicht in der Datei angezeigt
berichten.

-Banner ausblenden
Druckbanner unterdrücken.

Alle FFmpeg-Tools zeigen normalerweise einen Copyright-Hinweis, Build-Optionen und eine Bibliothek an
Versionen. Diese Option kann verwendet werden, um das Drucken dieser Informationen zu unterdrücken.

-CPU-Flags Fahnen (globale )
Ermöglicht das Setzen und Löschen von CPU-Flags. Diese Option ist zum Testen gedacht. Verwende nicht
es sei denn, Sie wissen, was Sie tun.

ffmpeg -cpuflags -sse+mmx ...
ffmpeg -cpuflags mmx ...
ffmpeg -cpuflags 0 ...

Mögliche Flags für diese Option sind:

x86
MMX
mmext
sse
ss2
sse2langsam
ss3
sse3langsam
ssse3
Atom
ss4.1
ss4.2
avx
avx2
xop
fma3
fma4
3djetzt
3dnowext
bmi1
bmi2
cmov
ARM
armv5te
armv6
armv6t2
vfp
vfpv3
Neon
setzen
AAArch64
armv8
vfp
Neon
PowerPC
altivec
spezifische Prozessoren
Pentium2
Pentium3
Pentium4
k6
k62
athlon
athlonxp
k8
-opencl_bench
Diese Option wird verwendet, um alle verfügbaren OpenCL-Geräte zu vergleichen und die Ergebnisse zu drucken.
Diese Option ist nur verfügbar, wenn FFmpeg mit "--enable-opencl" kompiliert wurde.

Wenn FFmpeg mit "--enable-opencl" konfiguriert ist, werden die Optionen für die globale OpenCL
Kontext werden gesetzt über -opencl_options. Siehe den Abschnitt "OpenCL-Optionen" im ffmpeg-
utils-Handbuch für die vollständige Liste der unterstützten Optionen. Unter anderem diese Optionen
beinhalten die Möglichkeit, eine bestimmte Plattform und ein bestimmtes Gerät auszuwählen, um den OpenCL-Code auszuführen
An. Standardmäßig wird FFmpeg auf dem ersten Gerät der ersten Plattform ausgeführt. Während
Optionen für den globalen OpenCL-Kontext bieten dem Benutzer Flexibilität bei der Auswahl der
OpenCL-Gerät ihrer Wahl, die meisten Benutzer möchten wahrscheinlich das schnellste auswählen
OpenCL-Gerät für ihr System.

Diese Option unterstützt die Auswahl der effizientesten Konfiguration, indem sie
das passende Gerät für das System des Benutzers. Der eingebaute Benchmark wird auf allen
OpenCL-Geräte und die Leistung wird für jedes Gerät gemessen. Die Geräte im
Die Ergebnisliste wird nach Leistung sortiert, wobei das schnellste Gerät aufgelistet wird
Erste. Der Benutzer kann anschließend aufrufen ffmpeg mit dem Gerät, das als am meisten angesehen wird
passend über -opencl_options um die beste Leistung für die OpenCL zu erzielen
beschleunigter Code.

Die typische Verwendung des schnellsten OpenCL-Geräts umfasst die folgenden Schritte.

Führen Sie den Befehl aus:

ffmpeg -opencl_bench

Notieren Sie sich die Plattform-ID (pidx) und Geräte-ID (didx) des ersten bzw. schnellsten Geräts
In der Liste. Wählen Sie die Plattform und das Gerät mit dem Befehl aus:

ffmpeg -opencl_options platform_idx= :device_idx= ...

-opencl_options Optionen (globale )
Legen Sie OpenCL-Umgebungsoptionen fest. Diese Option ist nur verfügbar, wenn FFmpeg
kompiliert mit "--enable-opencl".

Optionen muss eine Liste von sein Schlüssel=Wert Optionspaare durch ':' getrennt. Siehe ``OpenCL
Optionen'' im ffmpeg-utils-Handbuch für die Liste der unterstützten Optionen.

AVOptionen
Diese Optionen werden direkt von libavformat, libavdevice und libavcodec bereitgestellt
Bibliotheken. Um die Liste der verfügbaren AVOptionen anzuzeigen, verwenden Sie die -Hilfe Möglichkeit. Sie sind
in zwei Kategorien unterteilt:

Generika
Diese Optionen können für jeden Container, Codec oder Gerät eingestellt werden. Generische Optionen sind
aufgeführt unter AVFormatContext-Optionen für Container/Geräte und unter AVCodecContext
Optionen für Codecs.

privat
Diese Optionen sind spezifisch für den angegebenen Container, das Gerät oder den Codec. Private Optionen
sind unter den entsprechenden Containern/Geräten/Codecs aufgeführt.

Um beispielsweise einen ID3v2.3-Header anstelle eines Standard-ID3v2.4 in eine MP3-Datei zu schreiben, verwenden Sie
id3v2_version private Option des MP3-Muxers:

ffmpeg -i input.flac -id3v2_version 3 out.mp3

Alle Codec-AVOptionen gelten pro Stream, und daher sollte ein Stream-Spezifizierer angehängt werden
Them.

Beachten Sie das -keine Option Syntax kann nicht für boolesche AVOptions verwendet werden, verwenden Sie -Möglichkeit 0/-Möglichkeit 1.

Hinweis: die alte undokumentierte Methode, AVOptions pro Stream anzugeben, indem v/a/s an . vorangestellt wird
Der Optionsname ist nun veraltet und wird in Kürze entfernt.

Main Optionen
-x Breite
Angezeigte Breite erzwingen.

-y Höhe
Angezeigte Höhe erzwingen.

-s Größe
Stellen Sie die Bildgröße (BxH oder Abkürzung) ein, die für Videos benötigt wird, die keinen Header enthalten
mit der Framegröße wie raw YUV. Diese Option wurde zugunsten von privat eingestellt
Optionen, versuchen Sie es mit -video_size.

-fs Starten Sie im Vollbildmodus.

-an Deaktiviere Audio.

-vn Video deaktivieren.

-schn Untertitel deaktivieren.

-ss Post
Versuchen Post. Beachten Sie, dass es in den meisten Formaten nicht möglich ist, genau zu suchen ffplay
sucht zum nächstgelegenen Suchpunkt zu Post.

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

-t Dauer
Play Dauer Sekunden Audio/Video.

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

-Bytes
Suche nach Byte.

-nodisp
Deaktivieren Sie die grafische Anzeige.

-f fmt
Format erzwingen.

-Fenstertitel Titel
Fenstertitel festlegen (Standard ist der Eingabedateiname).

-Schleife Anzahl
Filmwiedergabe in einer Schleife mal. 0 bedeutet für immer.

-Showmodus Modus
Stellen Sie den zu verwendenden Show-Modus ein. Verfügbare Werte für Modus sind:

0, Video
Video zeigen

1, Wellen
Audiowellen anzeigen

2, rdft
Audiofrequenzband mit RDFT anzeigen ((Inverse) Real Discrete Fourier Transform)

Standardwert ist "Video", wenn Video nicht vorhanden oder nicht abspielbar ist "rdft" is
automatisch ausgewählt.

Sie können interaktiv durch die verfügbaren Show-Modi blättern, indem Sie die Taste . drücken w.

-vf Filtergrafik
Erstellen Sie den durch . angegebenen Filtergraph Filtergrafik und verwenden Sie es, um den Videostream zu filtern.

Filtergrafik ist eine Beschreibung des Filtergraphen, der auf den Stream angewendet werden soll, und muss haben
ein einzelner Videoeingang und ein einzelner Videoausgang. Im Filtergraph ist die Eingabe
dem Label "in" und der Ausgang dem Label "out" zugeordnet. Siehe die ffmpeg-
Filterhandbuch für weitere Informationen über die Filtergraph-Syntax.

Sie können diesen Parameter mehrmals angeben und durch die angegebenen
Filtergraphen zusammen mit den Show-Modi durch Drücken der Taste w.

-N Filtergrafik
Filtergrafik ist eine Beschreibung des Filtergraphen, der auf das Eingangsaudio angewendet werden soll. Verwenden Sie die
Option "-filters", um alle verfügbaren Filter anzuzeigen (einschließlich Quellen und Senken).

-i Eingabedatei
Lesen Sie mehr Eingabedatei.

Fortgeschrittener Optionen
-pix_fmt Format
Pixelformat einstellen. Diese Option wurde zugunsten privater Optionen eingestellt
-pixel_format.

-Statistiken
Drucken Sie mehrere Wiedergabestatistiken, zeigen Sie insbesondere die Stream-Dauer, den Codec
Parameter, die aktuelle Position im Stream und die Audio-/Video-Synchronisation
Drift. Es ist standardmäßig aktiviert, um es explizit zu deaktivieren, müssen Sie "-nostats" angeben.

-schnell
Nicht spezifikationskonforme Optimierungen.

-genpts
Punkte generieren.

-sync tippe
Stellen Sie die Hauptuhr auf Audio ("type=audio"), Video ("type=video") oder extern
("type=ext"). Standard ist Audio. Die Master-Clock wird zur Steuerung von Audio-Video verwendet
Synchronisation. Die meisten Mediaplayer verwenden Audio als Master-Clock, aber in einigen Fällen
(Streaming oder hochwertige Sendung) muss das geändert werden. Diese Option ist
hauptsächlich für Debugging-Zwecke verwendet.

-ast audio_stream_specifier
Wählen Sie den gewünschten Audiostream mit dem angegebenen Stream-Specifier aus. Der Strom
Spezifizierer sind in der beschrieben Strom Bezeichner Kapitel. Wenn diese Option nicht verfügbar ist
angegeben, wird der "beste" Audiostream im Programm des bereits ausgewählten ausgewählt
Videostream.

-vst video_stream_specifier
Wählen Sie den gewünschten Videostream mit dem angegebenen Stream-Specifier aus. Der Strom
Spezifizierer sind in der beschrieben Strom Bezeichner Kapitel. Wenn diese Option nicht verfügbar ist
angegeben, wird der "beste" Videostream ausgewählt.

-sst subtitle_stream_specifier
Wählen Sie den gewünschten Untertitel-Stream mit dem angegebenen Stream-Bezeichner aus. Der Strom
Spezifizierer sind in der beschrieben Strom Bezeichner Kapitel. Wenn diese Option nicht verfügbar ist
angegeben, wird der "beste" Untertitelstream im Programm der bereits
ausgewählten Video- oder Audiostream.

-automatischer Ausgang
Beenden, wenn das Video abgespielt ist.

-extonkeydown
Beenden, wenn eine Taste gedrückt wird.

-exitmousedown
Beenden, wenn eine Maustaste gedrückt wird.

-Codec:media_specifier Codec-Name
Erzwinge eine bestimmte Decoder-Implementierung für den durch . identifizierten Stream media_specifier,
die die Werte "a" (Audio), "v" (Video) und "s" Untertitel annehmen kann.

-codec Codec-Name
Erzwingen Sie einen bestimmten Audio-Decoder.

-vcodec Codec-Name
Erzwingen Sie einen bestimmten Video-Decoder.

-scodec Codec-Name
Erzwinge einen bestimmten Untertitel-Decoder.

-automatisch drehen
Drehen Sie das Video automatisch gemäß den Dateimetadaten. Standardmäßig aktiviert, verwenden Sie
-keine automatische Drehung um es zu deaktivieren.

-Framedrop
Videoframes verwerfen, wenn das Video nicht synchron ist. Standardmäßig aktiviert, wenn die Hauptuhr
nicht auf Video eingestellt. Verwenden Sie diese Option, um das Frame-Drop für alle Master-Clocks zu aktivieren
Quellen, verwenden -kein Framedrop um es zu deaktivieren.

-infbuf
Beschränken Sie die Größe des Eingabepuffers nicht, lesen Sie so viele Daten wie möglich aus dem Eingang wie
schnellstmöglich. Standardmäßig für Echtzeit-Streams aktiviert, bei denen Daten gelöscht werden können
wenn nicht rechtzeitig gelesen. Verwenden Sie diese Option, um unendliche Puffer für alle Eingänge zu aktivieren, verwenden Sie
-noinfbuf um es zu deaktivieren.

Während spielend
q, ESC
Verlassen.

f Vollbild umschalten.

p, SPC
Pause.

a Audiokanal im aktuellen Programm wechseln.

v Zyklus Videokanal.

t Untertitelkanal im aktuellen Programm wechseln.

c Zyklusprogramm.

w Wechseln Sie zwischen Videofiltern oder Show-Modi.

s Gehen Sie zum nächsten Frame.

Anhalten, wenn der Stream nicht bereits angehalten wurde, zum nächsten Videobild wechseln und anhalten.

links / rechts
10 Sekunden rückwärts/vorwärts suchen.

runter/hoch
1 Minute rückwärts/vorwärts suchen.

Seite nach unten/Seite up
Suchen Sie das vorherige/nächste Kapitel. oder wenn keine Kapitel vorhanden sind Suche rückwärts/vorwärts
10 Minuten.

Maus klicken Sie auf
Suchen Sie den Prozentsatz in der Datei, der dem Bruchteil der Breite entspricht.

SYNTAX


In diesem Abschnitt werden die Syntax und die Formate dokumentiert, die von den FFmpeg-Bibliotheken und -Tools verwendet werden.

Zitieren und Flucht
FFmpeg verwendet den folgenden Quotierungs- und Escape-Mechanismus, sofern nicht ausdrücklich angegeben.
Es gelten folgende Regeln:

· ' und \ sind Sonderzeichen (die jeweils für Anführungszeichen und Escape-Zeichen verwendet werden). In
Zusätzlich zu ihnen kann es je nach Spezifizierung weitere Sonderzeichen geben
Syntax, bei der Escape- und Anführungszeichen verwendet werden.

· Ein Sonderzeichen wird durch ein vorangestelltes a . maskiert \.

· Alle Zeichen eingeschlossen zwischen '' sind buchstäblich in der geparsten Zeichenfolge enthalten. Die
Zitat Charakter ' selbst kann nicht zitiert werden, daher müssen Sie möglicherweise das Zitat schließen und
entkommen ihm.

· Führende und nachgestellte Leerzeichen, sofern sie nicht mit Escapezeichen oder Anführungszeichen versehen sind, werden aus dem . entfernt
geparste Zeichenfolge.

Beachten Sie, dass Sie möglicherweise eine zweite Escape-Ebene hinzufügen müssen, wenn Sie die Befehlszeile oder a . verwenden
Skript, das von der Syntax der verwendeten Shell-Sprache abhängt.

Die Funktion "av_get_token" definiert in libavutil/avstring.h kann verwendet werden, um ein Token zu parsen
nach den oben definierten Regeln zitiert oder mit Escapezeichen versehen.

Das Tool, dass werkzeuge/ffescape im FFmpeg-Quellbaum kann verwendet werden, um automatisch zu zitieren oder
Escape für einen String in einem Skript.

Beispiele

· Escape die Zeichenfolge "Crime d'Amour", die das Sonderzeichen "'" enthält:

Crime d\'Amour

· Die obige Zeichenfolge enthält ein Anführungszeichen, daher muss das "'" bei Anführungszeichen mit Escapezeichen versehen werden:

'Crime d'\''Amour'

· Fügen Sie führende oder nachgestellte Leerzeichen in Anführungszeichen ein:

' dieser String beginnt und endet mit Leerzeichen '

· Escape und Quoting können miteinander vermischt werden:

' Der String '\'string\'' ist ein String '

· Um ein Literal einzuschließen \ Sie können entweder Escape- oder Anführungszeichen verwenden:

'c:\foo' kann als c:\\foo . geschrieben werden

Datum
Die akzeptierte Syntax ist:

[(JJJJ-MM-TT|JJJJMMTT)[T|t| ]]((HH:MM:SS[.m...]]])|(HHMMSS[.m...]]]))[Z]
jetzt an

Wenn der Wert "jetzt" ist, wird die aktuelle Zeit verwendet.

Die Zeit ist die Ortszeit, es sei denn, Z wird angehängt, in diesem Fall wird sie als UTC interpretiert. Wenn die
Jahr-Monat-Tag-Teil ist nicht angegeben, es wird das aktuelle Jahr-Monat-Tag verwendet.

Uhrzeit Dauer
Es gibt zwei akzeptierte Syntaxen zum Ausdrücken der Zeitdauer.

[-][ :] : [. ...]

HH drückt die Anzahl der Stunden aus, MM die Anzahl der Minuten für maximal 2 Stellen und
SS die Anzahl der Sekunden für maximal 2 Stellen. Die m am Ende drückt dezimal aus
Wert für SS.

or

[-] +[. ...]

S drückt die Anzahl der Sekunden aus, mit dem optionalen Dezimalteil m.

In beiden Ausdrücken ist das optionale - zeigt eine negative Dauer an.

Beispiele

Die folgenden Beispiele sind alle gültige Zeitdauern:

55 55 Sekunden

12:03:45
12 Stunde, 03 Minuten und 45 Sekunden

23.189
23.189 Sekunden

Video Größe
Geben Sie die Größe des Quellvideos an, es kann eine Zeichenfolge der Form sein BreitexHöheOder das
Name einer Größenabkürzung.

Folgende Abkürzungen sind bekannt:

ntsc
720x480

Kumpel 720x576

qntsc
352x240

qpal
352x288

sntsc
640x480

spal
768x576

Film
352x240

NTSC-Film
352x240

sqcif
128x96

qcif
176x144

cif 352x288

4cif
704x576

16cif
1408x1152

qqvga
160x120

qvga
320x240

vga 640x480

Svga
800x600

xga 1024x768

uxga
1600x1200

qxga
2048x1536

sxga
1280x1024

qsga
2560x2048

hsxga
5120x4096

wvga
852x480

wxga
1366x768

wsxga
1600x1024

Wuxga
1920x1200

woxga
2560x1600

wqsxga
3200x2048

wquxga
3840x2400

wsxga
6400x4096

whuxga
7680x4800

CGA 320x200

ega 640x350

hd480
852x480

hd720
1280x720

hd1080
1920x1080

2k 2048x1080

2kflach
1998x1080

2kBereich
2048x858

4k 4096x2160

4kflach
3996x2160

4kBereich
4096x1716

nhd 640x360

hqvga
240x160

wqvga
400x240

fwqvga
432x240

hvga
480x320

QHD 960x540

2kdci
2048x1080

4kdci
4096x2160

äh2160
3840x2160

äh4320
7680x4320

Video Rate
Geben Sie die Bildrate eines Videos an, ausgedrückt als Anzahl der pro Sekunde erzeugten Bilder.
Es muss ein String im Format sein Frame_Rate_num/Frame_Rate_Den, eine ganze Zahl, a
Gleitkommazahl oder eine gültige Abkürzung für die Videobildrate.

Folgende Abkürzungen sind bekannt:

ntsc
30000/1001

Kumpel 25/1

qntsc
30000/1001

qpal
25/1

sntsc
30000/1001

spal
25/1

Film
24/1

NTSC-Film
24000/1001

Ratio
Ein Verhältnis kann als Ausdruck oder in der Form Zähler:Nenner.

Beachten Sie, dass ein Verhältnis mit unendlich (1/0) oder negativem Wert als gültig angesehen wird, also sollten Sie
Überprüfen Sie den zurückgegebenen Wert, wenn Sie diese Werte ausschließen möchten.

Der undefinierte Wert kann mit der Zeichenfolge "0:0" ausgedrückt werden.

Farbe
Dies kann der Name einer Farbe sein, wie unten definiert (Groß-/Kleinschreibung wird nicht beachtet) oder a
"[0x|#]RRGGBB[AA]"-Sequenz, möglicherweise gefolgt von @ und einer Zeichenfolge, die das Alpha darstellt
Komponente.

Die Alpha-Komponente kann eine Zeichenfolge sein, die aus "0x" gefolgt von einer hexadezimalen Zahl besteht oder
eine Dezimalzahl zwischen 0.0 und 1.0, die den Deckkraftwert darstellt (0x00 or 0.0
bedeutet völlig transparent, 0xff or 1.0 völlig undurchsichtig). Wenn die Alpha-Komponente ist
dann nicht angegeben 0xff wird angenommen.

Die Zeichenfolge zufällig führt zu einer zufälligen Farbe.

Die folgenden Farbnamen werden erkannt:

Alice blau
0xF0F8FF

Altweiß
0xFAEBD7

Aqua
0x00FFFF

Aquamarin
0x7FFFD4

Azure
0xF0FFFF

Beige
0xF5F5DC

Fischcremesuppe
0xFFE4C4

Schwarz
0x000000

Blanchierte Mandel
0xFFEBCD

Blau
0x0000FF

Blau Violett
0x8A2BE2

Brown
0xA52A2A

burlywood
0xDEB887

Kadettenblau
0x5F9EA0

Kartause
0x7FFF00

Schokolade
0xD2691E

Coral
0xFF7F50

Kornblumenblau
0x6495ED

Cornsilk
0xFFF8DC

Crimson
0xDC143C

Cyan
0x00FFFF

Dunkelblau
0x00008B

DarkCyan
0x008B8B

DunkelGoldenRod
0xB8860B

Dunkelgrau
0xA9A9A9

Dunkelgrün
0x006400

DarkKhaki
0xBDB76B

DarkMagenta
0x8B008B

DarkOliveGreen
0x556B2F

Dunkelorange
0xFF8C00

DarkOrchid
0x9932CC

Dunkelrot
0x8B0000

DarkSalmon
0xE9967A

DarkSeaGreen
0x8FBC8F

DarkSlateBlue
0x483D8B

DarkSlateGray
0x2F4F4F

DarkTurquoise
0x00CED1

Dunkelviolett
0x9400D3

Dunkelrosa
0xFF1493

DeepSkyBlue
0x00BFFF

DimGray
0x696969

DodgerBlue
0x1E90FF

FireBrick
0xB22222

Blumenweiß
0xFFFAF0

Waldgrün
0x228B22

Fuchsia
0xFF00FF

Gainsboro
0xDCDCDC

GhostWhite
0xF8F8FF

Gold
0xFFD700

Goldrute
0xDAA520

Gray
0x808080

Grün
0x008000

Grün Gelb
0xADFF2F

Honigtau
0xF0FFF0

HotPink
0xFF69B4

IndianRed
0xCD5C5C

Indigoblau
0x4B0082

Elfenbein
0xFFFFF0

Khaki
0xF0E68C

Lavendel
0xE6E6FA

LavenderBlush
0xFFF0F5

Rasengrün
0x7CFC00

ZitronenChiffon
0xFFFACD

Hellblau
0xADD8E6

LightCoral
0xF08080

LightCyan
0xE0FFFF

LichtGoldenRodGelb
0xFAFAD2

Hellgrün
0x90EE90

Hellgrau
0xD3D3D3

Hell-Pink
0xFFB6C1

LightSalmon
0xFFA07A

LightSeaGreen
0x20B2AA

LightSkyBlue
0x87CEFA

LightSlateGray
0x778899

LightSteelBlue
0xB0C4DE

Hellgelb
0xFFFFE0

Gelb
0x00FF00

LimeGreen
0x32CD32

Leinen
0xFAF0E6

Magenta
0xFF00FF

Kastanienbraun
0x800000

MediumAquaMarine
0x66CDAA

Mittelblau
0x0000CD

MediumOrchid
0xBA55D3

MediumPurple
0x9370D8

MediumSeaGreen
0x3CB371

MediumSlateBlue
0x7B68EE

MittelFrühlingGrün
0x00FA9A

MittelTürkis
0x48D1CC

MediumVioletRed
0xC71585

Mitternachtsblau
0x191970

MintCream
0xF5FFFA

MistyRose
0xFFE4E1

Mokassin
0xFFE4B5

NavajoWeiß
0xFFDEAD

Marineblau
0x000080

OldLace
0xFDF5E6

Olive
0x808000

Olivedrab
0x6B8E23

Orange
0xFFA500

Orange Rot
0xFF4500

Orchidee
0xDA70D6

BlassGoldenRod
0xEEE8AA

palegreen
0x98FB98

BlassTürkis
0xAFEEEE

PaleVioletRed
0xD87093

PapayaPeitsche
0xFFEFD5

PeachPuff
0xFFDAB9

Peru
0xCD853F

Rosa
0xFFC0CB

Pflaume
0xDDA0DD

PowderBlue
0xB0E0E6

Lila
0x800080

Rot 0xFF0000

RosyBrown
0xBC8F8F

Königsblau
0x4169E1

Sattelbraun
0x8B4513

Lachs
0xFA8072

SandyBrown
0xF4A460

Meeresgrün
0x2E8B57

SeaShell
0xFFF5EE

Sienaerde
0xA0522D

Silbermedaille
0xC0C0C0

Himmelblau
0x87CEEB

SlateBlue
0x6A5ACD

Schiefer grau
0x708090

Snow
0xFFFAFA

Frühlingsgrün
0x00FF7F

SteelBlue
0x4682B4

Tan 0xD2B48C

Teal
0x008080

Distel
0xD8BFD8

Tomate
0xFF6347

Türkis
0x40E0D0

Veilchen
0xEE82EE

Weizen
0xF5DEB3

Weiß
0xFFFFFF

Weißer Rauch
0xF5F5F5

Gelb
0xFFFF00

Gelbgrün
0x9ACD32

Kanal Layout
Ein Kanallayout legt die räumliche Anordnung der Kanäle in einem Multikanal fest
Audiostream. Um ein Kanallayout anzugeben, verwendet FFmpeg eine spezielle Syntax.

Einzelne Kanäle werden durch eine ID identifiziert, wie in der folgenden Tabelle angegeben:

FL vorne links

FR vorne rechts

FC vorne mitte

LFE niederfrequenten

BL hinten links

BR hinten rechts

FLC vorne links von der Mitte

FRC vorne rechts von der Mitte

BC hinten mitte

SL Seite links

SR Seite rechts

TC oben in der Mitte

TFL oben vorne links

TFC oben vorne mitte

Abfindung oben vorne rechts

TBL oben hinten links

TBC oben hinten mitte

TBR oben hinten rechts

DL links runtermischen

DR richtig runtermischen

WL weit links

WR weit rechts

SDL Surround direkt links

SDR Surround direkt rechts

LFE2, XNUMX
niedrige Frequenz 2

Standard-Kanal-Layout-Kompositionen können mit den folgenden Bezeichnern angegeben werden:

Mono
FC

Stereo
FL+FR

2.1 FL+FR+LFE

3.0 FL+FR+FC

3.0 (zurück)
FL+FR+BC

4.0 FL+FR+FC+BC

Quad
FL+FR+BL+BR

Quad (Seite)
FL+FR+SL+SR

3.1 FL+FR+FC+LFE

5.0 FL+FR+FC+BL+BR

5.0(Seite)
FL+FR+FC+SL+SR

4.1 FL+FR+FC+LFE+BC

5.1 FL+FR+FC+LFE+BL+BR

5.1(Seite)
FL+FR+FC+LFE+SL+SR

6.0 FL+FR+FC+BC+SL+SR

6.0 (vorne)
FL+FR+FLC+FRC+SL+SR

hexagonal
FL+FR+FC+BL+BR+BC

6.1 FL+FR+FC+LFE+BC+SL+SR

6.1 FL+FR+FC+LFE+BL+BR+BC

6.1 (vorne)
FL+FR+LFE+FLC+FRC+SL+SR

7.0 FL+FR+FC+BL+BR+SL+SR

7.0 (vorne)
FL+FR+FC+FLC+FRC+SL+SR

7.1 FL+FR+FC+LFE+BL+BR+SL+SR

7.1 (breit)
FL+FR+FC+LFE+BL+BR+FLC+FRC

7.1 (Breitseite)
FL+FR+FC+LFE+FLC+FRC+SL+SR

achteckig
FL+FR+FC+BL+BR+BC+SL+SR

heruntermischen
DL+DR

Ein benutzerdefiniertes Channel-Layout kann als Folge von Begriffen angegeben werden, getrennt durch '+' oder '|'.
Jeder Begriff kann sein:

· der Name eines Standard-Kanal-Layouts (zB Mono, Stereo, 4.0, Quad, 5.0, Usw.)

· der Name eines einzelnen Kanals (zB FL, FR, FC, LFE, Usw.)

· eine Anzahl von Kanälen, dezimal, optional gefolgt von 'c', was die Vorgabe ergibt
Kanallayout für diese Anzahl von Kanälen (siehe Funktion
"av_get_default_channel_layout")

· eine Kanal-Layout-Maske, hexadezimal beginnend mit "0x" (siehe Makros "AV_CH_*" in
libavutil/channel_layout.h.

Ab libavutil Version 53 das nachgestellte Zeichen "c", um eine Anzahl von
Kanäle werden benötigt, während eine Kanallayoutmaske auch als a . angegeben werden könnte
Dezimalzahl (wenn und nur wenn nicht gefolgt von "c").

Siehe auch die Funktion "av_get_channel_layout" definiert in libavutil/channel_layout.h.

AUSDRUCK BEWERTUNG


Beim Auswerten eines arithmetischen Ausdrucks verwendet FFmpeg einen internen Formelauswerter,
umgesetzt durch die libavutil/eval.h Schnittstelle.

Ein Ausdruck kann unäre, binäre Operatoren, Konstanten und Funktionen enthalten.

Zwei Ausdrücke Ausdruck1 und Ausdruck2 kann zu einem anderen Ausdruck kombiniert werden"Ausdruck1;Ausdruck2".
Ausdruck1 und Ausdruck2 werden der Reihe nach ausgewertet, und der neue Ausdruck ergibt den Wert von
Ausdruck2.

Folgende binäre Operatoren stehen zur Verfügung: "+", "-", "*", "/", "^".

Folgende unäre Operatoren stehen zur Verfügung: "+", "-".

Folgende Funktionen stehen zur Verfügung:

abs (x)
Absoluten Wert von berechnen x.

akos (x)
Berechne Arkuskosinus von x.

asin (x)
Berechne Arkussinus von x.

atan (x)
Berechne den Arkustangens von x.

zwischen(x, min max)
1 zurückgeben, wenn x ist größer oder gleich Min. und kleiner oder gleich max, 0
Andernfalls.

bitund(x, y)
bitor(x, y)
Bitweise berechnen und/oder Operation auf x und y.

Die Ergebnisse der Bewertung von x und y werden vor der Ausführung in ganze Zahlen umgewandelt
die bitweise Operation.

Beachten Sie, dass sowohl die Konvertierung in Integer als auch die Konvertierung zurück in Gleitkomma möglich sind
Präzision verlieren. Hüten Sie sich vor unerwarteten Ergebnissen für große Zahlen (normalerweise 2^53 und
größer).

Decke(ausdruck)
Runden Sie den Wert von expression ausdr aufwärts zur nächsten ganzen Zahl. Zum Beispiel,
"ceil(1.5)" ist "2.0".

Clip(x, min max)
Geben Sie den Wert von zurück x eingeklemmt zwischen Min. und max.

cos (x)
Kosinus von berechnen x.

Kosten (x)
Berechne den hyperbolischen Kosinus von x.

Gl(x, y)
1 zurückgeben, wenn x und y sind gleichwertig, sonst 0.

Erfahrung (x)
Exponential von berechnen x (mit Basis "e", der Eulerschen Zahl).

Etage (Ausdruck)
Runden Sie den Wert von expression ausdr abwärts auf die nächste ganze Zahl. Zum Beispiel,
"Etage(-1.5)" ist "-2.0".

Gauss (x)
Berechnen Sie die Gauss-Funktion von x, entsprechend "exp(-x*x/2) / sqrt(2*PI)".

gcd(x, y)
Gib den größten gemeinsamen Teiler von zurück x und y. Wenn beides x und y sind 0 oder eines oder beides
kleiner als Null sind, ist das Verhalten undefiniert.

gt(x, y)
1 zurückgeben, wenn x größer ist als y, 0 sonst.

gte(x, y)
1 zurückgeben, wenn x ist größer oder gleich y, 0 sonst.

hypot(x, y)
Diese Funktion ähnelt der C-Funktion mit demselben Namen; es gibt "sqrt(x*x +
y*y)", die Länge der Hypotenuse eines rechtwinkligen Dreiecks mit Seitenlängen x und y,
oder die Entfernung des Punktes (x, y) vom Ursprung.

wenn(x, y)
Bewerten x, und wenn das Ergebnis ungleich Null ist, das Ergebnis der Auswertung von zurückgeben y,
0 zurückgeben sonst.

wenn(x, y, z)
Bewerten x, und wenn das Ergebnis nicht null ist, geben Sie das Bewertungsergebnis von zurück y, Sonst
das Bewertungsergebnis von z.

wenn nicht (x, y)
Bewerten x, und wenn das Ergebnis Null ist, geben Sie das Ergebnis der Auswertung von zurück y, Rückkehr
0 sonst.

wenn nicht (x, y, z)
Bewerten x, und wenn das Ergebnis Null ist, geben Sie das Bewertungsergebnis von zurück y, ansonsten der
Bewertungsergebnis von z.

isinf(x)
1.0 zurückgeben, wenn x ist +/- UNENDLICH, sonst 0.0.

isnan (x)
1.0 zurückgeben, wenn x ist NAN, sonst 0.0.

ld(var)
Laden Sie den Wert der internen Variablen mit Zahl jung, die zuvor gespeichert wurde
mit st(jung, ausdr). Die Funktion gibt den geladenen Wert zurück.

log (x)
Berechnen des natürlichen Logarithmus von x.

lt(x, y)
1 zurückgeben, wenn x ist kleiner als y, 0 sonst.

lte(x, y)
1 zurückgeben, wenn x ist kleiner oder gleich y, 0 sonst.

max(x, y)
Gib das Maximum zwischen zurück x und y.

Luder, y)
Gib das Maximum zwischen zurück x und y.

mod(x, y)
Berechnen Sie den Rest der Division von x by y.

nicht(ausdruck)
1.0 zurückgeben, wenn ausdr ist null, sonst 0.0.

pow(x, y)
Berechnen Sie die Leistung von x erhöhten y, es ist äquivalent zu "(x)^(y). "

drucken(t)
drucken (t, l)
Drucken Sie den Wert des Ausdrucks t mit Loglevel l. Wenn l ist nicht angegeben, dann eine Voreinstellung
Log-Level verwendet wird. Gibt den Wert des gedruckten Ausdrucks zurück.

Druckt t mit Loglevel l

zufällig(x)
Gibt einen Pseudozufallswert zwischen 0.0 und 1.0 zurück. x ist der Index des internen
Variable, die verwendet wird, um den Seed/Zustand zu speichern.

root(ausdruck, max)
Suchen Sie einen Eingabewert, für den die durch . dargestellte Funktion ausdr mit Argument ld(0) is
0 im Intervall 0..max.

Der Ausdruck in ausdr muss eine stetige Funktion sein oder das Ergebnis ist undefiniert.

ld(0) wird verwendet, um den Funktionseingangswert darzustellen, was bedeutet, dass die gegebene
Ausdruck wird mehrmals mit verschiedenen Eingabewerten ausgewertet, die der
Ausdruck kann durch . zugreifen ld(0). Wenn der Ausdruck zu 0 ausgewertet wird, dann ist der
der entsprechende Eingabewert wird zurückgegeben.

sin (x)
Berechne den Sinus von x.

Geburt(x)
Berechne den hyperbolischen Sinus von x.

sqrt (ausdruck)
Berechne die Quadratwurzel von ausdr. Dies entspricht "(ausdr)^.5".

zerquetschen (x)
Berechne den Ausdruck "1/(1 + exp(4*x))".

st (var, Ausdruck)
Speichern Sie den Wert des Ausdrucks ausdr in einer internen Variablen. jung spezifiziert das
Nummer der Variablen, in der der Wert gespeichert werden soll, und es ist ein Wert im Bereich von 0 bis
9. Die Funktion gibt den in der internen Variablen gespeicherten Wert zurück. Hinweis, Variablen
werden derzeit nicht zwischen Ausdrücken geteilt.

tan (x)
Berechne den Tangens von x.

tan (x)
Berechne den hyperbolischen Tangens von x.

taylor(ausdruck, x)
taylor(ausdruck, x, Ich würde)
Bewerten Sie eine Taylor-Reihe bei x, gegeben einen Ausdruck, der das "ld(id)"-th darstellt
Ableitung einer Funktion bei 0.

Wenn die Reihe nicht konvergiert, ist das Ergebnis undefiniert.

ich tat) wird verwendet, um die Ableitungsordnung in . darzustellen ausdr, was bedeutet, dass das gegebene
Ausdruck wird mehrmals mit verschiedenen Eingabewerten ausgewertet, die der
Ausdruck kann über "ld(id)" zugreifen. Wenn id nicht angegeben ist, wird 0 angenommen.

Beachten Sie, wenn Sie die Ableitungen bei y anstelle von 0 haben, kann "taylor(expr, xy)" sein
benutzt.

Zeit(0)
Gibt die aktuelle Uhrzeit (Wanduhr) in Sekunden zurück.

trunc(ausdruck)
Runden Sie den Wert von expression ausdr gegen Null auf die nächste ganze Zahl. Zum Beispiel,
"trunc(-1.5)" ist "-1.0".

während(kond, Ausdruck)
Ausdruck auswerten ausdr während der Ausdruck cond ist ungleich Null und gibt den Wert zurück
des letzten ausdr Auswertung, oder NAN wenn cond war immer falsch.

Folgende Konstanten stehen zur Verfügung:

PI Bereich der Gerätescheibe, ca. 3.14

E exp(1) (Eulersche Zahl), ungefähr 2.718

PHI Goldener Schnitt (1+sqrt(5))/2, ungefähr 1.618

Angenommen, ein Ausdruck gilt als "wahr", wenn er einen Wert ungleich Null hat, beachten Sie Folgendes:

"*" funktioniert wie UND

"+" funktioniert wie OR

Zum Beispiel das Konstrukt:

wenn (A UND B) dann C

ist äquivalent zu:

wenn(A*B,C)

In Ihrem C-Code können Sie die Liste der unären und binären Funktionen erweitern und definieren
erkannten Konstanten, damit sie für Ihre Ausdrücke zur Verfügung stehen.

Der Bewerter erkennt auch die Einheitenpräfixe des Internationalen Systems. Wenn 'i' angehängt wird
nach dem Präfix werden binäre Präfixe verwendet, die auf Potenzen von 1024 statt basieren
Potenzen von 1000. Das Postfix 'B' multipliziert den Wert mit 8 und kann nach a . angehängt werden
Einheitenpräfix oder allein verwendet. Dies ermöglicht beispielsweise die Verwendung von 'KB', 'MiB', 'G' und 'B' als
Nummer postfix.

Es folgt die Liste der verfügbaren Präfixe des Internationalen Systems mit Angabe der
entsprechende Potenzen von 10 und 2.

y 10^-24 / 2^-80

z 10^-21 / 2^-70

a 10^-18 / 2^-60

f 10^-15 / 2^-50

p 10^-12 / 2^-40

n 10^-9 / 2^-30

u 10^-6 / 2^-20

m 10^-3 / 2^-10

c 10 ^ -2

d 10 ^ -1

h 10 ^ 2

k 10^3 / 2^10

K 10^3 / 2^10

M 10^6 / 2^20

G 10^9 / 2^30

T 10^12 / 2^40

P 10^15 / 2^40

E 10^18 / 2^50

Z 10^21 / 2^60

Y 10^24 / 2^70

OFFENCL OPTIONAL


Wenn FFmpeg mit "--enable-opencl" konfiguriert ist, ist es möglich, die Optionen für
den globalen OpenCL-Kontext.

Die Liste der unterstützten Optionen folgt:

build_options
Legen Sie Build-Optionen fest, die zum Kompilieren der registrierten Kernel verwendet werden.

Siehe Referenz "OpenCL Specification Version: 1.2 Kapitel 5.6.4".

plattform_idx
Wählen Sie den Index der Plattform aus, um OpenCL-Code auszuführen.

Der angegebene Index muss einer der Indizes in der Geräteliste sein, die
erhalten mit "ffmpeg -opencl_bench" oder "av_opencl_get_device_list()".

Geräte-IDX
Wählen Sie den Index des Geräts aus, das zum Ausführen von OpenCL-Code verwendet wird.

Der angegebene Index muss einer der Indizes in der Geräteliste sein, die
erhalten mit "ffmpeg -opencl_bench" oder "av_opencl_get_device_list()".

CODEC OPTIONAL


libavcodec bietet einige generische globale Optionen, die auf allen Encodern eingestellt werden können und
Decoder. Darüber hinaus kann jeder Codec sogenannte private Optionen unterstützen, die spezifisch sind
für einen bestimmten Codec.

Manchmal wirkt sich eine globale Option nur auf eine bestimmte Art von Codec aus und kann
Unsinnig oder ignoriert von anderen, daher müssen Sie sich der Bedeutung des angegebenen Begriffs bewusst sein
Optionen. Außerdem sind einige Optionen nur zum Dekodieren oder Kodieren gedacht.

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

Die Liste der unterstützten Optionen folgt:

b ganze Zahl (Kodierung, Audio, Video)
Bitrate in Bit/s einstellen. Der Standardwert ist 200 KB.

ab ganze Zahl (Kodierung, Audio)
Stellen Sie die Audio-Bitrate ein (in Bits/s). Der Standardwert ist 128K.

bt ganze Zahl (Kodierung, Video)
Stellen Sie die Video-Bitratentoleranz ein (in Bits/s). Im 1-Pass-Modus spezifiziert die Bitratentoleranz
wie weit die Ratensteuerung bereit ist, vom durchschnittlichen Zielwert der Bitrate abzuweichen. Dies
hat nichts mit der min/max Bitrate zu tun. Eine zu starke Verminderung der Toleranz wirkt sich negativ aus
auf Qualität.

Fahnen Fahnen (Dekodierung/Kodierung,Audio,Video,Untertitel)
Legen Sie generische Flags fest.

Mögliche Werte:

mv4 Verwenden Sie vier Bewegungsvektoren pro Makroblock (mpeg4).

qpel
Verwenden Sie eine 1/4-Pel-Bewegungskompensation.

Schleife
Schleifenfilter verwenden.

qskala
Verwenden Sie eine feste qscale.

gmc Verwenden Sie gmc.

mv0 Versuchen Sie immer ein mb mit mv=<0,0>.

input_konserviert
pass1
Verwenden Sie die interne 2-Pass-Ratensteuerung im First-Pass-Modus.

pass2
Verwenden Sie die interne 2-Pass-Ratensteuerung im Second-Pass-Modus.

grau
Nur Graustufen dekodieren/kodieren.

emu_edge
Zeichnen Sie keine Kanten.

Psnr
Setzen Sie beim Codieren error[?]-Variablen.

gekürzt
NAQ Normalisieren Sie die adaptive Quantisierung.

ildct
Verwenden Sie Interlaced-DCT.

niedrige_verzögerung
Niedrige Verzögerung erzwingen.

global_header
Platzieren Sie globale Header in Extradaten anstelle jedes Keyframes.

bitexakt
Schreiben Sie nur plattform-, build- und zeitunabhängige Daten. (außer (I)DCT). Dies
stellt sicher, dass Datei- und Datenprüfsummen reproduzierbar sind und zwischen Plattformen übereinstimmen.
Seine primäre Verwendung ist für Regressionstests.

aic Wenden Sie H263 Advanced Intra-Codierung / MPEG4-AC-Vorhersage an.

Cbp Veraltet, verwenden Sie stattdessen private MPEGvideo-Optionen.

qprd
Veraltet, verwenden Sie stattdessen private MPEGvideo-Optionen.

Schlinge
Wenden Sie die Interlaced-Bewegungsschätzung an.

cgop
Verwenden Sie geschlossene Gop.

me_method ganze Zahl (Kodierung, Video)
Bewegungsschätzungsmethode einstellen.

Mögliche Werte:

Null
Nullbewegungsschätzung (am schnellsten)

voller
Vollbewegungsschätzung (am langsamsten)

epz
EPZS-Bewegungsschätzung (Standard)

esa esa Bewegungsschätzung (Alias ​​für voll)

tesa
tesa Bewegungsschätzung

Tag dia Bewegungsschätzung (Alias ​​für epzs)

Log Bewegungsschätzung protokollieren

Phods
phods bewegungsschätzung

x1 X1-Bewegungsschätzung

hex Hex-Bewegungsschätzung

ähm umh Bewegungsschätzung

Prozess
Iter-Bewegungsschätzung

extradata_size ganze Zahl
Legen Sie die Größe der Extradaten fest.

Zeitbasis rational Anzahl
Codec-Zeitbasis einstellen.

Es ist die grundlegende Zeiteinheit (in Sekunden), für die Frame-Zeitstempel verwendet werden
repräsentiert. Bei Inhalten mit fester fps sollte die Zeitbasis "1/frame_rate" und der Zeitstempel sein
Inkremente sollten identisch sein 1.

g ganze Zahl (Kodierung, Video)
Legen Sie die Bildgröße der Gruppe fest. Der Standardwert ist 12.

ar ganze Zahl (Dekodierung/Kodierung, Audio)
Stellen Sie die Audio-Abtastrate (in Hz) ein.

ac ganze Zahl (Dekodierung/Kodierung, Audio)
Stellen Sie die Anzahl der Audiokanäle ein.

Cutoff- ganze Zahl (Kodierung, Audio)
Cutoff-Bandbreite einstellen.

Rahmengröße ganze Zahl (Kodierung, Audio)
Stellen Sie die Audio-Frame-Größe ein.

Jeder eingereichte Frame mit Ausnahme des letzten muss genau frame_size Samples pro . enthalten
Kanal. Kann 0 sein, wenn der Codec in diesem Fall CODEC_CAP_VARIABLE_FRAME_SIZE gesetzt hat
die Rahmengröße ist nicht eingeschränkt. Es wird von einigen Decodern eingestellt, um konstant anzuzeigen
Rahmengröße.

Rahmennummer ganze Zahl
Stellen Sie die Bildnummer ein.

verzögern ganze Zahl
qkomp schweben (Kodierung, Video)
Stellen Sie die Videoquantizer-Skalierungskompression (VBR) ein. Es wird als Konstante im verwendet
Ratecontrol-Gleichung. Empfohlener Bereich für Standard rc_eq: 0.0-1.0.

qblur schweben (Kodierung, Video)
Stellen Sie die Unschärfe der Videoquantisierungsskala (VBR) ein.

qmin ganze Zahl (Kodierung, Video)
Stellen Sie die minimale Videoquantisierungsskala (VBR) ein. Muss zwischen -1 und 69 enthalten sein, Standardwert
ist 2.

qmax ganze Zahl (Kodierung, Video)
Stellen Sie die maximale Videoquantisierungsskala (VBR) ein. Muss zwischen -1 und 1024 enthalten sein, Standardeinstellung
Wert ist 31.

qdiff ganze Zahl (Kodierung, Video)
Stellen Sie die maximale Differenz zwischen der Quantisierungsskala (VBR) ein.

bf ganze Zahl (Kodierung, Video)
Legen Sie die maximale Anzahl von B-Frames zwischen Nicht-B-Frames fest.

Muss eine ganze Zahl zwischen -1 und 16 sein. 0 bedeutet, dass B-Frames deaktiviert sind. Wenn ein Wert
von -1 verwendet wird, wird je nach Encoder ein automatischer Wert gewählt.

Der Standardwert ist 0.

b_qfaktor schweben (Kodierung, Video)
Stellen Sie den qp-Faktor zwischen P- und B-Frames ein.

rc_strategie ganze Zahl (Kodierung, Video)
Ratecontrol-Methode einstellen.

b_strategie ganze Zahl (Kodierung, Video)
Legen Sie die Strategie fest, um zwischen I/P/B-Frames zu wählen.

ps ganze Zahl (Kodierung, Video)
Legen Sie die RTP-Nutzlastgröße in Byte fest.

mv_bits ganze Zahl
header_bits ganze Zahl
i_tex_bits ganze Zahl
p_tex_bits ganze Zahl
ich zähle ganze Zahl
p_count ganze Zahl
überspringen_count ganze Zahl
misc_bits ganze Zahl
Frame_Bits ganze Zahl
Codec-Tag ganze Zahl
Fehler Fahnen (Dekodierung, Video)
Problemumgehung nicht automatisch erkannte Encoder-Fehler.

Mögliche Werte:

AutoDetect
old_msmpeg4
einige alte lavc generierte msmpeg4v3-Dateien (keine automatische Erkennung)

xvid_ilace
Xvid-Interlacing-Fehler (automatisch erkannt, wenn fourcc==XVIX)

ump4
(automatisch erkannt, wenn fourcc==UMP4)

no_padding
Füllfehler (automatisch erkannt)

amv
ac_vlc
Illegaler vlc-Bug (automatisch pro Fourcc erkannt)

qpel_chroma
std_qpel
altes Standard-qpel (automatisch erkannt pro Fourcc/Version)

qpel_chroma2
direct_blocksize
direct-qpel-blocksize-Bug (automatisch pro Fourcc/Version erkannt)

Rand
Edge-Padding-Fehler (automatisch pro Fourcc/Version erkannt)

hpel_chroma
dc_clip
ms Umgehung verschiedener Fehler in defekten Microsoft-Decodern.

trunk
transkribierte Rahmen

Lelim ganze Zahl (Kodierung, Video)
Legen Sie den Schwellenwert für die Eliminierung eines einzelnen Koeffizienten für die Luminanz fest (auch negative Werte)
DC-Koeffizient berücksichtigen).

Celim ganze Zahl (Kodierung, Video)
Legen Sie den Schwellenwert für die Eliminierung eines einzelnen Koeffizienten für die Chrominanz fest (auch negative Werte)
DC-Koeffizient berücksichtigen)

streng ganze Zahl (Dekodierung/Kodierung, Audio, Video)
Geben Sie an, wie strikt die Standards befolgt werden sollen.

Mögliche Werte:

sehr
strikt einer älteren, strengeren Version der Spezifikation oder Referenzsoftware entsprechen

streng
Halten Sie sich strikt an alle Dinge in der Spezifikation, unabhängig von den Konsequenzen

normal
inoffiziell
inoffizielle Erweiterungen zulassen

experimentell
erlauben nicht standardisierte experimentelle Dinge, experimentell (unfertig/in Arbeit)
Fortschritt/nicht gut getestet) Decoder und Encoder. Hinweis: Experimentelle Decoder können
ein Sicherheitsrisiko darstellen, verwenden Sie dies nicht zum Decodieren nicht vertrauenswürdiger Eingaben.

b_qoffset schweben (Kodierung, Video)
Stellen Sie den QP-Offset zwischen P- und B-Frames ein.

err_detect Fahnen (Dekodierung, Audio, Video)
Setzen Sie Fehlererkennungs-Flags.

Mögliche Werte:

crccheck
eingebettete CRCs überprüfen

Bitstream
Abweichungen der Bitstream-Spezifikation erkennen

puffern
unpassende Bitstream-Länge erkennen

explodieren
Decodierung bei Erkennung kleiner Fehler abbrechen

Ignoriere_err
Ignorieren Sie Decodierungsfehler und fahren Sie mit der Decodierung fort. Dies ist nützlich, wenn Sie möchten
analysieren den Inhalt eines Videos und möchten daher, dass alles dekodiert wird, egal,
was. Diese Option führt nicht zu einem Video, das im Fall von . angenehm anzusehen ist
Fehler.

vorsichtig
Betrachten Sie Dinge, die gegen die Spezifikation verstoßen und in der Wildnis nicht als Fehler angesehen wurden

konform
Betrachten Sie alle Nichteinhaltungen der Spezifikationen als Fehler

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

has_b_frames ganze Zahl
block_align ganze Zahl
mpeg_quant ganze Zahl (Kodierung, Video)
Verwenden Sie MPEG-Quantisierer anstelle von H.263.

qsquish schweben (Kodierung, Video)
So halten Sie den Quantisierer zwischen qmin und qmax (0 = Clip, 1 = Use Differentiable
Funktion).

rc_qmod_amp schweben (Kodierung, Video)
Stellen Sie die experimentelle Quantisierungsmodulation ein.

rc_qmod_freq ganze Zahl (Kodierung, Video)
Stellen Sie die experimentelle Quantisierungsmodulation ein.

rc_override_count ganze Zahl
rc_eq Schnur (Kodierung, Video)
Stellen Sie die Geschwindigkeitsregelungsgleichung ein. Bei der Berechnung des Ausdrucks wird neben dem Standard
Funktionen, die im Abschnitt 'Auswertung von Ausdrücken' definiert wurden, sind die folgenden Funktionen:
verfügbar: bits2qp(bits), qp2bits(qp). Außerdem stehen folgende Konstanten zur Verfügung:
iTex pTex tex mv fCode iCount mcVar var isI isP isB avgQP qComp avgIITex avgPITex
avgPPTex avgBPTex avgTex.

Maximale Rate ganze Zahl (Kodierung, Audio, Video)
Legen Sie die maximale Bitratentoleranz fest (in Bits/s). Erfordert die Einstellung von Bufsize.

Minrate ganze Zahl (Kodierung, Audio, Video)
Stellen Sie die minimale Bitratentoleranz ein (in Bits/s). Am nützlichsten beim Einrichten einer CBR-Kodierung. es ist
sonst wenig zu gebrauchen.

Puffergröße ganze Zahl (Kodierung, Audio, Video)
Legen Sie die Puffergröße für die Ratensteuerung fest (in Bit).

rc_buf_aggressivität schweben (Kodierung, Video)
Derzeit nutzlos.

i_qfaktor schweben (Kodierung, Video)
Stellen Sie den QP-Faktor zwischen P- und I-Frames ein.

i_qoffset schweben (Kodierung, Video)
Stellen Sie den QP-Offset zwischen P- und I-Frames ein.

rc_init_cplx schweben (Kodierung, Video)
Legen Sie die anfängliche Komplexität für die 1-Pass-Codierung fest.

dct ganze Zahl (Kodierung, Video)
DCT-Algorithmus einstellen.

Mögliche Werte:

Auto
Automatisch einen guten auswählen (Standard)

fastint
schnelle ganze Zahl

int genaue ganze Zahl

MMX
altivec
Fan
Gleitkomma AAN DCT

lumi_maske schweben (Kodierung, Video)
Komprimieren Sie helle Bereiche stärker als mittlere.

tcplx_mask schweben (Kodierung, Video)
Legen Sie die Maskierung der zeitlichen Komplexität fest.

scplx_maske schweben (Kodierung, Video)
Legen Sie die Maskierung der räumlichen Komplexität fest.

p_maske schweben (Kodierung, Video)
Stellen Sie die Intermaskierung ein.

dunkle_maske schweben (Kodierung, Video)
Komprimieren Sie dunkle Bereiche stärker als mittlere.

idct ganze Zahl (Dekodierung/Kodierung, Video)
Wählen Sie IDCT-Implementierung aus.

Mögliche Werte:

Auto
int
einfach
einfachmmx
einfachauto
Wählen Sie automatisch ein IDCT aus, das mit dem einfachen kompatibel ist

Arm
altivec
sh4
einfacher Arm
simplearmv5te
simplearmv6
simpleneon
einfachealpha
ipp
xvidmmx
faani
Gleitkomma-AAN IDCT

Slice_count ganze Zahl
ec Fahnen (Dekodierung, Video)
Legen Sie eine Strategie zur Fehlerverbergung fest.

Mögliche Werte:

rate_mvs
iterative Bewegungsvektor (MV)-Suche (langsam)

deblockieren
Verwenden Sie einen starken Deblock-Filter für beschädigte MBs

favor_inter
Bevorzugen Sie die Vorhersage aus dem vorherigen Frame anstelle des aktuellen

bits_per_coded_sample ganze Zahl
pred ganze Zahl (Kodierung, Video)
Vorhersagemethode festlegen.

Mögliche Werte:

links
Ebene
mittlere
Aussehen rational Anzahl (Kodierung, Video)
Stellen Sie das Seitenverhältnis des Beispiels ein.

debuggen Fahnen (Dekodierung/Kodierung,Audio,Video,Untertitel)
Drucken Sie spezifische Debug-Informationen.

Mögliche Werte:

Bild
Bildinfo

rc Ratenkontrolle

Bitstream
mb_typ
Makroblock (MB) Typ

qp Quantisierungsparameter pro Block (QP)

mv Bewegungsvektor

dct_coeff
grüne_metadaten
Komplexitätsmetadaten für den kommenden Frame, GoP oder für eine bestimmte Dauer anzeigen.

überspringen
Startcode
pts
er Fehlererkennung

mmco
Steuervorgänge für die Speicherverwaltung (H.264)

Bugs
vis_qp
Quantisierungsparameter (QP) visualisieren, niedrigere QP werden grüner getönt

vis_mb_type
Blocktypen visualisieren

Puffer
Bildpufferzuweisungen

thread_ops
Einfädelvorgänge

nomc
Bewegungskompensation überspringen

vismv ganze Zahl (Dekodierung, Video)
Visualisieren Sie Bewegungsvektoren (MVs).

Diese Option ist veraltet, siehe stattdessen den Codecview-Filter.

Mögliche Werte:

pf vorwärts vorhergesagte MVs von P-Frames

bf vorwärts vorhergesagte MVs von B-Frames

bb rückwärts vorhergesagte MVs von B-Frames

CMP ganze Zahl (Kodierung, Video)
Stellen Sie die vollständige Vergleichsfunktion ein.

Mögliche Werte:

traurig Summe der absoluten Differenzen, schnell (Standard)

sse Summe der quadrierten Fehler

satt
Summe der absoluten Hadamard-transformierten Differenzen

dct Summe der absoluten DCT-transformierten Differenzen

Psnr
Summe der quadrierten Quantisierungsfehler (vermeiden, geringe Qualität)

Bit Anzahl der für den Block benötigten Bits

rd Geschwindigkeitsverzerrung optimal, langsam

Null
0

vsad
Summe der absoluten Höhenunterschiede

vsse
Summe der quadrierten vertikalen Differenzen

nss
rauscherhaltende Summe der quadrierten Differenzen

w53 5/3 Wavelet, nur im Schnee verwendet

w97 9/7 Wavelet, nur im Schnee verwendet

dktmax
Chroma
subcmp ganze Zahl (Kodierung, Video)
Stellen Sie die Sub-Pel-Me-Vergleichsfunktion ein.

Mögliche Werte:

traurig Summe der absoluten Differenzen, schnell (Standard)

sse Summe der quadrierten Fehler

satt
Summe der absoluten Hadamard-transformierten Differenzen

dct Summe der absoluten DCT-transformierten Differenzen

Psnr
Summe der quadrierten Quantisierungsfehler (vermeiden, geringe Qualität)

Bit Anzahl der für den Block benötigten Bits

rd Geschwindigkeitsverzerrung optimal, langsam

Null
0

vsad
Summe der absoluten Höhenunterschiede

vsse
Summe der quadrierten vertikalen Differenzen

nss
rauscherhaltende Summe der quadrierten Differenzen

w53 5/3 Wavelet, nur im Schnee verwendet

w97 9/7 Wavelet, nur im Schnee verwendet

dktmax
Chroma
mbcmp ganze Zahl (Kodierung, Video)
Stellen Sie die Makroblock-Vergleichsfunktion ein.

Mögliche Werte:

traurig Summe der absoluten Differenzen, schnell (Standard)

sse Summe der quadrierten Fehler

satt
Summe der absoluten Hadamard-transformierten Differenzen

dct Summe der absoluten DCT-transformierten Differenzen

Psnr
Summe der quadrierten Quantisierungsfehler (vermeiden, geringe Qualität)

Bit Anzahl der für den Block benötigten Bits

rd Geschwindigkeitsverzerrung optimal, langsam

Null
0

vsad
Summe der absoluten Höhenunterschiede

vsse
Summe der quadrierten vertikalen Differenzen

nss
rauscherhaltende Summe der quadrierten Differenzen

w53 5/3 Wavelet, nur im Schnee verwendet

w97 9/7 Wavelet, nur im Schnee verwendet

dktmax
Chroma
ildctcmp ganze Zahl (Kodierung, Video)
Stellen Sie die Interlaced-DCT-Vergleichsfunktion ein.

Mögliche Werte:

traurig Summe der absoluten Differenzen, schnell (Standard)

sse Summe der quadrierten Fehler

satt
Summe der absoluten Hadamard-transformierten Differenzen

dct Summe der absoluten DCT-transformierten Differenzen

Psnr
Summe der quadrierten Quantisierungsfehler (vermeiden, geringe Qualität)

Bit Anzahl der für den Block benötigten Bits

rd Geschwindigkeitsverzerrung optimal, langsam

Null
0

vsad
Summe der absoluten Höhenunterschiede

vsse
Summe der quadrierten vertikalen Differenzen

nss
rauscherhaltende Summe der quadrierten Differenzen

w53 5/3 Wavelet, nur im Schnee verwendet

w97 9/7 Wavelet, nur im Schnee verwendet

dktmax
Chroma
dia_size ganze Zahl (Kodierung, Video)
Stellen Sie Diamanttyp und -größe für die Bewegungsschätzung ein.

last_pred ganze Zahl (Kodierung, Video)
Stellen Sie die Anzahl der Bewegungsprädiktoren aus dem vorherigen Frame ein.

Prämie ganze Zahl (Kodierung, Video)
Stellen Sie die Vorausschätzung der Bewegung ein.

vorkomp ganze Zahl (Kodierung, Video)
Stellen Sie die Vergleichsfunktion vor der Bewegungsschätzung ein.

Mögliche Werte:

traurig Summe der absoluten Differenzen, schnell (Standard)

sse Summe der quadrierten Fehler

satt
Summe der absoluten Hadamard-transformierten Differenzen

dct Summe der absoluten DCT-transformierten Differenzen

Psnr
Summe der quadrierten Quantisierungsfehler (vermeiden, geringe Qualität)

Bit Anzahl der für den Block benötigten Bits

rd Geschwindigkeitsverzerrung optimal, langsam

Null
0

vsad
Summe der absoluten Höhenunterschiede

vsse
Summe der quadrierten vertikalen Differenzen

nss
rauscherhaltende Summe der quadrierten Differenzen

w53 5/3 Wavelet, nur im Schnee verwendet

w97 9/7 Wavelet, nur im Schnee verwendet

dktmax
Chroma
pre_dia_size ganze Zahl (Kodierung, Video)
Stellen Sie Diamanttyp und -größe für den Vorlauf zur Bewegungsschätzung ein.

unterq ganze Zahl (Kodierung, Video)
Stellen Sie die Qualität der Schätzung der Sub-Pel-Bewegung ein.

dtg_active_format ganze Zahl
me_range ganze Zahl (Kodierung, Video)
Begrenzen Sie den Bewegungsvektorbereich (1023 für DivX-Player).

ibis ganze Zahl (Kodierung, Video)
Legen Sie den Intra-Quant-Bias fest.

pbias ganze Zahl (Kodierung, Video)
Legen Sie den Inter-Quant-Bias fest.

color_table_id ganze Zahl
globale_qualität ganze Zahl (Kodierung, Audio, Video)
Coder ganze Zahl (Kodierung, Video)
Mögliche Werte:

vlc Codierer mit variabler Länge / Huffman-Codierer

ac arithmetischer Coder

roh raw (keine Kodierung)

rle Lauflängencodierer

deflate
Deflate-basierter Coder

Kontext ganze Zahl (Kodierung, Video)
Kontextmodell festlegen.

Slice_Flags ganze Zahl
xvmc_acceleration ganze Zahl
mbd ganze Zahl (Kodierung, Video)
Legen Sie den Makroblock-Entscheidungsalgorithmus fest (Hochqualitätsmodus).

Mögliche Werte:

einfach
mbcmp verwenden (Standard)

Bits
am wenigsten Bits verwenden

rd beste Ratenverzerrung verwenden

stream_codec_tag ganze Zahl
sc_threshold ganze Zahl (Kodierung, Video)
Stellen Sie den Schwellenwert für den Szenenwechsel ein.

min ganze Zahl (Kodierung, Video)
Stellen Sie den minimalen Lagrange-Faktor (VBR) ein.

lmax ganze Zahl (Kodierung, Video)
Stellen Sie den maximalen Verzögerungsfaktor (VBR) ein.

nr ganze Zahl (Kodierung, Video)
Rauschunterdrückung einstellen.

rc_init_occupancy ganze Zahl (Kodierung, Video)
Legen Sie die Anzahl der Bits fest, die in den RC-Puffer geladen werden sollen, bevor die Decodierung beginnt.

flags2 Fahnen (Dekodierung/Kodierung, Audio, Video)
Mögliche Werte:

schnell
Erlaube nicht spezifikationskonforme Beschleunigungstricks.

schop
Veraltet, verwenden Sie stattdessen private MPEGvideo-Optionen.

nein
Bitstream-Codierung überspringen.

ignorieren
Ignorieren Sie die Zuschneideinformationen von sps.

local_header
Platzieren Sie globale Header bei jedem Keyframe statt in Extradaten.

Stücke
Frame-Daten können in mehrere Blöcke aufgeteilt werden.

zeige alles
Alle Frames vor dem ersten Keyframe anzeigen.

Skiprd
Veraltet, verwenden Sie stattdessen private MPEGvideo-Optionen.

export_mvs
Bewegungsvektoren in Frame-Seitendaten exportieren (siehe "AV_FRAME_DATA_MOTION_VECTORS")
für Codecs, die es unterstützen. Siehe auch doc/examples/export_mvs.c.

Fehler ganze Zahl (Kodierung, Video)
qns ganze Zahl (Kodierung, Video)
Veraltet, verwenden Sie stattdessen private MPEGvideo-Optionen.

Themen ganze Zahl (Dekodierung/Kodierung, Video)
Mögliche Werte:

Auto
eine gute Anzahl von Threads erkennen

me_threshold ganze Zahl (Kodierung, Video)
Legen Sie den Schwellenwert für die Bewegungsschätzung fest.

mb_threshold ganze Zahl (Kodierung, Video)
Legen Sie den Makroblock-Schwellenwert fest.

dc ganze Zahl (Kodierung, Video)
Legen Sie intra_dc_precision fest.

nssw ganze Zahl (Kodierung, Video)
Stellen Sie das nsse-Gewicht ein.

überspringen_top ganze Zahl (Dekodierung, Video)
Legen Sie die Anzahl der Makroblockzeilen oben fest, die übersprungen werden.

überspringen_bottom ganze Zahl (Dekodierung, Video)
Legen Sie die Anzahl der Makroblockzeilen unten fest, die übersprungen werden.

profile ganze Zahl (Kodierung, Audio, Video)
Mögliche Werte:

unbekannt
aac_main
aac_low
aac_ssr
aac_ltp
aac_he
aac_he_v2
aac_ld
aac_feld
mpeg2_aac_low
mpeg2_aac_he
mpeg4_sp
mpeg4_core
mpeg4_main
mpeg4_asp
dts
dts_es
dts_96_24
dts_hd_hra
dts_hd_ma
Grad des ganze Zahl (Kodierung, Audio, Video)
Mögliche Werte:

unbekannt
niedrige Auflösung ganze Zahl (Dekodierung, Audio, Video)
Decodieren Sie mit 1= 1/2, 2=1/4, 3=1/8 Auflösungen.

überspringen_threshold ganze Zahl (Kodierung, Video)
Stellen Sie den Schwellenwert für das Überspringen von Bildern ein.

überspringen_Faktor ganze Zahl (Kodierung, Video)
Stellen Sie den Frame-Skip-Faktor ein.

überspringen_exp ganze Zahl (Kodierung, Video)
Stellen Sie den Exponenten für das Überspringen von Frames ein. Negative Werte verhalten sich identisch mit den entsprechenden
positive, außer dass die Punktzahl normalisiert ist. Positive Werte gibt es in erster Linie
aus Kompatibilitätsgründen und sind nicht so nützlich.

überspringencmp ganze Zahl (Kodierung, Video)
Stellen Sie die Vergleichsfunktion zum Überspringen von Bildern ein.

Mögliche Werte:

traurig Summe der absoluten Differenzen, schnell (Standard)

sse Summe der quadrierten Fehler

satt
Summe der absoluten Hadamard-transformierten Differenzen

dct Summe der absoluten DCT-transformierten Differenzen

Psnr
Summe der quadrierten Quantisierungsfehler (vermeiden, geringe Qualität)

Bit Anzahl der für den Block benötigten Bits

rd Geschwindigkeitsverzerrung optimal, langsam

Null
0

vsad
Summe der absoluten Höhenunterschiede

vsse
Summe der quadrierten vertikalen Differenzen

nss
rauscherhaltende Summe der quadrierten Differenzen

w53 5/3 Wavelet, nur im Schnee verwendet

w97 9/7 Wavelet, nur im Schnee verwendet

dktmax
Chroma
border_mask schweben (Kodierung, Video)
Erhöhen Sie den Quantisierer für Makroblöcke in der Nähe von Rändern.

mblmin ganze Zahl (Kodierung, Video)
Stellen Sie den minimalen Makroblock-Lagrange-Faktor (VBR) ein.

mblmax ganze Zahl (Kodierung, Video)
Legen Sie den maximalen Makroblock-Lagrange-Faktor (VBR) fest.

mepc ganze Zahl (Kodierung, Video)
Stellen Sie die Bitratenkompensation für die Bewegungsschätzung ein (1.0 = 256).

skip_loop_filter ganze Zahl (Dekodierung, Video)
skip_idct ganze Zahl (Dekodierung, Video)
überspringen_frame ganze Zahl (Dekodierung, Video)
Lassen Sie den Decoder die Verarbeitung je nach dem mit der Option ausgewählten Rahmentyp verwerfen
Wert.

skip_loop_filter überspringt die Frame-Loop-Filterung, skip_idct überspringt Frame
IDCT/Dequantisierung, überspringen_frame überspringt die Dekodierung.

Mögliche Werte:

keine
Kein Rahmen verwerfen.

Standard
Verwerfen Sie nutzlose Rahmen wie Rahmen der Größe 0.

noref
Verwerfen Sie alle Nicht-Referenz-Frames.

bidir
Alle bidirektionalen Frames verwerfen.

kein Schlüssel
Alle Frames außer Keyframes verwerfen.

alle Verwerfen Sie alle Frames.

Standardwert ist Standard.

bidir_refine ganze Zahl (Kodierung, Video)
Verfeinern Sie die beiden Bewegungsvektoren, die in bidirektionalen Makroblöcken verwendet werden.

brd_scale ganze Zahl (Kodierung, Video)
Downscale-Frames für dynamische B-Frame-Entscheidung.

keyint_min ganze Zahl (Kodierung, Video)
Legen Sie das Mindestintervall zwischen den IDR-Frames fest.

Ref ganze Zahl (Kodierung, Video)
Legen Sie Referenzframes fest, die für die Bewegungskompensation berücksichtigt werden sollen.

Chroma-Offset ganze Zahl (Kodierung, Video)
Stellen Sie den Chroma-qp-Offset von Luma ein.

Gitter ganze Zahl (Kodierung, Audio, Video)
Stellen Sie die optimale Quantisierung für die Geschwindigkeitsverzerrung ein.

sc_faktor ganze Zahl (Kodierung, Video)
Setzen Sie den Wert multipliziert mit qscale für jeden Frame und addieren Sie ihn zu scene_change_score.

mv0_threshold ganze Zahl (Kodierung, Video)
b_empfindlichkeit ganze Zahl (Kodierung, Video)
Passen Sie die Empfindlichkeit von b_frame_strategy 1 an.

Kompressionslevel ganze Zahl (Kodierung, Audio, Video)
min_prediction_order ganze Zahl (Kodierung, Audio)
max_prediction_order ganze Zahl (Kodierung, Audio)
timecode_frame_start ganze Zahl (Kodierung, Video)
Legen Sie die Startnummer des GOP-Timecode-Frames im Non-Drop-Frame-Format fest.

Anfragekanäle ganze Zahl (Dekodierung, Audio)
Stellen Sie die gewünschte Anzahl von Audiokanälen ein.

bits_per_raw_sample ganze Zahl
Kanal_Layout ganze Zahl (Dekodierung/Kodierung, Audio)
Mögliche Werte:

request_channel_layout ganze Zahl (Dekodierung, Audio)
Mögliche Werte:

rc_max_vbv_use schweben (Kodierung, Video)
rc_min_vbv_use schweben (Kodierung, Video)
ticks_per_frame ganze Zahl (Dekodierung/Kodierung, Audio, Video)
color_primaries ganze Zahl (Dekodierung/Kodierung, Video)
color_trc ganze Zahl (Dekodierung/Kodierung, Video)
Farbraum ganze Zahl (Dekodierung/Kodierung, Video)
Farbspektrum ganze Zahl (Dekodierung/Kodierung, Video)
Als Eingabeparameter dient er als Hinweis für den Decoder, welcher Farbbereich der
Eingang hat.

chroma_sample_location ganze Zahl (Dekodierung/Kodierung, Video)
log_level_offset ganze Zahl
Legen Sie den Log-Level-Offset fest.

Scheiben ganze Zahl (Kodierung, Video)
Anzahl der Slices, die bei der parallelisierten Codierung verwendet werden.

Gewindetyp Fahnen (Dekodierung/Kodierung, Video)
Wählen Sie aus, welche Multithreading-Methoden verwendet werden sollen.

Gebrauch von Rahmen wird die Decodierungsverzögerung um einen Frame pro Thread erhöhen, sodass Clients, die
keine zukünftigen Frames bereitstellen kann, sollte es nicht verwenden.

Mögliche Werte:

Scheibe
Dekodieren Sie mehr als einen Teil eines einzelnen Frames auf einmal.

Multithreading mit Slices funktioniert nur, wenn das Video mit Slices codiert wurde.

Rahmen
Decodieren Sie mehr als einen Frame gleichzeitig.

Standardwert ist Scheibe+Rahmen.

audio_service_type ganze Zahl (Kodierung, Audio)
Legen Sie den Audiodiensttyp fest.

Mögliche Werte:

ma Hauptaudiodienst

ef Effekte

vi Sehbehindert

hi Hörgeschädigt

di Dialog

co Kommentar

em Notfall

vo Voice Over

ka Karaoke

request_sample_fmt sample_fmt (Dekodierung, Audio)
Set-Sample-Format-Audio-Decoder sollten das bevorzugen. Der Standardwert ist "keiner".

pkt_timebase rational Anzahl
sub_charenc Codierung (Dekodierung, Untertitel)
Legen Sie die Zeichenkodierung für die eingegebenen Untertitel fest.

Feldreihenfolge Feldreihenfolge (Video)
Festlegen/Überschreiben der Halbbildreihenfolge des Videos. Mögliche Werte:

fortschrittlich
Progressives Video

tt Interlaced-Video, oberes Halbbild codiert und zuerst angezeigt

bb Interlaced-Video, unteres Halbbild codiert und zuerst angezeigt

tb Interlaced-Video, oben zuerst codiert, unten zuerst angezeigt

bt Interlaced-Video, unten zuerst codiert, oben zuerst angezeigt

überspringen_alpha ganze Zahl (Dekodierung, Video)
Auf 1 setzen, um die Verarbeitung von Alpha (Transparenz) zu deaktivieren. Das funktioniert wie grau Flagge in
Fahnen Option, die Chroma-Informationen anstelle von Alpha überspringt. Standard ist 0.

codec_whitelist Liste (Eingabe)
"," getrennt Liste der erlaubten Decoder. Standardmäßig sind alle erlaubt.

dump_separator Schnur (Eingabe)
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

DECODER


Decoder sind konfigurierte Elemente in FFmpeg, die die Dekodierung von Multimedia-Streams ermöglichen.

Wenn Sie Ihren FFmpeg-Build konfigurieren, werden alle unterstützten nativen Decoder aktiviert durch
Ursprünglich. Decoder, die eine externe Bibliothek benötigen, müssen manuell über die
entsprechende "--enable-lib"-Option. Sie können alle verfügbaren Decoder mit dem
Konfigurieren Sie die Option "--list-decoders".

Sie können alle Decoder mit der Konfigurationsoption "--disable-decoders" deaktivieren und
selektiv einzelne Decoder aktivieren / deaktivieren mit den Optionen "--enable-decoder=DECODER" /
"--disable-decoder=DECODER".

Die Option "-decoders" des ff*-Tools zeigt die Liste der aktivierten Decoder an.

VIDEO DECODER


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

Hevc
HEVC / H.265-Decoder.

Beachten Sie das skip_loop_filter Option hat nur auf Ebene "alle" Wirkung.

Rohvideo
Raw-Video-Decoder.

Dieser Decoder dekodiert Raw-Video-Streams.

Optionen

Top top_field_first
Geben Sie den angenommenen Feldtyp des Eingabevideos an.

-1 Es wird angenommen, dass das Video progressiv ist (Standard)

0 Bottom-Field-First wird angenommen

1 Top-Field-First wird angenommen

AUDIO DECODER


Es folgt eine Beschreibung einiger der derzeit verfügbaren Audio-Decoder.

ac3
AC-3 Audio-Decoder.

Dieser Decoder implementiert einen Teil von ATSC A/52:2010 und ETSI TS 102 366 sowie die
undokumentiertes RealAudio 3 (auch bekannt als dnet).

AC-3 Decoder Optionen

-drc_scale Wert
Skalierungsfaktor für den Dynamikbereich. Der Faktor, der auf Dynamikbereichswerte von AC-3 . anzuwenden ist
Strom. Dieser Faktor wird exponentiell angewendet. Es gibt 3 bemerkenswerte Skalierungsfaktoren
Bereiche:

drc_scale == 0
DRC deaktiviert. Erzeugt Full-Range-Audio.

0 < drc_scale <= 1
DRC aktiviert. Wendet einen Bruchteil des Stream-DRC-Werts an. Audiowiedergabe ist
zwischen Vollbereich und Vollkompression.

drc_scale > 1
DRC aktiviert. Wendet drc_scale asymmetrisch an. Laute Töne werden vollständig komprimiert.
Sanfte Klänge werden verstärkt.

flac
FLAC-Audio-Decoder.

Dieser Decoder zielt darauf ab, die vollständige FLAC-Spezifikation von Xiph zu implementieren.

FLAC Decoder Optionen

-use_buggy_lpc
Der lavc FLAC-Encoder, der verwendet wird, um fehlerhafte Streams mit hohen lpc-Werten zu erzeugen (wie die
Standardwert). Diese Option ermöglicht es, solche Streams korrekt zu dekodieren, indem
Verwenden der alten fehlerhaften Lpc-Logik von lavc zum Decodieren.

ffwavesynth
Interner Wellensynthetizer.

Dieser Decoder erzeugt Wellenmuster nach vordefinierten Sequenzen. Seine Verwendung ist rein
intern und das Format der akzeptierten Daten ist nicht öffentlich dokumentiert.

libcelt
libcelt-Decoder-Wrapper.

libcelt ermöglicht es libavcodec, den Audiocodec Xiph CELT mit extrem geringer Verzögerung zu decodieren. Erfordert
das Vorhandensein der libcelt-Header und der Bibliothek während der Konfiguration. Du musst
Konfigurieren Sie den Build explizit mit "--enable-libcelt".

libgsm
libgsm-Decoder-Wrapper.

libgsm ermöglicht es libavcodec, den GSM-Full-Rate-Audio-Codec zu decodieren. Erfordert die Anwesenheit von
die libgsm-Header und die Bibliothek während der Konfiguration. Sie müssen das explizit konfigurieren
mit "--enable-libgsm" bauen.

Dieser Decoder unterstützt sowohl die normale GSM- als auch die Microsoft-Variante.

libibc
libibc-Decoder-Wrapper.

libilbc ermöglicht es libavcodec, den Audio-Codec des Internet Low Bitrate Codec (iLBC) zu decodieren.
Erfordert das Vorhandensein der libibc-Header und der Bibliothek während der Konfiguration. Du musst
Konfigurieren Sie den Build explizit mit "--enable-libilbc".

Optionen

Die folgende Option wird vom libibc-Wrapper unterstützt.

zu steigern,
Aktivieren Sie die Verbesserung des decodierten Audios, wenn auf 1 gesetzt. Der Standardwert ist 0
(behindert).

libopencore-amrnb
libopencore-amrnb-Decoder-Wrapper.

libopencore-amrnb ermöglicht es libavcodec, das adaptive Multi-Rate-Narrowband-Audio zu decodieren
Codec. Die Verwendung erfordert das Vorhandensein der libopencore-amrnb-Header und der Bibliothek während
Aufbau. Sie müssen den Build explizit mit konfigurieren
"--enable-libopencore-amrnb".

Es gibt einen nativen FFmpeg-Decoder für AMR-NB, sodass Benutzer AMR-NB ohne diese decodieren können
Bibliothek.

libopencore-amrwb
libopencore-amrwb-Decoder-Wrapper.

libopencore-amrwb ermöglicht libavcodec die Dekodierung von Adaptive Multi-Rate Wideband Audio
Codec. Die Verwendung erfordert das Vorhandensein der libopencore-amrwb-Header und der Bibliothek während
Aufbau. Sie müssen den Build explizit mit konfigurieren
"--enable-libopencore-amrwb".

Ein nativer FFmpeg-Decoder für AMR-WB existiert, sodass Benutzer AMR-WB ohne diese decodieren können
Bibliothek.

Libopus
libopus-Decoder-Wrapper.

libopus ermöglicht es libavcodec, den Opus Interactive Audio Codec zu decodieren. Benötigt die
Vorhandensein der Libopus-Header und der Bibliothek während der Konfiguration. Sie müssen explizit
Konfigurieren Sie den Build mit "--enable-libopus".

Es existiert ein nativer FFmpeg-Decoder für Opus, sodass Benutzer Opus ohne diese Bibliothek decodieren können.

UNTERTITEL DECODER


DVBSub
Optionen

berechnen_clut
-1 Clut berechnen, wenn keine übereinstimmende CLUT im Stream vorhanden ist.

0 Berechnen Sie niemals CLUT

1 Berechnen Sie immer CLUT und überschreiben Sie die im Stream bereitgestellte.

dvb_substream
Wählt den DVB-Substream oder alle Substreams aus, wenn -1 der Standardwert ist.

DVDsub
Dieser Codec dekodiert die in DVDs verwendeten Bitmap-Untertitel; die gleichen Untertitel sind auch zu finden
in VobSub-Dateipaaren und in einigen Matroska-Dateien.

Optionen

Palette
Geben Sie die globale Palette an, die von den Bitmaps verwendet wird. Beim Speichern in VobSub ist die Palette
normalerweise in der Indexdatei angegeben; in Matroska wird die Palette im Codec gespeichert
Extra-Daten im gleichen Format wie in VobSub. Bei DVDs wird die Palette im IFO gespeichert
-Datei und ist daher beim Lesen aus gedumpten VOB-Dateien nicht verfügbar.

Das Format für diese Option ist eine Zeichenfolge mit 16 24-Bit-Hexadezimalzahlen
(ohne 0x-Präfix) durch Kommas getrennt, zum Beispiel "0d00ee, ee450d, 101010, eaeaea,
0ce60b, ec14ed, ebff0b, 0d617a, 7b7b7b, d1d1d1, 7b2a0e, 0d950c, 0f007b, cf0dec,
cfa80c, 7c127b".

ifo_palette
Geben Sie die IFO-Datei an, aus der die globale Palette abgerufen wird. (Experimental)

force_subs_only
Nur als erzwungen markierte Untertiteleinträge decodieren. Einige Titel haben erzwungene und nicht erzwungene
Untertitel im selben Track. Wenn Sie dieses Flag auf 1 setzen, wird nur das erzwungene
Untertitel. Der Standardwert ist 0.

libzvbi-Teletext
Libzvbi ermöglicht es libavcodec, DVB-Teletext-Seiten und DVB-Teletext-Untertitel zu decodieren.
Erfordert das Vorhandensein der libzvbi-Header und der Bibliothek während der Konfiguration. Du musst
Konfigurieren Sie den Build explizit mit "--enable-libzvbi".

Optionen

txt_seite
Liste der zu decodierenden Videotext-Seitennummern. Sie können den speziellen *-String verwenden, um alle zu finden
Seiten. Seiten, die nicht mit der angegebenen Liste übereinstimmen, werden gelöscht. Der Standardwert ist *.

txt_hack_top
Verwirft die oberste Videotextzeile. Der Standardwert ist 1.

txt_format
Gibt das Format der dekodierten Untertitel an. Der Videotext-Decoder kann
Um die Videotextseiten in Bitmaps oder in einfachen Text zu decodieren, sollten Sie "Bitmap" verwenden für
Videotextseiten, da bestimmte Grafiken und Farben nicht einfach ausgedrückt werden können
Text. Sie können "Text" für Videotext-basierte Untertitel verwenden, wenn Ihre Anwendung damit umgehen kann
einfache textbasierte Untertitel. Der Standardwert ist Bitmap.

txt_links
X-Offset der generierten Bitmaps, der Standardwert ist 0.

txt_top
Y-Offset der generierten Bitmaps, der Standardwert ist 0.

txt_chop_spaces
Schneidet führende und nachfolgende Leerzeichen ab und entfernt leere Zeilen aus dem generierten Text.
Diese Option ist nützlich für Videotext-basierte Untertitel, bei denen Leerstellen vorhanden sein können
am Anfang oder am Ende der Zeilen oder es können Leerzeilen zwischen den
Untertitelzeilen wegen doppelter Teletextzeichen. Der Standardwert ist 1.

txt_dauer
Stellt die Anzeigedauer der dekodierten Videotextseiten oder Untertitel in Millisekunden ein.
Der Standardwert ist 30000, was 30 Sekunden entspricht.

txt_transparent
Erzwingt transparenten Hintergrund der generierten Videotext-Bitmaps. Standardwert ist 0
was einen undurchsichtigen (schwarzen) Hintergrund bedeutet.

BITSTREAM FILTER


Wenn Sie Ihren FFmpeg-Build konfigurieren, werden alle unterstützten Bitstream-Filter aktiviert durch
Ursprünglich. Sie können alle verfügbaren mit der Konfigurationsoption "--list-bsfs" auflisten.

Sie können alle Bitstream-Filter mit der Konfigurationsoption "--disable-bsfs" deaktivieren und
Aktivieren Sie selektiv jeden Bitstream-Filter mit der Option "--enable-bsf=BSF", oder Sie können
deaktivieren Sie einen bestimmten Bitstream-Filter mit der Option "--disable-bsf=BSF".

Die Option "-bsfs" der ff*-Tools zeigt die Liste aller unterstützten Bitstreams an
Filter, die in Ihrem Build enthalten sind.

Die ff*-Tools haben eine -bsf-Option, die pro Stream angewendet wird, wobei eine durch Kommas getrennte Liste von
filter, deren Parameter dem Filternamen nach einem '=' folgen.

ffmpeg -i EINGANG -c:v kopieren -bsf:v filter1[=opt1=str1/opt2=str2][,filter2] AUSGANG

Nachfolgend finden Sie eine Beschreibung der derzeit verfügbaren Bitstream-Filter mit ihren
Parameter, falls vorhanden.

aac_adtstoasc
Konvertieren Sie MPEG-2/4 AAC ADTS in einen MPEG-4 Audio Specific Configuration Bitstream-Filter.

Dieser Filter erstellt eine MPEG-4 AudioSpecificConfig aus einem MPEG-2/4 ADTS-Header und entfernt
den ADTS-Header.

Dies ist zum Beispiel erforderlich, wenn Sie einen AAC-Stream von einem rohen ADTS AAC-Container in einen AAC-Container kopieren
FLV oder eine MOV/MP4-Datei.

chomp
Entfernen Sie Null-Padding am Ende eines Pakets.

dump_extra
Fügen Sie zusätzliche Daten am Anfang der gefilterten Pakete hinzu.

Das zusätzliche Argument gibt an, welche Pakete gefiltert werden sollen. Es akzeptiert die
Werte:

a füge Extradaten zu allen Schlüsselpaketen hinzu, aber nur, wenn local_header ist in der flags2 Codec
Kontextfeld

k fügen Sie allen Schlüsselpaketen zusätzliche Daten hinzu

e füge Extradaten zu allen Paketen hinzu

Wenn nicht angegeben, wird davon ausgegangen k.

Zum Beispiel die folgenden ffmpeg Befehl erzwingt einen globalen Header (und deaktiviert somit einzelne
Paket-Header) in den vom "libx264"-Encoder generierten H.264-Paketen, korrigiert diese jedoch
indem Sie den in extradata gespeicherten Header zu den Schlüsselpaketen hinzufügen:

ffmpeg -i INPUT -map 0 -flags:v +global_header -c:v libx264 -bsf:v dump_extra out.ts

h264_mp4toannexb
Konvertieren eines H.264-Bitstreams vom Längenpräfix-Modus in den Startcode-Präfix-Modus (wie
im Anhang B der ITU-T H.264-Spezifikation definiert).

Dies ist für einige Streaming-Formate erforderlich, typischerweise das MPEG-2-Transportstream-Format
("mpegt").

Um beispielsweise eine MP4-Datei, die einen H.264-Stream enthält, in das MPEGts-Format zu remuxen mit ffmpeg,
Sie können den Befehl verwenden:

ffmpeg -i INPUT.mp4 -codec copy -bsf:v h264_mp4toannexb OUTPUT.ts

imxdump
Ändert den Bitstream, damit er in MOV passt und vom Final Cut Pro-Decoder verwendet werden kann. Dies
Filter gilt nur für den MPEG2Video-Codec und wird für Final Cut Pro 7 wahrscheinlich nicht benötigt
und neuer mit den entsprechenden -tag:v.

Um beispielsweise 30 MB/Sek. NTSC IMX in MOV zu remuxen:

ffmpeg -i input.mxf -c copy -bsf:v imxdump -tag:v mx3n output.mov

mjpeg2jpeg
Konvertieren Sie MJPEG/AVI1-Pakete in vollständige JPEG/JFIF-Pakete.

MJPEG ist ein Videocodec, bei dem jeder Videoframe im Wesentlichen ein JPEG-Bild ist. Die
einzelne Frames können verlustfrei extrahiert werden, z. B. durch

ffmpeg -i ../some_mjpeg.avi -c:v copy frames_%d.jpg

Leider sind diese Chunks unvollständige JPEG-Bilder, da ihnen das DHT-Segment fehlt
zur Dekodierung benötigt. Zitat von
<http://www.digitalpreservation.gov/formats/fdd/fdd000063.shtml>:

Avery Lee schrieb 2001 in der Newsgroup rec.video.desktop, dass "MJPEG, or
zumindest das MJPEG in AVIs mit dem MJPG fourcc, ist eingeschränktes JPEG mit einem festen -- und
*weggelassen* -- Huffman-Tisch. Das JPEG muss dem YCbCr-Farbraum entsprechen, es muss 4:2:2 sein und es
muss die grundlegende Huffman-Kodierung verwenden, nicht arithmetisch oder progressiv. . . . Du kannst tatsächlich
Extrahieren Sie die MJPEG-Frames und decodieren Sie sie mit einem normalen JPEG-Decoder, aber Sie müssen
Stellen Sie ihnen das DHT-Segment voran, sonst hat der Decoder keine Ahnung, wie er dekomprimieren soll
die Daten. Die genaue erforderliche Tabelle ist in der OpenDML-Spezifikation angegeben."

Dieser Bitstream-Filter patcht den Header von Frames, die aus einem MJPEG-Stream extrahiert wurden
(mit der AVI1-Header-ID und ohne DHT-Segment), um vollqualifiziertes JPEG zu erzeugen
Bilder.

ffmpeg -i mjpeg-movie.avi -c:v kopieren -bsf:v mjpeg2jpeg frame_%d.jpg
exiftran -i -9 Rahmen*.jpg
ffmpeg -i frame_%d.jpg -c:v Kopie gedreht.avi

mjpega_dump_header
movsub
mp3_header_decompress
mpeg4_unpack_bframes
Entpacken Sie gepackte B-Frames im DivX-Stil.

Gepackte B-Frames im DivX-Stil sind kein gültiges MPEG-4 und waren nur ein Workaround für die defekten
Video für Windows-Subsystem. Sie verbrauchen mehr Speicherplatz, können kleinere AV-Synchronisierungsprobleme verursachen, erfordern
mehr CPU-Leistung zum Decodieren (es sei denn, der Player hat eine decodierte Bildwarteschlange zum Ausgleich
2,0,2,0 Frames pro Paketstil) und verursachen Probleme, wenn sie in einen Standardcontainer kopiert werden
wie mp4 oder mpeg-ps/ts, da MPEG-4-Decoder sie möglicherweise nicht decodieren können, da sie
sind nicht gültig MPEG-4.

Zum Beispiel, um eine AVI-Datei zu reparieren, die einen MPEG-4-Stream mit gepackten B-Frames im DivX-Stil enthält
Verwendung von ffmpeg, können Sie den Befehl verwenden:

ffmpeg -i INPUT.avi -codec copy -bsf:v mpeg4_unpack_bframes OUTPUT.avi

Lärm
Beschädigt den Inhalt von Paketen, ohne den Behälter zu beschädigen. Kann zum Fuzzing verwendet werden oder
Testen von Fehlerresistenz/Verbergen.

Parameter: Eine Ziffernfolge, deren Wert sich darauf bezieht, wie oft ausgegebene Bytes sein werden
geändert. Daher sind Werte kleiner oder gleich 0 verboten, und je niedriger, desto mehr
häufige Bytes werden geändert, wobei 1 bedeutet, dass jedes Byte geändert wird.

ffmpeg -i INPUT -c kopieren -bsf Rauschen[=1] Ausgabe.mkv

wendet die Änderung auf jedes Byte an.

entfernen_extra

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 (Eingabe)
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 (Ausgabe)
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 (Eingabe)
Suche nach Nicht-Keyframes auf Demuxer-Ebene zulassen, wenn unterstützt, wenn auf 1 gesetzt. Standard
ist 0.

Analyse ganze Zahl (Eingabe)
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 (Eingabe)
Entschlüsselungsschlüssel festlegen.

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

rtbufsize ganze Zahl (Eingabe)
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 (Eingabe)
Legen Sie die Anzahl der Frames fest, die verwendet werden, um fps zu prüfen.

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

chunk_duration ganze Zahl (Ausgabe)
Stellen Sie Mikrosekunden für jeden Abschnitt ein.

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

err_detektieren, f_err_detect Fahnen (Eingabe)
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 (Ausgabe)
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 (Eingabe)
Verwenden Sie die Wanduhr als Zeitstempel.

vermeiden_negative_ts ganze Zahl (Ausgabe)
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 (Eingabe)
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 (Eingabe)
Korrigieren Sie einzelne Zeitstempelüberläufe, wenn auf 1 gesetzt. Der Standardwert ist 1.

Spülpakete ganze Zahl (Ausgabe)
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 (Ausgabe)
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 (Eingabe)
"," getrennt Liste der erlaubten Demuxer. Standardmäßig sind alle erlaubt.

dump_separator Schnur (Eingabe)
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

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

PROTOKOLLE


Protokolle sind konfigurierte Elemente in FFmpeg, die den Zugriff auf Ressourcen ermöglichen, die
spezielle Protokolle.

Wenn Sie Ihren FFmpeg-Build konfigurieren, sind alle unterstützten Protokolle standardmäßig aktiviert.
Sie können alle verfügbaren mit der Konfigurationsoption "--list-protocols" auflisten.

Sie können alle Protokolle mit der Konfigurationsoption "--disable-protocols" deaktivieren und
Aktivieren Sie selektiv ein Protokoll mit der Option "--enable-protocol=PROTOKOLL", oder du kannst
deaktivieren Sie ein bestimmtes Protokoll mit der Option "--disable-protocol=PROTOKOLL".

Die Option "-protocols" des ff*-Tools zeigt die Liste der unterstützten Protokolle an.

Es folgt eine Beschreibung der derzeit verfügbaren Protokolle.

async
Asynchroner Wrapper zum Füllen von Daten für den Eingabestrom.

Füllen Sie Daten in einen Hintergrund-Thread, um die E/A-Operation vom Demux-Thread zu entkoppeln.

asynchron:
asynchron:http://host/resource
async:cache:http://host/resource

Blu-Ray
BluRay-Wiedergabeliste lesen.

Die akzeptierten Optionen sind:

Winkel
BluRay-Winkel

Kapitel
Kapitel starten (1...N)

Playliste
Playlist zum Lesen (BDMV/PLAYLIST/?????.mpls)

Beispiele:

Lesen Sie die längste Playlist von BluRay, die in /mnt/bluray eingebunden ist:

Bluray:/mnt/Bluray

Lesen Sie Winkel 2 von Playlist 4 von BluRay eingehängt auf /mnt/bluray, beginnen Sie mit Kapitel 2:

-Playlist 4 -Winkel 2 -Kapitel 2 Bluray:/mnt/bluray

Cache-Speicher
Caching-Wrapper für den Eingabestream.

Zwischenspeichern des Eingabestreams in einer temporären Datei. Es bringt Suchfunktionen in Live-Streams.

Zwischenspeicher:

concat
Physisches Verkettungsprotokoll.

Lesen und durchsuchen Sie viele Ressourcen nacheinander, als ob sie eine einzige Ressource wären.

Eine von diesem Protokoll akzeptierte URL hat die Syntax:

konkat: | |...|

woher URL1, URL2... URLN sind die URLs der zu verkettenden Ressource, jede einzelne
möglicherweise ein eindeutiges Protokoll angeben.

Zum Beispiel um eine Folge von Dateien zu lesen split1.mpeg, split2.mpeg, split3.mpeg mit ffplay
Verwenden Sie den Befehl:

ffplay concat:split1.mpeg\|split2.mpeg\|split3.mpeg

Beachten Sie, dass Sie möglicherweise das Zeichen "|" mit Escapezeichen versehen müssen. was für viele Muscheln besonders ist.

Krypto
AES-verschlüsseltes Stream-Leseprotokoll.

Die akzeptierten Optionen sind:

Schlüssel Legen Sie den Binärblock des AES-Entschlüsselungsschlüssels aus der angegebenen hexadezimalen Darstellung fest.

iv Legen Sie den Binärblock des AES-Entschlüsselungsinitialisierungsvektors von der angegebenen Hexadezimalzahl fest
Darstellung.

Akzeptierte URL-Formate:

Krypto:
Krypto+

technische Daten
Daten in-line im URI. Sehenhttp://en.wikipedia.org/wiki/Data_URI_scheme>.

Um beispielsweise eine GIF-Datei zu konvertieren, die inline mit ffmpeg:

ffmpeg -i "data:image/gif;base64,R0lGODdhCAAIAMIEAAAAAAAA//8AAP//AP///////////////ywAAAAACAAIAAADF0gEDLojDgdGiJdJqUX02iB4E8Q9jUMkADs=" smiley.png

Datei
Dateizugriffsprotokoll.

Aus einer Datei lesen oder in eine Datei schreiben.

Eine Datei-URL kann die Form haben:

Datei:

woher Dateinamen ist der Pfad der zu lesenden Datei.

Eine URL ohne Protokollpräfix wird als Datei-URL angenommen. Es hängt davon ab
der Build, eine URL, die wie ein Windows-Pfad mit dem Laufwerksbuchstaben am Anfang aussieht
wird auch als Datei-URL angenommen (normalerweise nicht der Fall in Builds für Unix-like
Systeme).

Zum Beispiel um aus einer Datei zu lesen Eingabe.mpeg mit ffmpeg Verwenden Sie den Befehl:

ffmpeg -i Datei:input.mpeg output.mpeg

Dieses Protokoll akzeptiert die folgenden Optionen:

abschneiden
Vorhandene Dateien beim Schreiben abschneiden, wenn auf 1 gesetzt. Ein Wert von 0 verhindert das Abschneiden.
Der Standardwert ist 1.

Block Größe
Legen Sie die maximale Blockgröße für die E/A-Operation in Byte fest. Der Standardwert ist "INT_MAX", was
führt dazu, dass die angeforderte Blockgröße nicht begrenzt wird. Setzen Sie diesen Wert angemessen niedrig
Verbessert die Reaktionszeit von Benutzerbeendigungsanfragen, was für langsame Dateien von Vorteil ist
Mittel.

ftp
FTP (Dateiübertragungsprotokoll).

Lesen von oder Schreiben auf Remote-Ressourcen mithilfe des FTP-Protokolls.

Folgende Syntax ist erforderlich.

ftp://[Benutzer[:Passwort]@]Server[:Port]/Pfad/zu/Remote/Ressource.mpeg

Dieses Protokoll akzeptiert die folgenden Optionen.

Timeout
Legen Sie das Timeout in Mikrosekunden für Socket-I/O-Operationen fest, die vom zugrunde liegenden Low-Level verwendet werden
Betrieb. Standardmäßig ist es auf -1 gesetzt, was bedeutet, dass das Timeout nicht angegeben ist.

ftp-anonymes-passwort
Passwort, das bei der Anmeldung als anonymer Benutzer verwendet wird. Normalerweise sollte eine E-Mail-Adresse lauten
benutzt.

ftp-write-suchbar
Kontrollieren Sie die Suchfähigkeit der Verbindung während der Codierung. Wenn auf 1 gesetzt, ist die Ressource
soll suchbar sein, wenn es auf 0 gesetzt ist, wird angenommen, dass es nicht suchbar ist. Standardwert
ist 0.

HINWEIS: Das Protokoll kann als Ausgabe verwendet werden, es wird jedoch empfohlen, dies nicht zu tun, es sei denn, es ist speziell
Sorgfalt verwendet wird (Tests, angepasste Serverkonfiguration etc.). Unterschiedliche FTP-Server verhalten sich
auf andere Weise während des Suchvorgangs. ff*-Tools können unvollständige Inhalte erzeugen aufgrund von
Serverbeschränkungen.

Ziesel
Gopher-Protokoll.

hls
Lesen Sie einen mit Apple HTTP Live Streaming kompatiblen segmentierten Stream als einheitlichen. Der M3U8
Playlists, die die Segmente beschreiben, können Remote-HTTP-Ressourcen oder lokale Dateien sein, auf die zugegriffen wird
unter Verwendung des Standarddateiprotokolls. Das verschachtelte Protokoll wird durch Angabe von "+deshalb"
nach dem hls-URI-Schemanamen, wobei deshalb ist entweder "Datei" oder "http".

hls+http://host/path/to/remote/resource.m3u8
hls+file://path/to/local/resource.m3u8

Von der Verwendung dieses Protokolls wird abgeraten - der hls-Demuxer sollte genauso gut funktionieren (wenn nicht,
bitte melden Sie die Probleme) und ist vollständiger. Um stattdessen den hls-Demuxer zu verwenden, einfach
Verwenden Sie die direkten URLs zu den m3u8-Dateien.

http
HTTP (Hypertext-Übertragungsprotokoll).

Dieses Protokoll akzeptiert die folgenden Optionen:

suchbar
Kontrollieren Sie die Suchfähigkeit der Verbindung. Wenn auf 1 gesetzt, soll die Ressource . sein
suchbar, wenn sie auf 0 gesetzt ist, wird angenommen, dass sie nicht suchbar ist, wenn sie auf -1 gesetzt ist, wird dies versucht
automatisch erkennen, wenn es durchsuchbar ist. Der Standardwert ist -1.

chunked_post
Wenn der Wert auf 1 gesetzt ist, verwenden Sie chunked Transfer-Encoding für Beiträge, der Standardwert ist 1.

content_type
Legen Sie einen bestimmten Inhaltstyp für die POST-Nachrichten fest.

Überschriften
Legen Sie benutzerdefinierte HTTP-Header fest, können Sie integrierte Standard-Header überschreiben. Der Wert muss a . sein
Zeichenfolge, die die Header codiert.

multiple_requests
Beständige Verbindungen verwenden, wenn auf 1 gesetzt, der Standardwert ist 0.

Post-Daten
Legen Sie benutzerdefinierte HTTP-Postdaten fest.

User-Agent
user_agent
Überschreiben Sie den User-Agent-Header. Wenn nicht angegeben, verwendet das Protokoll eine Zeichenfolge
Beschreibung des libavformat-Builds. ("Lavf/ ")

Timeout
Legen Sie das Timeout in Mikrosekunden für Socket-I/O-Operationen fest, die vom zugrunde liegenden Low-Level verwendet werden
Betrieb. Standardmäßig ist es auf -1 gesetzt, was bedeutet, dass das Timeout nicht angegeben ist.

Mime Typ
Exportieren Sie den MIME-Typ.

eisig Wenn auf 1 gesetzt, fordern Sie ICY (SHOUTcast)-Metadaten vom Server an. Wenn der Server unterstützt
Dazu müssen die Metadaten von der Anwendung durch Lesen der
icy_metadata_headers und eisiges_metadaten_paket Optionen. Der Standardwert ist 1.

icy_metadata_headers
Wenn der Server ICY-Metadaten unterstützt, enthält diese die ICY-spezifische HTTP-Antwort
Header, getrennt durch Newline-Zeichen.

eisiges_metadaten_paket
Wenn der Server ICY-Metadaten unterstützt und eisig auf 1 gesetzt wurde, enthält dies die letzten nicht-
vom Server gesendetes leeres Metadatenpaket. Es sollte in regelmäßigen Abständen von . abgefragt werden
Anwendungen, die an Mid-Stream-Metadaten-Updates interessiert sind.

Cookies
Legen Sie die Cookies fest, die bei zukünftigen Anfragen gesendet werden sollen. Das Format jedes Cookies ist gleich
als Wert eines Set-Cookie-HTTP-Antwortfelds. Mehrere Cookies können getrennt werden durch
ein Newline-Zeichen.

Offset
Stellen Sie den anfänglichen Byte-Offset ein.

end_offset
Versuchen Sie, die Anforderung auf Bytes vor diesem Offset zu beschränken.

Methode
Bei Verwendung als Clientoption legt sie die HTTP-Methode für die Anforderung fest.

Bei Verwendung als Serveroption legt sie die HTTP-Methode fest, die erwartet wird von
die Kunden). Wenn die erwartete und die empfangene HTTP-Methode nicht mit dem Client übereinstimmen
erhalten eine Bad Request-Antwort. Wenn nicht festgelegt, wird die HTTP-Methode nicht überprüft
jetzt. Dies wird in Zukunft durch die automatische Erkennung ersetzt.

hören
Wenn auf 1 gesetzt, wird der experimentelle HTTP-Server aktiviert. Dies kann verwendet werden, um Daten zu senden, wenn verwendet
als Ausgabeoption oder lesen Sie Daten von einem Client mit HTTP POST, wenn sie als Eingabe verwendet werden
Möglichkeit. Wenn auf 2 gesetzt, wird ein experimenteller Multi-Client-HTTP-Server aktiviert. Das ist noch nicht
in ffmpeg.c oder ffserver.c implementiert und darf daher nicht als Kommandozeile verwendet werden
.

# Serverseite (sendend):
ffmpeg -i somefile.ogg -c kopieren -listen 1 -f ogg http:// :

# Clientseite (empfangend):
ffmpeg -i http:// : -c kopiere eine Datei.ogg

# Client kann auch mit wget ausgeführt werden:
wget http:// : -O somefile.ogg

# Serverseite (empfangend):
ffmpeg -hören 1 -i http:// : -c kopiere eine Datei.ogg

# Clientseite (sendend):
ffmpeg -i somefile.ogg -chunked_post 0 -c kopieren -f ogg http:// :

# Client kann auch mit wget ausgeführt werden:
wget --post-file=somefile.ogg http:// :

HTTP Cookies

Einige HTTP-Anfragen werden abgelehnt, es sei denn, Cookie-Werte werden mit der Anfrage übergeben. Die
Cookies Option ermöglicht die Angabe dieser Cookies. Zumindest muss jeder Cookie
Geben Sie einen Wert zusammen mit einem Pfad und einer Domäne an. HTTP-Anfragen, die sowohl mit der Domäne übereinstimmen
und Pfad wird automatisch den Cookie-Wert in das HTTP-Cookie-Header-Feld einschließen.
Mehrere Cookies können durch einen Zeilenumbruch getrennt werden.

Die erforderliche Syntax zum Abspielen eines Streams, der ein Cookie angibt, ist:

ffplay -cookies "nlqptid=nltid=tsn; path=/; domain=somedomain.com;" http://somedomain.com/somestream.m3u8

Eiscast
Icecast-Protokoll (Stream zu Icecast-Servern)

Dieses Protokoll akzeptiert die folgenden Optionen:

Eisgenre
Legen Sie das Stream-Genre fest.

Eisname
Legen Sie den Streamnamen fest.

Eis_Beschreibung
Legen Sie die Stream-Beschreibung fest.

ice_url
Legen Sie die URL der Stream-Website fest.

ice_public
Legen Sie fest, ob der Stream öffentlich sein soll. Der Standardwert ist 0 (nicht öffentlich).

user_agent
Überschreiben Sie den User-Agent-Header. Wenn nicht angegeben, wird ein String der Form "Lavf/ "
werden verwendet.

Passwort
Legen Sie das Icecast-Mountpoint-Passwort fest.

content_type
Legen Sie den Stream-Inhaltstyp fest. Dies muss eingestellt werden, wenn es sich von Audio/mpeg unterscheidet.

Legacy_icecast
Dies ermöglicht die Unterstützung für Icecast-Versionen < 2.4.0, die HTTP PUT . nicht unterstützen
-Methode, sondern die SOURCE-Methode.

icecast://[ [: ]@] : /

mmst
MMS-Protokoll (Microsoft Media Server) über TCP.

mmsch
MMS-Protokoll (Microsoft Media Server) über HTTP.

Die erforderliche Syntax lautet:

mmsh:// [: ][/ ][/ ]

md5
MD5-Ausgabeprotokoll.

Berechnet den MD5-Hash der zu schreibenden Daten und schreibt ihn beim Schließen in die
designierte Ausgabe oder stdout, wenn keine angegeben ist. Es kann verwendet werden, um Muxer ohne zu testen
Schreiben einer tatsächlichen Datei.

Einige Beispiele folgen.

# Schreiben Sie den MD5-Hash der kodierten AVI-Datei in die Datei output.avi.md5.
ffmpeg -i input.flv -f avi -y md5:output.avi.md5

# Schreiben Sie den MD5-Hash der codierten AVI-Datei auf stdout.
ffmpeg -i input.flv -f avi -y md5:

Beachten Sie, dass einige Formate (normalerweise MOV) erfordern, dass das Ausgabeprotokoll durchsucht werden kann
wird mit dem MD5-Ausgabeprotokoll fehlschlagen.

Rohr
UNIX-Pipe-Zugriffsprotokoll.

Lesen und Schreiben von UNIX-Pipes.

Die akzeptierte Syntax ist:

Rohr:[ ]

Anzahl ist die Nummer, die dem Dateideskriptor der Pipe entspricht (zB 0 für stdin, 1
für stdout, 2 für stderr). Wenn Anzahl nicht angegeben ist, standardmäßig die stdout-Datei
descriptor wird zum Schreiben verwendet, stdin zum Lesen.

Zum Beispiel um aus stdin zu lesen mit ffmpeg:

Katzentest.wav | ffmpeg -i Rohr: 0
# ...das ist dasselbe wie...
Katzentest.wav | ffmpeg -i-Rohr:

Zum Schreiben auf Standard mit ffmpeg:

ffmpeg -i test.wav -f avi pipe:1 | Katze > test.avi
# ...das ist dasselbe wie...
ffmpeg -i test.wav -f avi-Pipe: | Katze > test.avi

Dieses Protokoll akzeptiert die folgenden Optionen:

Block Größe
Legen Sie die maximale Blockgröße für die E/A-Operation in Byte fest. Der Standardwert ist "INT_MAX", was
führt dazu, dass die angeforderte Blockgröße nicht begrenzt wird. Setzen Sie diesen Wert angemessen niedrig
Verbessert die Reaktionszeit von Benutzerbeendigungsanfragen, was wertvoll ist, wenn Daten
die Übertragung ist langsam.

Beachten Sie, dass einige Formate (normalerweise MOV) erfordern, dass das Ausgabeprotokoll durchsucht werden kann
sie werden mit dem Pipe-Ausgabeprotokoll fehlschlagen.

rtmp
Echtzeit-Messaging-Protokoll.

Das Real-Time Messaging Protocol (RTMP) wird zum Streamen von Multimedia-Inhalten über ein
TCP/IP-Netzwerk.

Die erforderliche Syntax lautet:

rtmp://[ : @] [: ][/ ][/ ][/ ]

Die akzeptierten Parameter sind:

Benutzername
Ein optionaler Benutzername (meist zum Veröffentlichen).

Passwort
Ein optionales Passwort (meist für die Veröffentlichung).

Server
Die Adresse des RTMP-Servers.

port
Die Nummer des zu verwendenden TCP-Ports (standardmäßig ist 1935).

App Es ist der Name der Anwendung, auf die zugegriffen werden soll. Es entspricht normalerweise dem Pfad, wo
die Anwendung wird auf dem RTMP-Server installiert (zB /auf Nachfrage/, /blitzen/leben/, Etc.).
Sie können den aus dem URI geparsten Wert auch über die Option "rtmp_app" überschreiben.

Spielpfad
Es ist der Pfad oder Name der Ressource, die mit Verweis auf die Anwendung wiedergegeben werden soll
spezifiziert in App, kann mit "mp4:" vorangestellt werden. Sie können den geparsten Wert überschreiben
die URI auch über die Option "rtmp_playpath".

hören
Als Server fungieren und auf eine eingehende Verbindung warten.

Timeout
Maximale Wartezeit auf die eingehende Verbindung. Bedeutet zuhören.

Darüber hinaus können die folgenden Parameter über Befehlszeilenoptionen (oder im Code über
"AVOptionen":

rtmp_app
Name der Anwendung, die auf dem RTMP-Server verbunden werden soll. Diese Option überschreibt den Parameter
in der URI angegeben.

rtmp_buffer
Legen Sie die Client-Pufferzeit in Millisekunden fest. Der Standardwert ist 3000.

rtmp_conn
Zusätzliche beliebige AMF-Verbindungsparameter, geparst aus einem String, zB wie "B:1
S:authMe O:1 NN:code:1.23 NS:flag:ok O:0". Jedem Wert ist ein einzelnes vorangestellt
Zeichen, das den Typ angibt, B für Boolean, N für Zahl, S für String, O für Objekt,
oder Z für null, gefolgt von einem Doppelpunkt. Für Boolesche Werte müssen die Daten entweder 0 oder 1 sein für
FALSE bzw. TRUE. Ebenso müssen die Daten für Objekte 0 oder 1 sein, um zu enden oder
beginnen jeweils ein Objekt. Datenelemente in Unterobjekten können benannt werden, indem Sie das voranstellen
Geben Sie 'N' ein und geben Sie den Namen vor dem Wert an (zB "NB:myFlag:1"). Dies
Option kann mehrmals verwendet werden, um beliebige AMF-Sequenzen zu konstruieren.

rtmp_flashver
Version des Flash-Plugins, das zum Ausführen des SWF-Players verwendet wird. Der Standardwert ist LNX 9,0,124,2.
(Bei der Veröffentlichung ist die Standardeinstellung FMLE/3.0 (kompatibel; ).)

rtmp_flush_interval
Anzahl der Pakete, die in derselben Anfrage geleert werden (nur RTMPT). Der Standardwert ist 10.

rtmp_live
Geben Sie an, dass das Medium ein Livestream ist. Kein Fortsetzen oder Suchen in Livestreams ist
möglich. Der Standardwert ist "any", was bedeutet, dass der Abonnent zuerst versucht zu spielen
der im Wiedergabepfad angegebene Livestream. Wenn kein Livestream mit diesem Namen gefunden wird,
es spielt den aufgezeichneten Stream ab. Die anderen möglichen Werte sind "live" und "recorded".

rtmp_pageurl
URL der Webseite, in die das Medium eingebettet wurde. Standardmäßig wird kein Wert gesendet.

rtmp_playpath
Stream-ID zum Abspielen oder Veröffentlichen. Diese Option überschreibt den angegebenen Parameter
in der URI.

rtmp_subscribe
Name des Livestreams, den Sie abonnieren möchten. Standardmäßig wird kein Wert gesendet. Es ist nur
wird gesendet, wenn die Option angegeben ist oder wenn rtmp_live auf live gesetzt ist.

rtmp_swfhash
SHA256-Hash der dekomprimierten SWF-Datei (32 Byte).

rtmp_swfsize
Größe der dekomprimierten SWF-Datei, erforderlich für SWFVerification.

rtmp_swfurl
URL des SWF-Players für die Medien. Standardmäßig wird kein Wert gesendet.

rtmp_swfverify
URL zur Player-SWF-Datei, Hash/Größe automatisch berechnen.

rtmp_tcurl
URL des Zielstreams. Standardmäßig ist proto://host[:port]/app.

Zum Beispiel zum Lesen mit ffplay eine Multimedia-Ressource namens "sample" aus der Anwendung
"vod" von einem RTMP-Server "myserver":

ffplay rtmp://myserver/vod/sample

So veröffentlichen Sie auf einem passwortgeschützten Server, indem Sie den Playpath- und App-Namen separat übergeben:

ffmpeg -re -i -f flv -rtmp_playpath some/long/path -rtmp_app long/app/name rtmp://username:password@myserver/

rtmpe
Verschlüsseltes Echtzeit-Messaging-Protokoll.

Das Encrypted Real-Time Messaging Protocol (RTMPE) wird für das Streaming von Multimedia verwendet
Inhalt innerhalb von standardmäßigen kryptografischen Primitiven, bestehend aus Diffie-Hellman-Schlüssel
Exchange und HMACSHA256, die ein Paar von RC4-Schlüsseln generieren.

rtmps
Real-Time Messaging Protocol über eine sichere SSL-Verbindung.

Das Real-Time Messaging Protocol (RTMPS) wird für das Streaming von Multimediainhalten verwendet
eine verschlüsselte Verbindung.

rtmpt
Durch HTTP getunneltes Echtzeit-Messaging-Protokoll.

Das über HTTP getunnelte Real-Time Messaging Protocol (RTMPT) wird für das Streaming verwendet
Multimedia-Inhalte in HTTP-Anforderungen, um Firewalls zu durchqueren.

rtmpte
Verschlüsseltes Echtzeit-Messaging-Protokoll, das über HTTP getunnelt wird.

Das verschlüsselte Echtzeit-Messaging-Protokoll, das über HTTP (RTMPTE) getunnelt wird, wird verwendet für
Streaming von Multimediainhalten innerhalb von HTTP-Anforderungen, um Firewalls zu durchqueren.

rtmpts
Durch HTTPS getunneltes Echtzeit-Messaging-Protokoll.

Für das Streaming wird das über HTTPS getunnelte Real-Time Messaging Protocol (RTMPTS) verwendet
Multimedia-Inhalte in HTTPS-Anforderungen, um Firewalls zu durchqueren.

libsmbclient
libsmbclient erlaubt es, CIFS/SMB-Netzwerkressourcen zu manipulieren.

Folgende Syntax ist erforderlich.

smb://[[Domäne:]Benutzer[:Passwort@]]Server[/Freigabe[/Pfad[/Datei]]]

Dieses Protokoll akzeptiert die folgenden Optionen.

Timeout
Legen Sie das Timeout in Millisekunden für Socket-I/O-Operationen fest, die von der zugrunde liegenden niedrigen Ebene verwendet werden
Betrieb. Standardmäßig ist es auf -1 gesetzt, was bedeutet, dass das Timeout nicht angegeben ist.

abschneiden
Vorhandene Dateien beim Schreiben abschneiden, wenn auf 1 gesetzt. Ein Wert von 0 verhindert das Abschneiden.
Der Standardwert ist 1.

Arbeitsgruppe
Legen Sie die Arbeitsgruppe fest, die zum Herstellen von Verbindungen verwendet wird. Standardmäßig ist keine Arbeitsgruppe angegeben.

Weitere Informationen finden Sie unter:http://www.samba.org/>.

libssh
Secure File Transfer Protocol über libssh

Lesen von oder Schreiben von Remoteressourcen mithilfe des SFTP-Protokolls.

Folgende Syntax ist erforderlich.

sftp://[Benutzer[:Passwort]@]Server[:Port]/Pfad/zu/Remote/Ressource.mpeg

Dieses Protokoll akzeptiert die folgenden Optionen.

Timeout
Legen Sie das Timeout für Socket-E/A-Operationen fest, die von der zugrunde liegenden Operation auf niedriger Ebene verwendet werden. Von
Standardmäßig ist sie auf -1 gesetzt, was bedeutet, dass die Zeitüberschreitung nicht angegeben ist.

abschneiden
Vorhandene Dateien beim Schreiben abschneiden, wenn auf 1 gesetzt. Ein Wert von 0 verhindert das Abschneiden.
Der Standardwert ist 1.

Privat Schlüssel
Geben Sie den Pfad der Datei an, die den privaten Schlüssel enthält, der während der Autorisierung verwendet werden soll. Von
default libssh sucht nach Schlüsseln im ~ / .ssh / Verzeichnis.

Beispiel: Spielen Sie eine Datei ab, die auf einem Remote-Server gespeichert ist.

ffplay sftp://Benutzer:password@server_address:22/home/user/resource.mpeg

librtmp rtmp, rtmpe, RTMPS, rtmpt, rtmpte
Real-Time Messaging Protocol und seine Varianten, die von librtmp unterstützt werden.

Erfordert das Vorhandensein der librtmp-Header und der Bibliothek während der Konfiguration. Du musst
Konfigurieren Sie den Build explizit mit "--enable-librtmp". Wenn aktiviert, ersetzt dies die
natives RTMP-Protokoll.

Dieses Protokoll bietet die meisten Clientfunktionen und einige Serverfunktionen, die zur Unterstützung erforderlich sind
RTMP, RTMP getunnelt in HTTP (RTMPT), verschlüsseltes RTMP (RTMPE), RTMP über SSL/TLS (RTMPS) und
getunnelte Varianten dieser verschlüsselten Typen (RTMPTE, RTMPTS).

Die erforderliche Syntax lautet:

:// [: ][/ ][/ ]

woher rtmp_proto ist einer der Strings "rtmp", "rtmpt", "rtmpe", "rtmps", "rtmpte",
"rtmpts" entsprechend jeder RTMP-Variante und Server, port , App und Spielpfad haben die
gleiche Bedeutung wie für das native RTMP-Protokoll angegeben. Optionen enthält eine Liste von Raum-
getrennte Optionen des Formulars Schlüssel=Welle.

Weitere Informationen finden Sie auf der Handbuchseite von librtmp (man 3 librtmp).

Um beispielsweise eine Datei in Echtzeit an einen RTMP-Server zu streamen, verwenden Sie ffmpeg:

ffmpeg -re -i myfile -f flv rtmp://myserver/live/mystream

Um denselben Stream mit . abzuspielen ffplay:

ffplay "rtmp://myserver/live/mystream live=1"

rtp
Echtzeit-Transportprotokoll.

Die erforderliche Syntax für eine RTP-URL lautet: rtp://hostname[:port ][?zu erhalten=Welle...]

port gibt den zu verwendenden RTP-Port an.

Die folgenden URL-Optionen werden unterstützt:

ttl=n
Stellen Sie den TTL-Wert (Time-To-Live) ein (nur für Multicast).

rtcport=n
Stellen Sie den Remote-RTCP-Port auf n.

localrtport=n
Stellen Sie den lokalen RTP-Port auf n.

localrtcport=n'
Setzen Sie den lokalen RTCP-Port auf n.

pkt_size=n
Setze die maximale Paketgröße (in Bytes) auf n.

verbinden=0|1
Führen Sie ein "connect()" auf dem UDP-Socket aus (wenn auf 1 gesetzt oder nicht (wenn auf 0 gesetzt).

Quellen=ip[,ip]
Listen Sie die zulässigen Quell-IP-Adressen auf.

block=ip[,ip]
Listet unzulässige (blockierte) Quell-IP-Adressen auf.

write_to_source=0|1
Senden Sie Pakete an die Quelladresse des zuletzt empfangenen Pakets (wenn auf 1 gesetzt) ​​oder an a
Standard-Remote-Adresse (wenn auf 0 gesetzt).

localport=n
Stellen Sie den lokalen RTP-Port auf n.

Dies ist eine veraltete Option. Stattdessen, localrtport sollte benutzt werden.

Wichtige Hinweise:

1. Wenn rtcport nicht gesetzt ist, wird der RTCP-Port auf den RTP-Port-Wert plus 1 gesetzt.

2. Wenn localrtport (der lokale RTP-Port) ist nicht eingestellt, es wird kein verfügbarer Port verwendet für
die lokalen RTP- und RTCP-Ports.

3. Wenn localrtcport (der lokale RTCP-Port) nicht eingestellt ist, wird er auf den lokalen RTP-Port eingestellt
Wert plus 1.

rTSP
Echtzeit-Streaming-Protokoll.

RTSP ist technisch gesehen kein Protokollhandler im libavformat, sondern ein Demuxer und Muxer. Die
Demuxer unterstützt sowohl normales RTSP (mit Datentransfer über RTP; dies wird von z
Apple und Microsoft) und Real-RTSP (mit Datentransfer über RDT).

Der Muxer kann verwendet werden, um einen Stream mit RTSP ANNOUNCE an einen Server zu senden, der ihn unterstützt
(derzeit Darwin Streaming Server und Mischa Spiegelmocks
<https://github.com/revmischa/rtsp-server>).

Die erforderliche Syntax für eine RTSP-URL lautet:

rtsp:// [: ]/

Optionen können auf dem . eingestellt werden ffmpeg/ffplay Befehlszeile oder im Code über "AVOption"s oder in
"avformat_open_input".

Die folgenden Optionen werden unterstützt.

initial_pause
Starten Sie die Wiedergabe des Streams nicht sofort, wenn der Wert auf 1 gesetzt ist. Der Standardwert ist 0.

rtsp_transport
Legen Sie RTSP-Transportprotokolle fest.

Es akzeptiert die folgenden Werte:

UDP Verwenden Sie UDP als unteres Transportprotokoll.

TCP Verwenden Sie TCP (Interleaving innerhalb des RTSP-Kontrollkanals) als unteren Transport
Protokoll.

udp_multicast
Verwenden Sie UDP-Multicast als unteres Transportprotokoll.

http
Verwenden Sie HTTP-Tunneling als niedrigeres Transportprotokoll, das für die Weitergabe nützlich ist
Stellvertreter.

Es können mehrere niedrigere Transportprotokolle angegeben werden, in diesem Fall werden sie eines versucht
(wenn die Einrichtung von einem fehlschlägt, wird das nächste versucht). Für den Muxer nur die
TCP und UDP Optionen werden unterstützt.

rtsp_flags
Setzen Sie RTSP-Flags.

Folgende Werte werden akzeptiert:

filter_src
Akzeptieren Sie Pakete nur von ausgehandelter Peer-Adresse und Port.

hören
Als Server fungieren und auf eine eingehende Verbindung warten.

bevorzugt_tcp
Versuchen Sie zuerst TCP für den RTP-Transport, wenn TCP als RTSP-RTP-Transport verfügbar ist.

Standardwert ist keine.

allow_media_types
Legen Sie Medientypen fest, die vom Server akzeptiert werden sollen.

Folgende Flags werden akzeptiert:

Video
Audio-
technische Daten

Standardmäßig werden alle Medientypen akzeptiert.

min_port
Legen Sie den minimalen lokalen UDP-Port fest. Der Standardwert ist 5000.

max_port
Legen Sie den maximalen lokalen UDP-Port fest. Der Standardwert ist 65000.

Timeout
Legen Sie das maximale Timeout (in Sekunden) fest, um auf eingehende Verbindungen zu warten.

Ein Wert von -1 bedeutet unendlich (Standard). Diese Option impliziert die rtsp_flags einstellen
hören.

reorder_queue_size
Legen Sie die Anzahl der zu puffernden Pakete fest, um neu geordnete Pakete zu verarbeiten.

Zeitüberschreitung
Legen Sie das Socket-TCP-E/A-Timeout in Mikrosekunden fest.

User-Agent
Überschreiben Sie den User-Agent-Header. Wenn nicht angegeben, wird standardmäßig das libavformat verwendet
Identifier-String.

Beim Empfangen von Daten über UDP versucht der Demuxer, empfangene Pakete neu zu ordnen (da sie
kann nicht in der richtigen Reihenfolge ankommen oder Pakete können vollständig verloren gehen). Dies kann durch die Einstellung deaktiviert werden
die maximale Demuxing-Verzögerung auf Null (über das "max_delay"-Feld von AVFormatContext).

Beim Ansehen von Real-RTSP-Streams mit mehreren Bitraten mit ffplay, können die anzuzeigenden Streams sein
ausgewählt mit "-vst" n und "-ast" n für Video bzw. Audio und zuschaltbar
die Fliege durch Drücken von "v" und "a".

Beispiele

Die folgenden Beispiele verwenden alle die ffplay und ffmpeg Werkzeuge.

· Sehen Sie sich einen Stream über UDP an, mit einer maximalen Neuordnungsverzögerung von 0.5 Sekunden:

ffplay -max_delay 500000 -rtsp_transport udp rtsp://server/video.mp4

· Sehen Sie sich einen über HTTP getunnelten Stream an:

ffplay -rtsp_transport http rtsp://server/video.mp4

· Senden Sie einen Stream in Echtzeit an einen RTSP-Server, damit andere ihn sehen können:

ffmpeg -re -i -f rtsp -muxdelay 0.1 rtsp://server/live.sdp

· Empfangen Sie einen Stream in Echtzeit:

ffmpeg -rtsp_flags hören -i rtsp://ownaddress/live.sdp

Saft
Sitzungsankündigungsprotokoll (RFC 2974). Dies ist technisch gesehen kein Protokollhandler in
libavformat, es ist ein Muxer und Demuxer. Es wird zur Signalisierung von RTP-Streams verwendet, von
die SDP für die Streams regelmäßig auf einem separaten Port ankündigen.

Frau

Die Syntax für eine dem Muxer übergebene SAP-URL lautet:

Saft:// [: ][? ]

Die RTP-Pakete werden gesendet an Reiseziel am Hafen port , oder zu Port 5004, wenn kein Port vorhanden ist
spezifiziert. Optionen ist eine durch "&" getrennte Liste. Die folgenden Optionen werden unterstützt:

ankündigen_addr=Adresse
Geben Sie die Ziel-IP-Adresse an, an die die Ankündigungen gesendet werden sollen. Wenn es weggelassen wird, wird das
Ankündigungen werden an die häufig verwendete SAP-Ankündigungs-Multicast-Adresse gesendet
224.2.127.254 (sap.mcast.net) oder ff0e::2:7ffe wenn Reiseziel ist eine IPv6-Adresse.

ankündigen_port=port
Geben Sie den Port an, über den die Ankündigungen gesendet werden sollen, standardmäßig 9875, wenn nicht angegeben.

ttl=ttl
Geben Sie den Time-to-Live-Wert für die Ansagen und RTP-Pakete an, der Standardwert ist 255.

gleicher_port=0 | 1
Wenn auf 1 gesetzt, senden Sie alle RTP-Streams auf demselben Portpaar. Wenn null (Standardeinstellung), all
Streams werden an eindeutigen Ports gesendet, wobei jeder Stream an einem Port 2 Nummern höher als der
früher. VLC/Live555 erfordert, dass dies auf 1 gesetzt wird, um den Stream empfangen zu können.
Der RTP-Stack im libavformat zum Empfangen erfordert, dass alle Streams auf eindeutigem gesendet werden
Häfen

Es folgen Beispielbefehlszeilen.

So senden Sie einen Stream im lokalen Subnetz zum Ansehen in VLC:

ffmpeg -re -i -f sap sap://224.0.0.255?same_port=1

Ebenso zum Anschauen in ffplay:

ffmpeg -re -i -f sap sap://224.0.0.255

Und zum Zuschauen ffplay, über IPv6:

ffmpeg -re -i -f sap sap://[ff0e::1:2:3:4]

Demuxer

Die Syntax für eine dem Demuxer übergebene SAP-URL lautet:

Saft://[ ][: ]

Adresse ist die Multicast-Adresse, auf der Ansagen abgehört werden sollen, wenn sie weggelassen wird, ist dies der Standard
224.2.127.254 (sap.mcast.net) wird verwendet. port ist der Port, der abgehört wird, 9875, wenn
weggelassen.

Der Demuxer lauscht auf Durchsagen auf der angegebenen Adresse und dem Port. Einmal
Ansage empfangen wird, versucht es, diesen bestimmten Stream zu empfangen.

Es folgen Beispielbefehlszeilen.

So geben Sie den ersten an der normalen SAP-Multicast-Adresse angesagten Stream wieder:

ffplay sap://

So geben Sie den ersten Stream wieder, der auf einer der standardmäßigen IPv6-SAP-Multicast-Adressen angesagt wird:

ffplay sap://[ff0e::2:7ffe]

sctp
Stream Control-Übertragungsprotokoll.

Die akzeptierte URL-Syntax ist:

sctp:// : [? ]

Das Protokoll akzeptiert die folgenden Optionen:

hören
Wenn auf einen Wert gesetzt, warten Sie auf eine eingehende Verbindung. Ausgehende Verbindung erfolgt durch
default.

max_streams
Legen Sie die maximale Anzahl von Streams fest. Standardmäßig ist kein Limit festgelegt.

srtp
Sicheres Echtzeit-Transportprotokoll.

Die akzeptierten Optionen sind:

srtp_in_suite
srtp_out_suite
Wählen Sie die Encoding-Suiten für die Eingabe und Ausgabe aus.

Unterstützte Werte:

AES_CM_128_HMAC_SHA1_80
SRTP_AES128_CM_HMAC_SHA1_80
AES_CM_128_HMAC_SHA1_32
SRTP_AES128_CM_HMAC_SHA1_32
srtp_in_params
srtp_out_params
Legen Sie Eingabe- und Ausgabecodierungsparameter fest, die durch ein base64-codiertes . ausgedrückt werden
Darstellung eines binären Blocks. Die ersten 16 Byte dieses Binärblocks werden als
Masterschlüssel, die folgenden 14 Byte werden als Master Salt verwendet.

Unterdatei
Extrahieren Sie virtuell ein Segment einer Datei oder eines anderen Streams. Der zugrunde liegende Stream muss
suchbar.

Akzeptierte Optionen:

Anfang
Start-Offset des extrahierten Segments in Byte.

Ende Endoffset des extrahierten Segments in Byte.

Beispiele:

Extrahieren Sie ein Kapitel aus einer DVD-VOB-Datei (extern bezogener Start- und Endsektor und
multipliziert mit 2048):

Unterdatei,,start,153391104,end,268142592,,:/media/dvd/VIDEO_TS/VTS_08_1.VOB

Spielen Sie eine AVI-Datei direkt aus einem TAR-Archiv ab:

Unterdatei,,start,183241728,end,366490624,,:archive.tar

TCP
Übertragungskontrollprotokoll.

Die erforderliche Syntax für eine TCP-URL lautet:

tcp:// : [? ]

Optionen enthält eine Liste von &-getrennten Optionen des Formulars Schlüssel=Welle.

Die Liste der unterstützten Optionen folgt.

zuhören=1 | 0
Hören Sie auf eine eingehende Verbindung. Der Standardwert ist 0.

Auszeit=Mikrosekunden
Legen Sie die Zeitüberschreitung für den Erhöhungsfehler fest, ausgedrückt in Mikrosekunden.

Diese Option ist nur im Lesemodus relevant: wenn länger als diese Zeit keine Daten eingetroffen sind
Intervall, Fehler erhöhen.

listen_timeout=Millisekunden
Legen Sie die Zeitüberschreitung für das Abhören fest, ausgedrückt in Millisekunden.

Das folgende Beispiel zeigt, wie Sie eine hörende TCP-Verbindung mit einrichten ffmpeg, Das ist
dann aufgerufen mit ffplay:

ffmpeg -i -F tcp:// : ?hören
ffplay tcp:// :

tls
Transport Layer Security (TLS) / Secure Sockets Layer (SSL)

Die erforderliche Syntax für eine TLS/SSL-URL lautet:

tls:// : [? ]

Die folgenden Parameter können über Befehlszeilenoptionen (oder im Code über "AVOption"s) eingestellt werden:

ca_Datei, cafile=Dateinamen
Eine Datei, die Stammzertifikate der Zertifizierungsstelle (CA) enthält, die als vertrauenswürdig behandelt werden sollen. Wenn
die verknüpfte TLS-Bibliothek enthält eine Standardeinstellung, für die möglicherweise keine Angabe erforderlich ist
Überprüfung funktioniert, aber nicht alle Bibliotheken und Setups verfügen über integrierte Standardeinstellungen
Datei muss im OpenSSL PEM-Format vorliegen.

tls_verify=1 | 0
Wenn diese Option aktiviert ist, versuchen Sie, den Peer zu überprüfen, mit dem wir kommunizieren. Beachten Sie, wenn Sie . verwenden
OpenSSL, dies stellt derzeit nur sicher, dass das Peer-Zertifikat von einem der
die Root-Zertifikate in der CA-Datenbank, aber es bestätigt nicht, dass die
Das Zertifikat stimmt tatsächlich mit dem Hostnamen überein, zu dem wir eine Verbindung herstellen möchten. (Mit GnuTLS,
der Hostname wird ebenfalls validiert.)

Dies ist standardmäßig deaktiviert, da eine CA-Datenbank von der
Anrufer in vielen Fällen.

Zertifikatsdatei, zertifikat=Dateinamen
Eine Datei, die ein Zertifikat enthält, das im Handshake mit dem Peer verwendet werden soll. (Wann
Betrieb als Server, im Listen-Modus wird dies häufiger vom Peer benötigt, während
Nur Client-Zertifikate sind in bestimmten Konfigurationen vorgeschrieben.)

Schlüsseldatei, Schlüssel =Dateinamen
Eine Datei, die den privaten Schlüssel für das Zertifikat enthält.

zuhören=1 | 0
Wenn aktiviert, lauschen Sie auf Verbindungen auf dem bereitgestellten Port und übernehmen Sie die Serverrolle in
der Handshake anstelle der Client-Rolle.

Beispielbefehlszeilen:

Um einen TLS/SSL-Server zu erstellen, der einen Eingabestream bereitstellt.

ffmpeg -i -F tls:// : ?hören&cert= &taste=

So geben Sie einen Stream vom TLS/SSL-Server mit . wieder ffplay:

ffplay tls:// :

UDP
Benutzer-Datagramm-Protokoll.

Die erforderliche Syntax für eine UDP-URL lautet:

udp:// : [? ]

Optionen enthält eine Liste von &-getrennten Optionen des Formulars Schlüssel=Welle.

Falls Threading auf dem System aktiviert ist, wird ein Ringpuffer verwendet, um die
eingehende Daten, wodurch Datenverluste aufgrund von UDP-Socket-Pufferüberläufen reduziert werden können.
Das fifo_size und overrun_nonfatal Optionen beziehen sich auf diesen Puffer.

Die Liste der unterstützten Optionen folgt.

Puffergröße=Größe
Legen Sie die maximale UDP-Socket-Puffergröße in Byte fest. Dies wird verwendet, um entweder die
Empfangs- oder Sendepuffergröße, je nachdem, wofür der Socket verwendet wird. Standard ist
64KB. Siehe auch fifo_size.

localport=port
Überschreiben Sie den lokalen UDP-Port für die Bindung.

localadr=Adr
Wählen Sie die lokale IP-Adresse aus. Dies ist zB beim Senden von Multicast nützlich und der Host hat
mehrere Schnittstellen, bei denen der Benutzer auswählen kann, über welche Schnittstelle er gesendet werden soll
Angabe der IP-Adresse dieser Schnittstelle.

pkt_size=Größe
Legen Sie die Größe von UDP-Paketen in Byte fest.

wiederverwenden=1 | 0
Erlauben oder verbieten Sie explizit die Wiederverwendung von UDP-Sockets.

ttl=ttl
Stellen Sie den Time-to-Live-Wert ein (nur für Multicast).

verbinden=1 | 0
Initialisieren Sie den UDP-Socket mit "connect()". In diesem Fall ist die Zieladresse
kann später nicht mehr mit ff_udp_set_remote_url geändert werden. Wenn die Zieladresse nicht ist
zu Beginn bekannt, kann diese Option auch in ff_udp_set_remote_url angegeben werden. Dies
ermöglicht das Herausfinden der Quelladresse für die Pakete mit getsockname und macht
schreibt Rückgabe mit AVERROR(ECONNREFUSED), wenn "Ziel nicht erreichbar" empfangen wird.
Beim Empfangen hat dies den Vorteil, dass nur Pakete von den angegebenen empfangen werden
Peer-Adresse/Port.

Quellen=Adresse[,Adresse]
Nur Pakete empfangen, die an die Multicast-Gruppe von einer der angegebenen Absender-IP gesendet werden
Adressen.

block=Adresse[,Adresse]
Ignorieren Sie Pakete, die von den angegebenen Absender-IP-Adressen an die Multicast-Gruppe gesendet werden.

fifo_size=Einheiten
Legen Sie die Größe des UDP-Empfangskreispuffers fest, ausgedrückt als Anzahl von Paketen mit Größe
von 188 Byte. Wenn nicht angegeben, wird standardmäßig 7*4096 verwendet.

overrun_nonfatal=1 | 0
Überlebe bei UDP-Empfangsringpufferüberlauf. Der Standardwert ist 0.

Auszeit=Mikrosekunden
Legen Sie die Zeitüberschreitung für den Erhöhungsfehler fest, ausgedrückt in Mikrosekunden.

Diese Option ist nur im Lesemodus relevant: wenn länger als diese Zeit keine Daten eingetroffen sind
Intervall, Fehler erhöhen.

Sendung=1 | 0
Erlauben oder verbieten Sie explizit UDP-Broadcasting.

Beachten Sie, dass die Übertragung in Netzwerken mit einem Broadcast-Sturm möglicherweise nicht richtig funktioniert
Schutz.

Beispiele

· Verwenden ffmpeg So streamen Sie über UDP zu einem Remote-Endpunkt:

ffmpeg -i -F udp:// :

· Verwenden ffmpeg um im MPEGts-Format über UDP mit 188 großen UDP-Paketen zu streamen, mit a
großer Eingabepuffer:

ffmpeg -i -f mpegts udp:// : ?pkt_size=188&buffer_size=65535

· Verwenden ffmpeg um über UDP von einem Remote-Endpunkt zu empfangen:

ffmpeg -i udp://[ ]: ...

Unix
Lokaler Unix-Socket

Die erforderliche Syntax für eine Unix-Socket-URL lautet:

unix://

Die folgenden Parameter können über Befehlszeilenoptionen (oder im Code über "AVOption"s) eingestellt werden:

Timeout
Zeitüberschreitung in ms.

hören
Erstellen Sie den Unix-Socket im Listening-Modus.

DEVICE OPTIONAL


Die Bibliothek libavdevice bietet dieselbe Schnittstelle wie libavformat. Nämlich eine Eingabe
Gerät wird wie ein Demuxer und ein Ausgabegerät wie ein Muxer betrachtet, und die Schnittstelle
und generische Geräteoptionen sind die gleichen, die von libavformat bereitgestellt werden (siehe die ffmpeg-Formate
Handbuch).

Darüber hinaus kann jedes Eingabe- oder Ausgabegerät sogenannte private Optionen unterstützen, die
spezifisch für diese Komponente.

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

SPEISUNG GERÄTE


Eingabegeräte sind konfigurierte Elemente in FFmpeg, die den Zugriff auf die ankommenden Daten ermöglichen
von einem an Ihr System angeschlossenen Multimediagerät.

Wenn Sie Ihren FFmpeg-Build konfigurieren, werden alle unterstützten Eingabegeräte aktiviert durch
Ursprünglich. Sie können alle verfügbaren mit der Konfigurationsoption "--list-indevs" auflisten.

Sie können alle Eingabegeräte mit der Konfigurationsoption "--disable-indevs" deaktivieren und
Aktivieren Sie selektiv ein Eingabegerät mit der Option "--enable-indev=INDEV", oder du kannst
deaktivieren Sie ein bestimmtes Eingabegerät mit der Option "--disable-indev=INDEV".

Die Option "-devices" des ff*-Tools zeigt die Liste der unterstützten Eingabegeräte an.

Es folgt eine Beschreibung der derzeit verfügbaren Eingabegeräte.

auch
ALSA-Eingabegerät (Advanced Linux Sound Architecture).

Um dieses Eingabegerät während der Konfiguration zu aktivieren, muss libasound auf Ihrem
System funktionieren.

Dieses Gerät ermöglicht die Aufnahme von einem ALSA-Gerät. Der Name des aufzunehmenden Geräts muss
eine ALSA-Kartenkennung sein.

Ein ALSA-Bezeichner hat die Syntax:

wie: [, [, ]]

wo die DEV und UNTERDEV Komponenten sind optional.

Die drei Argumente (in der Reihenfolge: CARD,DEV,UNTERDEV) Kartennummer oder Kennung angeben, Gerät
Nummer und Untergerätenummer (-1 bedeutet beliebig).

Um die Liste der Karten anzuzeigen, die derzeit von Ihrem System erkannt werden, überprüfen Sie die Dateien
/ proc / asound / Karten und /proc/asound/devices.

Zum Beispiel zum Aufnehmen mit ffmpeg von einem ALSA-Gerät mit der Karten-ID 0 können Sie die
Befehl:

ffmpeg -f alsa -i hw:0 alsaout.wav

Weitere Informationen finden Sie unter:http://www.alsa-project.org/alsa-doc/alsa-lib/pcm.html>

Optionen

Beispielrate
Stellen Sie die Abtastrate in Hz ein. Der Standardwert ist 48000.

Kanäle
Stellen Sie die Anzahl der Kanäle ein. Standard ist 2.

grundierung
AVFoundation-Eingabegerät.

AVFoundation ist das derzeit von Apple empfohlene Framework für Streamgrabbing unter OSX >=
10.7 sowie auf iOS. Das ältere QTKit-Framework wurde seit OSX als veraltet markiert
Version 10.7.

Der Eingabedateiname muss in der folgenden Syntax angegeben werden:

-i "[[VIDEO]:[AUDIO]]"

Der erste Eintrag wählt den Videoeingang aus, während der letztere den Audioeingang auswählt. Die
stream muss durch den Gerätenamen oder den Geräteindex angegeben werden, wie vom Gerät angezeigt
aufführen. Alternativ kann das Video- und/oder Audio-Eingabegerät per Index über die ausgewählt werden

B<-video_device_index E INDEXE >

und / oder

B<-audio_device_index E INDEXE >

, überschreibt jeden Gerätenamen oder Index, der im Eingabedateinamen angegeben ist.

Alle verfügbaren Geräte können mit aufgezählt werden -list_devices was immer dies auch sein sollte., alle Geräte auflisten
Namen und entsprechende Indizes.

Es gibt zwei Aliasse für Gerätenamen:

"Default"
Wählen Sie das AVFoundation-Standardgerät des entsprechenden Typs aus.

„Keine“
Nehmen Sie nicht den entsprechenden Medientyp auf. Dies entspricht der Angabe eines leeren
Gerätename oder Index.

Optionen

AVFoundation unterstützt die folgenden Optionen:

-list_devices
Wenn auf true gesetzt, wird eine Liste aller verfügbaren Eingabegeräte mit allen Geräten angezeigt
Namen und Indizes.

-video_device_index
Geben Sie das Videogerät durch seinen Index an. Überschreibt alles, was im Eingabedateinamen angegeben ist.

-audio_device_index
Geben Sie das Audiogerät durch seinen Index an. Überschreibt alles, was im Eingabedateinamen angegeben ist.

-pixel_format
Fordern Sie das Videogerät auf, ein bestimmtes Pixelformat zu verwenden. Wenn das angegebene Format . ist
nicht unterstützt, eine Liste der verfügbaren Formate wird angezeigt und das erste in dieser Liste ist
stattdessen verwendet. Verfügbare Pixelformate sind: "monob, rgb555be, rgb555le, rgb565be,
rgb565le, rgb24, bgr24, 0rgb, bgr0, 0bgr, rgb0,
bgr48be, uyvy422, yuva444p, yuva444p16le, yuv444p, yuv422p16, yuv422p10, yuv444p10,
yuv420p, nv12, yuyv422, grau"

-Framerate
Stellen Sie die Aufnahme-Bildrate ein. Standard ist "ntsc", entsprechend einer Bildrate von
"30000/1001".

-Video Größe
Stellen Sie die Videobildgröße ein.

-capture_cursor
Erfassen Sie den Mauszeiger. Standard ist 0.

-capture_mouse_clicks
Erfassen Sie die Mausklicks auf dem Bildschirm. Standard ist 0.

Beispiele

· Drucken Sie die Liste der von AVFoundation unterstützten Geräte aus und beenden Sie:

$ ffmpeg -f avfoundation -list_devices true -i ""

· Nehmen Sie Video von Videogerät 0 und Audio von Audiogerät 0 in out.avi auf:

$ ffmpeg -f avfoundation -i "0:0" out.avi

· Nehmen Sie Video von Videogerät 2 und Audio von Audiogerät 1 in out.avi auf:

$ ffmpeg -f avfoundation -video_device_index 2 -i ":1" out.avi

· Nehmen Sie Videos vom Standard-Videogerät des Systems im Pixelformat bgr0 auf und do
kein Audio in out.avi aufnehmen:

$ ffmpeg -f avfoundation -pixel_format bgr0 -i "default:none" out.avi

bktr
BSD-Videoeingabegerät.

Optionen

Framerate
Stellen Sie die Bildrate ein.

Video Größe
Stellen Sie die Videobildgröße ein. Standard ist "vga".

Standard
Verfügbare Werte sind:

Kumpel
ntsc
trocken
Paln
Palme
ntscj

Decklink
Das Decklink-Eingabegerät bietet Aufnahmefunktionen für Blackmagic DeckLink-Geräte.

Um dieses Eingabegerät zu aktivieren, benötigen Sie das Blackmagic DeckLink SDK und Sie müssen
mit den entsprechenden "--extra-cflags" und "--extra-ldflags" konfigurieren. Unter Windows können Sie
müssen die IDL-Dateien durchlaufen frei.

DeckLink ist bei den unterstützten Formaten sehr wählerisch. Pixelformat ist uyvy422 oder v210,
Bildrate und Videogröße müssen für Ihr Gerät mit ermittelt werden -list_formats 1. Audio
Die Abtastrate beträgt immer 48 kHz und die Anzahl der Kanäle kann 2, 8 oder 16 betragen.

Optionen

list_devices
Wenn auf was immer dies auch sein sollte., eine Geräteliste drucken und beenden. Standardmäßig auf falsch.

Listenformate
Wenn auf was immer dies auch sein sollte., eine Liste der unterstützten Formate drucken und beenden. Standardmäßig auf falsch.

bm_v210
Wenn auf 1, Video wird in 10 Bit v210 statt in uyvy422 aufgenommen. Nicht alle Blackmagic
Geräte unterstützen diese Option.

Beispiele

· Eingabegeräte auflisten:

ffmpeg -f decklink -list_devices 1 -i Dummy

· Liste unterstützter Formate:

ffmpeg -f decklink -list_formats 1 -i 'Intensity Pro'

· Videoclip mit 1080i50 aufnehmen (Format 11):

ffmpeg -f decklink -i 'Intensity Pro@11' -acodec copy -vcodec copy output.avi

· Videoclip mit 1080i50 10 Bit aufnehmen:

ffmpeg -bm_v210 1 -f decklink -i 'UltraStudio Mini Recorder@11' -acodec copy -vcodec copy output.avi

dzeigen
Windows DirectShow-Eingabegerät.

DirectShow-Unterstützung ist aktiviert, wenn FFmpeg mit dem mingw-w64-Projekt erstellt wird. Zur Zeit
nur Audio- und Videogeräte werden unterstützt.

Mehrere Geräte können als separate Eingänge geöffnet werden, sie können aber auch auf demselben geöffnet werden
Eingabe, die die Synchronität zwischen ihnen verbessern sollte.

Der Eingabename sollte folgendes Format haben:

= [: = ]

woher TYP Kann beides sein Audio- or Video und NAME/FUNKTION ist der Name des Geräts oder eine Alternative
Name ..

Optionen

Wenn keine Optionen angegeben sind, werden die Standardeinstellungen des Geräts verwendet. Wenn das Gerät dies nicht tut
die angeforderten Optionen unterstützen, wird das Öffnen fehlschlagen.

Video Größe
Legen Sie die Videogröße im aufgenommenen Video fest.

Framerate
Stellen Sie die Bildrate im aufgenommenen Video ein.

Beispielrate
Stellen Sie die Abtastrate (in Hz) des aufgenommenen Audios ein.

Beispielgröße
Legen Sie die Sample-Größe (in Bit) des aufgenommenen Audios fest.

Kanäle
Legen Sie die Anzahl der Kanäle im aufgenommenen Audio fest.

list_devices
Wenn auf was immer dies auch sein sollte., eine Geräteliste drucken und beenden.

Listenoptionen
Wenn auf was immer dies auch sein sollte., eine Liste der Optionen des ausgewählten Geräts drucken und beenden.

video_gerätenummer
Legen Sie die Videogerätenummer für Geräte mit demselben Namen fest (beginnt bei 0, Standardwert 0).

audio_geräte_nummer
Legen Sie die Audiogerätenummer für Geräte mit demselben Namen fest (beginnt bei 0, Standardwert 0).

Pixelformat
Wählen Sie das von DirectShow zu verwendende Pixelformat aus. Dies kann nur eingestellt werden, wenn das Video
Codec ist nicht gesetzt oder auf rawvideo gesetzt.

audio_buffer_size
Legen Sie die Puffergröße des Audiogeräts in Millisekunden fest (was sich direkt auf die Latenz auswirken kann,
je nach Gerät). Standardmäßig wird die Standardpuffergröße des Audiogeräts verwendet
(typischerweise ein Vielfaches von 500 ms). Eine zu niedrige Einstellung dieses Wertes kann sich verschlechtern
Leistung. Siehe auch
<http://msdn.microsoft.com/en-us/library/windows/desktop/dd377582(v=vs.85).aspx>

video_pin_name
Wählen Sie den Videoaufnahme-Pin aus, um ihn nach Namen oder alternativen Namen zu verwenden.

audio_pin_name
Wählen Sie den Audioaufnahme-Pin aus, um ihn nach Namen oder alternativen Namen zu verwenden.

crossbar_video_input_pin_number
Wählen Sie die Pinnummer des Videoeingangs für das Crossbar-Gerät. Dies wird an die Querlatte weitergeleitet
Ausgangspin des Videodecoders des Geräts. Beachten Sie, dass die Änderung dieses Werts Auswirkungen auf die Zukunft haben kann
Aufrufe (setzt einen neuen Standardwert) bis zum Neustart des Systems.

crossbar_audio_input_pin_number
Wählen Sie die Pinnummer des Audioeingangs für das Crossbar-Gerät aus. Dies wird an die Querlatte weitergeleitet
Audio-Decoder-Ausgangspin des Geräts. Beachten Sie, dass die Änderung dieses Werts Auswirkungen auf die Zukunft haben kann
Aufrufe (setzt einen neuen Standardwert) bis zum Neustart des Systems.

show_video_device_dialog
Wenn auf was immer dies auch sein sollte., bevor die Erfassung beginnt, wird dem Endbenutzer ein Anzeigedialogfeld angezeigt.
Sie können die Videofiltereigenschaften und -konfigurationen manuell ändern. Notiz
dass bei Crossbar-Geräten manchmal die Werte in diesem Dialogfeld angepasst werden müssen, um
Umschalten zwischen PAL (25 fps) und NTSC (29.97) Eingabebildraten, -größen, Interlacing,
usw. Das Ändern dieser Werte kann unterschiedliche Scanraten/Bildraten aktivieren und vermeiden
grüne Balken am unteren Rand, flackernde Scanlinien usw. Beachten Sie, dass bei einigen Geräten
Das Ändern dieser Eigenschaften kann sich auch auf zukünftige Aufrufe auswirken (setzt neue Standardeinstellungen) bis
Systemneustart erfolgt.

show_audio_device_dialog
Wenn auf was immer dies auch sein sollte., bevor die Erfassung beginnt, wird dem Endbenutzer ein Anzeigedialogfeld angezeigt.
Sie können die Audiofiltereigenschaften und -konfigurationen manuell ändern.

show_video_crossbar_connection_dialog
Wenn auf was immer dies auch sein sollte., bevor die Erfassung beginnt, wird dem Endbenutzer ein Anzeigedialogfeld angezeigt.
Dadurch können sie die Pin-Routings der Kreuzschienen manuell ändern, wenn ein Videogerät geöffnet wird.

show_audio_crossbar_connection_dialog
Wenn auf was immer dies auch sein sollte., bevor die Erfassung beginnt, wird dem Endbenutzer ein Anzeigedialogfeld angezeigt.
Dadurch können sie die Pin-Routings der Kreuzschienen manuell ändern, wenn ein Audiogerät geöffnet wird.

show_analog_tv_tuner_dialog
Wenn auf was immer dies auch sein sollte., bevor die Erfassung beginnt, wird dem Endbenutzer ein Anzeigedialogfeld angezeigt.
Damit können sie TV-Kanäle und -Frequenzen manuell ändern.

show_analog_tv_tuner_audio_dialog
Wenn auf was immer dies auch sein sollte., bevor die Erfassung beginnt, wird dem Endbenutzer ein Anzeigedialogfeld angezeigt.
ermöglicht ihnen, den TV-Ton manuell zu ändern (wie Mono vs. Stereo, Sprache A, B oder C).

audio_device_load
Laden Sie ein Audioaufnahmefiltergerät aus einer Datei, anstatt es nach Namen zu durchsuchen. Es kann
laden Sie auch zusätzliche Parameter, wenn der Filter die Serialisierung seiner
Eigenschaften zu. Um dies zu verwenden, muss eine Audio-Capture-Quelle angegeben werden, aber es kann
alles sogar gefälschte.

audio_device_save
Speichern Sie das aktuell verwendete Audio-Capture-Filtergerät und seine Parameter (wenn der Filter
unterstützt es) in eine Datei. Existiert eine Datei gleichen Namens, wird diese überschrieben.

video_device_load
Laden Sie ein Videoaufnahmefiltergerät aus einer Datei, anstatt es nach Namen zu durchsuchen. Es kann
laden Sie auch zusätzliche Parameter, wenn der Filter die Serialisierung seiner
Eigenschaften zu. Um dies zu verwenden, muss eine Videoaufnahmequelle angegeben werden, aber es kann
alles sogar gefälschte.

video_device_save
Speichern Sie das aktuell verwendete Videoaufnahmefiltergerät und seine Parameter (wenn der Filter
unterstützt es) in eine Datei. Existiert eine Datei gleichen Namens, wird diese überschrieben.

Beispiele

· Drucken Sie die Liste der von DirectShow unterstützten Geräte und beenden Sie:

$ ffmpeg -list_devices true -f dshow -i dummy

· Videogerät öffnen Kamera:

$ ffmpeg -f dshow -i video="Kamera"

· Zweites Videogerät mit Namen öffnen Kamera:

$ ffmpeg -f dshow -video_device_number 1 -i video="Kamera"

· Videogerät öffnen Kamera und Audiogerät Mikrofon:

$ ffmpeg -f dshow -i video="Kamera":audio="Mikrofon"

· Drucken Sie die Liste der unterstützten Optionen im ausgewählten Gerät und beenden Sie:

$ ffmpeg -list_options true -f dshow -i video="Kamera"

· Geben Sie Pin-Namen an, um nach Namen oder alternativen Namen zu erfassen, geben Sie alternatives Gerät an
name:

$ ffmpeg -f dshow -audio_pin_name "Audio Out" -video_pin_name 2 -i video=video="@device_pnp_\\?\pci#ven_1a0a&dev_6200&subsys_62021461&rev_01#4&e2c7dd6&0&00e1#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{ca465100-deb0-4d59-818f-8c477184adf6}":audio="Microphone"

· Konfigurieren Sie ein Crossbar-Gerät, geben Sie Crossbar-Pins an, damit der Benutzer das Video anpassen kann
Capture-Eigenschaften beim Start:

$ ffmpeg -f dshow -show_video_device_dialog true -crossbar_video_input_pin_number 0
-crossbar_audio_input_pin_number 3 -i video="AVerMedia BDA Analog Capture":audio="AVerMedia BDA Analog Capture"

dv1394
Linux DV 1394-Eingabegerät.

Optionen

Framerate
Stellen Sie die Bildrate ein. Standard ist 25.

Standard
Verfügbare Werte sind:

Kumpel
ntsc

Der Standardwert ist "ntsc".

fbdev
Eingabegerät für Linux-Framebuffer.

Der Linux-Framebuffer ist eine von der Grafikhardware unabhängige Abstraktionsschicht zum Anzeigen von Grafiken
auf einem Computermonitor, normalerweise auf der Konsole. Der Zugriff erfolgt über ein Dateigerät
Knoten, normalerweise /dev/fb0.

Für detailliertere Informationen lesen Sie die Datei Documentation/fb/framebuffer.txt, die in . enthalten ist
den Linux-Quellbaum.

Siehe auchhttp://linux-fbdev.sourceforge.net/>, und fbset(1).

So nehmen Sie vom Framebuffer-Gerät auf /dev/fb0 mit ffmpeg:

ffmpeg -f fbdev -framerate 10 -i /dev/fb0 out.avi

Sie können ein einzelnes Screenshot-Bild mit dem Befehl erstellen:

ffmpeg -f fbdev -framerate 1 -i /dev/fb0 -frames:v 1 Screenshot.jpeg

Optionen

Framerate
Stellen Sie die Bildrate ein. Standard ist 25.

gdigrab
Win32 GDI-basiertes Bildschirmaufnahmegerät.

Mit diesem Gerät können Sie einen Bereich der Anzeige unter Windows erfassen.

Es gibt zwei Optionen für den Eingabedateinamen:

Desktop

or

Titel=

Die erste Option erfasst den gesamten Desktop oder einen festen Bereich des Desktops. Die
Die zweite Option erfasst stattdessen den Inhalt eines einzelnen Fensters, unabhängig davon
auf dem Bildschirm positionieren.

Um beispielsweise den gesamten Desktop mit zu erfassen ffmpeg:

ffmpeg -f gdigrab -framerate 6 -i desktop out.mpg

Nehmen Sie eine 640x480-Region an Position "10,20" auf:

ffmpeg -f gdigrab -framerate 6 -offset_x 10 -offset_y 20 -video_size vga -i desktop out.mpg

Holen Sie sich den Inhalt des Fensters mit dem Namen "Rechner"

ffmpeg -f gdigrab -framerate 6 -i title=Rechner out.mpg

Optionen

draw_mouse
Geben Sie an, ob der Mauszeiger gezeichnet werden soll. Verwenden Sie den Wert 0, um den Zeiger nicht zu zeichnen.
Der Standardwert ist 1.

Framerate
Stellen Sie die Aufnahme-Bildrate ein. Der Standardwert ist "ntsc", entsprechend einer Bildrate von
"30000/1001".

show_region
Zeigen Sie den erfassten Bereich auf dem Bildschirm an.

If show_region mit 1 angegeben ist, dann wird die Greifregion angezeigt auf
Bildschirm. Mit dieser Option ist es leicht zu wissen, was gegriffen wird, wenn nur eine Portion
des Bildschirms gegriffen wird.

Beachten Sie, dass show_region ist mit dem Erfassen des Inhalts eines einzelnen Fensters nicht kompatibel.

Beispielsweise:

ffmpeg -f gdigrab -show_region 1 -framerate 6 -video_size cif -offset_x 10 -offset_y 20 -i desktop out.mpg

Video Größe
Stellen Sie die Videobildgröße ein. Standardmäßig wird der Vollbildmodus aufgenommen, wenn Desktop is
ausgewählt, oder die volle Fenstergröße, wenn Titel=Fenstertitel ist ausgewählt.

offset_x
Beim Aufnehmen einer Region mit Video Größe, stellen Sie den Abstand vom linken Rand des
Bildschirm oder Desktop.

Beachten Sie, dass die Offset-Berechnung von der oberen linken Ecke des primären Monitors aus erfolgt
Fenster. Wenn Sie einen Monitor links neben Ihrem Hauptmonitor haben, können Sie
muss ein Negativ verwenden offset_x Wert, um die Region auf diesen Monitor zu verschieben.

offset_y
Beim Aufnehmen einer Region mit Video Größe, stellen Sie den Abstand von der Oberkante des
Bildschirm oder Desktop.

Beachten Sie, dass die Offset-Berechnung von der oberen linken Ecke des primären Monitors aus erfolgt
Fenster. Wenn Sie einen Monitor über Ihrem Hauptmonitor haben, müssen Sie
Verwenden Sie ein Negativ offset_y Wert, um die Region auf diesen Monitor zu verschieben.

IEC61883
FireWire DV/HDV-Eingabegerät mit libiec61883.

Um dieses Eingabegerät zu aktivieren, müssen Sie libiec61883, libraw1394 und libavc1394 installiert haben auf
dein System. Verwenden Sie die Konfigurationsoption "--enable-libiec61883", um mit dem Gerät zu kompilieren
aktiviert.

Das Aufnahmegerät iec61883 unterstützt die Aufnahme von einem Videogerät, das über IEEE1394 . angeschlossen ist
(FireWire), unter Verwendung von libiec61883 und dem neuen Linux FireWire-Stack (juju). Dies ist die Standardeinstellung
DV/HDV-Eingabemethode in Linux-Kernel 2.6.37 und höher, da der alte FireWire-Stack war
entfernt.

Geben Sie den FireWire-Port an, der als Eingabedatei verwendet werden soll, oder "auto", um den ersten Port auszuwählen
in Verbindung gebracht.

Optionen

dvtyp
Überschreiben Sie die automatische Erkennung von DV/HDV. Dies sollte nur verwendet werden, wenn die automatische Erkennung dies nicht tut
arbeiten oder die Verwendung eines anderen Gerätetyps untersagt werden soll. Behandlung eines DV
Gerät als HDV HDV im Glossar erklärt (oder umgekehrt) funktioniert nicht und führt zu undefiniertem Verhalten. Die
Werte Auto, dv und HDV unterstützt.

DV-Puffer
Legen Sie die maximale Puffergröße für eingehende Daten in Frames fest. Für DV ist dies ein genaues
Wert. Bei HDV ist es nicht framegenau, da HDV keine feste Bildgröße hat.

dvguid
Wählen Sie das Aufnahmegerät aus, indem Sie seine GUID angeben. Die Aufnahme wird nur durchgeführt
vom angegebenen Gerät und schlägt fehl, wenn kein Gerät mit der angegebenen GUID gefunden wird. Das ist
sinnvoll, um den Eingang auszuwählen, wenn mehrere Geräte gleichzeitig angeschlossen sind. Aussehen
unter /sys/bus/firewire/devices, um die GUIDs herauszufinden.

Beispiele

· Nehmen Sie den Eingang eines FireWire DV/HDV-Geräts auf und zeigen Sie ihn an.

ffplay -f iec61883 -i automatisch

· Nehmen Sie den Eingang eines FireWire DV/HDV-Geräts mit einem Paketpuffer von 100000 . auf und nehmen Sie ihn auf
Pakete, wenn die Quelle HDV ist.

ffmpeg -f iec61883 -i auto -hdvbuffer 100000 aus.mpg

Jack
JACK-Eingabegerät.

Um dieses Eingabegerät während der Konfiguration zu aktivieren, muss libjack auf Ihrem
System funktionieren.

Ein JACK-Eingabegerät erstellt einen oder mehrere JACK-beschreibbare Clients, einen für jeden Audiokanal,
mit name Kundenname:Eingang_N, Wobei Kundenname ist der von der Anwendung bereitgestellte Name,
und N ist eine Nummer, die den Kanal identifiziert. Jeder beschreibbare Client sendet die
erfassten Daten an das FFmpeg-Eingabegerät.

Nachdem Sie einen oder mehrere JACK-lesbare Clients erstellt haben, müssen Sie diese mit einem verbinden
oder mehr JACK-beschreibbare Clients.

Um JACK-Clients zu verbinden oder zu trennen, können Sie die jack_connect und jack_disconnect
Programme, oder tun Sie es über eine grafische Oberfläche, zum Beispiel mit qjackctl.

Um die JACK-Clients und ihre Eigenschaften aufzulisten, können Sie den Befehl aufrufen jack_lsp.

Folgt einem Beispiel, das zeigt, wie man einen JACK-lesbaren Client mit erfasst ffmpeg.

# Erstellen Sie einen JACK-beschreibbaren Client mit dem Namen "ffmpeg".
$ ffmpeg -f jack -i ffmpeg -y aus.wav

# Starten Sie den lesbaren Beispielclient jack_metro.
$ jack_metro -b 120 -d 0.2 -f 4000

# Listet die aktuellen JACK-Clients auf.
$ jack_lsp -c
system:capture_1
system:capture_2
System:Wiedergabe_1
System:Wiedergabe_2
ffmpeg:input_1
U-Bahn:120_bpm

# Verbinden Sie Metro mit dem beschreibbaren ffmpeg-Client.
$ jack_connect metro:120_bpm ffmpeg:input_1

Für weitere Informationen lesen Sie:http://jackaudio.org/>

Optionen

Kanäle
Stellen Sie die Anzahl der Kanäle ein. Standard ist 2.

lafi
Libavfilter virtuelles Eingabegerät.

Dieses Eingabegerät liest Daten von den offenen Ausgabepads eines libavfilter-Filtergraphen.

Für jede geöffnete Ausgabe des Filtergraphen erstellt das Eingabegerät einen entsprechenden Stream
die der generierten Ausgabe zugeordnet wird. Derzeit werden nur Videodaten unterstützt. Die
filtergraph wird durch die Option angegeben Graph.

Optionen

Graph
Geben Sie das als Eingabe zu verwendende Filterdiagramm an. Jeder geöffnete Videoausgang muss mit einem gekennzeichnet sein
eindeutiger String der Form "outN", wo N ist eine Zahl, die bei 0 beginnt und entspricht
der vom Gerät generierte zugeordnete Eingabestrom. Die erste unbeschriftete Ausgabe ist
automatisch dem Label "out0" zugewiesen, aber alle anderen müssen angegeben werden
ausdrücklich.

Das Suffix "+subcc" kann an das Ausgabelabel angehängt werden, um einen zusätzlichen Stream mit zu erstellen
die an diese Ausgabe angehängten Untertitelpakete (experimentell; nur für EIA-608 /
CEA-708 vorerst). Die Subcc-Streams werden nach allen normalen Streams erstellt, im
Reihenfolge des entsprechenden Streams. Wenn beispielsweise "out19+subcc" vorhanden ist,
"out7+subcc" und bis "out42" ist der Stream #43 subcc für Stream #7 und Stream #44
ist subcc für Stream #19.

Wenn nicht angegeben, wird standardmäßig der für das Eingabegerät angegebene Dateiname verwendet.

graph_file
Legen Sie den Dateinamen des Filtergraphen fest, der gelesen und an die anderen Filter gesendet werden soll. Syntax
des Filtergraphen ist derselbe wie der durch die Option spezifizierte Graph.

Dumpgraph
Diagramm nach stderr ausgeben.

Beispiele

· Erstellen Sie einen Farbvideostream und geben Sie ihn wieder mit ffplay:

ffplay -f lavfi -graph "color=c=pink [out0]" dummy

· Wie im vorherigen Beispiel, aber verwenden Sie den Dateinamen zur Angabe der Diagrammbeschreibung und
Lassen Sie das Label "out0" weg:

ffplay -f lavfi color=c=pink

· Erstellen Sie drei verschiedene Video-Test-gefilterte Quellen und spielen Sie sie ab:

ffplay -f lavfi -graph "testsrc [out0]; testrc,hflip [out1]; testrc,negiere [out2]" test3

· Lesen Sie einen Audiostream aus einer Datei mit der Amovie-Quelle und spielen Sie ihn mit . ab ffplay:

ffplay -f lavfi "movie=test.wav"

· Lesen Sie einen Audiostream und einen Videostream und geben Sie ihn wieder mit ffplay:

ffplay -f lavfi "movie=test.avi[out0];movie=test.wav[out1]"

· Dekodierte Frames in Bilder und Untertitel in eine Datei ausgeben (experimentell):

ffmpeg -f lavfi -i "movie=test.ts[out0+subcc]" -map v frame%08d.png -map s -c kopieren -f rawvideo subcc.bin

libcdio
Audio-CD-Eingabegerät basierend auf libcdio.

Um dieses Eingabegerät während der Konfiguration zu aktivieren, muss libcdio auf Ihrem
System. Es erfordert die Konfigurationsoption "--enable-libcdio".

Dieses Gerät ermöglicht das Abspielen und Aufnehmen von einer Audio-CD.

Zum Beispiel zum Kopieren mit ffmpeg die gesamte Audio-CD in / dev / sr0, können Sie den Befehl ausführen:

ffmpeg -f libcdio -i /dev/sr0 cd.wav

Optionen

Geschwindigkeit
Legen Sie die Lesegeschwindigkeit des Laufwerks fest. Der Standardwert ist 0.

Die Geschwindigkeit wird in CD-ROM-Geschwindigkeitseinheiten angegeben. Die Geschwindigkeit wird über die libcdio . eingestellt
Funktion "cdio_cddap_speed_set". Bei vielen CD-ROM-Laufwerken wird ein zu großer Wert angegeben
führt zur Verwendung der schnellsten Geschwindigkeit.

paranoia_mode
Setzen Sie Flags für den Paranoia-Wiederherstellungsmodus. Es akzeptiert einen der folgenden Werte:

deaktivieren
überprüfen
überlappen
nie überspringen
voller

Standardwert ist deaktivieren.

Weitere Informationen zu den verfügbaren Wiederherstellungsmodi finden Sie im Paranoia-Projekt
Dokumentation.

libdc1394
IIDC1394-Eingabegerät, basierend auf libdc1394 und libraw1394.

Erfordert die Konfigurationsoption "--enable-libdc1394".

Eröffnung
Das OpenAL-Eingabegerät bietet Audioaufnahme auf allen Systemen mit einem funktionierenden OpenAL 1.1
Umsetzung.

Um dieses Eingabegerät während der Konfiguration zu aktivieren, benötigen Sie OpenAL-Header und -Bibliotheken
auf Ihrem System installiert und müssen FFmpeg mit "--enable-openal" konfigurieren.

OpenAL-Header und -Bibliotheken sollten als Teil Ihrer OpenAL-Implementierung bereitgestellt werden, oder
als zusätzlicher Download (ein SDK). Abhängig von Ihrer Installation müssen Sie möglicherweise angeben
zusätzliche Flags über die "--extra-cflags" und "--extra-ldflags" um den Build zuzulassen
System, um die OpenAL-Header und -Bibliotheken zu finden.

Es folgt eine unvollständige Liste von OpenAL-Implementierungen:

Kreativ (Creative)
Die offizielle Windows-Implementierung, die Hardwarebeschleunigung mit unterstütztem
Geräte- und Software-Fallback. Sehenhttp://openal.org/>.

OpenAL SOFT
Implementierung von portabler Open-Source-Software (LGPL). Enthält Back-Ends für die meisten
allgemeine Sound-APIs auf den Betriebssystemen Windows, Linux, Solaris und BSD. Sehen
<http://kcat.strangesoft.net/openal.html>.

Apple
OpenAL ist Teil von Core Audio, dem offiziellen Audio-Interface von Mac OS X. Sehen
<http://developer.apple.com/technologies/mac/audio-and-video.html>

Dieses Gerät ermöglicht die Aufnahme von einem Audioeingabegerät, das über OpenAL verwaltet wird.

Sie müssen den Namen des zu erfassenden Geräts im angegebenen Dateinamen angeben. Wenn die
eine leere Zeichenfolge bereitgestellt wird, wählt das Gerät automatisch das Standardgerät aus. Du kannst
erhalten Sie die Liste der unterstützten Geräte, indem Sie die Option verwenden list_devices.

Optionen

Kanäle
Legen Sie die Anzahl der Kanäle im aufgenommenen Audio fest. Nur die Werte 1 (monaural) und 2
(Stereo) werden derzeit unterstützt. Standardmäßig auf 2.

Beispielgröße
Legen Sie die Sample-Größe (in Bit) des aufgenommenen Audios fest. Nur die Werte 8 und 16 sind
derzeit unterstützt. Standardmäßig auf 16.

Beispielrate
Stellen Sie die Abtastrate (in Hz) des aufgenommenen Audios ein. Standardmäßig auf 44.1K.

list_devices
Wenn auf was immer dies auch sein sollte., eine Geräteliste drucken und beenden. Standardmäßig auf falsch.

Beispiele

Drucken Sie die Liste der von OpenAL unterstützten Geräte und beenden Sie:

$ ffmpeg -list_devices true -f openal -i dummy out.ogg

Aufnahme vom OpenAL-Gerät DR-BT101 Pulseaudio:

$ ffmpeg -f openal -i 'DR-BT101 über PulseAudio' out.ogg

Aufnahme vom Standardgerät (beachten Sie die leere Zeichenfolge '' als Dateiname):

$ ffmpeg -f openal -i ''out.ogg

Aufnehmen von zwei Geräten gleichzeitig, Schreiben in zwei verschiedene Dateien innerhalb desselben
ffmpeg Befehl:

$ ffmpeg -f openal -i 'DR-BT101 über PulseAudio' out1.ogg -f openal -i 'ALSA Default' out2.ogg

Hinweis: Nicht alle OpenAL-Implementierungen unterstützen mehrere gleichzeitige Erfassungen - versuchen Sie die
neueste OpenAL Soft, wenn das obige nicht funktioniert.

Zentrum
Öffnen Sie das Sound System-Eingabegerät.

Der dem Eingabegerät bereitzustellende Dateiname ist der Geräteknoten, der die OSS-Eingabe repräsentiert
Gerät und ist normalerweise auf eingestellt /dev/dsp.

Zum Beispiel zum Greifen von /dev/dsp Verwendung von ffmpeg Verwenden Sie den Befehl:

ffmpeg -f oss -i /dev/dsp /tmp/oss.wav

Weitere Informationen zu OSS finden Sie unter:http://manuals.opensound.com/usersguide/dsp.html>

Optionen

Beispielrate
Stellen Sie die Abtastrate in Hz ein. Der Standardwert ist 48000.

Kanäle
Stellen Sie die Anzahl der Kanäle ein. Standard ist 2.

Puls
PulseAudio-Eingabegerät.

Um dieses Ausgabegerät zu aktivieren, müssen Sie FFmpeg mit "--enable-libpulse" konfigurieren.

Der dem Eingabegerät bereitzustellende Dateiname ist ein Quellgerät oder die Zeichenfolge "default".

Um die PulseAudio-Quellgeräte und ihre Eigenschaften aufzulisten, können Sie den Befehl aufrufen
paktl Liste Quellen.

Weitere Informationen zu PulseAudio finden Sie aufhttp://www.pulseaudio.org>.

Optionen

Server
Stellen Sie eine Verbindung zu einem bestimmten PulseAudio-Server her, der durch eine IP-Adresse angegeben wird. Standardserver
wird verwendet, wenn nicht bereitgestellt.

Name
Geben Sie den Anwendungsnamen an, den PulseAudio verwendet, wenn aktive Clients angezeigt werden, durch
Standardmäßig ist es der String "LIBAVFORMAT_IDENT".

Streamname
Geben Sie den Stream-Namen an, den PulseAudio verwendet, wenn aktive Streams angezeigt werden, standardmäßig ist es
ist "Aufzeichnung".

Beispielrate
Geben Sie die Samplerate in Hz an, standardmäßig werden 48kHz verwendet.

Kanäle
Geben Sie die verwendeten Kanäle an, standardmäßig ist 2 (Stereo) eingestellt.

Rahmengröße
Geben Sie die Anzahl der Bytes pro Frame an, standardmäßig ist sie auf 1024 eingestellt.

fragment_size
Geben Sie das minimale Pufferungsfragment in PulseAudio an, es wirkt sich auf das Audio aus
Latenz. Standardmäßig ist es nicht eingestellt.

Wanduhr
Stellen Sie den anfänglichen PTS mit der aktuellen Uhrzeit ein. Standard ist 1.

Beispiele

Zeichnen Sie einen Stream vom Standardgerät auf:

ffmpeg -f Pulse -i Standard /tmp/pulse.wav

qtkit
QTKit-Eingabegerät.

Der als Eingabe übergebene Dateiname wird so geparst, dass er entweder einen Gerätenamen oder einen Index enthält. Die
Geräteindex kann auch mit -video_device_index angegeben werden. Ein gegebener Geräteindex wird
einen beliebigen Gerätenamen überschreiben. Wenn das gewünschte Gerät nur aus Zahlen besteht, verwenden Sie
-video_device_index, um es zu identifizieren. Das Standardgerät wird gewählt, wenn eine leere Zeichenfolge
oder es wird der Gerätename "default" vergeben. Die verfügbaren Geräte können mit aufgezählt werden
-list_devices.

ffmpeg -f qtkit -i "0" out.mpg

ffmpeg -f qtkit -video_device_index 0 -i "" out.mpg

ffmpeg -f qtkit -i "default" out.mpg

ffmpeg -f qtkit -list_devices true -i ""

Optionen

Bildrate
Bildrate einstellen. Standard ist 30.

list_devices
Wenn auf "true" gesetzt, drucken Sie eine Liste der Geräte und beenden Sie das Programm. Standard ist "false".

video_device_index
Wählen Sie das Videogerät nach dem Index für Geräte mit demselben Namen aus (beginnt bei 0).

sndio
sndio-Eingabegerät.

Um dieses Eingabegerät während der Konfiguration zu aktivieren, muss libsndio auf Ihrem
System funktionieren.

Der dem Eingabegerät bereitzustellende Dateiname ist der Geräteknoten, der das sndio . repräsentiert
Eingabegerät und ist normalerweise auf eingestellt /dev/audio0.

Zum Beispiel zum Greifen von /dev/audio0 Verwendung von ffmpeg Verwenden Sie den Befehl:

ffmpeg -f sndio -i /dev/audio0 /tmp/oss.wav

Optionen

Beispielrate
Stellen Sie die Abtastrate in Hz ein. Der Standardwert ist 48000.

Kanäle
Stellen Sie die Anzahl der Kanäle ein. Standard ist 2.

video4linux2, v4l2
Video4Linux2-Eingangsvideogerät.

"v4l2" kann als Alias ​​für "video4linux2" verwendet werden.

Wenn FFmpeg mit v4l-utils-Unterstützung erstellt wurde (mithilfe der "--enable-libv4l2"-Konfiguration
Option), ist es möglich, sie mit der Eingabegeräteoption "-use_libv4l2" zu verwenden.

Der Name des zu greifenden Geräts ist ein Dateigeräteknoten, normalerweise neigen Linux-Systeme dazu
automatisch solche Knoten erstellen, wenn das Gerät (z. B. eine USB-Webcam) an die
System und hat einen Namen der Art /dev/videoN, Wobei N ist eine Zahl, die mit dem verbunden ist
Gerät.

Video4Linux2-Geräte unterstützen normalerweise eine begrenzte Anzahl von BreitexHöhe Größen und Bildraten.
Sie können überprüfen, welche unterstützt werden mit -list_formats alle für Video4Linux2-Geräte. Etwas
Geräte wie TV-Karten unterstützen einen oder mehrere Standards. Es ist möglich, alle aufzulisten
unterstützte Standards mit -list_standards alle.

Die Zeitbasis für die Zeitstempel beträgt 1 Mikrosekunde. Abhängig von der Kernel-Version und
Konfiguration können die Zeitstempel von der Echtzeituhr abgeleitet werden (Ursprung am Unix
Epoche) oder die monotone Uhr (Ursprung in der Regel beim Booten, unbeeinflusst von NTP oder manuell
Änderungen an der Uhr). Die -Zeitstempel abs or -ts abs Option kann verwendet werden, um zu erzwingen
Umwandlung in die Echtzeituhr.

Einige Anwendungsbeispiele des video4linux2-Geräts mit ffmpeg und ffplay:

· Liste der unterstützten Formate für ein video4linux2-Gerät auf:

ffplay -f video4linux2 -list_formats all /dev/video0

· Nehmen Sie den Eingang eines video4linux2-Geräts auf und zeigen Sie ihn an:

ffplay -f video4linux2 -framerate 30 -video_size hd720 /dev/video0

· Nehmen Sie den Eingang eines video4linux2-Geräts auf und zeichnen Sie ihn auf, belassen Sie die Bildrate und -größe als
vorher eingestellt:

ffmpeg -f video4linux2 -input_format mjpeg -i /dev/video0 out.mpeg

Weitere Informationen zu Video4Linux finden Sie unterhttp://linuxtv.org/>.

Optionen

Standard
Setzen Sie den Standard. Muss der Name eines unterstützten Standards sein. Um eine Liste der zu erhalten
unterstützten Standards, verwenden Sie die list_standards .

Kanal
Stellen Sie die Eingangskanalnummer ein. Standardwert -1, d. h. die Verwendung des zuvor ausgewählten
Kanal.

Video Größe
Stellen Sie die Videobildgröße ein. Das Argument muss ein String in der Form sein WIDTHxHEIGHT oder eine
gültige Größenabkürzung.

Pixelformat
Wählen Sie das Pixelformat (gilt nur für Raw-Video-Eingabe).

Eingabeformat
Legen Sie das bevorzugte Pixelformat (für RAW-Video) oder einen Codec-Namen fest. Diese Option ermöglicht
eine, um das Eingabeformat auszuwählen, wenn mehrere verfügbar sind.

Framerate
Stellen Sie die bevorzugte Videobildrate ein.

Listenformate
Listen Sie die verfügbaren Formate auf (unterstützte Pixelformate, Codecs und Bildgrößen) und beenden Sie.

Verfügbare Werte sind:

alle Alle verfügbaren (komprimierten und nicht komprimierten) Formate anzeigen.

roh Nur Rohvideoformate (nicht komprimiert) anzeigen.

Druckluft
Nur komprimierte Formate anzeigen.

list_standards
Unterstützte Standards auflisten und beenden.

Verfügbare Werte sind:

alle Alle unterstützten Standards anzeigen.

Zeitstempel, ts
Legen Sie die Art der Zeitstempel für erfasste Frames fest.

Verfügbare Werte sind:

Standard
Verwenden Sie Zeitstempel aus dem Kernel.

abs Verwenden Sie absolute Zeitstempel (Wanduhr).

mono2abs
Erzwingen Sie die Umwandlung von monotonen in absolute Zeitstempel.

Der Standardwert ist "Standard".

use_libv4l2
Verwenden Sie die Konvertierungsfunktionen von libv4l2 (v4l-utils). Standard ist 0.

vfwcap
VfW-Aufnahmegerät (Video für Windows).

Der als Eingabe übergebene Dateiname ist die Nummer des Capture-Treibers im Bereich von 0 bis 9. Sie können
Verwenden Sie "list" als Dateinamen, um eine Liste von Treibern zu drucken. Jeder andere Dateiname wird interpretiert
als Gerätenummer 0.

Optionen

Video Größe
Stellen Sie die Videobildgröße ein.

Framerate
Stellen Sie die Aufnahme-Bildrate ein. Der Standardwert ist "ntsc", entsprechend einer Bildrate von
"30000/1001".

x11grab
X11-Videoeingabegerät.

Um dieses Eingabegerät während der Konfiguration zu aktivieren, muss libxcb auf Ihrem System installiert sein.
Es wird während der Konfiguration automatisch erkannt.

Alternativ die Konfigurationsoption --enable-x11grab existiert für ältere Xlib-Benutzer.

Mit diesem Gerät kann man einen Bereich eines X11-Displays erfassen.

Der als Eingabe übergebene Dateiname hat die Syntax:

[ ]: . [+ , ]

hostname:Anzeige_Nummer.Bildschirmnummer gibt den X11-Anzeigenamen des zu erfassenden Bildschirms an
von. hostname kann weggelassen werden und ist standardmäßig "localhost". Die Umgebungsvariable
DISPLAY enthält den Standardanzeigenamen.

x_offset und y_offset Geben Sie die Versätze des erfassten Bereichs in Bezug auf oben links an
Rand des X11-Bildschirms. Sie sind standardmäßig auf 0 eingestellt.

Überprüfen Sie die X11-Dokumentation (zB Mann X) für nähere Informationen.

Verwenden Sie das xdpyinfo Programm zum Abrufen grundlegender Informationen über die Eigenschaften Ihres X11
Anzeige (zB grep für "Name" oder "Dimensionen").

Zum Beispiel zum Greifen von : 0.0 Verwendung von ffmpeg:

ffmpeg -f x11grab -framerate 25 -video_size cif -i :0.0 out.mpg

Greifen Sie an Position "10,20":

ffmpeg -f x11grab -framerate 25 -video_size cif -i :0.0+10,20 out.mpg

Optionen

draw_mouse
Geben Sie an, ob der Mauszeiger gezeichnet werden soll. Ein Wert von 0 gibt an, dass nicht gezeichnet wird
Zeiger. Der Standardwert ist 1.

follow_mouse
Lassen Sie den erfassten Bereich der Maus folgen. Das Argument kann "zentriert" sein oder eine Anzahl von
Pixel PIXEL.

Bei Angabe von "centered" folgt der Greifbereich dem Mauszeiger
und hält den Zeiger in der Mitte der Region; andernfalls folgt die Region nur, wenn
der Mauszeiger reicht hinein PIXEL (größer als Null) zum Rand der Region.

Beispielsweise:

ffmpeg -f x11grab -follow_mouse zentriert -framerate 25 -video_size cif -i :0.0 out.mpg

Nur folgen, wenn der Mauszeiger innerhalb von 100 Pixeln bis zum Rand reicht:

ffmpeg -f x11grab -follow_mouse 100 -framerate 25 -video_size cif -i :0.0 out.mpg

Framerate
Stellen Sie die Aufnahme-Bildrate ein. Der Standardwert ist "ntsc", entsprechend einer Bildrate von
"30000/1001".

show_region
Zeigen Sie den erfassten Bereich auf dem Bildschirm an.

If show_region mit 1 angegeben ist, dann wird die Greifregion angezeigt auf
Bildschirm. Mit dieser Option ist es leicht zu wissen, was gegriffen wird, wenn nur eine Portion
des Bildschirms gegriffen wird.

region_border
Legen Sie die Dicke der Regionsgrenze fest, wenn -show_region 1 wird genutzt. Bereich ist 1 bis 128 und
Standard ist 3 (nur XCB-basiertes x11grab).

Beispielsweise:

ffmpeg -f x11grab -show_region 1 -framerate 25 -video_size cif -i :0.0+10,20 out.mpg

Mit der follow_mouse:

ffmpeg -f x11grab -follow_mouse zentriert -show_region 1 -framerate 25 -video_size cif -i :0.0 out.mpg

Video Größe
Stellen Sie die Videobildgröße ein. Der Standardwert ist "vga".

use_shm
Verwenden Sie die MIT-SHM-Erweiterung für Shared Memory. Der Standardwert ist 1. Es kann erforderlich sein
um es für Remote-Displays zu deaktivieren (nur Legacy x11grab).

grab_x grab_y AVOption

Die Syntax lautet:

-grab_x -grab_y

Legen Sie die Koordinaten der Greifregion fest. Sie werden als Versatz von der oberen linken Ecke ausgedrückt
des X11-Fensters. Der Standardwert ist 0.

RESAMPLER OPTIONAL


Der Audio-Resampler unterstützt die folgenden benannten Optionen.

Optionen können eingestellt werden durch Angabe von -zu erhalten Wert in den FFmpeg-Tools, zu erhalten=Wert für die
aresample-Filter, indem Sie den Wert explizit in den "SwrContext"-Optionen setzen oder den
libavutil/opt.h API für die programmatische Verwendung.

trinken in_channel_count
Stellen Sie die Anzahl der Eingangskanäle ein. Der Standardwert ist 0. Die Einstellung dieses Wertes ist nicht
obligatorisch, wenn das entsprechende Kanallayout in_channel_layout wird gesetzt.

ach, out_channel_count
Stellen Sie die Anzahl der Ausgangskanäle ein. Der Standardwert ist 0. Die Einstellung dieses Wertes ist nicht
obligatorisch, wenn das entsprechende Kanallayout out_channel_layout wird gesetzt.

ähm, used_channel_count
Stellen Sie die Anzahl der verwendeten Eingangskanäle ein. Der Standardwert ist 0. Diese Option wird nur verwendet
für spezielle Neuzuordnung.

ist, in_sample_rate
Stellen Sie die Eingangs-Sample-Rate ein. Der Standardwert ist 0.

osr, out_sample_rate
Stellen Sie die Ausgabe-Sample-Rate ein. Der Standardwert ist 0.

ist, in_sample_fmt
Geben Sie das Eingabe-Sample-Format an. Es ist standardmäßig auf "keine" eingestellt.

osf, out_sample_fmt
Geben Sie das Ausgabe-Sample-Format an. Es ist standardmäßig auf "keine" eingestellt.

tsf, internal_sample_fmt
Stellen Sie das interne Sample-Format ein. Der Standardwert ist "keiner". Dies wird automatisch
ausgewählt, wenn es nicht explizit festgelegt ist.

ickl, in_channel_layout
ok, out_channel_layout
Legen Sie das Layout des Eingangs-/Ausgangskanals fest.

See Kanal Layout Abschnitt in ffmpeg-utils(1) manuell für die erforderliche Syntax.

Cleve, center_mix_level
Stellen Sie den Center-Mix-Pegel ein. Es ist ein in DeziBel ausgedrückter Wert und muss im
Intervall [-32,32].

slev, Surround_mix_level
Stellen Sie den Surround-Mix-Pegel ein. Es ist ein in DeziBel ausgedrückter Wert und muss im
Intervall [-32,32].

lfe_mix_level
Stellen Sie den LFE-Mix auf Nicht-LFE-Pegel ein. Wird verwendet, wenn ein LFE-Eingang vorhanden ist, aber kein LFE
Ausgang. Es ist ein in DeziBel ausgedrückter Wert und muss im Intervall [-32,32] liegen.

rmvol, rematrix_volume
Stellen Sie die Rematrix-Lautstärke ein. Der Standardwert ist 1.0.

rematrix_maxval
Legen Sie den maximalen Ausgabewert für das Rematrixing fest. Dies kann verwendet werden, um Clipping vs.
Verhindern der Lautstärkereduzierung Ein Wert von 1.0 verhindert Clipping.

Flaggen, swr_flags
Setzt Flags, die vom Konverter verwendet werden. Der Standardwert ist 0.

Es unterstützt die folgenden individuellen Flags:

Rindfleisch Resampling erzwingen, dieses Flag erzwingt die Verwendung von Resampling, auch wenn die Eingabe und
Ausgangsabtastraten stimmen überein.

dither_scale
Stellen Sie die Dither-Skala ein. Der Standardwert ist 1.

dither_method
Dither-Methode einstellen. Der Standardwert ist 0.

Unterstützte Werte:

rechteckig
Rechteckiges Dither auswählen

dreieckig
Dreiecks-Dither auswählen

dreieckig_hp
Wählen Sie Dreiecks-Dithering mit Hochpass

Lippenbekenntnisse
Wählen Sie Lipshitz Noise Shaping Dither

Shibata
Shibata Noise Shaping Dither auswählen

low_shibata
Wählen Sie Low Shibata Noise Shaping Dither

high_shibata
Wählen Sie hohes Shibata Noise Shaping Dither

f_gewichtet
f-gewichtetes Noise-Shaping-Dither auswählen

modifiziert_e_gewichtet
Wählen Sie modifiziertes e-gewichtetes Noise-Shaping-Dithering

verbessert_e_gewichtet
Wählen Sie verbessertes e-gewichtetes Noise-Shaping-Dithering

Resampler
Resampling-Engine einstellen. Der Standardwert ist swr.

Unterstützte Werte:

Swr Wählen Sie den nativen SW-Resampler aus; Filteroptionen Präzision und Cheby sind nicht
in diesem Fall anwendbar.

soxr
Wählen Sie den SoX-Resampler (sofern verfügbar); Kompensation und Filteroptionen
filter_size, phase_shift, filter_type & kaiser_beta, sind hier nicht anwendbar
Fall.

Filtergröße
Legen Sie nur für swr die Resampling-Filtergröße fest, der Standardwert ist 32.

Phasenverschiebung
Nur für swr, Resampling-Phasenverschiebung einstellen, Standardwert ist 10 und muss im
Intervall [0,30].

linear_interp
Lineare Interpolation verwenden, wenn auf 1 gesetzt, der Standardwert ist 0.

Cutoff-
Cutoff-Frequenz (swr: 6dB-Punkt; soxr: 0dB-Punkt) einstellen; muss ein Float-Wert sein
zwischen 0 und 1. Der Standardwert ist 0.97 bei swr und 0.91 bei soxr (was mit a
Abtastrate von 44100, behält das gesamte Audioband auf 20 kHz).

Präzision
Nur für soxr, die Genauigkeit in Bits, mit der das neu abgetastete Signal berechnet wird.
Der Standardwert von 20 (der bei geeignetem Dithering geeignet ist für a
Ziel-Bit-Tiefe von 16) gibt SoX 'Hohe Qualität'; ein Wert von 28 ergibt SoX's
'Sehr hohe Qualität'.

Cheby
Nur für Soxr, wählt Passband Rolloff keine (Chebyshev) und höhere Genauigkeit
Näherung für 'irrationale' Verhältnisse. Der Standardwert ist 0.

async
Nur für swr, einfache 1-Parameter-Audiosynchronisierung mit Zeitstempeln durch Dehnen, Zusammendrücken,
Füllen und Trimmen. Wenn Sie dies auf 1 setzen, wird das Füllen und Trimmen aktiviert, größer
Werte stellen den maximalen Betrag in Samples dar, um den die Daten gestreckt werden können oder
für jede Sekunde gedrückt. Der Standardwert ist 0, daher wird keine Kompensation angewendet
die Samples stimmen mit den Audio-Zeitstempeln überein.

erste_Punkte
Nehmen Sie nur für swr an, dass die ersten Punkte diesen Wert haben sollten. Die Zeiteinheit ist 1 / Probe
Bewertung. Dies ermöglicht das Auffüllen/Trimmen am Anfang des Streams. Standardmäßig nein
Es wird eine Annahme über die erwarteten Punkte des ersten Frames gemacht, daher ist kein Auffüllen oder Trimmen erforderlich
getan. Dies könnte zum Beispiel auf 0 gesetzt werden, um den Anfang mit Stille aufzufüllen, wenn ein
Audiostream beginnt nach dem Videostream oder um Samples mit negativen Pkten zu trimmen
wegen Geberverzögerung.

min_komp
Legen Sie nur für swr die minimale Differenz zwischen Zeitstempeln und Audiodaten fest (in
Sekunden), um das Dehnen / Zusammendrücken / Füllen oder Trimmen der Daten auszulösen, um es zu machen
mit den Zeitstempeln übereinstimmen. Die Standardeinstellung ist, dass das Dehnen/Quetschen/Füllen und Trimmen
Behinderte (min_komp = "FLT_MAX").

min_hard_comp
Legen Sie nur für swr die minimale Differenz zwischen Zeitstempeln und Audiodaten fest (in
Sekunden), um das Hinzufügen/Löschen von Samples auszulösen, damit es mit den Zeitstempeln übereinstimmt. Dies
Option ist effektiv eine Schwelle, um zwischen hart (trimmen/füllen) und weich zu wählen
(Squeeze/Stretch) Kompensation. Beachten Sie, dass alle Kompensationen standardmäßig deaktiviert sind
bis min_komp. Der Standardwert ist 0.1.

comp_duration
Legen Sie nur für swr die Dauer (in Sekunden) fest, über die die Daten gedehnt/gequetscht werden.
es stimmt mit den Zeitstempeln überein. Muss ein nicht negativer Double-Float-Wert sein, der Standardwert ist
1.0

max_soft_comp
Legen Sie nur für swr den maximalen Faktor fest, um den die Daten gedehnt/gequetscht werden, damit sie übereinstimmen
die Zeitstempel. Muss ein nicht negativer Double-Float-Wert sein, der Standardwert ist 0.

matrix_encoding
Wählen Sie Matrix-Stereokodierung.

Es akzeptiert die folgenden Werte:

keine
nichts ausgewählt

dolby
Dolby auswählen

dplii
wählen Sie Dolby Pro Logic II

Der Standardwert ist "keiner".

Filter Typ
Wählen Sie nur für swr den Resampling-Filtertyp aus. Dies betrifft nur Resampling-Operationen.

Es akzeptiert die folgenden Werte:

kubisch
kubisch auswählen

blackman_nuttall
auswählen Blackman Nuttall Windowed Sinc

Kaiser
wählen Sie Kaiser Windowed Sinc

kaiser_beta
Legen Sie nur für swr den Kaiser Window Beta-Wert fest. Muss eine ganze Zahl im Intervall [2,16] sein,
Standardwert ist 9.

Ausgabe_Beispielbits
Legen Sie nur für swr die Anzahl der verwendeten Ausgangs-Sample-Bits für das Dithering fest. Muss eine ganze Zahl sein
im Intervall [0,64] ist der Standardwert 0, was bedeutet, dass er nicht verwendet wird.

SCALER OPTIONAL


Der Videoskalierer unterstützt die folgenden benannten Optionen.

Optionen können eingestellt werden durch Angabe von -zu erhalten Wert in den FFmpeg-Tools. Für den programmatischen Gebrauch,
sie können explizit in den "SwsContext"-Optionen oder über die libavutil/opt.h API.

sws_flags
Setzen Sie die Scaler-Flags. Dies wird auch verwendet, um den Skalierungsalgorithmus einzustellen. Nur ein einziges
Algorithmus gewählt werden.

Es akzeptiert die folgenden Werte:

schnell_bilinear
Wählen Sie einen schnellen bilinearen Skalierungsalgorithmus.

bilinear
Wählen Sie den bilinearen Skalierungsalgorithmus.

bikubisch
Wählen Sie den bikubischen Skalierungsalgorithmus.

experimentell
Wählen Sie den experimentellen Skalierungsalgorithmus aus.

Nachbar
Wählen Sie den Neuskalierungsalgorithmus für den nächsten Nachbarn aus.

Gesamtfläche unserer Sitzes
Wählen Sie den Algorithmus zur Neuskalierung des Mittelwertbereichs aus.

bikubin
Wählen Sie bikubischen Skalierungsalgorithmus für die Luma-Komponente, bilinear für Chroma
Komponenten.

gauss
Wählen Sie Gaußscher Neuskalierungsalgorithmus.

aufricht
Wählen Sie den Sinc-Reskalierungsalgorithmus.

Lanczos
Wählen Sie den Lanczos-Reskalierungsalgorithmus aus.

Spline
Wählen Sie den natürlichen bikubischen Spline-Reskalierungsalgorithmus aus.

print_info
Aktivieren Sie die Druck-/Debugprotokollierung.

genaue_rnd
Aktivieren Sie die genaue Rundung.

full_chroma_int
Aktivieren Sie die vollständige Chroma-Interpolation.

full_chroma_inp
Wählen Sie den vollen Chroma-Eingang.

bitexakt
Bitgenaue Ausgabe aktivieren.

srcw
Stellen Sie die Quellbreite ein.

durchsuchen
Stellen Sie die Quellhöhe ein.

dstw
Legen Sie die Zielbreite fest.

dst
Legen Sie die Zielhöhe fest.

Quellformat
Stellen Sie das Quellpixelformat ein (muss als ganze Zahl ausgedrückt werden).

dst_format
Legen Sie das Zielpixelformat fest (muss als ganze Zahl ausgedrückt werden).

Quellbereich
Quellbereich auswählen.

dst_range
Zielbereich auswählen.

param0, param1
Legen Sie die Parameter für den Skalierungsalgorithmus fest. Die angegebenen Werte sind skalierungsspezifisch
Algorithmen und ignoriert von anderen. Die angegebenen Werte sind Gleitkommazahlen
Werte.

sws_dither
Stellen Sie den Dithering-Algorithmus ein. Akzeptiert einen der folgenden Werte. Standardwert ist
Auto.

Auto
automatische Wahl

keine
kein Zittern

bayer
bayer zittern

ed Fehlerdiffusions-Dithering

a_dither
arithmetisches Dither, basierend auf Addition

x_dither
arithmetisches Dither, basierend auf xor (mehr zufällige/weniger offensichtliche Muster als
a_dither).

Alphablend
Legen Sie die Alpha-Überblendung fest, die verwendet werden soll, wenn die Eingabe Alpha hat, die Ausgabe jedoch nicht.
Standardwert ist keine.

einheitliche_farbe
Auf eine einheitliche Hintergrundfarbe mischen

Schachbrett
Auf ein Schachbrett mischen

keine
Kein Mischen

FILTERUNG EINFÜHRUNG


Das Filtern in FFmpeg wird durch die Bibliothek libavfilter aktiviert.

In libavfilter kann ein Filter mehrere Eingänge und mehrere Ausgänge haben. Um das zu veranschaulichen
Dinge möglich sind, betrachten wir den folgenden Filtergraphen.

[Main]
Input --> Split ------------------> Overlay --> Output
| ^
|[tmp] [umdrehen]|
+-----> Zuschneiden --> Vflip -------+

Dieser Filtergraph teilt den Eingabestream in zwei Streams auf und sendet dann einen Stream durch die
Crop-Filter und den vflip-Filter, bevor Sie ihn wieder mit dem anderen Stream zusammenführen, indem Sie
darüber legen. Um dies zu erreichen, können Sie den folgenden Befehl verwenden:

ffmpeg -i INPUT -vf "split [main][tmp]; [tmp] crop=iw:ih/2:0:0, vflip [flip]; [main][flip] overlay=0:H/2" OUTPUT

Das Ergebnis ist, dass die obere Hälfte des Videos auf die untere Hälfte des Videos gespiegelt wird
Video ausgeben.

Filter in derselben linearen Kette werden durch Kommas getrennt, und unterschiedliche lineare Ketten von
Filter werden durch Semikolon getrennt. In unserem Beispiel, zuschneiden,vflip befinden sich in einer linearen Kette,
gespalten und Auflage sind getrennt in einem anderen. Die Punkte, an denen sich die linearen Ketten verbinden, sind
mit Namen in eckigen Klammern gekennzeichnet. Im Beispiel erzeugt der Splitfilter
zwei Ausgänge, die den Labels zugeordnet sind [Main] und [tmp].

Der an den zweiten Ausgang von gesendete Stream gespalten, beschriftet als [tmp], wird verarbeitet durch die
Ernte Filter, der die untere Hälfte des Videos wegschneidet und dann vertikal
umgedreht. Die Auflage filter nimmt in input die erste unveränderte Ausgabe des Splitfilters
(die als gekennzeichnet wurde [Main]) und überlagern seine untere Hälfte mit der Ausgabe, die von der
zuschneiden,vflip Filterkette.

Einige Filter nehmen als Eingabe eine Liste von Parametern auf: Sie werden nach dem Filternamen angegeben
und ein Gleichheitszeichen und werden durch einen Doppelpunkt voneinander getrennt.

Es gibt sogenannte Quelle Filter die keinen Audio-/Videoeingang haben, und Waschbecken
Filter die keinen Audio/Video-Ausgang haben.

GRAPH


Das graph2dot Programm im FFmpeg . enthalten Werkzeuge Verzeichnis kann verwendet werden, um a . zu analysieren
Filtergraph Beschreibung und geben Sie eine entsprechende Textdarstellung im Punkt aus
Sprache.

Rufen Sie den Befehl auf:

graph2dot -h

um zu sehen, wie man es benutzt graph2dot.

Sie können die Punktbeschreibung dann an die Punkt Programm (aus der graphviz-Suite von
Programme) und erhalten eine grafische Darstellung des Filtergraphen.

Zum Beispiel die Befehlsfolge:

Echo | \
tools/graph2dot -o graph.tmp && \
Punkt -Tpng graph.tmp -o graph.png && \
grafik anzeigen.png

kann verwendet werden, um ein Bild zu erstellen und anzuzeigen, das den von der
GRAPH_DESCRIPTION Schnur. Beachten Sie, dass diese Zeichenfolge ein vollständiger in sich abgeschlossener Graph sein muss.
mit seinen Ein- und Ausgängen explizit definiert. Zum Beispiel, wenn Ihre Befehlszeile von . ist
die Form:

ffmpeg -i Infile -vf Scale=640:360 Outfile

Ihre GRAPH_DESCRIPTION String muss die Form haben:

nullsrc,scale=640:360,nullsenke

Möglicherweise müssen Sie auch die nullsrc Parameter und fügen Sie a . hinzu Format filtern, um
eine bestimmte Eingabedatei simulieren.

FILTERGRAFIK BESCHREIBUNG


Ein Filtergraph ist ein gerichteter Graph verbundener Filter. Es kann Zyklen enthalten, und da
können mehrere Verknüpfungen zwischen einem Filterpaar sein. Jeder Link hat ein Eingabepad auf einer Seite
Verbinden Sie es mit einem Filter, von dem es seinen Eingang nimmt, und einem Ausgangs-Pad auf dem anderen
Seite, die es mit einem Filter verbindet, der seinen Ausgang akzeptiert.

Jeder Filter in einem Filtergraph ist eine Instanz einer Filterklasse, die im
Anwendung, die die Funktionen und die Anzahl der Eingangs- und Ausgangspads des
Filter.

Ein Filter ohne Eingangspads wird als "Quelle" bezeichnet und ein Filter ohne Ausgangspads ist
als "Senke" bezeichnet.

Filtergrafik Syntax
Ein Filtergraph hat eine textuelle Darstellung, die von der . erkannt wird -Filter/-vf/-N und
-filter_komplex Optionen in ffmpeg und -vf/-N in ffplayUnd durch die
"avfilter_graph_parse_ptr()" Funktion definiert in libavfilter/avfilter.h.

Eine Filterkette besteht aus einer Folge verbundener Filter, von denen jeder mit dem
vorherige in der folge. Eine Filterkette wird durch eine Liste von ","-getrennten
Beschreibungen filtern.

Ein Filtergraph besteht aus einer Folge von Filterketten. Eine Folge von Filterketten ist
dargestellt durch eine Liste von ";"-getrennten Filterkettenbeschreibungen.

Ein Filter wird durch eine Zeichenfolge der Form dargestellt:
[in_link_1]...[in_link_N]Filtername=Argumente[out_link_1]...[out_link_M]

Filtername ist der Name der Filterklasse, von der der beschriebene Filter eine Instanz ist
of, und muss der Name einer der im Programm registrierten Filterklassen sein. Die
dem Namen der Filterklasse folgt optional ein String "=Argumente".

Argumente ist ein String, der die Parameter enthält, die zum Initialisieren des Filters verwendet werden
Beispiel. Es kann eine von zwei Formen haben:

· Eine ':'-getrennte Liste von Schlüssel=Wert Paaren.

· Eine ':'-getrennte Liste von Wert. In diesem Fall wird davon ausgegangen, dass die Schlüssel die Option sind
Namen in der Reihenfolge, in der sie deklariert werden. ZB der Filter "fade" deklariert drei Optionen in
diese Bestellung -- tippe, start_frame und nb_frames. Dann die Parameterliste in:0:30 Mittel
dass der Wert in ist der Option zugeordnet tippe, 0 zu start_frame und 30 zu
nb_frames.

· Eine ':'-getrennte Liste von gemischten Direkten Wert und lang Schlüssel=Wert Paare. Die direkte Wert
muss dem vorangehen Schlüssel=Wert Paare, und folgen der gleichen Nebenbedingungsreihenfolge der
vorheriger Punkt. Folgende Schlüssel=Wert Paare können in beliebiger Reihenfolge eingestellt werden.

Wenn der Optionswert selbst eine Liste von Elementen ist (z. B. nimmt der Filter "Format" eine Liste von
Pixelformate), werden die Elemente in der Liste normalerweise durch getrennt |.

Die Liste der Argumente kann mit dem Zeichen zitiert werden ' als Anfangs- und Endzeichen, und
der Charakter \ um die Zeichen innerhalb des zitierten Textes zu maskieren; ansonsten das argument
string gilt als beendet, wenn das nächste Sonderzeichen (zur Menge gehörend)
[]=;,) begegnet.

Dem Namen und den Argumenten des Filters wird optional eine Liste von vorangestellt und gefolgt
Link-Etiketten. Ein Link-Label ermöglicht es, einen Link zu benennen und ihn einer Filterausgabe zuzuordnen
oder Eingabepad. Die vorhergehenden Etiketten in_link_1 ... in_link_N, sind dem Filter zugeordnet
Eingabepads, die folgenden Beschriftungen out_link_1 ... out_link_M, sind dem Ausgang zugeordnet
Pads.

Wenn im Filtergraph zwei Linklabels mit demselben Namen gefunden werden, wird ein Link zwischen den
entsprechende Eingabe- und Ausgabe-Pad erstellt.

Wenn ein Ausgangs-Pad nicht beschriftet ist, wird es standardmäßig mit dem ersten unbeschrifteten Eingang verknüpft
Pad des nächsten Filters in der Filterkette. Zum Beispiel in der Filterkette

nullsrc, split[L1], [L2]overlay, nullsink

die Split-Filter-Instanz hat zwei Ausgangs-Pads und die Overlay-Filter-Instanz zwei Eingänge
Pads. Das erste Output-Pad von Split ist mit "L1" gekennzeichnet, das erste Input-Pad von Overlay ist
mit "L2" beschriftet, und das zweite Ausgangs-Pad von Split ist mit dem zweiten Eingangs-Pad von verbunden
Overlay, die beide unbeschriftet sind.

Wenn in einer Filterbeschreibung das Eingabelabel des ersten Filters nicht angegeben ist, ist "in"
vermutet; wenn das Ausgabelabel des letzten Filters nicht angegeben ist, wird "out" angenommen.

In einer vollständigen Filterkette müssen alle unbeschrifteten Eingangs- und Ausgangspads des Filters
in Verbindung gebracht. Ein Filtergraph gilt als gültig, wenn alle Filtereingangs- und -ausgangspads von
alle Filterketten sind verbunden.

Libavfilter wird automatisch eingefügt Treppe Filter, bei denen eine Formatkonvertierung erforderlich ist.
Es ist möglich, swscale-Flags für diese automatisch eingefügten Scaler zu spezifizieren von
"sws_flags= ." voranstellenFlaggen;" zur Beschreibung des Filtergraphen.

Hier ist eine BNF-Beschreibung der Filtergraph-Syntax:

::= Folge von alphanumerischen Zeichen und '_'
::= "[" "]"
::= [ ]
::= Zeichenfolge (evtl. zitiert)
::= [ ] ["=" ] [ ]
::= [, ]
::= [sws_flags= ;] [; ]

Notizen on Filtergrafik Flucht
Die Zusammensetzung der Filtergraph-Beschreibung umfasst mehrere Escape-Ebenen. Sehen "Zitieren
und Flucht" Abschnitt in ffmpeg-utils(1) manuell Weitere Informationen über die
Fluchtverfahren eingesetzt.

Ein Escape der ersten Ebene wirkt sich auf den Inhalt jedes Filteroptionswerts aus, der Folgendes enthalten kann:
das Sonderzeichen ":" zum Trennen von Werten oder eines der Escape-Zeichen "\'".

Eine zweite Ebene Escaping betrifft die gesamte Filterbeschreibung, die die
Escape-Zeichen "\'" oder die Sonderzeichen "[],;" vom Filtergraph verwendet
Beschreibung.

Wenn Sie schließlich einen Filtergraph auf einer Shell-Befehlszeile angeben, müssen Sie Folgendes ausführen:
Escape der dritten Ebene für die darin enthaltenen Shell-Sonderzeichen.

Betrachten Sie beispielsweise die folgende Zeichenfolge als eingebettet in die Zeichentext Filter
Beschreibung Text Wert:

dies ist eine 'Zeichenfolge': kann ein oder mehrere Sonderzeichen enthalten

Diese Zeichenfolge enthält das Escape-Sonderzeichen "'" und das Sonderzeichen ":", also
es muss auf diese Weise entkommen werden:

text=dies ist ein \'string\'\: kann ein oder mehrere Sonderzeichen enthalten

Beim Einbetten der Filterbeschreibung in a . ist eine zweite Escape-Ebene erforderlich
filtergraph description, um alle Sonderzeichen des Filtergraphen zu maskieren. Daher
das obige Beispiel wird:

drawtext=text=dies ist ein \\\'string\\\'\\: kann ein\ oder mehrere\ Sonderzeichen enthalten

(beachten Sie, dass zusätzlich zu den "\'"-Escape-Sonderzeichen auch "," angegeben werden muss
entkam).

Schließlich wird beim Schreiben der Filtergraph-Beschreibung eine zusätzliche Escape-Ebene benötigt
in einem Shell-Befehl, der von den Escape-Regeln der übernommenen Shell abhängt. Zum Beispiel,
unter der Annahme, dass "\" etwas Besonderes ist und mit einem anderen "\" maskiert werden muss, die vorherige Zeichenfolge
ergibt sich schließlich:

-vf "drawtext=text=dies ist ein \\\\\\'string\\\\\\'\\\\: kann ein oder mehrere\\ Sonderzeichen enthalten"

ZEITPLAN BEARBEITEN


Einige Filter unterstützen eine generische ermöglichen Möglichkeit. Für die Filter, die die Zeitachsenbearbeitung unterstützen,
Diese Option kann auf einen Ausdruck gesetzt werden, der ausgewertet wird, bevor ein Frame an den . gesendet wird
Filter. Bei einer Bewertung ungleich Null wird der Filter aktiviert, andernfalls wird der Rahmen
wird unverändert an den nächsten Filter im Filtergraph gesendet.

Der Ausdruck akzeptiert die folgenden Werte:

t Zeitstempel in Sekunden ausgedrückt, NAN, wenn der Eingabezeitstempel unbekannt ist

n fortlaufende Nummer des Eingaberahmens, beginnend bei 0

Post die Position in der Datei des Eingabeframes, NAN falls unbekannt

w
h Breite und Höhe des Eingabeframes bei Video

Darüber hinaus unterstützen diese Filter eine ermöglichen Befehl, der verwendet werden kann, um die
Ausdruck.

Wie jede andere Filteroption ist die ermöglichen Option folgt den gleichen Regeln.

Um beispielsweise einen Unschärfefilter zu aktivieren (intelligente Unschärfe) von 10 Sekunden bis 3 Minuten und a
Kurven Filter ab 3 Sekunden:

smartblur = enable='zwischen(t,10,3*60)',
Kurven = enable='gte(t,3)' : Preset=cross_process

AUDIO FILTER


Wenn Sie Ihren FFmpeg-Build konfigurieren, können Sie jeden der vorhandenen Filter mit . deaktivieren
"--filter deaktivieren". Die Konfigurationsausgabe zeigt die Audiofilter an, die in Ihrem
bauen.

Nachfolgend finden Sie eine Beschreibung der derzeit verfügbaren Audiofilter.

überblenden
Wenden Sie Crossfade von einem Eingangsaudiostream auf einen anderen Eingangsaudiostream an. Das Kreuz
Fade wird für die angegebene Dauer gegen Ende des ersten Streams angewendet.

Der Filter akzeptiert die folgenden Optionen:

nb_proben, ns
Geben Sie die Anzahl der Samples an, für die der Crossfade-Effekt andauern soll. Am Ende
des Crossfade-Effekts ist das erste Eingangsaudio völlig stumm. Standard ist
44100

Dauer, d
Geben Sie die Dauer des Crossfade-Effekts an. Sehen Uhrzeit Dauer Abschnitt in
ffmpeg-utils(1) manuell für die akzeptierte Syntax. Standardmäßig ist die Dauer festgelegt
by nb_proben. Wenn gesetzt, wird diese Option anstelle von verwendet nb_proben.

Überlappung, o
Sollte das Ende des ersten Streams mit dem Start des zweiten Streams überlappen. Standard ist aktiviert.

Kurve1
Legen Sie die Kurve für den Crossfade-Übergang für den ersten Stream fest.

Kurve2
Legen Sie die Kurve für den Crossfade-Übergang für den zweiten Stream fest.

Beschreibung der verfügbaren Kurventypen siehe verblassen Beschreibung des Filters.

Beispiele

· Crossfade von einem Eingang zum anderen:

ffmpeg -i erste.flac -i zweite.flac -filter_complex acrossfade=d=10:c1=exp:c2=exp Ausgabe.flac

· Crossfade von einem Eingang zum anderen, aber ohne Überlappung:

ffmpeg -i first.flac -i second.flac -filter_complex acrossfade=d=10:o=0:c1=exp:c2=exp output.flac

eine Verzögerung
Einen oder mehrere Audiokanäle verzögern.

Samples im verzögerten Kanal sind mit Stille gefüllt.

Der Filter akzeptiert die folgende Option:

Verzögerungen
Legen Sie eine Liste der Verzögerungen in Millisekunden für jeden Kanal fest, getrennt durch '|'. Mindestens ein
Verzögerung größer als 0 sollte bereitgestellt werden. Ungenutzte Verzögerungen werden stillschweigend ignoriert. Wenn
Anzahl der gegebenen Verzögerungen ist kleiner als die Anzahl der Kanäle alle verbleibenden Kanäle werden
nicht verzögert werden.

Beispiele

· Verzögern Sie den ersten Kanal um 1.5 Sekunden, den dritten Kanal um 0.5 Sekunden und lassen Sie den
zweiten Kanal (und alle anderen Kanäle, die vorhanden sein können) unverändert.

Verzögerung=1500|0|500

Echo
Wenden Sie Echos auf das Eingangsaudio an.

Echos sind reflektierter Schall und können natürlich zwischen Bergen auftreten (und manchmal groß)
Gebäude) beim Sprechen oder Rufen; digitale Echoeffekte emulieren dieses Verhalten und sind
wird oft verwendet, um den Klang eines einzelnen Instruments oder Gesangs auszufüllen. Der Zeitunterschied
zwischen dem Originalsignal und der Reflexion ist die "Verzögerung", und die Lautstärke des
reflektiertes Signal ist der "Zerfall". Mehrere Echos können unterschiedliche Verzögerungen und Abklingzeiten aufweisen.

Eine Beschreibung der akzeptierten Parameter folgt.

in_gain
Stellen Sie die Eingangsverstärkung des reflektierten Signals ein. Der Standardwert ist 0.6.

out_gain
Stellen Sie die Ausgangsverstärkung des reflektierten Signals ein. Der Standardwert ist 0.3.

Verzögerungen
Liste der Zeitintervalle in Millisekunden zwischen Originalsignal und Reflexionen einstellen
getrennt durch '|'. Der zulässige Bereich für jede "Verzögerung" ist "(0 - 90000.0]). Der Standardwert ist 1000.

verfällt
Stellen Sie die Liste der Lautstärken der reflektierten Signale ein, die durch '|' getrennt sind. Zulässiger Bereich für jeden
"Zerfall" ist "(0 - 1.0)". Der Standardwert ist 0.5.

Beispiele

· Lassen Sie es so klingen, als ob es doppelt so viele Instrumente gibt, wie tatsächlich gespielt werden:

Echo=0.8:0.88:60:0.4

· Wenn die Verzögerung sehr kurz ist, klingt es wie ein (metallischer) Roboter, der Musik spielt:

Echo=0.8:0.88:6:0.4

· Eine längere Verzögerung klingt wie ein Open-Air-Konzert in den Bergen:

Echo=0.8:0.9:1000:0.3

· Wie oben, jedoch mit einem weiteren Berg:

aecho=0.8:0.9:1000|1800:0.3|0.25

eval
Ändern Sie ein Audiosignal gemäß den angegebenen Ausdrücken.

Dieser Filter akzeptiert einen oder mehrere Ausdrücke (einen für jeden Kanal), die ausgewertet werden
und verwendet, um ein entsprechendes Audiosignal zu modifizieren.

Es akzeptiert die folgenden Parameter:

ausdrücken
Legen Sie die durch '|' getrennte Liste der Ausdrücke für jeden einzelnen Kanal fest. Wenn die Anzahl der
Eingangskanäle ist größer als die Anzahl der Ausdrücke, die zuletzt angegebene
Ausdruck wird für die verbleibenden Ausgangskanäle verwendet.

Kanal_Layout, c
Legen Sie das Layout des Ausgangskanals fest. Wenn nicht angegeben, wird das Kanallayout durch die
Anzahl von Ausdrücken. Wenn auf eingestellt gleich, wird standardmäßig der gleiche Eingangskanal verwendet
Layout.

Jeder Ausdruck in ausdrücken kann die folgenden Konstanten und Funktionen enthalten:

ch Kanalnummer des aktuellen Ausdrucks

n Nummer der ausgewerteten Probe, beginnend bei 0

s Beispielrate

t Zeit der ausgewerteten Probe in Sekunden

nb_in_channels
nb_out_channels
Ein- und Ausgangsanzahl der Kanäle

Wert(CH)
der Wert des Eingangskanals mit Nummer CH

Hinweis: Dieser Filter ist langsam. Für eine schnellere Verarbeitung sollten Sie einen dedizierten Filter verwenden.

Beispiele

· Halbe Lautstärke:

aeval=val(ch)/2:c=gleich

· Phase des zweiten Kanals invertieren:

aeval=Welle(0)|-Welle(1)

verblassen
Wenden Sie den Ein-/Ausblendeffekt auf das Eingangsaudio an.

Eine Beschreibung der akzeptierten Parameter folgt.

Art, t
Geben Sie den Effekttyp an, kann entweder "in" für ein Fade-In oder "out" für ein Fade-Out sein
Wirkung. Standard ist "in".

start_sample, ss
Geben Sie die Nummer des Start-Samples für den Beginn der Anwendung des Fade-Effekts an. Standard
ist 0.

nb_proben, ns
Geben Sie die Anzahl der Samples an, für die der Fade-Effekt andauern soll. Am Ende von
Einblendeffekt hat das Ausgangsaudio die gleiche Lautstärke wie das Eingangsaudio, bei der
Am Ende des Fade-Out-Übergangs ist die Audioausgabe stumm. Der Standardwert ist 44100.

Startzeit, st
Geben Sie die Startzeit des Fade-Effekts an. Standard ist 0. Der Wert muss angegeben werden
als Zeitdauer; sehen Uhrzeit Dauer Abschnitt in ffmpeg-utils(1) manuell für
die akzeptierte Syntax. Wenn gesetzt, wird diese Option anstelle von verwendet start_sample.

Dauer, d
Geben Sie die Dauer des Fade-Effekts an. Sehen Uhrzeit Dauer Abschnitt in
ffmpeg-utils(1) manuell für die akzeptierte Syntax. Am Ende des Einblendeffekts wird der
Ausgangsaudio hat die gleiche Lautstärke wie das Eingangsaudio am Ende der Ausblendung
Übergang wird die Audioausgabe stumm sein. Standardmäßig wird die Dauer bestimmt durch
nb_proben. Wenn gesetzt, wird diese Option anstelle von verwendet nb_proben.

Kurve
Kurve für Fade-Übergang einstellen.

Es akzeptiert die folgenden Werte:

drei Wählen Sie dreieckige, lineare Steigung (Standard)

qsin
Wählen Sie ein Viertel der Sinuswelle

hsin
Wählen Sie die Hälfte der Sinuswelle

Inspiration
Wählen Sie die exponentielle Sinuswelle

Log logarithmisch auswählen

ipar
invertierte Parabel auswählen

hier Quadratisch auswählen

Würfel kubisch auswählen

squ Quadratwurzel wählen

cbr Kubikwurzel auswählen

von Parabel auswählen

exp wählen Sie exponentiell

iqsin
Wählen Sie invertiertes Viertel der Sinuswelle

ihsin
Wählen Sie die invertierte Hälfte der Sinuswelle

dess
Wählen Sie einen doppelt exponentiellen Sitz

desi
wähle doppelexponentielles Sigmoid

Beispiele

· Einblenden der ersten 15 Sekunden des Audios:

afade=t=in:ss=0:d=15

· Blenden Sie die letzten 25 Sekunden eines 900-Sekunden-Audios aus:

afade=t=aus:st=875:d=25

aformat
Legen Sie Einschränkungen des Ausgabeformats für das Eingabeaudio fest. Der Rahmen wird am meisten verhandeln
geeignetes Format, um Konvertierungen zu minimieren.

Es akzeptiert die folgenden Parameter:

sample_fmts
Eine durch '|' getrennte Liste der angeforderten Beispielformate.

Sampleraten
Eine durch '|' getrennte Liste der angeforderten Abtastraten.

Kanallayouts
Eine durch '|' getrennte Liste von angeforderten Kanallayouts.

See Kanal Layout Abschnitt in ffmpeg-utils(1) manuell für die erforderliche Syntax.

Wird ein Parameter weggelassen, sind alle Werte zulässig.

Erzwingen Sie die Ausgabe entweder auf 8-Bit- ohne Vorzeichen oder auf 16-Bit-Stereo mit Vorzeichen

aformat=sample_fmts=u8|s16:channel_layouts=stereo

Allpass
Anwenden eines zweipoligen Allpassfilters mit Mittenfrequenz (in Hz) Frequenz, und Filter-
Breite Breite. Ein Allpassfilter ändert die Frequenz des Audios in die Phasenbeziehung
ohne seine Frequenz-zu-Amplituden-Beziehung zu ändern.

Der Filter akzeptiert die folgenden Optionen:

Frequenz, f
Frequenz in Hz einstellen.

width_type
Legen Sie die Methode fest, um die Bandbreite des Filters anzugeben.

h Hz

q Q-Faktor

o Oktave

s Hang

Breite, w
Geben Sie die Bandbreite eines Filters in width_type-Einheiten an.

eine Zusammenführung
Kombinieren Sie zwei oder mehr Audiostreams zu einem einzigen Mehrkanalstream.

Der Filter akzeptiert die folgenden Optionen:

Eingänge
Stellen Sie die Anzahl der Eingänge ein. Standard ist 2.

Wenn die Kanallayouts der Eingänge unzusammenhängend und damit kompatibel sind, wird der Kanal
Layout der Ausgabe wird entsprechend eingestellt und die Kanäle werden neu geordnet als
notwendig. Wenn die Kanallayouts der Eingänge nicht disjunkt sind, hat der Ausgang alle
die Kanäle des ersten Eingangs, dann alle Kanäle des zweiten Eingangs, in dieser Reihenfolge,
und das Kanallayout des Ausgangs ist der Standardwert, der dem Gesamtwert entspricht
Anzahl der Kanäle.

Wenn beispielsweise der erste Eingang in 2.1 (FL+FR+LF) und der zweite Eingang FC+BL+BR ist,
dann erfolgt die Ausgabe in 5.1, mit den Kanälen in der folgenden Reihenfolge: a1, a2, b1, a3,
b2, b3 (a1 ist der erste Kanal des ersten Eingangs, b1 ist der erste Kanal des zweiten
Eingang).

Wenn hingegen beide Eingänge in Stereo sind, sind die Ausgangskanäle in der Standardeinstellung
Reihenfolge: a1, a2, b1, b2, und das Kanallayout wird willkürlich auf 4.0 gesetzt, was oder
möglicherweise nicht der erwartete Wert.

Alle Eingänge müssen die gleiche Abtastrate und das gleiche Format haben.

Wenn die Eingaben nicht die gleiche Dauer haben, stoppt die Ausgabe mit der kürzesten.

Beispiele

· Zwei Mono-Dateien zu einem Stereo-Stream zusammenführen:

amovie=left.wav [l] ; amovie=rechts.mp3 [r] ; [l] [r] verschmelzen

· Mehrere Zusammenführungen unter der Annahme von 1 Videostream und 6 Audiostreams in input.mkv:

ffmpeg -i input.mkv -filter_complex "[0:1][0:2][0:3][0:4][0:5][0:6] amerge=inputs=6" -c:a pcm_s16le Ausgabe.mkv

eine Mischung
Mischt mehrere Audioeingänge zu einem einzigen Ausgang.

Beachten Sie, dass dieser Filter nur Float-Samples unterstützt (die eine Zusammenführung und Pfanne Audiofilter
viele Formate unterstützen). Wenn die eine Mischung Eingang hat dann ganzzahlige Samples eine Probe wird sein
automatisch eingefügt, um die Umwandlung in Float-Samples durchzuführen.

Zum Beispiel

ffmpeg -i INPUT1 -i INPUT2 -i INPUT3 -filter_complex amix=inputs=3:duration=first:dropout_transition=3 AUSGANG

mischt 3 Eingangs-Audiostreams zu einem einzigen Ausgang mit der gleichen Dauer wie der erste
Eingang und einer Dropout-Übergangszeit von 3 Sekunden.

Es akzeptiert die folgenden Parameter:

Eingänge
Die Anzahl der Eingänge. Wenn nicht angegeben, wird standardmäßig 2 verwendet.

Dauer
So bestimmen Sie das Ende des Streams.

am längsten
Die Dauer der längsten Eingabe. (Ursprünglich)

kürzeste
Die Dauer der kürzesten Eingabe.

zuerst
Die Dauer der ersten Eingabe.

dropout_transition
Die Übergangszeit in Sekunden für die Volumenrenormierung, wenn ein Eingabestream endet.
Der Standardwert beträgt 2 Sekunden.

annull
Übergeben Sie die Audioquelle unverändert an den Ausgang.

ein Polster
Füllen Sie das Ende eines Audiostreams mit Stille.

Dies kann zusammen mit verwendet werden ffmpeg -kürzeste um Audiostreams auf die gleiche Länge zu verlängern
als Videostream.

Eine Beschreibung der akzeptierten Optionen folgt.

Paketgröße
Legen Sie die Paketgröße für die Stille fest. Der Standardwert ist 4096.

pad_len
Legen Sie die Anzahl der Stille-Samples fest, die am Ende hinzugefügt werden sollen. Nachdem der Wert erreicht ist,
der Stream wird beendet. Diese Option schließt sich gegenseitig aus mit ganz_len.

ganz_len
Legen Sie die minimale Gesamtanzahl von Samples im Ausgabeaudiostream fest. Wenn der Wert ist
länger als die Eingangsaudiolänge, wird am Ende Stille hinzugefügt, bis der Wert . ist
erreicht. Diese Option schließt sich gegenseitig aus mit pad_len.

Wenn weder die pad_len noch das ganz_len Option gesetzt ist, fügt der Filter Stille hinzu
Ende des Eingabestroms auf unbestimmte Zeit.

Beispiele

· Fügen Sie 1024 Stille-Samples am Ende der Eingabe hinzu:

apad=pad_len=1024

· Stellen Sie sicher, dass die Audioausgabe mindestens 10000 Samples enthält, füllen Sie die Eingabe mit
Stille bei Bedarf:

apad=whole_len=10000

· Verwenden ffmpeg um den Audioeingang mit Stille aufzufüllen, damit der Videostream immer
Ergebnis am kürzesten und wird bei Verwendung bis zum Ende in die Ausgabedatei konvertiert
kürzeste Option:

ffmpeg -i VIDEO -i AUDIO -filter_complex "[1:0]apad" -kürzeste AUSGABE

Aphaser
Fügen Sie dem Eingangsaudio einen Phaseneffekt hinzu.

Ein Phaser-Filter erzeugt eine Reihe von Spitzen und Tälern im Frequenzspektrum. Die
Die Position der Spitzen und Täler werden so moduliert, dass sie sich im Laufe der Zeit ändern, wodurch ein
schwungvolle Wirkung.

Eine Beschreibung der akzeptierten Parameter folgt.

in_gain
Eingangsverstärkung einstellen. Der Standardwert ist 0.4.

out_gain
Ausgangsverstärkung einstellen. Standard ist 0.74

verzögern
Verzögerung in Millisekunden einstellen. Der Standardwert ist 3.0.

Verfall
Verfall einstellen. Der Standardwert ist 0.4.

Geschwindigkeit
Modulationsgeschwindigkeit in Hz einstellen. Der Standardwert ist 0.5.

tippe
Modulationsart einstellen. Standard ist dreieckig.

Es akzeptiert die folgenden Werte:

dreieckig, t
sinusförmig, s

eine Probe
Resample das Eingangsaudio mit den angegebenen Parametern mithilfe der Bibliothek libswresample. Wenn
keine angegeben sind, konvertiert der Filter automatisch zwischen seiner Eingabe und
Ausgabe.

Dieser Filter ist auch in der Lage, die Audiodaten zu dehnen/zusammenzudrücken, damit sie den Zeitstempeln entsprechen
oder um Stille einzufügen / Audio auszuschneiden, damit es mit den Zeitstempeln übereinstimmt, machen Sie eine Kombination von
beides oder keines von beiden.

Der Filter akzeptiert die Syntax [Beispielrate:]resampler_optionen, Wobei Beispielrate drückt aus
eine Abtastrate und resampler_optionen ist eine Liste von Schlüssel=Wert Paare, getrennt durch ":". Sehen
die vollständige Liste der unterstützten Optionen finden Sie im Handbuch zu ffmpeg-resampler.

Beispiele

· Resample das Eingangsaudio auf 44100 Hz:

aresample=44100

· Dehnen/Squeezen von Samples auf die angegebenen Zeitstempel, mit maximal 1000 Samples pro
zweite Entschädigung:

aresample=async=1000

asetsamples
Legen Sie die Anzahl der Samples pro Ausgabe-Audioframe fest.

Das letzte Ausgabepaket kann eine andere Anzahl von Samples enthalten, da der Filter spült
alle verbleibenden Samples, wenn das Eingangsaudiosignal zu Ende ist.

Der Filter akzeptiert die folgenden Optionen:

nb_out_samples, n
Legen Sie die Anzahl der Frames pro Ausgabe-Audioframe fest. Die Nummer ist als
Anzahl von Beispielen für jeder Kanal. Der Standardwert ist 1024.

Pad, p
Wenn der Wert auf 1 gesetzt ist, füllt der Filter den letzten Audioframe mit Nullen auf, sodass der letzte
Frame enthält die gleiche Anzahl von Samples wie die vorherigen. Standardwert ist
1.

Um beispielsweise die Anzahl der Samples pro Frame auf 1234 zu setzen und das Padding für die zu deaktivieren
letzter Frame, verwenden Sie:

asetsamples=n=1234:p=0

getrennt
Stellen Sie die Abtastrate ein, ohne die PCM-Daten zu ändern. Dies führt zu einer Geschwindigkeitsänderung
und Pitch.

Der Filter akzeptiert die folgenden Optionen:

Beispielrate, r
Stellen Sie die Ausgabe-Sample-Rate ein. Der Standardwert ist 44100 Hz.

ashowinfo
Zeigen Sie eine Zeile mit verschiedenen Informationen für jeden eingegebenen Audio-Frame an. Das Eingangsaudio ist
Nicht modifiziert.

Die angezeigte Zeile enthält eine Folge von Schlüssel/Wert-Paaren der Form Schlüssel:Wert.

In der Ausgabe werden folgende Werte angezeigt:

n Die (laufende) Nummer des Eingabeframes, beginnend bei 0.

pts Der Präsentationszeitstempel des Eingabeframes in Zeitbasiseinheiten; die Zeitbasis
hängt vom Filtereingangspad ab und beträgt normalerweise 1/Beispielrate.

pts_time
Der Präsentationszeitstempel des Eingabeframes in Sekunden.

Post Position des Frames im Eingabestream, -1 wenn diese Information nicht verfügbar ist
und/oder bedeutungslos (zum Beispiel bei synthetischem Audio)

fmt Das Beispielformat.

Chlayout
Das Kanallayout.

Rate
Die Abtastrate für den Audio-Frame.

nb_proben
Die Anzahl der Samples (pro Kanal) im Frame.

Prüfsumme
Die Adler-32-Prüfsumme (in hexadezimal gedruckt) der Audiodaten. Für planares Audio,
die Daten werden so behandelt, als ob alle Ebenen verkettet wären.

plane_checksums
Eine Liste von Adler-32-Prüfsummen für jede Datenebene.

Statistiken
Zeigen Sie statistische Informationen im Zeitbereich zu den Audiokanälen an. Statistiken sind
für jeden Audiokanal berechnet und angezeigt und ggf. eine Gesamtzahl
ist auch gegeben.

Es akzeptiert die folgende Option:

Länge
Kurze Fensterlänge in Sekunden, verwendet für Spitzen- und Tiefstwert-RMS-Messungen. Standard ist
0.05 (50 Millisekunden). Zulässiger Bereich ist "[0.1 - 10]".

Metadaten
Legen Sie die Metadateninjektion fest. Alle Metadatenschlüssel haben das Präfix "lavfi.astats.X",
wobei "X" die Kanalnummer beginnend mit 1 oder die Zeichenfolge "Overall" ist. Standard ist deaktiviert.

Verfügbare Schlüssel für jeden Kanal sind: DC_offset Min_level Max_level Min_difference
Max_difference Mean_difference Peak_level RMS_peak RMS_Trog Crest_factor Flat_factor
Peak_count Bit_Tiefe

und für Gesamt: DC_offset Min_level Max_level Min_difference Max_difference
Mittelwertdifferenz Peak_level RMS_level RMS_peak RMS_Trog Flat_factor Peak_count
Bit_Tiefe Anzahl_der_Beispiele

Zum Beispiel sieht der vollständige Schlüssel so aus "lavfi.astats.1.DC_offset" oder so
"lavfi.astats.Overall.Peak_count".

Für eine Beschreibung, was jede Taste bedeutet, lesen Sie unten.

zurückstellen
Legen Sie die Anzahl der Frames fest, nach denen die Statistiken neu berechnet werden. Standard ist
behindert.

Es folgt eine Beschreibung jedes angezeigten Parameters:

DC Offset
Mittlere Amplitudenverschiebung von Null.

Min. Grad des
Minimaler Probenpegel.

Max Grad des
Maximale Probenmenge.

Min. Unterschied
Minimaler Unterschied zwischen zwei aufeinanderfolgenden Proben.

Max Unterschied
Maximaler Unterschied zwischen zwei aufeinanderfolgenden Proben.

Bedeuten Unterschied
Mittlere Differenz zwischen zwei aufeinanderfolgenden Stichproben. Der Durchschnitt jeder Differenz
zwischen zwei aufeinanderfolgenden Proben.

Haupt Grad des dB
RMS Grad des dB
Standard-Peak- und RMS-Pegel gemessen in dBFS.

RMS Haupt dB
RMS Trog dB
Spitzen- und Tiefstwerte für RMS-Pegel, gemessen über ein kurzes Fenster.

Crest Faktor
Standardverhältnis von Spitzen- zu RMS-Pegel (Hinweis: nicht in dB).

Flache Schaltflächen Faktor
Flachheit (dh aufeinanderfolgende Abtastungen mit dem gleichen Wert) des Signals an seiner Spitze
Ebenen (dh entweder Min. Grad des or Max Grad des ).

Haupt zählen
Anzahl der Gelegenheiten (nicht die Anzahl der Abtastungen), die das Signal entweder erreicht hat Min.
Grad des or Max Grad des .

Bit Tiefe
Gesamtbittiefe des Audios. Anzahl der Bits, die für jeden Abtastwert verwendet werden.

astreamsync
Leiten Sie zwei Audiostreams weiter und steuern Sie die Reihenfolge, in der die Puffer weitergeleitet werden.

Der Filter akzeptiert die folgenden Optionen:

Ausdruck, e
Legen Sie den Ausdruck fest, der entscheidet, welcher Stream als nächstes weitergeleitet werden soll: wenn das Ergebnis . ist
negativ, der erste Stream wird weitergeleitet; wenn das Ergebnis positiv oder null ist, die Sekunde
Stream weitergeleitet wird. Es kann die folgenden Variablen verwenden:

b1 b2
Anzahl der Puffer, die bisher in jedem Stream weitergeleitet wurden

s1 s2
Anzahl der Samples, die bisher in jedem Stream weitergeleitet wurden

t1 t2
aktueller Zeitstempel jedes Streams

Der Standardwert ist "t1-t2", was bedeutet, dass immer der Stream weitergeleitet wird, der a . hat
kleinerer Zeitstempel.

Beispiele

Stresstest "amerge" durch zufälliges Senden von Puffern an den falschen Eingang, während gleichzeitig vermieden wird
eine ziemliche Desynchronisation:

amovie=datei.ogg [a] ; amovie=Datei.mp3 [b] ;
[a] [b] astreamsync=(2*zufällig(1))-1+tanh(5*(t1-t2)) [a2] [b2] ;
[a2] [b2] fusionieren

asynct
Synchronisieren Sie Audiodaten mit Zeitstempeln, indem Sie sie zusammendrücken/dehnen und/oder fallen lassen
Samples/Hinzufügen von Stille, wenn nötig.

Dieser Filter ist nicht standardmäßig erstellt, bitte verwenden Sie eine Probe quetschen/dehnen.

Es akzeptiert die folgenden Parameter:

kompensieren
Aktivieren Sie das Dehnen/Squeezen der Daten, damit sie mit den Zeitstempeln übereinstimmen. Deaktiviert von
Ursprünglich. Wenn deaktiviert, werden Zeitlücken mit Stille überdeckt.

min_delta
Die minimale Differenz zwischen Zeitstempeln und Audiodaten (in Sekunden) zum Auslösen
Hinzufügen/Entfernen von Samples. Der Standardwert ist 0.1. Wenn Sie eine unvollständige Synchronisierung mit erhalten
dieser Filter, versuchen Sie, diesen Parameter auf 0 zu setzen.

max_komp
Die maximale Kompensation in Samples pro Sekunde. Nur relevant bei kompensieren=1. Die
Standardwert ist 500.

erste_Punkte
Angenommen, der erste PTS sollte diesen Wert haben. Die Zeitbasis beträgt 1 / Abtastrate. Dies
ermöglicht das Auffüllen/Trimmen am Anfang des Streams. Standardmäßig ist keine Annahme
über den erwarteten PTS des ersten Frames erstellt, so dass kein Auffüllen oder Trimmen erfolgt. Zum
Dies könnte beispielsweise auf 0 gesetzt werden, um den Anfang mit Stille aufzufüllen, wenn ein Audiostream
startet nach dem Videostream oder um Samples mit negativem PTS aufgrund von
Verzögerung des Encoders.

Tempo
Passen Sie das Audiotempo an.

Der Filter akzeptiert genau einen Parameter, das Audiotempo. Wenn nicht angegeben, dann die
Filter nimmt ein nominales 1.0-Tempo an. Das Tempo muss im Bereich [0.5, 2.0] liegen.

Beispiele

· Audio auf 80 % Tempo verlangsamen:

Tempo=0.8

· So beschleunigen Sie Audio auf 125% Tempo:

Tempo=1.25

atrim
Trimmen Sie die Eingabe, sodass die Ausgabe einen fortlaufenden Unterteil der Eingabe enthält.

Es akzeptiert die folgenden Parameter:

Anfang
Zeitstempel (in Sekunden) des Anfangs des beizubehaltenden Abschnitts. Dh das Hörbeispiel mit
der Zeitstempel Anfang wird das erste Sample in der Ausgabe sein.

Ende Geben Sie die Zeit des ersten Audiosamples an, das gelöscht wird, dh das Audiosample
unmittelbar vor dem mit dem Zeitstempel Ende wird die letzte Probe in der
Ausgabe.

start_pts
Das gleiche wie Anfang, außer dass diese Option den Startzeitstempel in Samples anstatt in setzt
Sekunden.

end_pts
Das gleiche wie Ende, außer dass diese Option den Endzeitstempel in Samples statt in Sekunden festlegt.

Dauer
Die maximale Dauer der Ausgabe in Sekunden.

start_sample
Die Nummer des ersten Samples, das ausgegeben werden soll.

end_sample
Die Nummer der ersten Probe, die gelöscht werden soll.

Anfang, Ende und Dauer werden als Zeitdauerspezifikationen ausgedrückt; sehen Uhrzeit
Dauer Abschnitt in ffmpeg-utils(1) manuell.

Beachten Sie, dass die ersten beiden Sätze der Start-/Endoptionen und die Dauer Option schau dir die an
Frame-Zeitstempel, während die _sample-Optionen einfach die Samples zählen, die durch die
Filter. start/end_pts und start/end_sample liefern also unterschiedliche Ergebnisse, wenn die
Zeitstempel sind falsch, ungenau oder beginnen nicht bei Null. Beachten Sie auch, dass dieser Filter nicht
ändern Sie die Zeitstempel. Wenn Sie möchten, dass die Ausgabezeitstempel bei Null beginnen, fügen Sie das
asetpts-Filter nach dem atrim-Filter.

Wenn mehrere Start- oder Endoptionen festgelegt sind, versucht dieser Filter gierig zu sein und alle zu behalten
Stichproben, die mindestens einer der angegebenen Einschränkungen entsprechen. Um nur den Teil zu behalten, der
entspricht allen Einschränkungen auf einmal, verketten Sie mehrere Atrim-Filter.

Die Standardeinstellungen sind so, dass alle Eingaben beibehalten werden. So ist es zB möglich, nur die
Endwerte, um alles vor der angegebenen Zeit zu behalten.

Beispiele:

· Alles außer der zweiten Minute der Eingabe löschen:

ffmpeg -i EINGANG -af atrim=60:120

· Bewahren Sie nur die ersten 1000 Proben auf:

ffmpeg -i EINGANG -af atrim=end_sample=1000

Bandpass
Wenden Sie einen zweipoligen Butterworth-Bandpassfilter mit Mittenfrequenz an Frequenz und
(3dB-Punkt) Bandbreite. Die csg Option wählt eine konstante Randverstärkung (Spitzenverstärkung =
Q) statt der Vorgabe: konstant 0dB Spitzenverstärkung. Der Filter rollt bei 6 dB pro Oktave ab
(20dB pro Jahrzehnt).

Der Filter akzeptiert die folgenden Optionen:

Frequenz, f
Stellen Sie die Mittenfrequenz des Filters ein. Standard ist 3000.

csg Konstante Randverstärkung, wenn auf 1 eingestellt. Standardmäßig auf 0.

width_type
Legen Sie die Methode fest, um die Bandbreite des Filters anzugeben.

h Hz

q Q-Faktor

o Oktave

s Hang

Breite, w
Geben Sie die Bandbreite eines Filters in width_type-Einheiten an.

Bandabweisung
Wenden Sie einen zweipoligen Butterworth-Bandsperrfilter mit Mittenfrequenz an Frequenz und
(3dB-Punkt) Bandbreite Breite. Der Filter rollt bei 6 dB pro Oktave (20 dB pro Dekade) ab.

Der Filter akzeptiert die folgenden Optionen:

Frequenz, f
Stellen Sie die Mittenfrequenz des Filters ein. Standard ist 3000.

width_type
Legen Sie die Methode fest, um die Bandbreite des Filters anzugeben.

h Hz

q Q-Faktor

o Oktave

s Hang

Breite, w
Geben Sie die Bandbreite eines Filters in width_type-Einheiten an.

Bass
Verstärken oder senken Sie die Bassfrequenzen (niedrigeren) des Audios mit einem zweipoligen Shelving-Filter
mit einem ähnlichen Ansprechverhalten wie die Klangregler einer Standard-HiFi-Anlage. Dies ist auch bekannt als
Shelving-Entzerrung (EQ).

Der Filter akzeptiert die folgenden Optionen:

gewinnen, g
Geben Sie die Verstärkung bei 0 Hz an. Sein nützlicher Bereich liegt zwischen -20 (für einen großen Schnitt) bis +20 (für a
großer Schub). Achten Sie auf Clipping, wenn Sie eine positive Verstärkung verwenden.

Frequenz, f
Stellen Sie die Mittenfrequenz des Filters ein und können so verwendet werden, um die
Frequenzbereich angehoben oder abgesenkt werden. Der Standardwert ist 100 Hz.

width_type
Legen Sie die Methode fest, um die Bandbreite des Filters anzugeben.

h Hz

q Q-Faktor

o Oktave

s Hang

Breite, w
Bestimmen Sie, wie steil der Shelf-Übergang des Filters ist.

Biquad
Wenden Sie einen Biquad-IIR-Filter mit den angegebenen Koeffizienten an. Woher b0, b1, b2 und a0, a1, a2
sind die Zähler- und Nennerkoeffizienten.

bs2b
Bauer-Stereo-zu-Binaural-Transformation, die das Hören von Stereo über Kopfhörer verbessert
Audioaufzeichnungen.

Es akzeptiert die folgenden Parameter:

profile
Vordefinierte Quervorschubebene.

Standard
Standardstufe (fcut=700, feed=50).

cmoy
Chu Moy-Schaltung (fcut=700, feed=60).

jmeier
Jan Meier Schaltung (fcut=650, feed=95).

fcut
Cut-Frequenz (in Hz).

Feed
Speisepegel (in Hz).

Kanalkarte
Ordnen Sie Eingangskanäle neuen Positionen zu.

Es akzeptiert die folgenden Parameter:

Kanal_Layout
Das Kanallayout des Ausgabestreams.

Karte Ordnen Sie Kanäle vom Eingang zum Ausgang zu. Das Argument ist eine durch '|' getrennte Liste von Zuordnungen,
jeweils in der "in_channel-out_channel" or in_channel Form. in_channel kann entweder das sein
Name des Eingangskanals (zB FL für vorne links) oder dessen Index im Eingangskanal
Layout. out_channel ist der Name des Ausgabekanals oder sein Index in der Ausgabe
Kanal-Layout. Wenn out_channel nicht gegeben ist, ist es implizit ein Index, beginnend
mit null und für jede Abbildung um eins erhöht.

Wenn kein Mapping vorhanden ist, ordnet der Filter implizit die Eingangskanäle dem Ausgang zu
Kanäle unter Beibehaltung von Indizes.

Angenommen beispielsweise eine 5.1+Downmix-Eingangs-MOV-Datei,

ffmpeg -i in.mov -filter 'channelmap=map=DL-FL|DR-FR' out.wav

erstellt eine als Stereo markierte Ausgabe-WAV-Datei aus den Downmix-Kanälen des Eingangs.

So beheben Sie ein 5.1-WAV, das falsch in der nativen Kanalreihenfolge von AAC codiert ist

ffmpeg -i in.wav -filter 'channelmap=1|2|0|5|3|4:5.1' out.wav

Kanalspaltung
Teilen Sie jeden Kanal eines Eingangsaudiostreams in einen separaten Ausgangsstream auf.

Es akzeptiert die folgenden Parameter:

Kanal_Layout
Das Kanallayout des Eingabestreams. Die Vorgabe ist "Stereo".

Angenommen, eine MP3-Datei mit Stereoeingang

ffmpeg -i in.mp3 -filter_complexchannelsplitout.mkv

erstellt eine Matroska-Ausgabedatei mit zwei Audiostreams, von denen einer nur den linken enthält
Kanal und der andere der rechte Kanal.

Teilen Sie eine 5.1 WAV-Datei in Pro-Kanal-Dateien auf:

ffmpeg -i in.wav -filter_komplex
'channelsplit=channel_layout=5.1[FL][FR][FC][LFE][SL][SR]'
-map '[FL]' front_left.wav -map '[FR]' front_right.wav -map '[FC]'
front_center.wav -map '[LFE]' lfe.wav -map '[SL]' side_left.wav -map '[SR]'
side_right.wav

Chor
Fügen Sie dem Audio einen Chorus-Effekt hinzu.

Kann eine einzelne Stimme wie einen Chorus klingen lassen, kann aber auch auf Instrumentierung angewendet werden.

Chorus ähnelt einem Echoeffekt mit einer kurzen Verzögerung, während bei Echo die Verzögerung
konstant, mit Chorus, wird durch Sinus- oder Dreiecksmodulation variiert. Die
Modulationstiefe definiert den Bereich, in dem das modulierte Delay vor oder nach dem
verzögern. Daher ertönt der verzögerte Ton langsamer oder schneller, das ist der verzögerte Ton
um das Original gestimmt, wie in einem Refrain, in dem einige Vocals leicht verstimmt sind.

Es akzeptiert die folgenden Parameter:

in_gain
Eingangsverstärkung einstellen. Der Standardwert ist 0.4.

out_gain
Ausgangsverstärkung einstellen. Der Standardwert ist 0.4.

Verzögerungen
Legen Sie Verzögerungen fest. Eine typische Verzögerung beträgt etwa 40 ms bis 60 ms.

verfällt
Set verfällt.

Geschwindigkeiten
Geschwindigkeiten einstellen.

Tiefe
Tiefen einstellen.

Beispiele

· Eine einzelne Verzögerung:

chorus=0.7:0.9:55:0.4:0.25:2

· Zwei Verzögerungen:

chorus=0.6:0.9:50|60:0.4|0.32:0.25|0.4:2|1.3

· Voller klingender Chorus mit drei Delays:

chorus=0.5:0.9:50|60|40:0.4|0.32|0.3:0.25|0.4|0.3:2|2.3|1.3

Kompanie
Komprimieren oder erweitern Sie den Dynamikbereich des Audios.

Es akzeptiert die folgenden Parameter:

Attacken
verfällt
Eine Liste der Zeiten in Sekunden für jeden Kanal, über die der momentane Pegel des
Eingangssignal wird gemittelt, um seine Lautstärke zu bestimmen. Attacken bezieht sich auf Volumenzunahme
und verfällt bezieht sich auf die Abnahme des Volumens. In den meisten Situationen ist die Angriffszeit
(Reaktion auf lauter werdendes Audio) sollte kürzer als die Decay-Zeit sein, weil
Das menschliche Ohr reagiert empfindlicher auf plötzliches lautes Audio als auf plötzliches leises Audio. Ein typisches
Der Attack-Wert beträgt 0.3 Sekunden und der typische Decay-Wert 0.8 Sekunden. Wenn
Die angegebene Anzahl von Attacks & Decays ist niedriger als die Anzahl der Kanäle, der letzte Satz
Attack/Decay wird für alle verbleibenden Kanäle verwendet.

Punkte
Eine Liste von Punkten für die Übertragungsfunktion, angegeben in dB relativ zum Maximum
mögliche Signalamplitude. Jede Schlüsselpunktliste muss wie folgt definiert werden
Syntax: "x0/y0|x1/y1|x2/y2|..." oder "x0/y0 x1/y1 x2/y2 ...."

Die Eingabewerte müssen streng aufsteigend sein, aber die Übertragungsfunktion tut es
müssen nicht monoton steigend sein. Der Punkt „0/0“ wird angenommen, kann aber überschrieben werden
(durch "0/out-dBn"). Typische Werte für die Übertragungsfunktion sind "-70/-70|-60/-20".

weiches Knie
Stellen Sie den Kurvenradius in dB für alle Gelenke ein. Der Standardwert ist 0.01.

gewinnen
Stellen Sie die zusätzliche Verstärkung in dB ein, die an allen Punkten der Übertragungsfunktion angewendet werden soll.
Dies ermöglicht eine einfache Einstellung der Gesamtverstärkung. Es ist standardmäßig 0.

Volumen
Stellen Sie eine Anfangslautstärke in dB ein, die für jeden Kanal angenommen werden soll, wenn die Filterung beginnt.
Dadurch kann der Anwender zunächst einen Nennfüllstand liefern, so dass beispielsweise a
eine sehr große Verstärkung wird nicht auf die anfänglichen Signalpegel angewendet, bevor die Kompandierung abgeschlossen ist
in Betrieb genommen. Ein typischer Wert für anfangs leises Audio ist -90 dB. Es
standardmäßig auf 0.

verzögern
Legen Sie eine Verzögerung in Sekunden fest. Das Eingangsaudio wird sofort analysiert, aber das Audio wird verzögert
bevor sie dem Lautstärkeregler zugeführt werden. Angeben einer Verzögerung ungefähr gleich der
Attack/Decay-Zeiten ermöglichen es dem Filter, effektiv prädiktiv zu arbeiten, anstatt
reaktiver Modus. Es ist standardmäßig 0.

Beispiele

· Machen Sie Musik mit sowohl leisen als auch lauten Passagen, die sich zum Hören in lauter Umgebung eignen
Umgebung:

compand=.3|.3:1|1:-90/-60|-60/-40|-40/-30|-20/-20:6:0:-90:0.2

Ein weiteres Beispiel für Audio mit Flüster- und Explosionsanteilen:

compand=0|0:1|1:-90/-900|-70/-70|-30/-9|0/-3:6:0:0:0

· Ein Noise Gate, wenn das Rauschen niedriger ist als das Signal:

compand=.1|.1:.2|.2:-900/-900|-50.1/-900|-50/-50:.01:0:-90:.1

· Hier ist ein weiteres Noise Gate, dieses Mal, wenn das Rauschen einen höheren Pegel hat als der
Signal (was es in gewisser Weise ähnlich wie Squelch macht):

compand=.1|.1:.1|.1:-45.1/-45.1|-45/-900|0/-900:.01:45:-90:.1

dcshift
Wenden Sie eine DC-Verschiebung auf das Audio an.

Dies kann nützlich sein, um einen DC-Offset zu entfernen (verursacht möglicherweise durch ein Hardwareproblem im
Aufnahmekette) aus dem Audio. Der Effekt eines DC-Offsets reduziert den Headroom und somit
Volumen. Die Statistiken Filter kann verwendet werden, um zu bestimmen, ob ein Signal einen DC-Offset hat.

verschieben
Legen Sie die DC-Verschiebung fest, der zulässige Bereich ist [-1, 1]. Es gibt den Betrag an, um den die
Audio.

Begrenzerverstärkung
Optional. Es sollte einen Wert von viel weniger als 1 haben (z. B. 0.05 oder 0.02) und wird verwendet, um
Clipping verhindern.

Dynaudnorm
Dynamischer Audionormalizer.

Dieser Filter wendet eine gewisse Verstärkung auf das Eingangsaudio an, um seinen Spitzenwert zu erreichen
Magnitude auf einen Zielpegel (zB 0 dBFS). Im Gegensatz zu "einfacheren"
Normalisierungsalgorithmen passt der Dynamic Audio Normalizer *dynamisch* die Verstärkung neu an
Faktor zum Eingangsaudio. Dies ermöglicht eine zusätzliche Verstärkung in den "ruhigen" Abschnitten von
das Audio, während Verzerrungen oder das Abschneiden der "lauten" Abschnitte vermieden werden. Mit anderen Worten: Die
Dynamic Audio Normalizer gleicht die Lautstärke leiser und lauter Passagen aus, in der
spüren, dass die Lautstärke jedes Abschnitts auf den gleichen Zielpegel gebracht wird. Beachten Sie jedoch,
dass der Dynamic Audio Normalizer dieses Ziel *ohne* Anwendung von "Dynamikbereich" erreicht
komprimieren". Es behält 100 % des Dynamikbereichs *innerhalb* jedes Abschnitts des Audios bei
Datei.

f Legen Sie die Framelänge in Millisekunden fest. Im Bereich von 10 bis 8000 Millisekunden. Standard
beträgt 500 Millisekunden. Der Dynamic Audio Normalizer verarbeitet das Eingangsaudio in kleinen
Blöcke, die als Frames bezeichnet werden. Dies ist erforderlich, da eine Spitzengröße keine
Bedeutung für nur einen einzelnen Abtastwert. Stattdessen müssen wir den Peak bestimmen
Betrag für eine zusammenhängende Folge von Abtastwerten. Während ein "Standard"-Normalisierer
würde einfach die Spitzengröße der gesamten Datei verwenden, den Dynamic Audio Normalizer
bestimmt die Spitzengröße individuell für jeden Frame. Die Länge eines Rahmens beträgt
in Millisekunden angegeben. Standardmäßig verwendet der Dynamic Audio Normalizer einen Frame
Länge von 500 Millisekunden, was bei den meisten Dateien zu guten Ergebnissen führt.
Beachten Sie, dass die genaue Framelänge in Anzahl der Samples bestimmt wird
automatisch, basierend auf der Abtastrate der einzelnen Audio-Eingangsdatei.

g Legen Sie die Fenstergröße des Gauß-Filters fest. Im Bereich von 3 bis 301, muss eine ungerade Zahl sein.
Der Standardwert ist 31. Der wahrscheinlich wichtigste Parameter des Dynamic Audio Normalizer
ist die "Fenstergröße" des Gaußschen Glättungsfilters. Die Fenstergröße des Filters beträgt
in Frames angegeben, zentriert um den aktuellen Frame. Der Einfachheit halber,
das muss eine ungerade Zahl sein. Folglich berücksichtigt der Standardwert von 31
den aktuellen Frame sowie die 15 vorhergehenden Frames und die 15 nachfolgenden Frames.
Die Verwendung eines größeren Fensters führt zu einem stärkeren Glättungseffekt und damit zu weniger Verstärkung
Variation, dh langsamere Verstärkungsanpassung. Umgekehrt führt die Verwendung eines kleineren Fensters zu
einen schwächeren Glättungseffekt und damit mehr Gain-Variation, dh schnellere Gain
Anpassung. Mit anderen Worten, je mehr Sie diesen Wert erhöhen, desto mehr Dynamik
Audio Normalizer verhält sich wie ein "herkömmlicher" Normalisierungsfilter. Auf der
im Gegenteil, je mehr Sie diesen Wert verringern, desto stärker wird der Dynamic Audio Normalizer
verhalten sich wie ein Dynamikkompressor.

p Stellen Sie den Ziel-Spitzenwert ein. Dies gibt die höchstzulässige Magnitudenstufe für
der normalisierte Audioeingang. Dieser Filter versucht, sich der Zielspitzengröße anzunähern
so nah wie möglich, stellt aber gleichzeitig sicher, dass die normalisierten
Signal wird niemals die Spitzengröße überschreiten. Der maximale lokale Verstärkungsfaktor eines Frames ist
direkt von der Zielspitzengröße auferlegt. Der Standardwert ist 0.95 und somit
lässt einen Headroom von 5%*. Es wird nicht empfohlen, diesen Wert zu überschreiten.

m Stellen Sie den maximalen Verstärkungsfaktor ein. Im Bereich von 1.0 bis 100.0. Der Standardwert ist 10.0. Die Dynamik
Audio Normalizer bestimmt den maximal möglichen (lokalen) Verstärkungsfaktor für jeden Eingang
Frame, dh der maximale Verstärkungsfaktor, der nicht zu Clipping oder Verzerrung führt.
Der maximale Verstärkungsfaktor wird durch die Abtastung mit der höchsten Größe des Rahmens bestimmt.
Der Dynamic Audio Normalizer begrenzt jedoch zusätzlich die maximale Verstärkung des Frames
Faktor um einen vorgegebenen (globalen) maximalen Verstärkungsfaktor. Dies geschieht, um zu vermeiden
übermäßige Verstärkungsfaktoren in "stillen" oder fast lautlosen Frames. Standardmäßig ist das Maximum
Verstärkungsfaktor ist 10.0. Für die meisten Eingänge sollte der Standardwert ausreichend sein und es
Normalerweise wird nicht empfohlen, diesen Wert zu erhöhen. Für die Eingabe mit einem extrem
bei geringer Gesamtlautstärke kann es erforderlich sein, noch höhere Verstärkungsfaktoren zuzulassen. Notiz,
dass der Dynamic Audio Normalizer jedoch nicht einfach einen "harten" Schwellenwert anwendet
(dh Cut-off-Werte über dem Schwellenwert). Stattdessen eine "Sigmoid"-Schwellenfunktion
Wird angewendet werden. Auf diese Weise nähern sich die Verstärkungsfaktoren sanft dem Schwellenwert
Wert, aber überschreiten Sie diesen Wert nie.

r Legen Sie den Ziel-RMS fest. Im Bereich von 0.0 bis 1.0. Standard ist 0.0 - deaktiviert. Standardmäßig,
der Dynamic Audio Normalizer führt eine "Peak"-Normalisierung durch. Dies bedeutet, dass die
Der maximale lokale Verstärkungsfaktor für jeden Frame wird (nur) durch den höchsten . des Frames definiert
Größenordnung Probe. Auf diese Weise können die Proben so weit wie möglich amplifiziert werden, ohne dass
Überschreitung des maximalen Signalpegels, dh ohne Clipping. Optional kann jedoch die
Dynamic Audio Normalizer kann auch den quadratischen Mittelwert des Frames berücksichtigen,
abgekürzt RMS. In der Elektrotechnik wird der RMS häufig verwendet, um die
Leistung eines zeitveränderlichen Signals. Es wird daher davon ausgegangen, dass der RMS besser ist
Annäherung an die "wahrgenommene Lautheit" als nur auf den Peak des Signals zu schauen
Größe. Folglich wird durch Einstellen aller Frames auf einen konstanten RMS-Wert ein einheitliches
"wahrgenommene Lautheit" festgestellt werden. Wenn ein Ziel-RMS-Wert angegeben wurde, a
Der lokale Verstärkungsfaktor des Rahmens ist als der Faktor definiert, der genau das ergeben würde
Effektivwert. Beachten Sie jedoch, dass der maximale lokale Verstärkungsfaktor immer noch durch
das Sample mit der höchsten Größe des Frames, um Clipping zu vermeiden.

n Aktivieren Sie die Kanalkopplung. Standardmäßig ist aktiviert. Standardmäßig ist das dynamische Audio
Normalizer verstärkt alle Kanäle um den gleichen Betrag. Das bedeutet den gleichen Gewinn
Faktor wird auf alle Kanäle angewendet, dh der maximal mögliche Verstärkungsfaktor ist
bestimmt durch den "lautesten" Kanal. Bei manchen Aufnahmen kann es jedoch vorkommen, dass
die Lautstärke der verschiedenen Kanäle ist ungleichmäßig, zB kann ein Kanal "leiser" sein als
die Anderen). In diesem Fall kann diese Option verwendet werden, um den Kanal zu deaktivieren
Kupplung. Auf diese Weise wird der Verstärkungsfaktor für jeden Kanal unabhängig bestimmt,
hängt nur von der stärksten Abtastung des einzelnen Kanals ab. Dies ermöglicht
Harmonisierung der Lautstärke der verschiedenen Kanäle.

c Aktivieren Sie die DC-Bias-Korrektur. Standardmäßig ist deaktiviert. Ein Audiosignal (in der Zeit
domain) ist eine Folge von Beispielwerten. Im Dynamic Audio Normalizer sind diese Beispiele
Werte werden im Bereich von -1.0 bis 1.0 dargestellt, unabhängig von der ursprünglichen Eingabe
Format. Normalerweise sollte das Audiosignal oder die "Wellenform" um die Null zentriert sein
Punkt. Das heißt, wenn wir den Mittelwert aller Stichproben in einer Datei berechnen, oder in a
Einzelbild, dann sollte das Ergebnis 0.0 oder zumindest sehr nahe an diesem Wert sein. Wenn,
es gibt jedoch eine signifikante Abweichung des Mittelwertes von 0.0, entweder in
positive oder negative Richtung, dies wird als DC-Bias oder DC-Offset bezeichnet. Seit einem
DC-Bias ist eindeutig unerwünscht, der Dynamic Audio Normalizer bietet optional DC-Bias
Korrektur. Wenn die DC-Bias-Korrektur aktiviert ist, wird der Dynamic Audio Normalizer
Bestimmen Sie den Mittelwert oder "DC-Korrektur"-Offset jedes Eingaberahmens und subtrahieren
dieser Wert aus allen Sample-Werten des Frames, der sicherstellt, dass diese Samples
wieder um 0.0 zentriert. Um auch "Lücken" an den Rahmengrenzen zu vermeiden,
Die Offset-Werte der DC-Korrektur werden glatt zwischen benachbarten Frames interpoliert.

b Aktivieren Sie den alternativen Begrenzungsmodus. Standardmäßig ist deaktiviert. Das dynamische Audio
Der Normalizer berücksichtigt eine bestimmte Umgebung um jeden Frame. Das beinhaltet
die vorhergehenden Frames sowie die nachfolgenden Frames. Aber für die "Grenze"
Frames, die sich ganz am Anfang und ganz am Ende der Audiodatei befinden, nicht alle
Nachbarrahmen sind vorhanden. Insbesondere für die ersten paar Frames im
Audiodatei, die vorhergehenden Frames sind nicht bekannt. Und in ähnlicher Weise für die letzten paar
Frames in der Audiodatei sind die nachfolgenden Frames nicht bekannt. Also die Frage
ergibt sich, welche Verstärkungsfaktoren für die fehlenden Frames im "Boundary" angenommen werden sollen
Region. Der Dynamic Audio Normalizer implementiert zwei Modi, um mit dieser Situation umzugehen.
Der Standard-Boundary-Modus geht von einem Verstärkungsfaktor von genau 1.0 für die fehlenden Frames aus,
was zu einem sanften "Einblenden" und "Ausblenden" am Anfang und am Ende des
Eingabe bzw.

s Stellen Sie den Komprimierungsfaktor ein. Im Bereich von 0.0 bis 30.0. Der Standardwert ist 0.0. Standardmäßig ist die
Dynamic Audio Normalizer wendet keine "herkömmliche" Komprimierung an. Dies bedeutet, dass
Signalspitzen werden nicht beschnitten und somit bleibt der volle Dynamikumfang erhalten
in jedem Ortsteil. In einigen Fällen kann es jedoch wünschenswert sein, zu kombinieren
der Normalisierungsalgorithmus des Dynamic Audio Normalizer mit einem "traditionelleren"
Kompression. Dazu bietet der Dynamic Audio Normalizer eine optionale
Kompressionsfunktion (Schwellenwert). Wenn (und nur wenn) die Komprimierungsfunktion . ist
aktiviert, werden alle Eingangsframes zuvor von einer Soft-Knie-Schwellenwertfunktion verarbeitet
zum eigentlichen Normalisierungsprozess. Einfach ausgedrückt, die Schwellenwertfunktion wird
Beschneiden Sie alle Stichproben, deren Größe einen bestimmten Schwellenwert überschreitet. Allerdings ist die
Dynamic Audio Normalizer wendet nicht einfach einen festen Schwellenwert an. Stattdessen ist die
Schwellenwert wird für jeden einzelnen Frame angepasst. Im Allgemeinen kleiner
Parameter führen zu einer stärkeren Kompression und umgekehrt. Werte unter 3.0 sind nicht
empfohlen, da hörbare Verzerrungen auftreten können.

Ohrenschmalz
Erleichtern Sie das Hören von Audio über Kopfhörer.

Dieser Filter fügt dem 44.1-kHz-Stereo-Audio (dh im Audio-CD-Format) „Cues“ hinzu, sodass beim
über Kopfhörer abgehört wird das Stereobild aus dem Inneren Ihres Kopfes (Standard für
Kopfhörer) nach außen und vor den Hörer (Standard bei Lautsprechern).

Von SoX portiert.

Ausgleich
Wenden Sie einen zweipoligen Peaking-Entzerrungsfilter (EQ) an. Bei diesem Filter wird der Signalpegel bei
und um eine ausgewählte Frequenz erhöht oder verringert werden, während (im Gegensatz zu Bandpass und
Bandsperrfilter), die bei allen anderen Frequenzen unverändert ist.

Um komplexe Entzerrungskurven zu erzeugen, kann dieser Filter mehrfach angegeben werden,
jeweils mit einer anderen Mittenfrequenz.

Der Filter akzeptiert die folgenden Optionen:

Frequenz, f
Stellen Sie die Mittenfrequenz des Filters in Hz ein.

width_type
Legen Sie die Methode fest, um die Bandbreite des Filters anzugeben.

h Hz

q Q-Faktor

o Oktave

s Hang

Breite, w
Geben Sie die Bandbreite eines Filters in width_type-Einheiten an.

gewinnen, g
Stellen Sie die erforderliche Verstärkung oder Dämpfung in dB ein. Achten Sie bei der Verwendung eines Positivs auf Clipping
zu gewinnen.

Beispiele

· 10 dB bei 1000 Hz dämpfen, mit einer Bandbreite von 200 Hz:

Equalizer=f=1000:width_type=h:width=200:g=-10

· 2 dB Verstärkung bei 1000 Hz mit Q 1 anwenden und 5 dB bei 100 Hz mit Q 2 dämpfen:

equalizer=f=1000:width_type=q:width=1:g=2,equalizer=f=100:width_type=q:width=2:g=-5

Flanger
Wenden Sie einen Flanger-Effekt auf das Audio an.

Der Filter akzeptiert die folgenden Optionen:

verzögern
Stellen Sie die Basisverzögerung in Millisekunden ein. Bereich von 0 bis 30. Der Standardwert ist 0.

Tiefe
Legen Sie die zusätzliche Sweep-Verzögerung in Millisekunden fest. Bereich von 0 bis 10. Der Standardwert ist 2.

regen
Prozentuale Regeneration einstellen (verzögerte Signalrückmeldung). Bereich von -95 bis 95. Standard
Wert ist 0.

Breite
Stellen Sie den Prozentsatz des verzögerten Signals ein, das mit dem Original gemischt wird. Bereich von 0 bis 100. Standard
Wert ist 71.

Geschwindigkeit
Sweeps pro Sekunde (Hz) einstellen. Bereich von 0.1 bis 10. Der Standardwert ist 0.5.

gestalten
Gepfeilte Wellenform einstellen, kann sein dreieckig or sinusförmig. Standardwert ist sinusförmig.

Phase
Stellen Sie die prozentuale Verschiebung der Wobbelwelle für Mehrkanal ein. Bereich von 0 bis 100. Standardwert
ist 25.

interp
Delay-Line-Interpolation einstellen, linear or quadratisch. Standard ist linear.

Hochpass
Wenden Sie einen Hochpassfilter mit einer Punktfrequenz von 3 dB an. Der Filter kann entweder einpolig,
oder zweipolig (Standard). Der Filter rollt bei 6dB pro Pol pro Oktave (20dB pro
Pol pro Jahrzehnt).

Der Filter akzeptiert die folgenden Optionen:

Frequenz, f
Frequenz in Hz einstellen. Standard ist 3000.

Stangen, p
Anzahl der Pole einstellen. Standard ist 2.

width_type
Legen Sie die Methode fest, um die Bandbreite des Filters anzugeben.

h Hz

q Q-Faktor

o Oktave

s Hang

Breite, w
Geben Sie die Bandbreite eines Filters in width_type-Einheiten an. Gilt nur für Doppelpol
Filter. Der Standardwert ist 0.707q und gibt eine Butterworth-Antwort aus.

join
Verbinden Sie mehrere Eingabestreams zu einem Mehrkanalstream.

Es akzeptiert die folgenden Parameter:

Eingänge
Die Anzahl der Eingabestreams. Es ist standardmäßig auf 2.

Kanal_Layout
Das gewünschte Ausgangskanal-Layout. Es ist standardmäßig auf Stereo eingestellt.

Karte Ordnen Sie Kanäle von den Eingängen zum Ausgang zu. Das Argument ist eine durch '|' getrennte Liste von Zuordnungen,
jeweils in der "input_idx.in_channel-out_channel" Form. input_idx ist der 0-basierte Index von
der Eingangsstrom. in_channel kann entweder der Name des Eingangskanals sein (zB FL für
vorne links) oder seinen Index im angegebenen Eingabestrom. out_channel ist der Name des
Ausgangskanal.

Der Filter versucht, die Zuordnungen zu erraten, wenn sie nicht explizit angegeben werden. Es
tut dies, indem zuerst versucht wird, einen nicht verwendeten passenden Eingangskanal zu finden, und wenn dies fehlschlägt
wählt den ersten ungenutzten Eingangskanal.

Verbinden Sie 3 Eingänge (mit richtig eingestellten Kanallayouts):

ffmpeg -i INPUT1 -i INPUT2 -i INPUT3 -filter_complex join=inputs=3 AUSGANG

Erstellen Sie eine 5.1-Ausgabe aus 6 Einzelkanal-Streams:

ffmpeg -i fl -i fr -i fc -i sl -i sr -i lfe -filter_complex
'join=inputs=6:channel_layout=5.1:map=0.0-FL|1.0-FR|2.0-FC|3.0-SL|4.0-SR|5.0-LFE'


ladspa
Laden Sie ein LADSPA-Plugin (Linux Audio Developer's Simple Plugin API).

Um die Kompilierung dieses Filters zu aktivieren, müssen Sie FFmpeg mit "--enable-ladspa" konfigurieren.

Datei, f
Gibt den Namen der zu ladenden LADSPA-Plugin-Bibliothek an. Wenn die Umgebungsvariable
LADSPA_PFAD definiert ist, wird das LADSPA-Plugin in jedem der Verzeichnisse gesucht
angegeben durch die durch Doppelpunkte getrennte Liste in LADSPA_PFAD, sonst im Standard LADSPA
Pfade, die in dieser Reihenfolge sind: HOME/.ladspa/lib/, /usr/local/lib/ladspa/,
/usr/lib/ladspa/.

Plugin, p
Gibt das Plugin innerhalb der Bibliothek an. Einige Bibliotheken enthalten nur ein Plugin, aber
andere enthalten viele davon. Wenn dies nicht eingestellt ist, listet der Filter alle verfügbaren Plugins auf
innerhalb der angegebenen Bibliothek.

Kontrollen, c
Setzen Sie das '|' getrennte Liste von Steuerelementen, die null oder mehr Gleitkommawerte sind
die das Verhalten des geladenen Plugins bestimmen (zum Beispiel Delay, Threshold oder
gewinnen). Steuerelemente müssen mit der folgenden Syntax definiert werden:
c0=value0|c1=value1|c2=value2|..., wo wert ist der Wert auf dem i-te Kontrolle.
If Steuerung auf "Hilfe" gesetzt ist, sind alle verfügbaren Steuerelemente und ihre gültigen Bereiche
gedruckt.

Beispielrate, s
Geben Sie die Abtastrate an, Standard ist 44100. Wird nur verwendet, wenn das Plugin keine Eingänge hat.

nb_proben, n
Legen Sie die Anzahl der Samples pro Kanal und jedes Ausgabeframe fest, der Standardwert ist 1024. Nur
Wird verwendet, wenn das Plugin keine Eingänge hat.

Dauer, d
Legen Sie die Mindestdauer der Audioquelle fest. Sehen Uhrzeit Dauer Abschnitt in
ffmpeg-utils(1) manuell für die akzeptierte Syntax. Beachten Sie, dass die resultierende Dauer möglicherweise
länger als die angegebene Dauer sein, da das generierte Audio immer am
Ende eines kompletten Rahmens. Wenn nicht angegeben oder die angegebene Dauer negativ ist, wird die
Audio soll für immer generiert werden. Wird nur verwendet, wenn das Plugin null Eingänge hat.

Beispiele

· Listen Sie alle verfügbaren Plugins in der AMP-Bibliothek (LADSPA-Beispiel-Plugin) auf:

ladspa=Datei=amp

· Listen Sie alle verfügbaren Steuerelemente und ihre gültigen Bereiche für das "vcf_notch"-Plugin von "VCF" auf
Bibliothek:

ladspa=f=vcf:p=vcf_notch:c=Hilfe

· Simulieren Sie Audiogeräte von geringer Qualität mit dem Plugin "Computer Music Toolkit" (CMT)
Bibliothek:

ladspa=file=cmt:plugin=lofi:controls=c0=22|c1=12|c2=12

· Fügen Sie dem Audio mit TAP-Plugins (Toms Audio Processing Plugins) Nachhall hinzu:

ladspa=file=tap_reverb:tap_reverb

· Weißes Rauschen mit 0.2 Amplitude erzeugen:

ladspa=file=cmt:noise_source_white:c=c0=.2

· Erzeuge 20 bpm Klicks mit dem Plugin "C* Click - Metronome" aus dem "C* Audio Plugin"
Suite" (CAPS) Bibliothek:

ladspa=file=caps:Klick:c=c1=20'

· Wenden Sie den Effekt "C* Eq10X2 - Stereo 10-Band-Equalizer" an:

ladspa=caps:Eq10X2:c=c0=-48|c9=-24|c3=12|c4=2

Befehle

Dieser Filter unterstützt die folgenden Befehle:

cN ändern Sie die N-ten Kontrollwert.

Wenn der angegebene Wert nicht gültig ist, wird er ignoriert und der vorherige Wert beibehalten.

Tiefpass
Wenden Sie einen Tiefpassfilter mit einer Punktfrequenz von 3 dB an. Der Filter kann entweder einpolig oder
zweipolig (Standard). Der Filter rollt bei 6dB pro Pol pro Oktave ab (20dB pro Pol
pro Jahrzehnt).

Der Filter akzeptiert die folgenden Optionen:

Frequenz, f
Frequenz in Hz einstellen. Standard ist 500.

Stangen, p
Anzahl der Pole einstellen. Standard ist 2.

width_type
Legen Sie die Methode fest, um die Bandbreite des Filters anzugeben.

h Hz

q Q-Faktor

o Oktave

s Hang

Breite, w
Geben Sie die Bandbreite eines Filters in width_type-Einheiten an. Gilt nur für Doppelpol
Filter. Der Standardwert ist 0.707q und gibt eine Butterworth-Antwort aus.

Pfanne
Mischen Sie Kanäle mit bestimmten Verstärkungsstufen. Der Filter akzeptiert das Ausgangskanallayout
gefolgt von einer Reihe von Kanaldefinitionen.

Dieser Filter wurde auch entwickelt, um die Kanäle eines Audiostreams effizient neu zuzuordnen.

Der Filter akzeptiert Parameter der Form: "l|outdef|outdef|..."

l Ausgangskanallayout oder Anzahl der Kanäle

outdef
Spezifikation des Ausgangskanals in der Form:
"out_name=[gewinnen*]in_name[+[gewinnen*]in_name...]"

out_name
Ausgangskanal zu definieren, entweder einen Kanalnamen (FL, FR, etc.) oder eine Kanalnummer
(c0, c1, usw.)

gewinnen
multiplikativer Koeffizient für den Kanal, 1 bei unveränderter Lautstärke

in_name
zu verwendender Eingangskanal, siehe out_name für Details; Es ist nicht möglich, benannte und zu mischen
nummerierte Eingangskanäle

Wenn das `=' in einer Kanalangabe durch `<' ersetzt wird, dann die Verstärkung dafür
Spezifikation wird renormiert, so dass die Summe 1 ist, wodurch Clipping-Rauschen vermieden werden.

Vermischung Beispiele

Wenn Sie beispielsweise von Stereo auf Mono heruntermischen möchten, jedoch mit einem größeren Faktor für die
linker Kanal:

pan=1c|c0=0.9*c0+0.1*c1

Ein benutzerdefinierter Downmix zu Stereo, der automatisch für 3-, 4-, 5- und 7-Kanäle funktioniert
umgeben:

pan=stereo| FL < FL + 0.5*FC + 0.6*BL + 0.6*SL | FR < FR + 0.5*FC + 0.6*BR + 0.6*SR

Beachten Sie, dass ffmpeg integriert ein Standard-Down-Mix- (und -Up-Mix-) -System, das
bevorzugt (siehe Option "-ac"), es sei denn, Sie haben sehr spezielle Anforderungen.

Neuzuordnung Beispiele

Die Neuzuordnung des Kanals ist nur dann wirksam, wenn:

*
*

Wenn alle diese Bedingungen erfüllt sind, benachrichtigt der Filter den Benutzer ("Reinkanal
Mapping erkannt") und verwenden Sie eine optimierte und verlustfreie Methode, um die Neuzuordnung durchzuführen.

Wenn Sie beispielsweise eine 5.1-Quelle haben und einen Stereo-Audiostream wünschen, indem Sie das Extra weglassen
Kanäle:

pan="stereo| c0=FL | c1=FR"

Bei gleicher Quelle können Sie auch die Kanäle vorne links und vorne rechts umschalten und behalten
das Layout des Eingangskanals:

pan="5.1| c0=c1 | c1=c0 | c2=c2 | c3=c3 | c4=c4 | c5=c5"

Wenn der Eingang ein Stereo-Audiostream ist, können Sie den vorderen linken Kanal stumm schalten (und trotzdem behalten
das Stereo-Kanal-Layout) mit:

pan="stereo|c1=c1"

Immer noch mit einem Stereo-Audiostream-Eingang können Sie den rechten Kanal sowohl vorne links kopieren
und rechts:

pan="stereo| c0=FR | c1=FR"

noch einmal spielen
ReplayGain-Scannerfilter. Dieser Filter nimmt einen Audiostream als Eingabe und gibt ihn aus
unverändert. Am Ende der Filterung werden "track_gain" und "track_peak" angezeigt.

resample
Konvertieren Sie das Audio-Sample-Format, die Sample-Rate und das Kanal-Layout. Es soll nicht sein
direkt verwendet.

Seitenkettenkomprimierung
Dieser Filter verhält sich wie ein normaler Kompressor, kann aber das erkannte Signal komprimieren
zweites Eingangssignal verwenden. Es benötigt zwei Eingabeströme und gibt einen Ausgabestrom zurück.
Der erste Eingangsstrom wird abhängig vom zweiten Stromsignal verarbeitet. Die gefilterte
Das Signal kann dann in späteren Verarbeitungsstufen mit anderen Filtern gefiltert werden. Sehen Pfanne und
eine Zusammenführung Filter.

Der Filter akzeptiert die folgenden Optionen:

Schwelle
Wenn ein Signal des zweiten Streams über diesen Pegel ansteigt, beeinflusst dies die Verstärkungsreduzierung
des ersten Stroms. Standardmäßig ist 0.125. Der Bereich liegt zwischen 0.00097563 und 1.

Verhältnis
Stellen Sie ein Verhältnis ein, um das das Signal reduziert wird. 1:2 bedeutet, dass bei einer Erhöhung des Pegels um 4dB
oberhalb des Schwellenwerts liegt er nach der Reduzierung nur noch 2 dB darüber. Standard ist 2.
Der Bereich liegt zwischen 1 und 20.

Attacke
Millisekunden, die das Signal über den Schwellenwert ansteigen muss, bevor die Verstärkung erreicht wird
Reduktion beginnt. Der Standardwert ist 20. Der Bereich liegt zwischen 0.01 und 2000.

Release
Millisekunden, die das Signal unter den Schwellenwert fallen muss, bevor die Reduzierung erfolgt
wieder abgenommen. Der Standardwert ist 250. Der Bereich liegt zwischen 0.01 und 9000.

Make-up
Stellen Sie den Betrag ein, um den das Signal nach der Verarbeitung verstärkt wird. Standard ist 2.
Der Bereich reicht von 1 bis 64.

Knie
Biegen Sie das scharfe Knie um den Schwellenwert, um die Verstärkungsreduktion sanfter einzugeben.
Der Standardwert ist 2.82843. Der Bereich liegt zwischen 1 und 8.

Link
Wählen Sie, ob der "durchschnittliche" Pegel zwischen allen Kanälen des Side-Chain-Streams oder der
ein lauter("maximum") Kanal des Sidechain-Streams beeinflusst die Reduzierung. Standard ist
"Durchschnitt".

Erkennung
Soll bei "peak" das genaue Signal genommen werden oder bei "rms" ein RMS-Signal.
Standard ist "rms", was hauptsächlich glatter ist.

Beispiele

· Vollständiges ffmpeg-Beispiel mit 2 Audioeingängen, der erste Eingang wird je nach komprimiert
Signal des 2. Eingangs und später komprimiertes Signal, das mit dem 2. Eingang zusammengeführt werden soll:

ffmpeg -i main.flac -i sidechain.flac -filter_complex "[1:a]asplit=2[sc][mix];[0:a][sc]sidechaincompress[compr];[compr][mix]amerge"

Stilledetektieren
Stille in einem Audiostream erkennen.

Dieser Filter protokolliert eine Nachricht, wenn er erkennt, dass die Eingangslautstärke kleiner oder gleich ist
ein Rauschtoleranzwert für eine Dauer größer oder gleich dem minimal erkannten Rauschen
Dauer.

Die gedruckten Zeiten und Dauer werden in Sekunden angegeben.

Der Filter akzeptiert die folgenden Optionen:

Dauer, d
Legen Sie die Dauer der Stille bis zur Benachrichtigung fest (Standard ist 2 Sekunden).

Lärm, n
Rauschtoleranz einstellen. Kann in dB angegeben werden (falls "dB" an die angegebene . angehängt wird
Wert) oder Amplitudenverhältnis. Der Standardwert ist -60 dB oder 0.001.

Beispiele

· Erkennen Sie 5 Sekunden Stille mit -50dB Rauschtoleranz:

Stilledetect=n=-50dB:d=5

· Komplettes Beispiel mit ffmpeg um Stille mit 0.0001 Rauschtoleranz in . zu erkennen
Stille.mp3:

ffmpeg -i silent.mp3 -af silentdetect=noise=0.0001 -f null -

Stilleentfernen
Entfernen Sie die Stille am Anfang, in der Mitte oder am Ende des Audios.

Der Filter akzeptiert die folgenden Optionen:

start_perioden
Dieser Wert wird verwendet, um anzugeben, ob Audio am Anfang des Audios getrimmt werden soll. EIN
Der Wert Null zeigt an, dass von Anfang an keine Stille getrimmt werden sollte. Wann
Wenn Sie einen Wert ungleich Null angeben, wird das Audio so lange getrimmt, bis keine Stille gefunden wird. Normalerweise,
beim Trimmen der Stille vom Anfang des Audios die start_perioden wird 1 sein, aber es kann
auf höhere Werte erhöht werden, um alle Audiodaten bis zu einer bestimmten Anzahl von Nicht-Stille zu trimmen
Perioden. Der Standardwert ist 0.

start_dauer
Geben Sie an, wie lange keine Stille erkannt werden muss, bevor das Trimmen beendet wird
Audio. Durch Erhöhen der Dauer können Geräuschausbrüche als Stille behandelt werden und
abgeschnitten. Der Standardwert ist 0.

Startschwelle
Dies gibt an, welcher Abtastwert als Stille behandelt werden soll. Für digitales Audio, a
Wert von 0 mag in Ordnung sein, aber für Audio, das von analog aufgenommen wurde, möchten Sie möglicherweise erhöhen
der Wert, um Hintergrundgeräusche zu berücksichtigen. Kann in dB angegeben werden (falls "dB" ist
an den angegebenen Wert angehängt) oder Amplitudenverhältnis. Der Standardwert ist 0.

stop_periods
Legen Sie die Anzahl für das Trimmen der Stille am Ende des Audios fest. Um die Stille aus dem zu entfernen
Mitte einer Datei, spezifizieren Sie a stop_periods das ist negativ. Dieser Wert wird dann behandelt
als positiver Wert und wird verwendet, um anzuzeigen, dass der Effekt die Verarbeitung neu starten sollte, wie
spezifiziert durch start_perioden, wodurch es zum Entfernen von Stilleperioden im
mitten im Audio. Der Standardwert ist 0.

stop_duration
Geben Sie eine Dauer der Stille an, die vorhanden sein muss, bevor Audio nicht mehr kopiert wird. Durch
Bei Angabe einer höheren Dauer kann die gewünschte Stille im Audio gelassen werden.
Der Standardwert ist 0.

stop_threshold
Dies ist das gleiche wie Startschwelle aber zum Trimmen der Stille am Ende des Audios.
Kann in dB (wenn "dB" an den angegebenen Wert angehängt wird) oder Amplitude angegeben werden
Verhältnis. Der Standardwert ist 0.

Leave_silence
Dies weist darauf hin, dass stop_duration Länge des Audios sollte intakt gelassen werden
Beginn jeder Stilleperiode. Wenn Sie beispielsweise lange Pausen entfernen möchten
zwischen Wörtern, möchten aber die Pausen nicht vollständig entfernen. Der Standardwert ist 0.

Beispiele

· Das folgende Beispiel zeigt, wie dieser Filter verwendet werden kann, um eine Aufnahme zu starten, die
enthalten nicht die Verzögerung beim Start, die normalerweise zwischen dem Drücken der Schallplatte auftritt
Taste und Beginn der Aufführung:

Silenceremove=1:5:0.02

Diskant
Erhöhen oder senken Sie die Höhen (obere) Frequenzen des Audios mit einem zweipoligen Shelving-Filter mit
ein Ansprechverhalten ähnlich dem der Klangregler einer Standard-Hi-Fi-Anlage. Dies ist auch bekannt als
Shelving-Entzerrung (EQ).

Der Filter akzeptiert die folgenden Optionen:

gewinnen, g
Geben Sie die Verstärkung bei dem niedrigeren Wert von ~22 kHz und der Nyquist-Frequenz an. Es ist
Der nützliche Bereich liegt zwischen -20 (für einen großen Schnitt) bis +20 (für einen großen Boost). Vorsicht vor
Clipping bei Verwendung einer positiven Verstärkung.

Frequenz, f
Stellen Sie die Mittenfrequenz des Filters ein und können so verwendet werden, um die
Frequenzbereich angehoben oder abgesenkt werden. Der Standardwert ist 3000 Hz.

width_type
Legen Sie die Methode fest, um die Bandbreite des Filters anzugeben.

h Hz

q Q-Faktor

o Oktave

s Hang

Breite, w
Bestimmen Sie, wie steil der Shelf-Übergang des Filters ist.

Volumen
Passen Sie die Audio-Eingangslautstärke an.

Es akzeptiert die folgenden Parameter:

Volumen
Legen Sie den Ausdruck für die Audiolautstärke fest.

Ausgabewerte werden auf den Maximalwert abgeschnitten.

Die Audioausgabelautstärke ergibt sich aus der Beziehung:

= *

Der Standardwert für Volumen ist "1.0".

Präzision
Dieser Parameter repräsentiert die mathematische Genauigkeit.

Es legt fest, welche Eingabe-Sample-Formate zulässig sind, was sich auf die Genauigkeit auswirkt
der Lautstärkeskalierung.

fixiert
8-Bit-Festkomma; dies begrenzt das Eingabe-Sample-Format auf U8, S16 und S32.

schweben
32-Bit-Gleitkomma; dies begrenzt das Eingabe-Sample-Format auf FLT. (Ursprünglich)

doppelt
64-Bit-Gleitkomma; dies begrenzt das Eingabe-Sample-Format auf DBL.

noch einmal spielen
Wählen Sie das Verhalten beim Antreffen von ReplayGain-Seitendaten in Eingabeframes.

fallen lassen
Entfernen Sie ReplayGain-Seitendaten und ignorieren Sie deren Inhalt (Standard).

ignorieren
Ignorieren Sie ReplayGain-Seitendaten, aber lassen Sie sie im Rahmen.

verfolgen sind
Bevorzugen Sie die Spurverstärkung, falls vorhanden.

Album
Bevorzugen Sie die Albumverstärkung, falls vorhanden.

replaygain_preamp
Vorverstärkungsverstärkung in dB, die auf die ausgewählte Replaygain-Verstärkung angewendet wird.

Standardwert für replaygain_preamp ist 0.0.

eval
Wird gesetzt, wenn der Volumenausdruck ausgewertet wird.

Es akzeptiert die folgenden Werte:

einmal
Ausdruck nur einmal während der Filterinitialisierung auswerten, oder wenn die Volumen
Befehl wird gesendet

Rahmen
evaluiere den Ausdruck für jeden eingehenden Frame

Standardwert ist einmal.

Der Volumenausdruck kann die folgenden Parameter enthalten.

n Bildnummer (beginnend bei Null)

nb_channels
Anzahl der Kanäle

nb_consumed_samples
Anzahl der vom Filter verbrauchten Samples

nb_proben
Anzahl der Samples im aktuellen Frame

Post ursprüngliche Frameposition in der Datei

pts Rahmen PTS

Beispielrate
Beispielrate

beginnt
PTS zu Beginn des Streams

starte
Uhrzeit zu Beginn des Streams

t Rahmenzeit

tb Zeitstempel-Zeitbasis

Volumen
zuletzt eingestellter Lautstärkewert

Beachten Sie das wann eval eingestellt ist einmal nur die Beispielrate und tb Variablen sind verfügbar,
alle anderen Variablen werden zu NAN ausgewertet.

Befehle

Dieser Filter unterstützt die folgenden Befehle:

Volumen
Ändern Sie den Volumenausdruck. Der Befehl akzeptiert die gleiche Syntax wie der
entsprechende Option.

Wenn der angegebene Ausdruck nicht gültig ist, wird sein aktueller Wert beibehalten.

replaygain_noclip
Verhindern Sie Clipping, indem Sie die angewendete Verstärkung begrenzen.

Standardwert für replaygain_noclip ist 1.

Beispiele

· Halbiere die Eingangslautstärke:

Volumen = Volumen = 0.5
Volumen=Volumen=1/2
Lautstärke = Lautstärke = -6.0206 dB

In allen obigen Beispielen ist der benannte Schlüssel für Volumen kann weggelassen werden, zum Beispiel wie in:

Volumen = 0.5

· Erhöhen Sie die Audioeingangsleistung um 6 Dezibel mit Festkomma-Präzision:

Lautstärke=Lautstärke=6dB:Präzision=Fest

· Fade-Lautstärke nach Zeit 10 mit einer Vernichtungszeit von 5 Sekunden:

volume='if(lt(t,10),1,max(1-(t-10)/5,0))':eval=frame

Lautstärke erkennen
Ermitteln Sie die Lautstärke des Eingangsvideos.

Der Filter hat keine Parameter. Die Eingabe wird nicht geändert. Statistiken über das Volumen werden
im Protokoll gedruckt werden, wenn das Ende des Eingabestroms erreicht ist.

Es zeigt insbesondere das mittlere Volumen (root mean square), das maximale Volumen (auf einer
Stichprobenbasis) und den Beginn eines Histogramms der registrierten Volumenwerte (aus dem
Maximalwert auf ein kumuliertes 1/1000 der Stichproben).

Alle Lautstärken sind in Dezibel bezogen auf den maximalen PCM-Wert.

Beispiele

Hier ein Auszug der Ausgabe:

[Parsed_volumedetect_0 0xa23120] mittlere_Lautstärke: -27 dB
[Parsed_volumedetect_0 0xa23120] max_volume: -4 dB
[Parsed_volumedetect_0 0xa23120] histogram_4db: 6
[Parsed_volumedetect_0 0xa23120] histogram_5db: 62
[Parsed_volumedetect_0 0xa23120] histogram_6db: 286
[Parsed_volumedetect_0 0xa23120] histogram_7db: 1042
[Parsed_volumedetect_0 0xa23120] histogram_8db: 2551
[Parsed_volumedetect_0 0xa23120] histogram_9db: 4609
[Parsed_volumedetect_0 0xa23120] histogram_10db: 8409

Es bedeutet, dass:

· Die mittlere quadratische Energie beträgt ungefähr -27 dB oder 10^-2.7.

· Das größte Sample liegt bei -4 dB, genauer gesagt zwischen -4 dB und -5 dB.

· Es gibt 6 Samples bei -4 dB, 62 bei -5 dB, 286 bei -6 dB usw.

Mit anderen Worten, eine Erhöhung der Lautstärke um +4 dB verursacht kein Clipping, eine Erhöhung um +5
dB verursacht Clipping für 6 Samples usw.

AUDIO QUELLEN


Nachfolgend finden Sie eine Beschreibung der derzeit verfügbaren Audioquellen.

ein Puffer
Puffern Sie Audioframes und stellen Sie sie der Filterkette zur Verfügung.

Diese Quelle ist hauptsächlich für eine programmatische Verwendung gedacht, insbesondere durch die Schnittstelle
definiert in libavfilter/asrc_abuffer.h.

Es akzeptiert die folgenden Parameter:

Zeitbasis
Die Zeitbasis, die für Zeitstempel der übermittelten Frames verwendet wird. Es muss entweder sein
eine Gleitkommazahl oder in Zähler/Nenner Form.

Beispielrate
Die Abtastrate der eingehenden Audiopuffer.

sample_fmt
Das Sample-Format der eingehenden Audiopuffer. Entweder ein Beispielformatname oder seine
entsprechende Integer-Darstellung aus der Aufzählung AVSampleFormat in
libavutil/samprefmt.h

Kanal_Layout
Das Kanallayout der eingehenden Audiopuffer. Entweder ein Kanal-Layout-Name von
channel_layout_map ein libavutil/channel_layout.c oder seine entsprechende ganze Zahl
Darstellung aus den AV_CH_LAYOUT_* Makros in libavutil/channel_layout.h

Kanäle
Die Anzahl der Kanäle der eingehenden Audiopuffer. Wenn beides Kanäle und
Kanal_Layout angegeben werden, müssen sie konsistent sein.

Beispiele

abuffer=sample_rate=44100:sample_fmt=s16p:channel_layout=stereo

weist die Quelle an, planares 16-Bit-Stereo mit Vorzeichen bei 44100 Hz zu akzeptieren. Seit der
Sample-Format mit dem Namen "s16p" entspricht der Nummer 6 und dem "Stereo"-Kanal-Layout
entspricht dem Wert 0x3, dies entspricht:

abuffer=sample_rate=44100:sample_fmt=6:channel_layout=0x3

aevalsrc
Generieren Sie ein Audiosignal, das durch einen Ausdruck angegeben wird.

Diese Quelle akzeptiert als Eingabe einen oder mehrere Ausdrücke (einen für jeden Kanal), die
ausgewertet und zur Generierung eines entsprechenden Audiosignals verwendet.

Diese Quelle akzeptiert die folgenden Optionen:

ausdrücken
Legen Sie die durch '|' getrennte Liste der Ausdrücke für jeden einzelnen Kanal fest. Falls die
Kanal_Layout Option nicht angegeben ist, hängt das ausgewählte Kanallayout von der
Anzahl der bereitgestellten Ausdrücke. Andernfalls wird der zuletzt angegebene Ausdruck angewendet auf
die restlichen Ausgangskanäle.

Kanal_Layout, c
Stellen Sie das Kanallayout ein. Die Anzahl der Kanäle im angegebenen Layout muss gleich sein
auf die Anzahl der angegebenen Ausdrücke.

Dauer, d
Legen Sie die Mindestdauer der Audioquelle fest. Sehen Uhrzeit Dauer Abschnitt in
ffmpeg-utils(1) manuell für die akzeptierte Syntax. Beachten Sie, dass die resultierende Dauer möglicherweise
länger als die angegebene Dauer sein, da das generierte Audio immer am
Ende eines kompletten Rahmens.

Wenn nicht angegeben oder die angegebene Dauer negativ ist, soll das Audio sein
für immer generiert.

nb_proben, n
Legen Sie die Anzahl der Samples pro Kanal und jedes Ausgabeframe fest, standardmäßig auf 1024.

Beispielrate, s
Geben Sie die Abtastrate an, standardmäßig ist 44100.

Jeder Ausdruck in ausdrücken kann folgende Konstanten enthalten:

n Nummer der ausgewerteten Probe, beginnend bei 0

t Zeit der ausgewerteten Probe in Sekunden, beginnend bei 0

s Beispielrate

Beispiele

· Stille erzeugen:

aevalsrc=0

· Erzeuge ein Sinussignal mit einer Frequenz von 440 Hz, setze die Abtastrate auf 8000 Hz:

aevalsrc="/sin(440*2*PI*t):s=8000"

· Generieren Sie ein Zweikanalsignal, legen Sie das Kanallayout fest (Front Center + Back
Mitte) explizit:

aevalsrc="/sin(420*2*PI*t)|cos(430*2*PI*t):c=FC|BC"

· Weißes Rauschen erzeugen:

aevalsrc="/-2+zufällig(0) "

· Ein amplitudenmoduliertes Signal erzeugen:

aevalsrc="/sin(10*2*PI*t)*sin(880*2*PI*t)"

· Erzeuge binaurale 2.5-Hz-Beats auf einem 360-Hz-Träger:

aevalsrc="/0.1*sin(2*PI*(360-2.5/2)*t) | 0.1*sin(2*PI*(360+2.5/2)*t)"

annullsrc
Die Null-Audioquelle gibt unverarbeitete Audioframes zurück. Es ist hauptsächlich als Vorlage nützlich
und zur Verwendung in Analyse-/Debugging-Tools oder als Quelle für Filter, die
ignorieren Sie die Eingabedaten (zum Beispiel den Sox-Synth-Filter).

Diese Quelle akzeptiert die folgenden Optionen:

Kanal_Layout, cl
Gibt das Kanallayout an und kann entweder eine ganze Zahl oder eine Zeichenfolge sein, die a . darstellt
Kanal-Layout. Der Standardwert von Kanal_Layout ist "Stereo".

Überprüfen Sie die channel_layout_map-Definition in libavutil/channel_layout.c für die Kartierung
zwischen Strings und Kanallayoutwerten.

Beispielrate, r
Gibt die Abtastrate an und ist standardmäßig 44100.

nb_proben, n
Legen Sie die Anzahl der Samples pro angeforderten Frames fest.

Beispiele

· Stellen Sie die Abtastrate auf 48000 Hz und das Kanallayout auf AV_CH_LAYOUT_MONO ein.

anullsrc=r=48000:cl=4

· Führen Sie die gleiche Operation mit einer offensichtlicheren Syntax aus:

anullsrc=r=48000:cl=mono

Alle Parameter müssen explizit definiert werden.

flite
Synthetisieren Sie eine Sprachäußerung mit der libflite-Bibliothek.

Um die Kompilierung dieses Filters zu aktivieren, müssen Sie FFmpeg mit konfigurieren
"--enable-libflite".

Beachten Sie, dass die Flite-Bibliothek nicht threadsicher ist.

Der Filter akzeptiert die folgenden Optionen:

list_voices
Wenn auf 1 gesetzt, listen Sie die Namen der verfügbaren Stimmen auf und beenden Sie sofort. Standard
Wert ist 0.

nb_proben, n
Legen Sie die maximale Anzahl von Samples pro Frame fest. Der Standardwert ist 512.

Textdatei
Legen Sie den Dateinamen fest, der den zu sprechenden Text enthält.

Text
Stellen Sie den Text auf Sprechen ein.

Stimme, v
Stellen Sie die Stimme ein, die für die Sprachsynthese verwendet werden soll. Der Standardwert ist "kal". Siehe auch die
list_voices .

Beispiele

· Aus Datei lesen sprache.txt, und synthetisieren den Text mit der Standard-Flite-Stimme:

flite=textdatei=speech.txt

· Lesen Sie den angegebenen Text, indem Sie die "slt"-Stimme auswählen:

flite=text='Lebe wohl, armer Teufel von einem Sub-Sub, dessen Kommentator ich bin':voice=slt

· Text in ffmpeg eingeben:

ffmpeg -f lavfi -i flite=text='Lebe wohl, armer Teufel von einem Sub-Sub, dessen Kommentator ich bin':voice=slt

· Machen ffplay Sprechen Sie den angegebenen Text mit "flite" und dem "lavfi"-Gerät:

ffplay -f lavfi flite=text='Nicht mehr trauern, was du getan hast.'

Weitere Informationen zu libflite finden Sie unter:http://www.speech.cs.cmu.edu/flite/>

ihre
Generieren Sie ein Audiosignal aus einer Sinuswelle mit einer Amplitude von 1/8.

Das Audiosignal ist bitgenau.

Der Filter akzeptiert die folgenden Optionen:

Frequenz, f
Stellen Sie die Trägerfrequenz ein. Der Standardwert ist 440 Hz.

beep_faktor, b
Aktivieren Sie jede Sekunde einen periodischen Piepton mit der Frequenz beep_faktor mal der träger
Frequenz. Der Standardwert ist 0, was bedeutet, dass der Signalton deaktiviert ist.

Beispielrate, r
Geben Sie die Abtastrate an, der Standardwert ist 44100.

Dauer, d
Geben Sie die Dauer des generierten Audiostreams an.

Samples_per_Frame
Legen Sie die Anzahl der Samples pro Ausgabeframe fest, der Standardwert ist 1024.

Beispiele

· Erzeuge eine einfache 440 Hz Sinuswelle:

ihre

· Erzeuge eine 220-Hz-Sinuswelle mit einem 880-Hz-Piepton pro Sekunde für 5 Sekunden:

Sinus=220:4:d=5
Sinus=f=220:b=4:d=5
Sinus=Frequenz=220:Beep_Faktor=4:Dauer=5

AUDIO SPÜLEN


Nachfolgend finden Sie eine Beschreibung der derzeit verfügbaren Audiosenken.

Puffersink
Puffern Sie Audioframes und stellen Sie sie am Ende der Filterkette zur Verfügung.

Diese Senke ist hauptsächlich für den programmatischen Gebrauch gedacht, insbesondere über die Schnittstelle
definiert in libavfilter/buffersink.h oder das Optionssystem.

Es akzeptiert einen Zeiger auf eine AVABufferSinkContext-Struktur, die den eingehenden . definiert
Pufferformate, die als undurchsichtiger Parameter an "avfilter_init_filter" übergeben werden für
Initialisierung.

annullsink
Null-Audiosenke; tun absolut nichts mit dem Eingangsaudio. Es ist hauptsächlich nützlich als
Vorlage und zur Verwendung in Analyse-/Debugging-Tools.

VIDEO FILTER


Wenn Sie Ihren FFmpeg-Build konfigurieren, können Sie jeden der vorhandenen Filter mit . deaktivieren
"--filter deaktivieren". Die Konfigurationsausgabe zeigt die Videofilter an, die in Ihrem . enthalten sind
bauen.

Nachfolgend finden Sie eine Beschreibung der derzeit verfügbaren Videofilter.

Alphaextrakt
Extrahieren Sie die Alpha-Komponente aus der Eingabe als Graustufenvideo. Das ist besonders praktisch
an. Nach der Installation können Sie HEIC-Dateien mit der Alphamerge Filter.

Alphamerge
Addiere oder ersetze die Alphakomponente der primären Eingabe durch den Graustufenwert von a
zweiter Eingang. Dies ist für die Verwendung mit Alphaextrakt um die Übertragung zu ermöglichen oder
Speicherung von Frame-Sequenzen mit Alpha in einem Format, das Alpha nicht unterstützt
Kanal.

Um beispielsweise Vollbilder aus einem normalen YUV-codierten Video und einem separaten
Video erstellt mit Alphaextrakt, könnten Sie verwenden:

Film=in_alpha.mkv[alpha]; [in][alpha] alphamerge [aus]

Da dieser Filter für die Rekonstruktion ausgelegt ist, arbeitet er mit Frame-Sequenzen ohne
unter Berücksichtigung von Zeitstempeln und endet, wenn eine der Eingaben das Ende des Streams erreicht. Dieser Wille
Probleme verursachen, wenn Ihre Codierungspipeline Frames auslässt. Wenn Sie versuchen, ein Bild anzuwenden
als Overlay zu einem Videostream, betrachten Sie die Auflage stattdessen filtern.

Arsch
Gleich wie die Untertitel filter, außer dass libavcodec und libavformat nicht erforderlich sind, um
arbeiten. Andererseits ist es auf ASS-Untertiteldateien (Advanced Substation Alpha) beschränkt.

Dieser Filter akzeptiert die folgende Option zusätzlich zu den üblichen Optionen aus dem
Untertitel Filter:

Gestaltung
Stellen Sie die Shaping-Engine ein

Verfügbare Werte sind:

Auto
Die Standard-Libass-Shaping-Engine, die die beste verfügbare ist.

einfach
Schneller, schriftunabhängiger Shaper, der nur Ersetzungen durchführen kann

Komplex
Langsamerer Shaper mit OpenType für Ersetzungen und Positionierung

Die Vorgabe ist "automatisch".

Atadenoise
Wenden Sie einen adaptiven zeitlichen Mittelwert-Denoiser auf den Videoeingang an.

Der Filter akzeptiert die folgenden Optionen:

0a Schwellwert A für die 1. Ebene einstellen. Der Standardwert ist 0.02. Gültiger Bereich ist 0 bis 0.3.

0b Schwellwert B für die 1. Ebene einstellen. Der Standardwert ist 0.04. Gültiger Bereich ist 0 bis 5.

1a Schwellwert A für 2. Ebene einstellen. Der Standardwert ist 0.02. Gültiger Bereich ist 0 bis 0.3.

1b Schwellenwert B für 2. Ebene einstellen. Der Standardwert ist 0.04. Gültiger Bereich ist 0 bis 5.

2a Schwellenwert A für 3. Ebene einstellen. Der Standardwert ist 0.02. Gültiger Bereich ist 0 bis 0.3.

2b Schwellenwert B für 3. Ebene einstellen. Der Standardwert ist 0.04. Gültiger Bereich ist 0 bis 5.

Threshold A reagiert auf abrupte Änderungen des Eingangssignals und Threshold B
ist darauf ausgelegt, auf kontinuierliche Änderungen des Eingangssignals zu reagieren.

s Stellen Sie den Filter für die Anzahl der Frames ein, der für die Mittelwertbildung verwendet wird. Der Standardwert ist 33. Muss eine ungerade Zahl sein
im Bereich [5, 129].

bbox
Berechnen Sie den Begrenzungsrahmen für die nicht schwarzen Pixel in der Luminanzebene des Eingabebildes.

Dieser Filter berechnet den Begrenzungsrahmen, der alle Pixel mit einem Luminanzwert enthält
größer als der zulässige Mindestwert. Die Parameter, die die Bounding Box beschreiben, sind
auf dem Filterprotokoll gedruckt.

Der Filter akzeptiert die folgende Option:

min_val
Stellen Sie den minimalen Luminanzwert ein. Standard ist 16.

schwarz erkennen
Erkennen Sie Videointervalle, die (fast) vollständig schwarz sind. Kann nützlich sein, um Kapitel zu erkennen
Übergänge, Werbespots oder ungültige Aufnahmen. Ausgabezeilen enthalten die Zeit für die
Beginn, Ende und Dauer des erkannten Schwarzintervalls, ausgedrückt in Sekunden.

Um die Ausgabezeilen anzuzeigen, müssen Sie den Loglevel mindestens auf den
AV_LOG_INFO-Wert.

Der Filter akzeptiert die folgenden Optionen:

schwarze_min_dauer, d
Stellen Sie die minimale erkannte Schwarzdauer in Sekunden ein. Es muss ein Nicht-
negative Gleitkommazahl.

Der Standardwert ist 2.0.

picture_black_ratio_th, Bild_th
Legen Sie den Schwellenwert fest, um ein Bild als "schwarz" zu betrachten. Drücken Sie den Mindestwert für aus
das Verhältnis:

/

für die ein Bild als schwarz gilt. Der Standardwert ist 0.98.

pixel_schwarz_th, pix_th
Legen Sie den Schwellenwert fest, um ein Pixel als "schwarz" zu betrachten.

Der Schwellenwert drückt den maximalen Pixelluminanzwert aus, für den ein Pixel
gilt als "schwarz". Der bereitgestellte Wert wird nach folgender Gleichung skaliert:

= + *

Luminanzbereich_Größe und luminance_minimum_value hängen vom Eingangsvideoformat ab, die
Bereich ist [0-255] für YUV-Vollbereichsformate und [16-235] für YUV-Nicht-Vollbereich
Formate.

Der Standardwert ist 0.10.

Das folgende Beispiel setzt den maximalen Pixelschwellenwert auf den minimalen Wert und erkennt
nur schwarze Intervalle von 2 oder mehr Sekunden:

blackdetect=d=2:pix_th=0.00

schwarzer Rahmen
Erkennen Sie Frames, die (fast) vollständig schwarz sind. Kann nützlich sein, um Kapitel zu erkennen
Übergänge oder Werbung. Ausgabezeilen bestehen aus der Framenummer des erkannten
Frame, der Schwarzanteil, die Position in der Datei, falls bekannt oder -1 und die
Zeitstempel in Sekunden.

Um die Ausgabezeilen anzuzeigen, müssen Sie den Loglevel mindestens auf den
AV_LOG_INFO-Wert.

Es akzeptiert die folgenden Parameter:

Betrag
Der Prozentsatz der Pixel, die unter dem Schwellenwert liegen müssen; es ist standardmäßig auf 98 eingestellt.

Schwelle, dreschen
Der Schwellenwert, unterhalb dessen ein Pixelwert als schwarz betrachtet wird; es ist standardmäßig 32.

Mischung, tblend
Mischen Sie zwei Videoframes ineinander.

Der Filter "blend" nimmt zwei Input-Streams und gibt einen Stream aus, der erste Input ist der
"obere" Ebene und die zweite Eingabe ist "untere" Ebene. Ausgang endet bei kürzestem Eingang
beendet.

Der Filter "tblend" (Time Blend) nimmt zwei aufeinanderfolgende Frames aus einem einzigen Stream und
gibt das Ergebnis aus, das durch Mischen des neuen Frames über dem alten Frame erhalten wurde.

Eine Beschreibung der akzeptierten Optionen folgt.

c0_mode
c1_mode
c2_mode
c3_mode
all_mode
Legen Sie den Mischmodus für eine bestimmte Pixelkomponente oder alle Pixelkomponenten fest, falls
all_mode. Standardwert ist "normal".

Verfügbare Werte für Komponentenmodi sind:

Zusatz
und
durchschnittlich
brennen
verdunkeln
Unterschied
Unterschied128
aufteilen
Ausweichen
Ausschluss
glühen
hartes Licht
hartmix
aufhellen
lineares Licht
multiplizieren
Negation
normal
or
Auflage
Phönix
Nadellicht
reflektieren
Bildschirm
Sanftes Licht
subtrahieren
Strahlendes Licht
xor
c0_opacity
c1_opacity
c2_opacity
c3_opacity
all_opacity
Legen Sie die Deckkraft der Mischung für eine bestimmte Pixelkomponente oder alle Pixelkomponenten fest, falls
all_opacity. Wird nur in Kombination mit Pixelkomponenten-Mischmodi verwendet.

c0_expr
c1_expr
c2_expr
c3_expr
all_expr
Mischungsausdruck für eine bestimmte Pixelkomponente oder alle Pixelkomponenten festlegen, falls
all_expr. Beachten Sie, dass verwandte Modusoptionen ignoriert werden, wenn diese gesetzt sind.

Die Ausdrücke können die folgenden Variablen verwenden:

N Die fortlaufende Nummer des gefilterten Frames, beginnend bei 0.

X
Y die Koordinaten der aktuellen Probe

W
H die Breite und Höhe der aktuell gefilterten Ebene

SW
SH Breiten- und Höhenskalierung abhängig von der aktuell gefilterten Ebene. Es ist das Verhältnis
zwischen der entsprechenden Anzahl von Pixeln der Luma-Ebene und den Pixeln der aktuellen Ebene.
ZB für YUV4:2:0 sind die Werte "1,1" für die Luma-Ebene und "0.5,0.5" für
Chroma-Ebenen.

T Zeit des aktuellen Frames, ausgedrückt in Sekunden.

OBEN, A
Wert der Pixelkomponente an der aktuellen Position für den ersten Videoframe (obere Ebene).

UNTERSEITE, B
Wert der Pixelkomponente an der aktuellen Position für das zweite Videobild (unten
Schicht).

kürzeste
Beendigung erzwingen, wenn die kürzeste Eingabe beendet wird. Der Standardwert ist 0. Diese Option ist
nur für den Filter "blend" definiert.

wiederholen
Fahren Sie mit dem Anwenden des letzten unteren Frames nach dem Ende des Streams fort. Ein Wert von 0
deaktivieren Sie den Filter, nachdem das letzte Bild der unteren Ebene erreicht wurde. Standard ist 1.
Diese Option ist nur für den Filter "blend" definiert.

Beispiele

· Wenden Sie den Übergang von der unteren Schicht zur oberen Schicht in den ersten 10 Sekunden an:

blend=all_expr='A*(if(gte(T,10),1,T/10))+B*(1-(if(gte(T,10),1,T/10)))'

· 1x1-Schachbrett-Effekt anwenden:

blend=all_expr='if(eq(mod(X,2),mod(Y,2)),A,B)'

· Wenden Sie den linken Effekt aufdecken an:

blend=all_expr='if(gte(N*SW+X,W),A,B)'

· Uncover Down-Effekt anwenden:

blend=all_expr='if(gte(YN*SH,0),A,B)'

· Wenden Sie den Aufdecken-Links-Effekt an:

blend=all_expr='if(gte(T*SH*40+Y,H)*gte((T*40*SW+X)*B/H,W),A,B)'

· Unterschiede zwischen dem aktuellen und dem vorherigen Frame anzeigen:

tblend=all_mode=difference128

Box Unschärfe
Wenden Sie einen Boxblur-Algorithmus auf das Eingabevideo an.

Es akzeptiert die folgenden Parameter:

luma_radius, lr
luma_power, lp
Farbradius, cr
chroma_power, cp
alpha_radius, ar
alpha_power, ap

Eine Beschreibung der akzeptierten Optionen folgt.

luma_radius, lr
Farbradius, cr
alpha_radius, ar
Legen Sie einen Ausdruck für den Boxradius in Pixeln fest, der zum Verwischen der entsprechenden verwendet wird
Eingabeebene.

Der Radiuswert muss eine nicht negative Zahl sein und darf nicht größer sein als der Wert
des Ausdrucks "min(w,h)/2" für die Luma- und Alpha-Ebene und von "min(cw,ch)/2"
für die Chroma-Ebenen.

Standardwert für luma_radius ist "2". Wenn nicht angegeben, chroma_radius und alpha_radius
Standardwert auf den entsprechenden Wert eingestellt für luma_radius.

Die Ausdrücke können die folgenden Konstanten enthalten:

w
h Die Eingabebreite und -höhe in Pixeln.

cw
ch Die Breite und Höhe des eingegebenen Chroma-Bildes in Pixeln.

hsub
vssub
Die horizontalen und vertikalen Chroma-Subsample-Werte. Zum Beispiel für das Pixel
Format "yuv422p", hsub ist 2 und vssub ist 1.

luma_power, lp
chroma_power, cp
alpha_power, ap
Geben Sie an, wie oft der Boxblur-Filter auf die entsprechende Ebene angewendet wird.

Standardwert für luma_power ist 2. Wenn nicht angegeben, chroma_power und alpha_power
Standardwert auf den entsprechenden Wert eingestellt für luma_power.

Ein Wert von 0 deaktiviert den Effekt.

Beispiele

· Wenden Sie einen Boxblur-Filter an, wobei Luma, Chroma und Alpha-Radien auf 2 eingestellt sind:

boxblur=luma_radius=2:luma_power=1
Boxunschärfe=2:1

· Stellen Sie den Luma-Radius auf 2 und den Alpha- und Chroma-Radius auf 0:

boxblur=2:1:cr=0:ar=0

· Stellen Sie Luma- und Chroma-Radien auf einen Bruchteil der Videodimension ein:

boxblur=luma_radius=min(h\,w)/10:luma_power=1:chroma_radius=min(cw\,ch)/10:chroma_power=1

Codecansicht
Visualisieren Sie Informationen, die von einigen Codecs exportiert wurden.

Einige Codecs können Informationen mithilfe von Seitendaten oder auf andere Weise durch Frames exportieren. Für
Einige MPEG-basierte Codecs exportieren beispielsweise Bewegungsvektoren über die export_mvs Flagge in der
Codec flags2 .

Der Filter akzeptiert die folgende Option:

mv Stellen Sie Bewegungsvektoren zur Visualisierung ein.

Verfügbare Flaggen für mv sind:

pf vorwärts vorhergesagte MVs von P-Frames

bf vorwärts vorhergesagte MVs von B-Frames

bb rückwärts vorhergesagte MVs von B-Frames

Beispiele

· Visualisiert multidirektionale MVs von P- und B-Frames mit ffplay:

ffplay -flags2 +export_mvs input.mpg -vf codecview=mv=pf+bf+bb

Farbbalance
Ändern Sie die Intensität der Primärfarben (Rot, Grün und Blau) von Eingabebildern.

Mit dem Filter kann ein Eingabebild in den Schatten, Mitteltönen oder Lichtern angepasst werden
Regionen für die Rot-Cyan-, Grün-Magenta- oder Blau-Gelb-Balance.

Ein positiver Anpassungswert verschiebt die Balance in Richtung der Primärfarbe, ein negativer Wert
in Richtung der Komplementärfarbe.

Der Filter akzeptiert die folgenden Optionen:

rs
gs
bs Passen Sie rote, grüne und blaue Schatten (dunkelste Pixel) an.

rm
gm
bm Passen Sie rote, grüne und blaue Mitteltöne (mittlere Pixel) an.

rh
gh
bh Passen Sie rote, grüne und blaue Highlights (hellste Pixel) an.

Zulässige Bereiche für Optionen sind "[-1.0, 1.0]". Standardwerte sind 0.

Beispiele

· Fügen Sie den Schatten einen roten Farbstich hinzu:

Farbbalance=rs=.3

Farbschlüssel
Farbkeying im RGB-Farbraum.

Der Filter akzeptiert die folgenden Optionen:

Farbe
Die Farbe, die durch Transparenz ersetzt wird.

Ähnlichkeit
Ähnlichkeitsprozentsatz mit der Schlüsselfarbe.

0.01 stimmt nur mit der genauen Tastenfarbe überein, während 1.0 mit allem übereinstimmt.

mischen
Mischungsprozentsatz.

0.0 macht Pixel entweder vollständig transparent oder gar nicht transparent.

Höhere Werte ergeben halbtransparente Pixel, bei höherer Transparenz umso mehr
ähnlich ist die Pixelfarbe der Schlüsselfarbe.

Beispiele

· Machen Sie jedes grüne Pixel im Eingabebild transparent:

ffmpeg -i input.png -vf colorkey=green out.png

· Überlagern Sie ein Greenscreen-Video über ein statisches Hintergrundbild.

ffmpeg -i background.png -i video.mp4 -filter_complex "[1:v]colorkey=0x3BBD1E:0.3:0.2[ckout];[0:v][ckout]overlay[out]" -map "[out]" ausgabe.flv

Farbstufen
Passen Sie die Videoeingangsbilder mithilfe von Pegeln an.

Der Filter akzeptiert die folgenden Optionen:

Rimin
gimin
zweimin
zielen
Passen Sie den Rot-, Grün-, Blau- und Alpha-Input-Schwarzpunkt an. Zulässige Bereiche für Optionen sind
"[-1.0, 1.0]". Standardwerte sind 0.

Rimax
Gimax
Bimax
Aimax
Passen Sie den Rot-, Grün-, Blau- und Alpha-Eingangsweißpunkt an. Zulässige Bereiche für Optionen sind
"[-1.0, 1.0]". Standardwerte sind 1.

Eingangspegel werden verwendet, um Lichter (helle Töne) aufzuhellen, Schatten (dunkel) abzudunkeln
Töne), ändern Sie die Balance zwischen hellen und dunklen Tönen.

Romin
gomin
geboren
ömin
Passen Sie den Rot-, Grün-, Blau- und Alpha-Ausgabe-Schwarzpunkt an. Zulässige Bereiche für Optionen sind
"[0, 1.0]". Standardwerte sind 0.

Romantik
gomax
bomax
Aomax
Passen Sie den Rot-, Grün-, Blau- und Alpha-Ausgangsweißpunkt an. Zulässige Bereiche für Optionen sind
"[0, 1.0]". Standardwerte sind 1.

Ausgangspegel ermöglicht die manuelle Auswahl eines eingeschränkten Ausgangspegelbereichs.

Beispiele

· Videoausgabe dunkler machen:

Farbstufen=rimin=0.058:gimin=0.058:bimin=0.058

· Kontrast erhöhen:

colorlevels=rimin=0.039:gimin=0.039:bimin=0.039:rimax=0.96:gimax=0.96:bimax=0.96

· Videoausgabe heller machen:

Farbstufen=rimax=0.902:gimax=0.902:bimax=0.902

· Helligkeit erhöhen:

Farbstufen=romin=0.5:gomin=0.5:bomin=0.5

Farbkanalmischer
Passen Sie die Videoeingangsbilder an, indem Sie die Farbkanäle neu mischen.

Dieser Filter modifiziert einen Farbkanal, indem er die Werte hinzufügt, die den anderen Kanälen zugeordnet sind
der gleichen Pixel. Wenn der zu ändernde Wert beispielsweise rot ist, lautet der Ausgabewert:

= * + * + * + *

Der Filter akzeptiert die folgenden Optionen:

rr
rg
rb
ra Passen Sie den Beitrag der Rot-, Grün-, Blau- und Alphakanäle für die Ausgabe Rot an
Kanal. Standard ist 1 für rrund 0 für rg, rb und ra.

gr
gg
gb
ga Passen Sie den Beitrag der roten, grünen, blauen und Alpha-Eingangskanäle für den grünen Ausgang an
Kanal. Standard ist 1 für ggund 0 für gr, gb und ga.

br
bg
bb
ba Passen Sie den Beitrag der roten, grünen, blauen und Alpha-Eingangskanäle für den blauen Ausgang an
Kanal. Standard ist 1 für bbund 0 für br, bg und ba.

ar
ag
ab
aa Passen Sie den Beitrag der roten, grünen, blauen und Alpha-Eingangskanäle für den Alpha-Ausgang an
Kanal. Standard ist 1 für aaund 0 für ar, ag und ab.

Zulässige Bereiche für Optionen sind "[-2.0, 2.0]".

Beispiele

· Quelle in Graustufen umwandeln:

colorchannelmixer=.3:.4:.3:0:.3:.4:.3:0:.3:.4:.3

· Sepia-Töne simulieren:

colorchannelmixer=.393:.769:.189:0:.349:.686:.168:0:.272:.534:.131

Farbmatrix
Farbmatrix konvertieren.

Der Filter akzeptiert die folgenden Optionen:

src
dst Geben Sie die Quell- und Zielfarbmatrix an. Beide Werte müssen angegeben werden.

Die akzeptierten Werte sind:

bt709
BT.709

bt601
BT.601

smpte240m
SMPTE-240M

Fcc FCC

Um beispielsweise von BT.601 in SMPTE-240M zu konvertieren, verwenden Sie den Befehl:

colormatrix=bt601:smpte240m

Kopieren
Kopieren Sie die Eingangsquelle unverändert in die Ausgabe. Dies ist hauptsächlich für Testzwecke nützlich.

Ernte
Beschneiden Sie das Eingabevideo auf die angegebenen Abmessungen.

Es akzeptiert die folgenden Parameter:

w, aus_w
Die Breite des Ausgabevideos. Der Standardwert ist "iw". Dieser Ausdruck wird nur ausgewertet
einmal während der Filterkonfiguration oder wenn die w or aus_w Befehl wird gesendet.

h, aus_h
Die Höhe des Ausgabevideos. Der Standardwert ist "ih". Dieser Ausdruck wird ausgewertet
nur einmal während der Filterkonfiguration, oder wenn die h or aus_h Befehl wird gesendet.

x Die horizontale Position des linken Rands des Ausgabevideos im Eingabevideo. Es
ist standardmäßig "(in_w-out_w)/2". Dieser Ausdruck wird pro Frame ausgewertet.

y Die vertikale Position des oberen Rands des Ausgabevideos im Eingabevideo. Es
ist standardmäßig "(in_h-out_h)/2". Dieser Ausdruck wird pro Frame ausgewertet.

keep_aspekt
Wenn es auf 1 gesetzt ist, wird das Seitenverhältnis der Ausgabeanzeige mit dem der Eingabe erzwungen, um
Ändern des Seitenverhältnisses der Ausgabeprobe. Es ist standardmäßig 0.

Das aus_w, aus_h, x, y Parameter sind Ausdrücke, die die folgenden Konstanten enthalten:

x
y Die berechneten Werte für x und y. Sie werden für jeden neuen Frame ausgewertet.

in_w
in_h
Die Eingabebreite und -höhe.

iw
ih Das sind die gleichen wie in_w und in_h.

aus_w
aus_h
Die Breite und Höhe der Ausgabe (beschnitten).

ow
oh Das sind die gleichen wie aus_w und aus_h.

a wie iw / ih

sar Seitenverhältnis des Eingabebeispiels

geben das Seitenverhältnis der Eingabeanzeige ist dasselbe wie (iw / ih) * sar

hsub
vssub
horizontale und vertikale Chroma-Subsample-Werte. Zum Beispiel für das Pixelformat
"yuv422p" hsub ist 2 und vssub ist 1.

n Die Nummer des Eingabeframes, beginnend bei 0.

Post die Position in der Datei des Eingabeframes, NAN falls unbekannt

t Der in Sekunden ausgedrückte Zeitstempel. Es ist NAN, wenn der Eingabezeitstempel unbekannt ist.

Der Ausdruck für aus_w kann vom Wert von abhängen aus_h, und der Ausdruck für aus_h
kann davon abhängen aus_w, aber darauf können sie sich nicht verlassen x und y, wie x und y werden ausgewertet nach
aus_w und aus_h.

Das x und y Parameter spezifizieren die Ausdrücke für die Position der oberen linken Ecke von
der Ausgabebereich (nicht beschnitten). Sie werden für jeden Frame ausgewertet. Wenn der ausgewertete Wert
ungültig ist, wird er dem nächsten gültigen Wert angenähert.

Der Ausdruck für x kann davon abhängen y, und der Ausdruck für y kann davon abhängen x.

Beispiele

· Beschneidungsbereich mit der Größe 100x100 an Position (12,34).

Zuschneiden=100:100:12:34

Mit benannten Optionen wird das obige Beispiel zu:

Zuschneiden=w=100:h=100:x=12:y=34

· Beschneiden Sie den zentralen Eingabebereich mit der Größe 100x100:

Zuschneiden=100:100

· Beschneiden Sie den zentralen Eingabebereich mit der Größe 2/3 des Eingabevideos:

Zuschneiden=2/3*in_w:2/3*in_h

· Beschneiden Sie das zentrale Quadrat des Eingangsvideos:

Crop=out_w=in_h
Crop=in_h

· Begrenzen Sie das Rechteck mit der oberen linken Ecke an Position 100:100 und dem
rechte untere Ecke, die der rechten unteren Ecke des Eingabebildes entspricht.

Crop=in_w-100:in_h-100:100:100

· Beschneiden Sie 10 Pixel vom linken und rechten Rand und 20 Pixel vom oberen und unteren Rand
Grenzen

Crop=in_w-2*10:in_h-2*20

· Behalten Sie nur das untere rechte Viertel des Eingabebilds bei:

Crop=in_w/2:in_h/2:in_w/2:in_h/2

· Erntehöhe für griechische Harmonie:

Crop=in_w:1/PHI*in_w

· Zittereffekt anwenden:

crop=in_w/2:in_h/2:(in_w-out_w)/2+((in_w-out_w)/2)*sin(n/10):(in_h-out_h)/2 +((in_h-out_h)/2)*sin(n/7)

· Wenden Sie je nach Zeitstempel einen unregelmäßigen Kameraeffekt an:

crop=in_w/2:in_h/2:(in_w-out_w)/2+((in_w-out_w)/2)*sin(t*10):(in_h-out_h)/2 +((in_h-out_h)/2)*sin(t*13)"

· Setzen Sie x abhängig vom Wert von y:

crop=in_w/2:in_h/2:y:10+10*sin(n/10)

Befehle

Dieser Filter unterstützt die folgenden Befehle:

w, aus_w
h, aus_h
x
y Breite/Höhe des Ausgabevideos und die horizontale/vertikale Position im Eingang einstellen
Video. Der Befehl akzeptiert dieselbe Syntax wie die entsprechende Option.

Wenn der angegebene Ausdruck nicht gültig ist, wird sein aktueller Wert beibehalten.

Zuschneiden
Automatische Erkennung der Zuschneidegröße.

Es berechnet die notwendigen Zuschneideparameter und druckt die empfohlenen Parameter über
das Logging-System. Die erkannten Abmessungen entsprechen dem nicht schwarzen Bereich der Eingabe
Video.

Es akzeptiert die folgenden Parameter:

begrenzen
Stellen Sie einen höheren Schwarzwert-Schwellenwert ein, der optional von Null angegeben werden kann (0)
zu allem (255 für 8bit-basierte Formate). Ein Intensitätswert größer als der eingestellte
Wert wird als nicht schwarz betrachtet. Der Standardwert ist 24. Sie können auch einen Wert angeben
zwischen 0.0 und 1.0, die je nach Bittiefe des Pixels skaliert werden
Format.

rund
Der Wert, durch den die Breite/Höhe teilbar sein soll. Der Standardwert ist 16. Der Offset
wird automatisch angepasst, um das Video zu zentrieren. Verwenden Sie 2, um nur gerade Abmessungen zu erhalten
(wird für 4:2:2-Video benötigt). 16 ist am besten für die Codierung in die meisten Videocodecs geeignet.

reset_count, zurückstellen
Stellen Sie den Zähler ein, der bestimmt, nach wie vielen Frames cropdetect den
zuvor erkannten größten Videobereich und beginnen Sie erneut, um das aktuelle Optimum zu erkennen
Erntebereich. Der Standardwert ist 0.

Dies kann nützlich sein, wenn Kanallogos den Videobereich verzerren. 0 bedeutet „nie“
reset' und gibt den größten Bereich zurück, der während der Wiedergabe angetroffen wurde.

Kurven
Wenden Sie Farbanpassungen mithilfe von Kurven an.

Dieser Filter ähnelt den Kurvenwerkzeugen von Adobe Photoshop und GIMP. Jede Komponente (rot,
grün und blau) hat seine Werte definiert durch N Schlüsselpunkte mit einem glatten
Kurve. Die x-Achse repräsentiert die Pixelwerte aus dem Eingabeframe und die y-Achse die neuen
Pixelwerte, die für den Ausgaberahmen eingestellt werden sollen.

Standardmäßig wird eine Komponentenkurve durch die beiden Punkte definiert (0;0) und (1;1). Dies schafft eine
gerade Linie, bei der jeder ursprüngliche Pixelwert auf seinen eigenen Wert "angepasst" wird, was bedeutet
keine Änderung am Bild.

Mit dem Filter können Sie diese beiden Punkte neu definieren und weitere hinzufügen. Eine neue Kurve (mit a
natürliche kubische Spline-Interpolation) werden so definiert, dass sie alle diese neuen
Koordinaten. Die neu definierten Punkte müssen über der x-Achse streng ansteigend sein, und
ihr x und y Werte müssen in der [0;1] Intervall. Wenn die berechneten Kurven zufällig gehen
außerhalb der Vektorräume werden die Werte entsprechend abgeschnitten.

Wenn in "x=0" kein Schlüsselpunkt definiert ist, fügt der Filter automatisch a . ein (0;0)
Punkt. Auf die gleiche Weise wird der Filter, wenn in "x=1" kein Schlüsselpunkt definiert ist,
automatisch einfügen a (1;1) Punkt.

Der Filter akzeptiert die folgenden Optionen:

voreingestellten
Wählen Sie eine der verfügbaren Farbvoreinstellungen aus. Diese Option kann zusätzlich zum
r, g, b Parameter; in diesem Fall haben die späteren Optionen Vorrang vor der Voreinstellung
Werte. Verfügbare Voreinstellungen sind:

keine
color_negativ
Kreuzprozess
dunkler
Kontrast erhöhen
Feuerzeug
linearer_kontrast
mittlerer_kontrast
Negativ
starker_kontrast
Jahrgang

Standard ist "keine".

Meister, m
Legen Sie die Hauptschlüsselpunkte fest. Diese Punkte definieren ein zweites Durchlauf-Mapping. es ist
manchmal auch als "Luminanz"- oder "Wert"-Zuordnung bezeichnet. Es kann verwendet werden mit r, g, b or alle
da es sich wie eine Nachbearbeitungs-LUT verhält.

roten r
Legen Sie die Eckpunkte für die rote Komponente fest.

grün g
Legen Sie die Eckpunkte für die grüne Komponente fest.

blau, b
Legen Sie die Eckpunkte für die blaue Komponente fest.

alle Legen Sie die Eckpunkte für alle Komponenten (außer Master) fest. Kann zusätzlich verwendet werden
zu den anderen Schlüsselpunkten Komponentenoptionen. In diesem Fall wird die nicht gesetzte(n) Komponente(n)
darauf zurückgreifen alle Einstellung.

ps-Datei
Geben Sie eine Photoshop-Kurvendatei (".asv") an, aus der die Einstellungen importiert werden sollen.

Um einige Konflikte in der Filtergraph-Syntax zu vermeiden, muss jede Schlüsselpunktliste mit . definiert werden
folgende Syntax: "x0/y0 x1/y1 x2/y2 ...".

Beispiele

· Erhöhen Sie leicht die mittlere Blaustufe:

Kurven=blau='0.5/0.58'

· Vintage-Effekt:

curves=r='0/0.11 .42/.51 1/0.95':g='0.50/0.48':b='0/0.22 .49/.44 1/0.8'

Hier erhalten wir für jede Komponente die folgenden Koordinaten:

roten "(0;0.11) (0.42;0.51) (1;0.95)"

grünen
"(0;0) (0.50;0.48) (1;1)"

blau
"(0;0.22) (0.49;0.44) (1;0.80)"

· Das vorherige Beispiel lässt sich auch mit dem dazugehörigen eingebauten Preset erreichen:

Kurven=Voreinstellung=Vintage

· Oder einfach:

Kurven = Vintage

· Verwenden Sie eine Photoshop-Vorgabe und definieren Sie die Punkte der Grünkomponente neu:

curves=psfile='MyCurvesPresets/purple.asv':green='0.45/0.53'

dctdnoiz
Entrauschen Sie Frames mit 2D DCT (Frequency Domain Filtering).

Dieser Filter ist nicht für Echtzeit ausgelegt.

Der Filter akzeptiert die folgenden Optionen:

Sigma, s
Stellen Sie die Rausch-Sigma-Konstante ein.

Dieser Sigma definiert einen harten Schwellenwert von "3 * Sigma"; jeder DCT-Koeffizient (absolut
Wert) unterhalb dieser Schwelle fallengelassen werden.

Wenn Sie eine erweiterte Filterung benötigen, lesen Sie ausdr.

Standard ist 0.

überlappen
Legen Sie die Anzahl überlappender Pixel für jeden Block fest. Da der Filter langsam sein kann, können Sie
diesen Wert reduzieren möchten, auf Kosten eines weniger effektiven Filters und der Gefahr von
verschiedene Artefakte.

Wenn der überlappende Wert nicht die Verarbeitung der gesamten Eingabebreite oder -höhe zulässt, a
Warnung wird angezeigt und entsprechende Grenzen werden nicht entrauscht.

Standardwert ist Block Größe-1, was die bestmögliche Einstellung ist.

Ausdruck, e
Stellen Sie den Koeffizientenfaktor-Ausdruck ein.

Für jeden Koeffizienten eines DCT-Blocks wird dieser Ausdruck als Multiplikator ausgewertet
Wert für den Koeffizienten.

Wenn diese Option aktiviert ist, wird die Sigma Option wird ignoriert.

Der Absolutwert des Koeffizienten kann über die c variabel.

n Setze die Block Größe die Anzahl der Bits verwenden. "1<n" definiert die Block Größe, das ist die
Breite und Höhe der bearbeiteten Blöcke.

Der Standardwert ist 3 (8x8) und kann erhöht werden auf 4 für eine Block Größe von 16x16. Notiz
dass das Ändern dieser Einstellung enorme Auswirkungen auf die Verarbeitungsgeschwindigkeit hat. Auch eine
größere Blockgröße bedeutet nicht unbedingt eine bessere Rauschunterdrückung.

Beispiele

Anwenden einer Entrauschung mit a Sigma von 4.5:

dctdnoiz=4.5

Die gleiche Operation kann mit dem Expressionssystem erreicht werden:

dctdnoiz=e='gte(c, 4.5*3)'

Heftige Rauschunterdrückung mit einer Blockgröße von "16x16":

dctdnoiz=15:n=4

auflösen
Entfernen Sie Banding-Artefakte aus dem Eingangsvideo. Es funktioniert, indem es gebänderte Pixel durch ersetzt
Durchschnittswert der referenzierten Pixel.

Der Filter akzeptiert die folgenden Optionen:

1
2
3
4
Legen Sie den Schwellenwert für die Banding-Erkennung für jede Ebene fest. Der Standardwert ist 0.02. Gültiger Bereich ist
0.00003 bis 0.5. Wenn die Differenz zwischen aktuellem Pixel und Referenzpixel kleiner ist als
Schwelle, wird sie als gebändert betrachtet.

Angebot, r
Banding-Erkennungsbereich in Pixeln. Der Standardwert ist 16. Wenn positiv, Zufallszahl im Bereich
0 bis Einstellwert wird verwendet. Bei negativem Wert wird der exakte Absolutwert verwendet. Der
range definiert ein Quadrat von vier Pixeln um das aktuelle Pixel herum.

Richtung, d
Legen Sie die Richtung im Bogenmaß fest, ab der vier Pixel verglichen werden. Wenn positiv, zufällig
Richtung von 0 bis zur eingestellten Richtung wird ausgewählt. Falls negativ, exakt vom absoluten Wert
wird abgeholt. Zum Beispiel werden in Richtung 0, -PI oder -2*PI Bogenmaß nur Pixel ausgewählt
gleiche Zeile und -PI/2 werden nur Pixel in derselben Spalte auswählen.

verwischen
Wenn aktiviert, wird das aktuelle Pixel mit dem Durchschnittswert aller vier umgebenden Pixel verglichen
Pixel. Die Standardeinstellung ist aktiviert. Wenn deaktiviert, wird das aktuelle Pixel mit allen vier verglichen
umgebende Pixel. Das Pixel gilt als gebändert, wenn nur alle vier Unterschiede mit
umgebende Pixel sind kleiner als der Schwellenwert.

dezimieren
Lassen Sie doppelte Frames in regelmäßigen Abständen fallen.

Der Filter akzeptiert die folgenden Optionen:

Zyklus
Legen Sie die Anzahl der Frames fest, von denen einer gelöscht wird. Einstellen auf N bedeutet eins
Rahmen in jeder Charge von N Frames werden ausgelassen. Standard ist 5.

duptresh
Legen Sie den Schwellenwert für die Duplikaterkennung fest. Wenn die Differenzmetrik für einen Frame ist
kleiner oder gleich diesem Wert, dann wird es als Duplikat deklariert. Standard ist 1.1

scthresh
Stellen Sie den Schwellenwert für den Szenenwechsel ein. Standard ist 15.

blockx
blocky
Legen Sie die Größe der X- und Y-Achsenblöcke fest, die bei metrischen Berechnungen verwendet werden. Größer
Blöcke bieten eine bessere Rauschunterdrückung, aber auch eine schlechtere Erkennung von kleinen
Bewegungen. Muss eine Zweierpotenz sein. Der Standardwert ist 32.

ppsrc
Markieren Sie die Haupteingabe als vorverarbeitete Eingabe und aktivieren Sie den sauberen Quelleingabestrom. Dies
ermöglicht die Vorverarbeitung der Eingabe mit verschiedenen Filtern, um die Metriken zu unterstützen
Berechnung, während die Frame-Auswahl verlustfrei bleibt. Wenn auf 1 gesetzt, wird der erste
stream ist für die vorverarbeitete Eingabe und der zweite Stream ist die saubere Quelle von
wo die beibehaltenen Frames ausgewählt werden. Standard ist 0.

Chroma
Legen Sie fest, ob die Farbsättigung bei den metrischen Berechnungen berücksichtigt wird oder nicht. Standard ist 1.

deflate
Wenden Sie den Deflate-Effekt auf das Video an.

Dieser Filter ersetzt das Pixel durch das aus einer regionalen(3x3) Durchschnitt nur unter Berücksichtigung
Werte niedriger als das Pixel.

Es akzeptiert die folgenden Optionen:

Schwelle0
Schwelle1
Schwelle2
Schwelle3
Begrenzen Sie die maximale Änderung für jede Ebene, der Standardwert ist 65535. Bei 0 bleibt die Ebene bestehen
unverändert.

entrümpeln
Entfernen Sie Ruckeln, die durch teilweise interlaced telecined Inhalt erzeugt werden.

Judder kann zum Beispiel eingeführt werden durch Pullup Filter. Wenn die Originalquelle
teilweise telecined Inhalt dann hat die Ausgabe von "pullup,dejudder" eine Variable
Bildrate. Kann die aufgezeichnete Framerate des Containers ändern. Abgesehen von dieser Änderung,
Dieser Filter wirkt sich nicht auf Videos mit konstanter Bildrate aus.

Die in diesem Filter verfügbare Option ist:

Zyklus
Geben Sie die Länge des Fensters an, über das sich das Ruckeln wiederholt.

Akzeptiert jede ganze Zahl größer als 1. Nützliche Werte sind:

4 Wenn das Original von 24 bis 30 fps telecined wurde (Film auf NTSC).

5 Wenn das Original von 25 bis 30 fps (PAL zu NTSC) telecined wurde.

20 Wenn eine Mischung aus beidem.

Die Standardeinstellung ist 4.

Delogo
Unterdrücken Sie ein TV-Sender-Logo durch eine einfache Interpolation der umgebenden Pixel. Stellen Sie einfach ein
Rechteck, das das Logo bedeckt, und sieh zu, wie es verschwindet (und manchmal etwas noch Hässlicheres)
erscheinen - Ihr Kilometerstand kann variieren).

Es akzeptiert die folgenden Parameter:

x
y Geben Sie die Koordinaten der oberen linken Ecke des Logos an. Sie müssen angegeben werden.

w
h Geben Sie die Breite und Höhe des zu löschenden Logos an. Sie müssen angegeben werden.

Band, t
Geben Sie die Dicke der unscharfen Kante des Rechtecks ​​an (hinzugefügt zu w und h). Die
Standardwert ist 4.

erklären
Bei der Einstellung 1 wird auf dem Bildschirm ein grünes Rechteck gezeichnet, um das Auffinden des richtigen zu vereinfachen
x, y, w und h Parameter. Der Standardwert ist 0.

Das Rechteck wird auf den äußersten Pixeln gezeichnet, die (teilweise) ersetzt werden durch
interpolierte Werte. Die Werte der nächsten Pixel unmittelbar außerhalb dieses Rechtecks
in jede Richtung werden verwendet, um die interpolierten Pixelwerte innerhalb des zu berechnen
Rechteck.

Beispiele

· Legen Sie ein Rechteck fest, das den Bereich mit den Koordinaten der oberen linken Ecke 0,0 und der Größe abdeckt
100x77 und ein Band der Größe 10:

delogo=x=0:y=0:w=100:h=77:band=10

abschütteln
Versuchen Sie, kleine Änderungen der horizontalen und/oder vertikalen Verschiebung zu korrigieren. Dieser Filter hilft beim Entfernen
Verwackeln der Kamera durch das Halten einer Kamera in der Hand, das Anstoßen eines Stativs, das Bewegen auf einem Fahrzeug usw.

Der Filter akzeptiert die folgenden Optionen:

x
y
w
h Geben Sie einen rechteckigen Bereich an, in dem die Suche nach Bewegungsvektoren eingeschränkt werden soll. Wenn gewünscht
die Suche nach Bewegungsvektoren kann auf einen rechteckigen Bereich des Bildes beschränkt werden
definiert durch seine obere linke Ecke, Breite und Höhe. Diese Parameter haben das gleiche
Bedeutung als Drawbox-Filter, mit dem die Position des
Begrenzungsrahmen.

Dies ist nützlich, wenn die gleichzeitige Bewegung von Objekten innerhalb des Rahmens
durch die Bewegungsvektorsuche für Kamerabewegungen verwechselt.

Wenn einige oder alle von x, y, w und h auf -1 gesetzt sind, wird das Vollbild verwendet. Dies erlaubt
spätere Optionen, die ohne Angabe des Begrenzungsrahmens für den Bewegungsvektor gesetzt werden sollen
Suche.

Standard - den gesamten Frame durchsuchen.

rx
ry Geben Sie das maximale Ausmaß der Bewegung in x- und y-Richtung im Bereich von 0-64 Pixel an.
Vorgabe 16.

Rand
Geben Sie an, wie Pixel generiert werden, um Leerstellen am Rand des Rahmens zu füllen. Erhältlich
Werte sind:

leer, 0
Füllen Sie Nullen an leeren Stellen

original, 1
Originalbild an leeren Stellen

Klemme, 2
Extrudierter Kantenwert an leeren Stellen

Spiegel, 3
Gespiegelte Kante an leeren Stellen

Standardwert ist Spiegel.

Block Größe
Geben Sie die Blockgröße an, die für die Bewegungssuche verwendet werden soll. Bereich 4-128 Pixel, Standardwert 8.

Kontrast
Legen Sie die Kontrastschwelle für Blöcke fest. Nur Blöcke mit mehr als den angegebenen
Kontrast (Unterschied zwischen dunkelsten und hellsten Pixeln) wird berücksichtigt. Bereich
1-255, Standard 125.

search
Geben Sie die Suchstrategie an. Verfügbare Werte sind:

erschöpfend, 0
Erschöpfende Suche einstellen

Weniger, 1
Stellen Sie eine weniger umfassende Suche ein.

Standardwert ist umfassend.

Dateinamen
Wenn gesetzt, wird ein detailliertes Protokoll der Bewegungssuche in die angegebene Datei geschrieben.

OpenCL
Wenn auf 1 gesetzt, geben Sie die Verwendung von OpenCL-Fähigkeiten an, nur verfügbar, wenn FFmpeg war
mit "--enable-opencl" konfiguriert. Der Standardwert ist 0.

detelecin
Wenden Sie eine genaue Umkehrung der Telecine-Operation an. Es erfordert ein vordefiniertes Muster
mit der Option pattern angegeben, die mit der an das Telecine übergebenen identisch sein muss
Filter.

Dieser Filter akzeptiert die folgenden Optionen:

erstes_feld
oben, t
oberstes Feld zuerst

Unterseite, b
unteres Feld zuerst Der Standardwert ist "top".

Anleitungen
Eine Zahlenfolge, die das Pulldown-Muster darstellt, das Sie anwenden möchten. Der Standard
Wert ist 23.

start_frame
Eine Zahl, die die Position des ersten Frames in Bezug auf den Telecine darstellt
Muster. Dies ist zu verwenden, wenn der Stream unterbrochen wird. Der Standardwert ist 0.

Erweiterung
Wenden Sie den Dilatationseffekt auf das Video an.

Dieser Filter ersetzt das Pixel durch das aus einer regionalen(3x3) maximal.

Es akzeptiert die folgenden Optionen:

Schwelle0
Schwelle1
Schwelle2
Schwelle3
Begrenzen Sie die maximale Änderung für jede Ebene, der Standardwert ist 65535. Bei 0 bleibt die Ebene bestehen
unverändert.

Koordinaten
Flag, das das Pixel angibt, auf das verwiesen werden soll. Der Standardwert ist 255, dh alle acht Pixel sind
benutzt.

Flaggen zu lokalen 3x3-Koordinatenkarten wie folgt:

1 2 3
4 5
6 7 8

Ziehkiste
Zeichnen Sie einen farbigen Kasten auf das Eingabebild.

Es akzeptiert die folgenden Parameter:

x
y Die Ausdrücke, die die Koordinaten der oberen linken Ecke der Box angeben. Es ist standardmäßig
um 0.

Breite, w
Höhe, h
Die Ausdrücke, die die Breite und Höhe der Box angeben; wenn 0 sind sie
als eingegebene Breite und Höhe interpretiert. Es ist standardmäßig 0.

Farbe, Farbe, c
Geben Sie die Farbe des zu schreibenden Felds an. Die allgemeine Syntax dieser Option finden Sie unter
den Abschnitt "Farbe" im ffmpeg-utils-Handbuch. Wird der Sonderwert "invertieren" verwendet,
die Farbe der Boxkante ist die gleiche wie beim Video mit invertierter Luma.

Dicke, t
Der Ausdruck, der die Dicke der Boxkante festlegt. Der Standardwert ist 3.

Unten finden Sie die Liste der akzeptierten Konstanten.

Die Parameter für x, y, w und h und t sind Ausdrücke, die die folgenden Konstanten enthalten:

geben Das Seitenverhältnis der Eingabeanzeige ist dasselbe wie (w / h) * sar.

hsub
vssub
horizontale und vertikale Chroma-Subsample-Werte. Zum Beispiel für das Pixelformat
"yuv422p" hsub ist 2 und vssub ist 1.

in_h, ih
in_w, iw
Die Eingabebreite und -höhe.

sar Das Seitenverhältnis des Eingabebeispiels.

x
y Die x- und y-Offset-Koordinaten, an denen die Box gezeichnet wird.

w
h Die Breite und Höhe des gezeichneten Felds.

t Die Dicke der gezeichneten Box.

Diese Konstanten erlauben die x, y, w, h und t Ausdrücke, um sich aufeinander zu beziehen, damit Sie
kann beispielsweise "y=x/dar" oder "h=w/dar" angeben.

Beispiele

· Zeichnen Sie einen schwarzen Kasten um den Rand des Eingabebildes:

Ziehkiste

· Zeichnen Sie eine Box mit der Farbe Rot und einer Deckkraft von 50%:

Drawbox=10:20:200:60:[E-Mail geschützt]

Das vorherige Beispiel kann wie folgt spezifiziert werden:

drawbox=x=10:y=20:w=200:h=60:color=[E-Mail geschützt]

· Füllen Sie die Box mit rosa Farbe:

drawbox=x=10:y=10:w=100:h=100:color=[E-Mail geschützt] :t=max

· Zeichnen Sie eine rote 2:2.40-Maske mit 1 Pixeln:

drawbox=x=-t:y=0.5*(ih-iw/2.4)-t:w=iw+t*2:h=iw/2.4+t*2:t=2:c=red

Zeichnungsgrafik, adrawgraph
Zeichnen Sie ein Diagramm mit eingegebenen Video- oder Audio-Metadaten.

Es akzeptiert die folgenden Parameter:

m1 Legen Sie den Metadatenschlüssel für den ersten Frame fest, aus dem Metadatenwerte zum Zeichnen eines Diagramms verwendet werden.

fg1 1. Vordergrundfarbe festlegen.

m2 Legen Sie den Metadatenschlüssel für den zweiten Frame fest, aus dem Metadatenwerte zum Zeichnen eines Diagramms verwendet werden.

fg2 2. Vordergrundfarbe festlegen.

m3 Legen Sie den Metadatenschlüssel für den 3. Frame fest, aus dem Metadatenwerte zum Zeichnen eines Diagramms verwendet werden.

fg3 3. Vordergrundfarbe festlegen.

m4 Legen Sie den Metadatenschlüssel für den vierten Frame fest, aus dem Metadatenwerte zum Zeichnen eines Diagramms verwendet werden.

fg4 4. Vordergrundfarbe festlegen.

Min. Legen Sie den minimalen Wert des Metadatenwerts fest.

max Legen Sie den maximalen Wert des Metadatenwerts fest.

bg Legen Sie die Hintergrundfarbe des Diagramms fest. Standard ist weiß.

Modus
Grafikmodus einstellen.

Verfügbare Werte für den Modus sind:

Bar
Punkt
Linie

Standard ist "Linie".

Schlitten
Stellen Sie den Folienmodus ein.

Verfügbare Werte für die Folie sind:

Rahmen
Zeichnen Sie einen neuen Rahmen, wenn der rechte Rand erreicht ist.

ersetzen
Ersetzen Sie alte Spalten durch neue.

blättern
Scrollen Sie von rechts nach links.

rblättern
Scrollen Sie von links nach rechts.

Standard ist "Rahmen".

Größe
Legen Sie die Größe des Grafikvideos fest. Die Syntax dieser Option finden Sie im "Video Größe" Abschnitt
in ffmpeg-utils manuell. Der Standardwert ist "900x256".

Die Vordergrundfarbausdrücke können die folgenden Variablen verwenden:

MIN Minimaler Wert des Metadatenwerts.

MAX Maximalwert des Metadatenwerts.

VAL Aktueller Metadatenschlüsselwert.

Die Farbe ist als 0xAABBGGRR definiert.

Beispiel mit Metadaten von Signalstatistiken Filter:

signalstats,drawgraph=lavfi.signalstats.YAVG:min=0:max=255

Beispiel mit Metadaten von ebur128 Filter:

ebur128=metadata=1,adrawgraph=lavfi.r128.M:min=-120:max=5

Zuggitter
Zeichnen Sie ein Raster auf das Eingabebild.

Es akzeptiert die folgenden Parameter:

x
y Die Ausdrücke, die die Koordinaten eines Gitterschnittpunkts angeben
(zur Konfiguration des Offsets). Beide sind standardmäßig auf 0 eingestellt.

Breite, w
Höhe, h
Die Ausdrücke, die die Breite und Höhe der Gitterzelle angeben, wenn sie 0 sind, sind sie
interpretiert als eingegebene Breite bzw. Höhe minus "Dicke", also Bild
wird eingerahmt. Standardmäßig auf 0.

Farbe, Farbe, c
Geben Sie die Farbe des Rasters an. Die allgemeine Syntax dieser Option finden Sie im
Abschnitt "Farbe" im ffmpeg-utils-Handbuch. Wird der Sonderwert "invertieren" verwendet, ist die
Die Rasterfarbe ist die gleiche wie beim Video mit invertierter Luma.

Dicke, t
Der Ausdruck, der die Dicke der Rasterlinie festlegt. Der Standardwert ist 1.

Unten finden Sie die Liste der akzeptierten Konstanten.

Die Parameter für x, y, w und h und t sind Ausdrücke, die die folgenden Konstanten enthalten:

geben Das Seitenverhältnis der Eingabeanzeige ist dasselbe wie (w / h) * sar.

hsub
vssub
horizontale und vertikale Chroma-Subsample-Werte. Zum Beispiel für das Pixelformat
"yuv422p" hsub ist 2 und vssub ist 1.

in_h, ih
in_w, iw
Die Breite und Höhe der Eingabegitterzelle.

sar Das Seitenverhältnis des Eingabebeispiels.

x
y Die x- und y-Koordinaten eines Gitterschnittpunkts (zur Konfiguration
versetzt).

w
h Die Breite und Höhe der gezeichneten Zelle.

t Die Dicke der gezeichneten Zelle.

Diese Konstanten erlauben die x, y, w, h und t Ausdrücke, um sich aufeinander zu beziehen, damit Sie
kann beispielsweise "y=x/dar" oder "h=w/dar" angeben.

Beispiele

· Zeichnen Sie ein Gitter mit Zelle 100x100 Pixel, Dicke 2 Pixel, mit Farbe Rot und An
Opazität von 50%:

Drawgrid=Breite=100:Höhe=100:Dicke=2:Farbe=[E-Mail geschützt]

· Zeichnen Sie ein weißes 3x3-Raster mit einer Deckkraft von 50%:

drawgrid=w=iw/3:h=ih/3:t=2:c=[E-Mail geschützt]

Zeichentext
Zeichnen Sie eine Textzeichenfolge oder einen Text aus einer angegebenen Datei über ein Video mit dem libfreetype
Bibliothek.

Um die Kompilierung dieses Filters zu aktivieren, müssen Sie FFmpeg mit konfigurieren
"--enable-libfreetype". So aktivieren Sie den Standardfont-Fallback und die Schriftart Option, die du brauchst
konfigurieren Sie FFmpeg mit "--enable-libfontconfig". Um das zu aktivieren text_shaping Option, du
muss FFmpeg mit "--enable-libfribidi" konfigurieren.

Syntax

Es akzeptiert die folgenden Parameter:

Box Wird verwendet, um mit der Hintergrundfarbe einen Rahmen um den Text zu zeichnen. Der Wert muss entweder 1 . sein
(aktivieren) oder 0 (deaktivieren). Der Standardwert von Box ist 0.

Kastenrandw
Stellen Sie die Breite des Rahmens ein, der um die Box gezogen werden soll mit Boxfarbe. Der Standard
Wert von Kastenrandw ist 0.

Boxfarbe
Die Farbe, die zum Zeichnen eines Rahmens um den Text verwendet werden soll. Die Syntax dieser Option finden Sie unter
den Abschnitt "Farbe" im ffmpeg-utils-Handbuch.

Der Standardwert von Boxfarbe ist weiß".

Borderw
Stellen Sie mit die Breite des um den Text zu zeichnenden Rahmens ein Randfarbedem „Vermischten Geschmack“. Seine
Standardwert von Borderw ist 0.

Randfarbe
Legen Sie die Farbe fest, die zum Zeichnen eines Rahmens um den Text verwendet werden soll. Für die Syntax davon
Option finden Sie im Abschnitt "Farbe" im Handbuch zu ffmpeg-utils.

Der Standardwert von Randfarbe ist schwarz".

Expansion
Wählen Sie aus, wie die Text wird erweitert. Kann entweder "none", "strftime" (veraltet) oder . sein
"normal" (Standard). Siehe die drawtext_expansion, Text Expansion Abschnitt unten für
Details.

fix_bounds
Wenn wahr, überprüfen und korrigieren Sie die Textkoordinaten, um ein Abschneiden zu vermeiden.

Schriftfarbe
Die Farbe, die zum Zeichnen von Schriftarten verwendet werden soll. Die Syntax dieser Option finden Sie im
Abschnitt "Farbe" im ffmpeg-utils-Handbuch.

Der Standardwert von Schriftfarbe ist schwarz".

Fontcolor_expr
String, der genauso erweitert wird wie Text um Dynamik zu erhalten Schriftfarbe Wert. Durch
Standardmäßig hat diese Option einen leeren Wert und wird nicht verarbeitet. Wenn diese Option eingestellt ist, ist es
Überschreibungen Schriftfarbe .

Schriftart
Die zum Zeichnen von Text zu verwendende Schriftfamilie. Standardmäßig Sans.

Schriftdatei
Die Schriftartdatei, die zum Zeichnen von Text verwendet werden soll. Der Pfad muss angegeben werden. Dieser Parameter
ist obligatorisch, wenn die fontconfig-Unterstützung deaktiviert ist.

zeichnen
Diese Option existiert nicht, bitte beachten Sie das Zeitleistensystem

Alpha
Zeichnen Sie den Text mit Alpha-Blending. Der Wert kann entweder eine Zahl zwischen 0.0
und 1.0 Der Ausdruck akzeptiert die gleichen Variablen x, y tun. Der Standardwert ist 1.
Siehe fontcolor_expr

Schriftgröße
Die zum Zeichnen von Text zu verwendende Schriftgröße. Der Standardwert von Schriftgröße ist 16.

text_shaping
Wenn der Wert auf 1 gesetzt ist, versuchen Sie, den Text zu formen (umkehren Sie beispielsweise die Reihenfolge von rechts nach rechts).
linken Text und verbinden arabische Zeichen), bevor Sie ihn zeichnen. Ansonsten zeichne einfach die
Text genau wie angegeben. Standardmäßig 1 (sofern unterstützt).

ft_load_flags
Die Flags, die zum Laden der Schriftarten verwendet werden sollen.

Die Flags bilden die entsprechenden Flags ab, die von libfreetype unterstützt werden, und sind eine Kombination
der folgenden Werte:

Standard
no_scale
kein_hinting
Ausbeute
no_bitmap
vertikales_layout
force_autohint
Crop_Bitmap
pedantisch
ignore_global_advance_width
no_recurse
ignorieren_transformieren
monochrom
lineares_design
no_autohint

Der Standardwert ist "Standard".

Weitere Informationen finden Sie in der Dokumentation zu den FT_LOAD_* libfreetype-Flags.

Schattenfarbe
Die Farbe, die zum Zeichnen eines Schattens hinter dem gezeichneten Text verwendet werden soll. Für die Syntax von
Überprüfen Sie diese Option im Abschnitt "Farbe" im Handbuch zu ffmpeg-utils.

Der Standardwert von Schattenfarbe ist schwarz".

Schattenx
schattig
Die x- und y-Offsets für die Textschattenposition in Bezug auf die Position des
Text. Sie können entweder positive oder negative Werte sein. Der Standardwert für beide ist
"0".

Startnummer
Die Startbildnummer für die Variable n/frame_num. Der Standardwert ist "0".

Tabgröße
Die Größe in Anzahl der Leerzeichen, die zum Rendern der Registerkarte verwendet werden soll. Der Standardwert ist 4.

Timecode
Stellen Sie die anfängliche Timecode-Darstellung im Format "hh:mm:ss[:;.]ff" ein. Es kann benutzt werden
mit oder ohne Textparameter. timecode_rate Option muss angegeben werden.

timecode_rate, Bewertung, r
Stellen Sie die Timecode-Bildrate ein (nur Timecode).

Text
Die zu zeichnende Textzeichenfolge. Der Text muss eine Folge von UTF-8-codierten Zeichen sein.
Dieser Parameter ist obligatorisch, wenn keine Datei mit dem Parameter angegeben wird Textdatei.

Textdatei
Eine Textdatei, die zu zeichnenden Text enthält. Der Text muss eine Sequenz von UTF-8-kodiert sein
Zeichen.

Dieser Parameter ist obligatorisch, wenn beim Parameter kein Textstring angegeben wird Text.

Wenn beides Text und Textdatei angegeben sind, wird ein Fehler ausgegeben.

neu laden
Wenn auf 1 gesetzt, wird die Textdatei wird vor jedem Frame neu geladen. Aktualisieren Sie es unbedingt
atomar, oder es kann teilweise gelesen werden oder sogar fehlschlagen.

x
y Die Ausdrücke, die die Versätze angeben, an denen Text innerhalb des Videos gezeichnet wird
Rahmen. Sie sind relativ zum oberen/linken Rand des Ausgabebilds.

Der Standardwert von x und y ist "0".

Nachfolgend finden Sie die Liste der akzeptierten Konstanten und Funktionen.

Die Parameter für x und y sind Ausdrücke mit den folgenden Konstanten und
Funktionen:

geben das Seitenverhältnis der Eingabeanzeige ist dasselbe wie (w / h) * sar

hsub
vssub
horizontale und vertikale Chroma-Subsample-Werte. Zum Beispiel für das Pixelformat
"yuv422p" hsub ist 2 und vssub ist 1.

Zeile_h, lh
die Höhe jeder Textzeile

main_h, h, H
die Eingabehöhe

main_w, w, W
die Eingabebreite

max_glyph_a, Aufstieg
der maximale Abstand von der Grundlinie zur höchsten/oberen Gitterkoordinate, die verwendet wird, um
Platzieren Sie einen Glyphen-Umrisspunkt für alle gerenderten Glyphen. Es ist ein positiver Wert, wegen
zur Ausrichtung des Rasters mit der Y-Achse nach oben.

max_glyph_d, Abstammung
der maximale Abstand von der Grundlinie zur niedrigsten Gitterkoordinate, die verwendet wird, um a . zu platzieren
Glyphenumrisspunkt für alle gerenderten Glyphen. Dies ist ein negativer Wert, da
die Ausrichtung des Rasters, mit der Y-Achse nach oben.

max_glyph_h
maximale Glyphenhöhe, das ist die maximale Höhe für alle Glyphen, die im
gerenderten Text ist äquivalent zu Aufstieg - Abstammung.

max_glyph_w
maximale Glyphenbreite, das ist die maximale Breite für alle Glyphen, die im
gerenderter Text

n die Anzahl der Eingaberahmen, beginnend bei 0

Rand(min, max)
Gib eine Zufallszahl zwischen zurück Min. und max

sar Das Seitenverhältnis des Eingabebeispiels.

t Zeitstempel in Sekunden ausgedrückt, NAN, wenn der Eingabezeitstempel unbekannt ist

text_h, th
die Höhe des gerenderten Textes

text_w, tw
die Breite des gerenderten Textes

x
y die x- und y-Offset-Koordinaten, an denen der Text gezeichnet wird.

Diese Parameter ermöglichen die x und y Ausdrücke, um aufeinander zu verweisen, damit Sie für
Beispiel "y=x/dar" angeben.

Text Expansion

If Expansion auf "strftime" eingestellt ist, erkennt der Filter strftime () Sequenzen in der
bereitgestellten Text und erweitert diese entsprechend. Überprüfen Sie die Dokumentation von strftime (). Dies
Funktion ist veraltet.

If Expansion auf "none" gesetzt ist, wird der Text wörtlich ausgedruckt.

If Expansion auf "normal" gesetzt ist (was die Standardeinstellung ist), der folgende Erweiterungsmechanismus
wird eingesetzt.

Das Backslash-Zeichen \, gefolgt von einem beliebigen Zeichen, wird immer auf die Sekunde erweitert
Charakter.

Sequenz der Form "%{...}" werden expandiert. Der Text zwischen den Klammern ist eine Funktion
Name, möglicherweise gefolgt von durch ':' getrennten Argumenten. Wenn die Argumente special enthalten
Zeichen oder Trennzeichen (':' oder '}'), sollten sie mit Escapezeichen versehen werden.

Beachten Sie, dass sie wahrscheinlich auch als Wert für die maskiert werden müssen Text Option in der
Filterargument-String und als Filterargument in der Filtergraph-Beschreibung und
möglicherweise auch für die Hülle, die bis zu vier Fluchtstufen ausmacht; mit einer Textdatei
vermeidet diese Probleme.

Folgende Funktionen stehen zur Verfügung:

Ausdruck, e
Das Ergebnis der Ausdrucksbewertung.

Es muss ein Argument annehmen, das den auszuwertenden Ausdruck angibt, der die
gleiche Konstanten und Funktionen wie die x und y Werte. Beachten Sie, dass nicht alle Konstanten
verwendet werden, zum Beispiel ist die Textgröße bei der Auswertung des Ausdrucks nicht bekannt, so dass die
konstante text_w und text_h einen undefinierten Wert haben.

expr_int_format, wenn
Werten Sie den Wert des Ausdrucks aus und geben Sie ihn als formatierte Ganzzahl aus.

Das erste Argument ist der auszuwertende Ausdruck, ebenso wie für die ausdr Funktion.
Das zweite Argument gibt das Ausgabeformat an. Zulässige Werte sind x, X, d und u.
Sie werden genau wie in der Funktion "printf" behandelt. Der dritte Parameter ist optional
und legt die Anzahl der Positionen fest, die der Ausgang einnimmt. Es kann verwendet werden, um Polsterungen hinzuzufügen
mit Nullen von links.

gmtime
Die Zeit, zu der der Filter ausgeführt wird, ausgedrückt in UTC. Es kann ein Argument akzeptieren:
a strftime () Zeichenfolgenformat.

Ortszeit
Die Zeit, zu der der Filter ausgeführt wird, ausgedrückt in der lokalen Zeitzone. Es kann
akzeptiere ein Argument: a strftime () Zeichenfolgenformat.

Metadaten
Frame-Metadaten. Es muss ein Argument annehmen, das den Metadatenschlüssel angibt.

n, Frame_num
Die Rahmennummer, beginnend bei 0.

Bildtyp
Eine 1-stellige Beschreibung des aktuellen Bildtyps.

pts Der Zeitstempel des aktuellen Frames. Es kann bis zu zwei Argumente aufnehmen.

Das erste Argument ist das Format des Zeitstempels; es ist standardmäßig "flt" für Sekunden als
eine Dezimalzahl mit Mikrosekundengenauigkeit; "hms" steht für ein formatiertes
[-]HH:MM:SS.mmm Zeitstempel mit Millisekunden-Genauigkeit.

Das zweite Argument ist ein Offset, der dem Zeitstempel hinzugefügt wird.

Beispiele

· Zeichnen Sie "Testtext" mit der Schriftart FreeSerif und verwenden Sie die Standardwerte für das optionale
Parameter.

drawtext="fontfile=/usr/share/fonts/truetype/freefont/FreeSerif.ttf: text='Testtext'"

· Zeichnen Sie 'Testtext' mit Schriftart FreeSerif der Größe 24 an Position x=100 und y=50 (Zählen
von der oberen linken Ecke des Bildschirms) ist der Text gelb mit einem roten Rahmen um ihn herum. Beide
Text und Rahmen haben eine Deckkraft von 20 %.

drawtext="fontfile=/usr/share/fonts/truetype/freefont/FreeSerif.ttf: text='Testtext':\
x=100: y=50: Schriftgröße=24: Schriftfarbe=[E-Mail geschützt] : box=1: boxfarbe=[E-Mail geschützt] "

Beachten Sie, dass die doppelten Anführungszeichen nicht erforderlich sind, wenn innerhalb des keine Leerzeichen verwendet werden
Parameterliste.

· Zeigen Sie den Text in der Mitte des Videorahmens an:

drawtext="fontsize=30:fontfile=FreeSerif.ttf:text='Hallo Welt':x=(w-text_w)/2:y=(h-text_h)/2"

· Zeigen Sie in der letzten Zeile des Videoframes eine Textzeile an, die von rechts nach links gleitet. Der
Datei LANGE LINIE Es wird angenommen, dass es eine einzelne Zeile ohne Zeilenumbrüche enthält.

drawtext="fontsize=15:fontfile=FreeSerif.ttf:text=LONG_LINE:y=h-line_h:x=-50*t"

· Zeigen Sie den Inhalt der Datei an CREDITS unten aus dem Rahmen und scrollen Sie nach oben.

drawtext="fontsize=20:fontfile=FreeSerif.ttf:textfile=CREDITS:y=h-20*t"

· Zeichnen Sie einen einzelnen grünen Buchstaben "g" in die Mitte des Eingangsvideos. Die Glyphen-Grundlinie
wird auf halber Bildschirmhöhe platziert.

drawtext="fontsize=60:fontfile=FreeSerif.ttf:fontcolor=green:text=g:x=(w-max_glyph_w)/2:y=h/2-Aufstieg"

· Text alle 1 Sekunden für 3 Sekunde anzeigen:

drawtext="fontfile=FreeSerif.ttf:fontcolor=white:x=100:y=x/dar:enable=lt(mod(t\,3)\,1):text='blink'"

· Verwenden Sie fontconfig, um die Schriftart einzustellen. Beachten Sie, dass die Doppelpunkte mit Escapezeichen versehen werden müssen.

drawtext='fontfile=Linux Libertine O-40\:style=Semibold:text=FFmpeg'

· Drucken Sie das Datum einer Echtzeit-Kodierung (siehe strftime(3)):

drawtext='fontfile=FreeSans.ttf:text=%{localtime\:%a %b %d %Y}'

· Ein- und Ausblenden von Text anzeigen (erscheinen/verschwinden):

#!/ Bin / sh
DS=1.0 # Anzeigestart
DE=10.0 # Anzeigeende
FID=1.5 # Einblenddauer
FOD=5 # Ausblenddauer
ffplay -f lavfi "color,drawtext=text=TEST:fontsize=50:fontfile=FreeSerif.ttf:fontcolor_expr=ff0000%{eif\\\\: clip(255*(1* between(t\\, $DS + $FID\\, $DE - $FOD) + ((t - $DS)/$FID)*zwischen(t\\, $DS\\, $DS + $FID) + (-(t - $DE) /$FOD)*zwischen(t\\, $DE - $FOD\\, $DE) )\\, 0\\, 255) \\\\: x\\\\: 2 }"

Weitere Informationen zu libfreetype finden Sie unter:http://www.freetype.org/>.

Weitere Informationen zu fontconfig finden Sie unter:
<http://freedesktop.org/software/fontconfig/fontconfig-user.html>.

Weitere Informationen zu libfribidi finden Sie unter:http://fribidi.org/>.

Kantenerkennung
Kanten erkennen und zeichnen. Der Filter verwendet den Canny Edge Detection-Algorithmus.

Der Filter akzeptiert die folgenden Optionen:

niedrig
Highs
Legen Sie niedrige und hohe Schwellenwerte fest, die vom Canny-Schwellenwert-Algorithmus verwendet werden.

Die hohe Schwelle wählt die "starken" Kantenpixel aus, die dann durchgeschaltet werden
8-Konnektivität mit den "schwachen" Kantenpixeln, die durch den niedrigen Schwellenwert ausgewählt werden.

niedrig und Highs Schwellenwerte müssen im Bereich [0,1] gewählt werden, und niedrig sollte sein
kleiner oder gleich Highs.

Standardwert für niedrig ist "20/255" und Standardwert für Highs ist "50/255".

Modus
Definieren Sie den Zeichenmodus.

Drähte
Zeichnen Sie weiße/graue Drähte auf schwarzem Hintergrund.

Colormix
Mischen Sie die Farben, um einen Farb-/Cartoon-Effekt zu erzielen.

Standardwert ist Drähte.

Beispiele

· Standard-Flankenerkennung mit benutzerdefinierten Werten für die Hysterese-Schwelle:

Kantenerkennung=niedrig=0.1:hoch=0.4

· Maleffekt ohne Schwellen:

edgedetect=mode=colormix:high=0

eq
Stellen Sie Helligkeit, Kontrast, Sättigung und ungefähre Gamma-Anpassung ein.

Der Filter akzeptiert die folgenden Optionen:

Kontrast
Stellen Sie den Kontrastausdruck ein. Der Wert muss ein Gleitkommawert im Bereich "-2.0" bis 2.0 sein.
Der Standardwert ist "0".

Helligkeit
Stellen Sie den Helligkeitsausdruck ein. Der Wert muss ein Gleitkommawert im Bereich "-1.0" bis 1.0 sein.
Der Standardwert ist "0".

Sättigung
Stellen Sie den Sättigungsausdruck ein. Der Wert muss ein Float im Bereich von 0.0 bis 3.0 sein. Der
Standardwert ist "1".

Gamma
Stellen Sie den Gamma-Ausdruck ein. Der Wert muss ein Float im Bereich von 0.1 bis 10.0 sein. Der Standard
Wert ist "1".

gamma_r
Stellen Sie den Gamma-Ausdruck für Rot ein. Der Wert muss ein Float im Bereich von 0.1 bis 10.0 sein. Der
Standardwert ist "1".

gamma_g
Legen Sie den Gamma-Ausdruck für Grün fest. Der Wert muss ein Float im Bereich von 0.1 bis 10.0 sein.
Der Standardwert ist "1".

gamma_b
Legen Sie den Gamma-Ausdruck für Blau fest. Der Wert muss ein Float im Bereich von 0.1 bis 10.0 sein. Der
Standardwert ist "1".

gamma_gewicht
Legen Sie den Gamma-Gewichtungsausdruck fest. Es kann verwendet werden, um die Wirkung eines hohen Gamma zu reduzieren
Wert auf helle Bildbereiche, z. B. verhindern, dass sie zu stark verstärkt werden und einfach nur klar
Weiß. Der Wert muss ein Float im Bereich von 0.0 bis 1.0 sein. Ein Wert von 0.0 dreht das Gamma
Korrektur ganz nach unten, während 1.0 seine volle Stärke belässt. Der Standardwert ist "1".

eval
Stellen Sie ein, wenn die Ausdrücke für Helligkeit, Kontrast, Sättigung und Gamma-Ausdrücke
bewertet werden.

Es akzeptiert die folgenden Werte:

init
werte Ausdrücke nur einmal während der Filterinitialisierung aus oder wenn ein Befehl
wird verarbeitet

Rahmen
werte Ausdrücke für jeden eingehenden Frame aus

Standardwert ist init.

Die Ausdrücke akzeptieren die folgenden Parameter:

n Frameanzahl des Eingabeframes beginnend bei 0

Post Byte-Position des entsprechenden Pakets in der Eingabedatei, NAN wenn nicht angegeben

r Bildrate des Eingangsvideos, NAN, wenn die Eingangsbildrate unbekannt ist

t Zeitstempel in Sekunden ausgedrückt, NAN, wenn der Eingabezeitstempel unbekannt ist

Befehle

Der Filter unterstützt die folgenden Befehle:

Kontrast
Stellen Sie den Kontrastausdruck ein.

Helligkeit
Stellen Sie den Helligkeitsausdruck ein.

Sättigung
Stellen Sie den Sättigungsausdruck ein.

Gamma
Stellen Sie den Gamma-Ausdruck ein.

gamma_r
Legen Sie den gamma_r-Ausdruck fest.

gamma_g
Gamma_g-Ausdruck festlegen.

gamma_b
gamma_b-Ausdruck festlegen.

gamma_gewicht
Gamma_weight-Ausdruck festlegen.

Der Befehl akzeptiert dieselbe Syntax wie die entsprechende Option.

Wenn der angegebene Ausdruck nicht gültig ist, wird sein aktueller Wert beibehalten.

Erosion
Wenden Sie den Erosionseffekt auf das Video an.

Dieser Filter ersetzt das Pixel durch das aus einer regionalen(3x3) mindestens.

Es akzeptiert die folgenden Optionen:

Schwelle0
Schwelle1
Schwelle2
Schwelle3
Begrenzen Sie die maximale Änderung für jede Ebene, der Standardwert ist 65535. Bei 0 bleibt die Ebene bestehen
unverändert.

Koordinaten
Flag, das das Pixel angibt, auf das verwiesen werden soll. Der Standardwert ist 255, dh alle acht Pixel sind
benutzt.

Flaggen zu lokalen 3x3-Koordinatenkarten wie folgt:

1 2 3
4 5
6 7 8

Extraktionsflugzeuge
Extrahieren Sie Farbkanalkomponenten aus dem Eingangsvideostream in ein separates Graustufenvideo
Bächen.

Der Filter akzeptiert die folgende Option:

Flugzeuge
Legen Sie die zu extrahierende(n) Ebene(n) fest.

Verfügbare Werte für Flugzeuge sind:

y
u
v
a
r
g
b

Die Auswahl von Ebenen, die in der Eingabe nicht verfügbar sind, führt zu einem Fehler. Das heißt du
Die Ebenen "r", "g", "b" und "y", "u", "v" können nicht gleichzeitig ausgewählt werden.

Beispiele

· Extrahieren Sie die Luma-, u- und v-Farbkanalkomponente aus dem Eingangsvideoframe in 3 Graustufen
Ausgänge:

ffmpeg -i video.avi -filter_complex 'extractplanes=y+u+v[y][u][v]' -map '[y]' y.avi -map '[u]' u.avi -map '[ v]' v.avi

elbg
Wenden Sie einen Posterize-Effekt mit dem ELBG-Algorithmus (Enhanced LBG) an.

Für jedes Eingabebild berechnet der Filter die optimale Zuordnung von der Eingabe zu den
Ausgabe bei gegebener Codebuchlänge, d. h. der Anzahl der unterschiedlichen Ausgabefarben.

Dieser Filter akzeptiert die folgenden Optionen.

Codebuch_Länge, l
Codebuchlänge einstellen. Der Wert muss eine positive ganze Zahl sein und stellt die Zahl dar
von unterschiedlichen Ausgabefarben. Der Standardwert ist 256.

nb_schritte, n
Legen Sie die maximale Anzahl von Iterationen fest, die für die Berechnung der optimalen Zuordnung angewendet werden sollen. Der
Je höher der Wert, desto besser das Ergebnis und desto höher die Rechenzeit. Standard
Wert ist 1.

Samen, s
Setzt einen zufälligen Seed, muss eine ganze Zahl zwischen 0 und UINT32_MAX sein. Wenn nicht
angegeben oder wenn explizit auf -1 gesetzt, versucht der Filter, einen guten zufälligen Startwert zu verwenden
auf Best-Effort-Basis.

pal8
Legen Sie das Ausgabepixelformat von pal8 fest. Diese Option funktioniert nicht mit einer Codebuchlänge größer
als 256.

verblassen
Wenden Sie einen Ein-/Ausblendeffekt auf das Eingangsvideo an.

Es akzeptiert die folgenden Parameter:

Art, t
Der Effekttyp kann entweder "in" für einen Fade-In oder "Out" für einen Fade-Out-Effekt sein.
Standard ist "in".

start_frame, s
Geben Sie die Nummer des Frames an, bei dem der Fade-Effekt angewendet werden soll. Standard ist 0.

nb_frames, n
Die Anzahl der Frames, die der Fade-Effekt andauert. Am Ende des Einblendeffekts wird der
Das Ausgabevideo hat die gleiche Intensität wie das Eingabevideo. Am Ende des Fade-
Out-Übergang wird das Ausgabevideo mit dem ausgewählten gefüllt Farbe. Standard ist
25

Alpha
Wenn auf 1 gesetzt, blendet nur der Alphakanal ein, falls einer am Eingang vorhanden ist. Der Standardwert ist 0.

Startzeit, st
Geben Sie den Zeitstempel (in Sekunden) des Frames an, um mit der Anwendung des Fade-Effekts zu beginnen. Wenn
sowohl start_frame als auch start_time sind angegeben, die Überblendung beginnt wann immer es kommt
zuletzt. Standard ist 0.

Dauer, d
Die Anzahl der Sekunden, die der Fade-Effekt andauern muss. Am Ende der Einblendung
Effekt hat das Ausgabevideo die gleiche Intensität wie das Eingabevideo am Ende von
der Fade-Out-Übergang das Ausgabevideo wird mit dem ausgewählten gefüllt Farbe. Wenn
Sowohl die Dauer als auch nb_frames werden angegeben, die Dauer wird verwendet. Standard ist 0 (nb_frames
wird standardmäßig verwendet).

Farbe, Farbe, c
Geben Sie die Farbe der Überblendung an. Standard ist "schwarz".

Beispiele

· Blenden Sie die ersten 30 Frames des Videos ein:

einblenden=in:0:30

Der obige Befehl ist äquivalent zu:

Fade=t=in:s=0:n=30

· Blenden Sie die letzten 45 Frames eines 200-Frame-Videos aus:

ausblenden=aus:155:45
fade=type=out:start_frame=155:nb_frames=45

· Einblenden der ersten 25 Frames und Ausblenden der letzten 25 Frames eines 1000-Frame-Videos:

Fade=in:0:25, Fade=out:975:25

· Machen Sie die ersten 5 Frames gelb und blenden Sie dann von Frame 5-24 ein:

Einblenden=in:5:20:Farbe=Gelb

· Alpha über die ersten 25 Frames des Videos einblenden:

einblenden=in:0:25:alpha=1

· Die ersten 5.5 Sekunden schwarz machen, dann 0.5 Sekunden einblenden:

Fade=t=in:st=5.5:d=0.5

fftfilt
Wenden Sie beliebige Ausdrücke auf Samples im Frequenzbereich an

dc_Y
Passen Sie den DC-Wert (Verstärkung) der Luma-Ebene des Bildes an. Der Filter akzeptiert ein
ganzzahliger Wert im Bereich von 0 bis 1000. Der Standardwert ist 0.

dc_U
Passen Sie den DC-Wert (Gain) der 1. Chroma-Ebene des Bildes an. Der Filter akzeptiert ein
ganzzahliger Wert im Bereich von 0 bis 1000. Der Standardwert ist 0.

dc_V
Passen Sie den DC-Wert (Gain) der 2. Chroma-Ebene des Bildes an. Der Filter akzeptiert ein
ganzzahliger Wert im Bereich von 0 bis 1000. Der Standardwert ist 0.

gewichtig
Legen Sie den Gewichtungsausdruck im Frequenzbereich für die Luma-Ebene fest.

Gewicht_U
Legen Sie den Gewichtungsausdruck im Frequenzbereich für die 1. Chroma-Ebene fest.

Gewicht_V
Stellen Sie den Gewichtungsausdruck im Frequenzbereich für die 2. Chroma-Ebene ein.

Der Filter akzeptiert die folgenden Variablen:

X
Y Die Koordinaten des aktuellen Samples.

W
H Die Breite und Höhe des Bildes.

Beispiele

· Hochpass:

fftfilt=dc_Y=128:weight_Y='squish(1-(Y+X)/100)'

· Tiefpass:

fftfilt=dc_Y=0:weight_Y='squish((Y+X)/100-1)'

· Schärfen:

fftfilt=dc_Y=0:weight_Y='1+squish(1-(Y+X)/100)'

Feld
Extrahieren Sie ein einzelnes Halbbild aus einem Zeilensprungbild mit Schrittarithmetik, um Verschwendung zu vermeiden
CPU-Zeit. Die Ausgabeframes werden als non-interlaced gekennzeichnet.

Der Filter akzeptiert die folgenden Optionen:

tippe
Geben Sie an, ob das obere (wenn der Wert 0 oder "top" ist) oder das untere Feld extrahiert werden soll
(wenn der Wert 1 oder "unten" ist).

Feldübereinstimmung
Feldanpassungsfilter für inverse Telecine. Es soll das Fortschrittliche rekonstruieren
Frames aus einem Telecined-Stream. Der Filter lässt keine duplizierten Frames fallen, um zu erreichen
einem vollständigen inversen Telecine-"Fieldmatch" muss ein Dezimationsfilter folgen, wie z
as dezimieren in der Filtergrafik.

Die Trennung von Feldanpassung und Dezimierung wird insbesondere durch die
Möglichkeit, einen De-Interlacing-Filter-Fallback zwischen den beiden einzufügen. Wenn die Quelle
hat Telecined- und Real-Interlaced-Inhalte gemischt, "fieldmatch" kann nicht übereinstimmen
Felder für die verschachtelten Teile. Aber diese verbleibenden gekämmten Rahmen werden als
interlaced und kann daher durch einen späteren Filter wie z. B. de-interlaced werden jadif Bevor
Dezimierung.

Neben den verschiedenen Konfigurationsmöglichkeiten kann "fieldmatch" eine optionale Sekunde dauern
Stream, aktiviert durch den ppsrc Möglichkeit. Wenn aktiviert, wird die Frame-Rekonstruktion
basierend auf den Feldern und Frames aus diesem zweiten Stream. Dies ermöglicht die erste Eingabe
vorverarbeitet, um die verschiedenen Algorithmen des Filters zu unterstützen, während die
verlustfreie Ausgabe (vorausgesetzt, die Felder sind richtig zugeordnet). Typischerweise ist ein feldbewusster
Denoiser oder Helligkeits-/Kontrastanpassungen können hilfreich sein.

Beachten Sie, dass dieser Filter die gleichen Algorithmen verwendet wie TIVTC/TFM (AviSynth-Projekt) und
VIVTC/VFM (VapourSynth-Projekt). Letzteres ist ein leichter Klon von TFM, aus dem "fieldmatch"
basiert auf. Obwohl Semantik und Verwendung sehr nah beieinander liegen, werden einige Verhaltens- und Optionsnamen
abweichen können.

Das dezimieren Filter funktioniert derzeit nur für die Eingabe mit konstanter Bildrate. Wenn Ihre Eingabe hat
gemischte telecined (30fps) und progressive Inhalte mit einer niedrigeren Framerate wie 24fps verwenden die
folgende Filterkette, um den notwendigen cfr-Stream zu erzeugen:
"dejudder,fps=30000/1001,fieldmatch,dezimieren".

Der Filter akzeptiert die folgenden Optionen:

Auftrag
Geben Sie die angenommene Feldreihenfolge des Eingabestreams an. Verfügbare Werte sind:

Auto
Parität automatisch erkennen (verwenden Sie den internen Paritätswert von FFmpeg).

bff Nehmen Sie zuerst das untere Feld an.

tff Nehmen Sie zuerst das obere Feld an.

Beachten Sie, dass manchmal empfohlen wird, der vom Stream angekündigten Parität nicht zu vertrauen.

Standardwert ist Auto.

Modus
Legen Sie den zu verwendenden Matching-Modus oder die zu verwendende Strategie fest. pc Modus ist der sicherste in dem Sinne, dass er
riskiert nach Möglichkeit kein Ruckeln durch doppelte Frames, aber wenn es welche gibt
Bei schlechten Bearbeitungen oder gemischten Feldern werden gekämmte Frames ausgegeben, wenn eine gute Übereinstimmung besteht
könnte es tatsächlich geben. Auf der anderen Seite, pcn_ub Modus ist der riskanteste in Bezug auf
erzeugt Ruckeln, findet aber fast immer einen guten Rahmen, wenn einer vorhanden ist. Der
andere Werte liegen alle dazwischen pc und pcn_ub in Bezug auf das Risiko von Ruckeln
und das Erstellen von doppelten Frames im Vergleich zum Finden guter Übereinstimmungen in Abschnitten mit schlechten Bearbeitungen,
verwaiste Felder, gemischte Felder usw.

Weitere Details zu p/c/n/u/b finden Sie in p/c/n/u/b Bedeutung .

Verfügbare Werte sind:

pc 2-Wege-Matching (p/c)

pc_n
2-Wege-Matching und drittes Match versuchen, wenn noch gekämmt (p/c + n)

pc_u
2-Wege-Matching und drittes Match (gleiche Reihenfolge) versuchen, wenn immer noch gekämmt (p/c + u)

pc_n_ub
2-Wege-Matching, 3. Match versuchen, wenn immer noch gekämmt, und 4./5. Match versuchen, wenn
noch gekämmt (p/c + n + u/b)

pcn 3-Wege-Matching (p/c/n)

pcn_ub
3-Wege-Matching und 4./5.-Matches versuchen, wenn alle 3 der Original-Matches sind
als gekämmt erkannt (p/c/n + u/b)

Die Klammern am Ende geben die Übereinstimmungen an, die für diesen Modus verwendet werden würden
angenommen Auftrag=tff (und Feld on Auto or Top).

In Sachen Geschwindigkeit pc Modus ist mit Abstand der schnellste und pcn_ub ist am langsamsten.

Standardwert ist pc_n.

ppsrc
Markieren Sie den Haupteingabestrom als vorverarbeitete Eingabe und aktivieren Sie die sekundäre Eingabe
stream als saubere Quelle für die Auswahl der Felder. Siehe die Filter-Einführung für
mehr Details. Es ist ähnlich wie die clip2 Funktion von VFM/TFM.

Der Standardwert ist 0 (deaktiviert).

Feld
Legen Sie das Feld fest, von dem abgeglichen werden soll. Es wird empfohlen, diesen auf den gleichen Wert einzustellen wie Auftrag
es sei denn, bei dieser Einstellung treten Übereinstimmungsfehler auf. Unter bestimmten Umständen
Das Ändern des Felds, das für die Übereinstimmung verwendet wird, kann einen großen Einfluss auf die Übereinstimmung haben
Leistung. Verfügbare Werte sind:

Auto
Automatisch (gleicher Wert wie Auftrag).

Boden
Match aus dem unteren Feld.

Top Match aus dem oberen Feld.

Standardwert ist Auto.

Chroma
Legen Sie fest, ob Chroma bei den Übereinstimmungsvergleichen berücksichtigt wird oder nicht. In den meisten Fällen ist es
Es wird empfohlen, dies aktiviert zu lassen. Sie sollten dies nur auf 0 setzen, wenn Ihr Clip über
schlechte Chroma-Probleme wie starkes Rainbowing oder andere Artefakte. Setzen Sie dies auf 0
könnte auch verwendet werden, um die Dinge auf Kosten einer gewissen Genauigkeit zu beschleunigen.

Der Standardwert ist 1.

y0
y1 Diese definieren ein Ausschlussband, das die Linien zwischen . ausschließt y0 und y1 vom Sein
in die Field Matching-Entscheidung einbezogen. Ein Ausschlussband kann verwendet werden, um zu ignorieren
Untertitel, ein Logo oder andere Dinge, die den Abgleich stören können. y0 setzt die
Scanlinie starten und y1 setzt die Endzeile; alle Zeilen dazwischen y0 und y1
(Einschließlich y0 und y1) wird ignoriert. Einstellung y0 und y1 auf den gleichen Wert wird
deaktivieren Sie die Funktion. y0 und y1 standardmäßig auf 0.

scthresh
Stellen Sie den Schwellenwert für die Erkennung von Szenenänderungen als Prozentsatz der maximalen Änderung der Leuchte ein
Flugzeug. Gute Werte liegen im Bereich "[8.0, 14.0]". Szenenwechselerkennung ist nur
relevant im Fall Kampfkampf=sc. Das Sortiment für scthresh ist "[0.0, 100.0]".

Der Standardwert ist 12.0.

Kampfkampf
Wann Combatch ist nicht keine, "fieldmatch" berücksichtigt die gekämmten Scores von
Übereinstimmungen bei der Entscheidung, welche Übereinstimmung als letzte Übereinstimmung verwendet werden soll. Verfügbare Werte sind:

keine
Kein abschließendes Matching basierend auf gekämmten Scores.

sc Gekämmte Scores werden nur verwendet, wenn ein Szenenwechsel erkannt wird.

voller
Verwenden Sie die ganze Zeit gekämmte Scores.

Standardeinstellung ist sc.

Kammdbg
Erzwinge "fieldmatch", um die gekämmten Metriken für bestimmte Übereinstimmungen zu berechnen und auszudrucken.
Diese Einstellung ist bekannt als Mikrofon im TFM/VFM-Vokabular. Verfügbare Werte sind:

keine
Keine Zwangsberechnung.

pcn P/c/n-Berechnungen erzwingen.

pcnub
Erzwinge p/c/n/u/b-Berechnungen.

Standardwert ist keine.

cthresch
Dies ist der Schwellenwert für die Bereichskämmung, der für die Erkennung von gekämmten Frames verwendet wird. Dies im Wesentlichen
steuert, wie "stark" oder "sichtbar" Kämmen sein muss, um erkannt zu werden. Größere Werte bedeuten
Kämmen muss besser sichtbar sein und kleinere Werte bedeuten, dass Kämmen weniger sichtbar sein kann oder
stark und noch zu erkennen. Gültige Einstellungen sind von "-1" (jedes Pixel wird
als gekämmt erkannt) bis 255 (kein Pixel wird als gekämmt erkannt). Dies ist im Grunde ein
Pixeldifferenzwert. Ein guter Bereich ist "[8, 12]".

Der Standardwert ist 9.

Chroma
Legt fest, ob Chroma bei der Entscheidung für gekämmte Frames berücksichtigt wird oder nicht. Nur deaktivieren
Dies, wenn Ihre Quelle Chroma-Probleme (Regenbogen usw.) hat, die Probleme verursachen
für die gekämmte Frame-Erkennung mit aktiviertem Chroma. Eigentlich mit Chroma=0 is
normalerweise zuverlässiger, außer in dem Fall, in dem Chroma nur in der
Quelle.

Der Standardwert ist 0.

blockx
blocky
Stellen Sie die X-Achsen- und Y-Achsen-Größe des Fensters ein, das während des gekämmten Frames verwendet wird
Erkennung. Das hat mit der Größe des Gebietes zu tun, in dem komb Pixel sind
muss als gekämmt erkannt werden, damit ein Frame als gekämmt deklariert werden kann. Siehe die komb
Parameterbeschreibung für weitere Informationen. Mögliche Werte sind eine beliebige Zahl, die eine Potenz ist
von 2 beginnend bei 4 bis 512.

Der Standardwert ist 16.

komb
Die Anzahl der gekämmten Pixel in einem der blocky by blockx Größenblöcke auf dem
Rahmen für den Rahmen, der als gekämmt erkannt werden soll. Während cthresch steuert, wie "sichtbar" die
Kämmen muss sein, diese Einstellung steuert, "wie viel" Kämmen in jedem enthalten sein muss
lokalisierter Bereich (ein Fenster, das durch die blockx und blocky Einstellungen) am Rahmen.
Der Mindestwert ist 0 und der Höchstwert ist "blocky x blockx" (an diesem Punkt werden keine Frames mehr angezeigt)
jemals als gekämmt erkannt werden). Diese Einstellung ist bekannt als MI im TFM/VFM-Vokabular.

Der Standardwert ist 80.

p/c/n/u/b Bedeutung

p/c/n

Wir nehmen den folgenden telecined Stream an:

Obere Felder: 1 2 2 3 4
Untere Felder: 1 2 3 4 4

Die Zahlen entsprechen dem progressiven Frame, auf den sich die Felder beziehen. Hier die ersten beiden
Frames sind progressiv, der 3. und der 4. sind gekämmt und so weiter.

Wenn "fieldmatch" so konfiguriert ist, dass ein Matching von unten ausgeführt wird (Feld=Boden) das ist wie
dieser Eingabestrom wird transformiert:

Eingabestrom:
T 1 2 2 3 4
B 1 2 3 4 4 <-- passende Referenz

Übereinstimmungen: ccnnc

Ausgabestrom:
T 1 2 3 4 4
B 1 2 3 4 4

Als Ergebnis des Feldabgleichs können wir sehen, dass einige Frames dupliziert werden. Aufführen
ein komplettes inverses Telecine, müssen Sie sich nach diesem Vorgang auf einen Dezimationsfilter verlassen.
Siehe zum Beispiel die dezimieren Filter.

Dieselbe Operation passt jetzt von den oberen Feldern (Feld=Top) sieht aus wie das:

Eingabestrom:
T 1 2 2 3 4 <-- passende Referenz
B 1 2 3 4 4

Übereinstimmungen: ccppc

Ausgabestrom:
T 1 2 2 3 4
B 1 2 2 3 4

In diesen Beispielen können wir sehen, was p, c und n bedeuten; im Grunde beziehen sie sich auf den Rahmen und
Feld der entgegengesetzten Parität:

*<p stimmt mit dem Feld der entgegengesetzten Parität im vorherigen Frame überein>
*<c stimmt mit dem Feld der entgegengesetzten Parität im aktuellen Frame überein>
*<n stimmt mit dem Feld der entgegengesetzten Parität im nächsten Frame überein>

u/b

Das u und b Matching sind insofern etwas Besonderes, als sie aus dem Gegenteil zusammenpassen
Paritätsflagge. In den folgenden Beispielen gehen wir davon aus, dass wir derzeit den 2.
Rahmen (oben:2, unten:2). Je nach Übereinstimmung wird jeweils ein 'x' darüber und darunter platziert
übereinstimmende Felder.

Mit Bodenanpassung (Feld=Boden):

Übereinstimmung: cpnbu

xxxxx
Oben 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2
Unten 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3
xxxxx

Ausgabeframes:
+2 1 2 2
+2 2 2 1

Mit Top-Matching (Feld=Top):

Übereinstimmung: cpnbu

xxxxx
Oben 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2
Unten 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3
xxxxx

Ausgabeframes:
+2 2 2 1
+2 1 3 2

Beispiele

Einfache IVTC eines Top-Field-First-Telecined-Streams:

fieldmatch=order=tff:combmatch=none, dezimieren

Erweiterte IVTC, mit Fallback aktiviert jadif für noch gekämmte Rahmen:

fieldmatch=order=tff:combmatch=full, yadif=deint=interlaced, dezimieren

Feldreihenfolge
Transformieren Sie die Halbbildreihenfolge des Eingabevideos.

Es akzeptiert die folgenden Parameter:

Auftrag
Die Ausgabefeldreihenfolge. Gültige Werte sind tff für oberes Feld zuerst oder bff für unten
Feld zuerst.

Der Standardwert ist tff.

Die Transformation erfolgt durch Verschieben des Bildinhalts um eine Zeile nach oben oder unten, und
Füllen Sie die verbleibende Zeile mit entsprechendem Bildinhalt. Diese Methode ist konsistent
mit den meisten Broadcast-Halbbildreihenfolgewandlern.

Wenn das Eingangsvideo nicht als interlaced gekennzeichnet ist oder bereits als interlaced gekennzeichnet ist
der erforderlichen Ausgabefeldreihenfolge, dann verändert dieser Filter das eingehende Video nicht.

Es ist sehr nützlich, wenn Sie in oder aus PAL-DV-Material konvertieren, bei dem das untere Halbbild zuerst angezeigt wird.

Beispielsweise:

ffmpeg -i in.vob -vf "fieldorder=bff" out.dv

Fifo
Puffern Sie Eingabebilder und senden Sie sie, wenn sie angefordert werden.

Es ist hauptsächlich nützlich, wenn es vom libavfilter-Framework automatisch eingefügt wird.

Es braucht keine Parameter.

find_rect
Finde ein rechteckiges Objekt

Es akzeptiert die folgenden Optionen:

Objekt
Dateipfad des Objektbilds, muss in grau sein8.

Schwelle
Erkennungsschwelle, Standard ist 0.5.

Mipmaps
Anzahl der Mipmaps, Standard ist 3.

xmin, Ymin, xmax, ymax
Gibt das Rechteck an, in dem gesucht werden soll.

Beispiele

· Erstellen Sie eine repräsentative Palette eines bestimmten Videos mit ffmpeg:

ffmpeg -i file.ts -vf find_rect=newref.pgm,cover_rect=cover.jpg:mode=cover new.mkv

cover_rect
Bedecke ein rechteckiges Objekt

Es akzeptiert die folgenden Optionen:

Abdeckung
Der Dateipfad des optionalen Titelbilds muss in yuv420 sein.

Modus
Abdeckmodus einstellen.

Es akzeptiert die folgenden Werte:

Abdeckung
Bedecken Sie es mit dem mitgelieferten Bild

verwischen
decken Sie es ab, indem Sie die umgebenden Pixel interpolieren

Standardwert ist verwischen.

Beispiele

· Erstellen Sie eine repräsentative Palette eines bestimmten Videos mit ffmpeg:

ffmpeg -i file.ts -vf find_rect=newref.pgm,cover_rect=cover.jpg:mode=cover new.mkv

Format
Konvertieren Sie das Eingabevideo in eines der angegebenen Pixelformate. Libavfilter wird es versuchen
Wählen Sie eine aus, die als Eingabe für den nächsten Filter geeignet ist.

Es akzeptiert die folgenden Parameter:

pix_fmts
Eine durch '|' getrennte Liste von Pixelformatnamen, z. B. "pix_fmts=yuv420p|monow|rgb24".

Beispiele

· Konvertieren Sie das Eingangsvideo in das yuv420p Format

format=pix_fmts=yuv420p

Konvertieren Sie das Eingabevideo in eines der Formate in der Liste

format=pix_fmts=yuv420p|yuv444p|yuv410p

fps
Konvertieren Sie das Video in eine angegebene konstante Bildrate, indem Sie Bilder duplizieren oder fallen lassen
notwendig.

Es akzeptiert die folgenden Parameter:

fps Die gewünschte Ausgabe-Framerate. Der Standardwert ist 25.

rund
Rundungsmethode.

Mögliche Werte sind:

Null
Nullrunde in Richtung 0

inf Runde weg von 0

nach unten
rund in Richtung -unendlich

up rund gegen +unendlich

in der Nähe von
Runde zum nächsten

Die Vorgabe ist "nahe".

Startzeit
Angenommen, der erste PTS sollte den angegebenen Wert in Sekunden haben. Dies ermöglicht
Auffüllen/Trimmen am Anfang des Streams. Standardmäßig wird keine Annahme über die
erwarteten PTS des ersten Frames, daher wird kein Auffüllen oder Trimmen durchgeführt. Zum Beispiel das
könnte auf 0 gesetzt werden, um den Anfang mit Duplikaten des ersten Frames aufzufüllen, wenn ein Video
stream beginnt nach dem Audiostream oder um Frames mit negativem PTS zu trimmen.

Alternativ können die Optionen als Flatstring angegeben werden: fps[:rund].

Siehe auch die Einstellungen Filter.

Beispiele

· Eine typische Verwendung, um die fps auf 25 einzustellen:

fps=fps=25

· Setzt die fps auf 24, wobei Abkürzung und Rundungsmethode verwendet werden, um auf das nächste zu runden:

fps=fps=film:round=nah

Rahmenpaket
Packen Sie zwei verschiedene Videostreams in ein stereoskopisches Video und setzen Sie die richtigen Metadaten auf
unterstützte Codecs. Die beiden Ansichten sollten die gleiche Größe und Bildrate und Verarbeitung haben
stoppt, wenn das kürzere Video endet. Bitte beachten Sie, dass Sie die Ansicht bequem anpassen können
Eigenschaften mit dem Treppe und fps Filter.

Es akzeptiert die folgenden Parameter:

Format
Das gewünschte Verpackungsformat. Unterstützte Werte sind:

Sbs Die Ansichten sind nebeneinander (Standard).

Tab Die Ansichten liegen übereinander.

Linien
Die Ansichten sind zeilenweise verpackt.

Spalten
Die Ansichten sind spaltenweise gepackt.

Frameseq
Die Ansichten sind zeitlich verschachtelt.

Einige Beispiele:

# Konvertieren Sie die linke und rechte Ansicht in ein bildsequenzielles Video
ffmpeg -i LINKS -i RECHTS -filter_complex framepack=frameseq AUSGABE

# Konvertieren Sie Ansichten in ein Side-by-Side-Video mit derselben Ausgabeauflösung wie die Eingabe
ffmpeg -i LEFT -i RIGHT -filter_complex [0:v]scale=w=iw/2[left],[1:v]scale=w=iw/2[right],[left][right]framepack=sbs AUSGANG

Framerate
Ändern Sie die Bildrate, indem Sie neue Videoausgabebilder aus den Quellbildern interpolieren.

Dieser Filter ist nicht dafür ausgelegt, mit Interlaced-Medien richtig zu funktionieren. Wenn du es wünschst
Ändern Sie die Bildrate von Interlaced-Medien, dann müssen Sie vorher deinterlacen
filtern und nach diesem Filter erneut verschachteln.

Eine Beschreibung der akzeptierten Optionen folgt.

fps Geben Sie die Ausgabe-Frames pro Sekunde an. Diese Option kann auch als Wert angegeben werden
allein. Der Standardwert ist 50.

interp_start
Geben Sie den Anfang eines Bereichs an, in dem der Ausgaberahmen als linear erstellt wird
Interpolation von zwei Frames. Der Bereich ist [0-255], der Standardwert ist 15.

interp_end
Geben Sie das Ende eines Bereichs an, in dem der Ausgaberahmen als linear erstellt wird
Interpolation von zwei Frames. Der Bereich ist [0-255], der Standardwert ist 240.

Szene
Legen Sie die Stufe fest, bei der ein Szenenwechsel erkannt wird, als Wert zwischen 0 und 100 bis
eine neue Szene angeben; ein niedriger Wert spiegelt eine geringe Wahrscheinlichkeit wider, dass der aktuelle Frame
eine neue Szene einführen, während ein höherer Wert bedeutet, dass das aktuelle Bild mit größerer Wahrscheinlichkeit
eins sein. Der Standardwert ist 7.

Fahnen
Legen Sie Flags fest, die den Filterprozess beeinflussen.

Verfügbarer Wert für Fahnen ist:

Scene_change_detect, scd
Aktivieren Sie die Szenenwechselerkennung mit dem Wert der Option Szene. Diese Flagge ist
standardmäßig aktiviert.

Rahmenschritt
Wählen Sie jeden N-ten Frame einen Frame aus.

Dieser Filter akzeptiert die folgende Option:

Step
Wählen Sie den Rahmen nach jedem "Schritt"-Rahmen aus. Zulässige Werte sind positive ganze Zahlen höher
als 0. Der Standardwert ist 1.

frei0r
Wenden Sie einen frei0r-Effekt auf das Eingangsvideo an.

Um die Kompilierung dieses Filters zu ermöglichen, müssen Sie den frei0r-Header installieren und
FFmpeg mit "--enable-frei0r" konfigurieren.

Es akzeptiert die folgenden Parameter:

Filtername
Der Name des zu ladenden frei0r-Effekts. Wenn die Umgebungsvariable FREI0R_PFAD is
definiert, wird der frei0r-Effekt in jedem der Verzeichnisse gesucht, die durch die
durch Doppelpunkte getrennte Liste in FREIOR_PFAD. Ansonsten sind die Standard-Frei0r-Pfade
gesucht, in dieser Reihenfolge: HOME/.frei0r-1/lib/, /usr/local/lib/frei0r-1/,
/usr/lib/frei0r-1/.

filter_params
Eine durch '|' getrennte Liste von Parametern, die an den frei0r-Effekt übergeben werden.

Ein frei0r-Effektparameter kann ein boolescher Wert sein (sein Wert ist entweder "y" oder "n"), ein Double, a
Farbe (angegeben als R/G/B, Wobei R, G und B sind Gleitkommazahlen zwischen 0.0 und
1.0, einschließlich) oder durch eine Farbbeschreibung, die im Abschnitt "Farbe" in der ffmpeg-
utils manual), eine Position (angegeben als X/Y, Wobei X und Y sind Gleitkommazahlen)
und/oder eine Schnur.

Anzahl und Typen der Parameter hängen vom geladenen Effekt ab. Ist ein Effektparameter
nicht angegeben, wird der Standardwert gesetzt.

Beispiele

· Wenden Sie den Distortion0r-Effekt an, indem Sie die ersten beiden Doppelparameter einstellen:

frei0r=filter_name=distort0r:filter_params=0.5|0.01

· Wenden Sie den colordistance-Effekt an und nehmen Sie eine Farbe als ersten Parameter:

frei0r=Farbabstand:0.2/0.3/0.4
frei0r=Farbabstand:violett
frei0r=Farbabstand:0x112233

· Wenden Sie den perspektivischen Effekt an, indem Sie die Bildpositionen oben links und oben rechts angeben:

frei0r=perspective:0.2/0.2|0.8/0.2

Weitere Informationen finden Sie unterhttp://frei0r.dyne.org>

fspp
Wenden Sie eine schnelle und einfache Nachbearbeitung an. Es ist eine schnellere Version von spp.

Es teilt (I)DCT in horizontale/vertikale Durchgänge auf. Im Gegensatz zur einfachen Nachbearbeitung
Filter, einer von ihnen wird einmal pro Block ausgeführt, nicht pro Pixel. Das ermöglicht viel
höhere Geschwindigkeit.

Der Filter akzeptiert die folgenden Optionen:

Qualität
Qualität einstellen. Diese Option definiert die Anzahl der Ebenen für die Mittelwertbildung. Es akzeptiert ein
Ganzzahl im Bereich 4-5. Der Standardwert ist 4.

qp Erzwinge einen konstanten Quantisierungsparameter. Es akzeptiert eine ganze Zahl im Bereich von 0-63. Wenn nicht
eingestellt, verwendet der Filter die QP aus dem Videostream (sofern verfügbar).

Stärke
Filterstärke einstellen. Es akzeptiert eine ganze Zahl im Bereich von -15 bis 32. Niedrigere Werte bedeuten mehr
Details, aber auch mehr Artefakte, während höhere Werte das Bild glatter machen, aber auch
verschwommener. Der Standardwert ist 0 X PSNR optimal.

use_bframe_qp
Aktivieren Sie die Verwendung des QP von den B-Frames, wenn auf 1 gesetzt. Die Verwendung dieser Option kann zu
flackern, da die B-Frames oft größere QP haben. Der Standardwert ist 0 (nicht aktiviert).

geq
Der Filter akzeptiert die folgenden Optionen:

lum_expr, lum
Stellen Sie den Luminanz-Ausdruck ein.

cb_expr, cb
Stellen Sie den Chrominanz-Blau-Ausdruck ein.

cr_expr, cr
Stellen Sie den Chrominanz-Rot-Ausdruck ein.

alpha_Ausdruck, a
Legen Sie den Alpha-Ausdruck fest.

roter_ausdruck, r
Stellen Sie den roten Ausdruck ein.

grün_ausdruck, g
Legen Sie den grünen Ausdruck fest.

blauer_ausdruck, b
Legen Sie den blauen Ausdruck fest.

Der Farbraum wird gemäß den angegebenen Optionen ausgewählt. Wenn einer der lum_expr,
cb_expr, oder cr_expr Optionen angegeben ist, wählt der Filter automatisch ein YCbCr
Farbraum. Wenn einer der red_expr, grüner Ausdruck, oder blue_expr Optionen angegeben ist, wird es
Wählen Sie einen RGB-Farbraum aus.

Wenn einer der Chrominanzausdrücke nicht definiert ist, wird auf den anderen zurückgegriffen. Wenn nein
Alpha-Ausdruck angegeben ist, wird er als undurchsichtiger Wert ausgewertet. Wenn keine Chrominanz
Ausdrücke angegeben sind, werden sie zum Luminanzausdruck ausgewertet.

Die Ausdrücke können die folgenden Variablen und Funktionen verwenden:

N Die fortlaufende Nummer des gefilterten Frames, beginnend bei 0.

X
Y Die Koordinaten des aktuellen Samples.

W
H Die Breite und Höhe des Bildes.

SW
SH Breiten- und Höhenskalierung abhängig von der aktuell gefilterten Ebene. Es ist das Verhältnis
zwischen der entsprechenden Anzahl von Pixeln der Luma-Ebene und den Pixeln der aktuellen Ebene. Z.B
für YUV4:2:0 sind die Werte „1,1“ für die Luma-Ebene und „0.5,0.5“ für die Chroma-Ebene.

T Zeit des aktuellen Frames, ausgedrückt in Sekunden.

p(x, y)
Gibt den Wert des Pixels an Position (x,y) des aktuellen Flugzeugs.

Lum(x, y)
Gibt den Wert des Pixels an Position (x,y) der Luminanzebene.

cb(x, y)
Gibt den Wert des Pixels an Position (x,y) der Blaudifferenz-Chroma-Ebene.
Geben Sie 0 zurück, wenn es keine solche Ebene gibt.

cr(x, y)
Gibt den Wert des Pixels an Position (x,y) der Rotdifferenz-Chroma-Ebene.
Geben Sie 0 zurück, wenn es keine solche Ebene gibt.

r(x, y)
g(x, y)
b(x, y)
Gibt den Wert des Pixels an Position (x,y) der Rot/Grün/Blau-Komponente.
Geben Sie 0 zurück, wenn es keine solche Komponente gibt.

alpha(x, y)
Gibt den Wert des Pixels an Position (x,y) der Alphaebene. Gib 0 zurück, falls vorhanden
ist kein solches Flugzeug.

Für Funktionen, wenn x und y außerhalb des Bereichs liegen, wird der Wert automatisch beschnitten
die nähere Kante.

Beispiele

· Spiegeln Sie das Bild horizontal:

geq=p(WX\,Y)

· Erzeuge eine zweidimensionale Sinuswelle mit dem Winkel "PI/3" und einer Wellenlänge von 100 Pixeln:

geq=128 + 100*sin(2*(PI/100)*(cos(PI/3)*(X-50*T) + sin(PI/3)*Y)):128:128

· Generieren Sie ein schickes, rätselhaftes Moving Light:

nullsrc=s=256x256,geq=zufällig(1)/hypot(X-cos(N*0.07)*W/2-W/2\,Y-sin(N*0.09)*H/2-H/2)^2*1000000*sin(N*0.02):128:128

· Erzeuge einen schnellen Prägeeffekt:

format=grau,geq=lum_expr='(p(X,Y)+(256-p(X-4,Y-4)))/2'

· RGB-Komponenten je nach Pixelposition ändern:

geq=r='X/W*r(X,Y)':g='(1-X/W)*g(X,Y)':b='(HY)/H*b(X,Y )'

· Erstellen Sie einen radialen Farbverlauf, der die gleiche Größe wie die Eingabe hat (siehe auch die Vignette
Filter):

geq=lum=255*gauss((X/W-0.5)*3)*gauss((Y/H-0.5)*3)/gauss(0) /gauss(0),format=grau

· Erstellen Sie einen linearen Farbverlauf, um ihn als Maske für einen anderen Filter zu verwenden, und komponieren Sie dann mit
Auflage. In diesem Beispiel wird das Video von oben nach unten allmählich verschwommener
der untere Teil der y-Achse, wie durch den linearen Gradienten definiert:

ffmpeg -i input.mp4 -filter_complex "geq=lum=255*(Y/H),format=gray[grad];[0:v]boxblur=4[blur];[blur][grad]alphamerge[alpha] ;[0:v][alpha]Overlay" Ausgabe.mp4

Spaß
Beheben Sie die Banding-Artefakte, die manchmal in fast flache Regionen eingeführt werden, indem Sie
Kürzung auf 8bit Farbtiefe. Interpolieren Sie die Gradienten, die dorthin gehen sollen, wo die Bänder
sind, und zittern sie.

Es ist nur für die Wiedergabe gedacht. Verwenden Sie es nicht vor der verlustbehafteten Komprimierung, da
Kompression neigt dazu, das Zittern zu verlieren und die Bänder zurückzubringen.

Es akzeptiert die folgenden Parameter:

Stärke
Der maximale Betrag, um den der Filter ein Pixel ändert. Das ist auch der
Schwellenwert für die Erkennung nahezu flacher Regionen. Zulässige Werte reichen von 51 bis 64;
der Standardwert ist 1.2. Außerhalb des Bereichs liegende Werte werden auf den gültigen Bereich beschnitten.

radius
Die Nachbarschaft, an die der Farbverlauf angepasst werden soll. Ein größerer Radius sorgt für sanftere Steigungen,
verhindert aber auch, dass der Filter die Pixel in der Nähe detaillierter Regionen ändert.
Zulässige Werte sind 8-32; der Standardwert ist 16. Außerhalb des Bereichs liegende Werte sind
auf den gültigen Bereich abgeschnitten.

Alternativ können die Optionen als Flatstring angegeben werden: Stärke[:radius]

Beispiele

· Wenden Sie den Filter mit einer Stärke von 3.5 und einem Radius von 8 an:

gradfun=3.5:8

· Radius angeben, ohne die Stärke (die auf den Standardwert zurückfällt):

gradfun=radius=8

halsklaue
Wenden Sie eine Hald CLUT auf einen Videostream an.

Der erste Eingang ist der zu verarbeitende Videostream und der zweite die Hald CLUT. Der Hald
Die CLUT-Eingabe kann ein einfaches Bild oder ein vollständiger Videostream sein.

Der Filter akzeptiert die folgenden Optionen:

kürzeste
Beendigung erzwingen, wenn die kürzeste Eingabe beendet wird. Standard ist 0.

wiederholen
Wenden Sie die letzte CLUT nach dem Ende des Streams weiter an. Ein Wert von 0 deaktiviert die
Filter, nachdem der letzte Frame der CLUT erreicht ist. Standard ist 1.

"haldclut" hat auch die gleichen Interpolationsmöglichkeiten wie lut3d (beide Filter haben das gleiche gemeinsam
Einbauten).

Weitere Informationen zum Hald CLUT finden Sie auf der Website von Eskil Steenberg (Hald CLUT
Autor) beihttp://www.quelsolaar.com/technology/clut.html>.

Arbeitsablauf Beispiele

Hald CLUT-Videostream

Generieren Sie einen Identitäts-Hald-CLUT-Stream, der mit verschiedenen Effekten geändert wurde:

ffmpeg -f lavfi -i B =8 -vf "hue=H=2*PI*t:s=sin(2*PI*t)+1, curves=cross_process" -t 10 -c:v ffv1 clut.nut

Hinweis: Stellen Sie sicher, dass Sie einen verlustfreien Codec verwenden.

Verwenden Sie es dann mit "haldclut", um es auf einen zufälligen Stream anzuwenden:

ffmpeg -f lavfi -i mandelbrot -i clut.nut -filter_complex '[0][1] haldclut' -t 20 mandelclut.mkv

Die Hald CLUT wird auf die ersten 10 Sekunden angewendet (Dauer von Klumpennuss), dann ist die
Das neueste Bild dieses CLUT-Streams wird auf die verbleibenden Frames des
"mandelbrot"-Stream.

Halbe CLUT mit Vorschau

Eine Hald CLUT soll ein quadratisches Bild von "Level*Level*Level" von . sein
"Level*Level*Level"-Pixel. Für eine gegebene Hald CLUT wählt FFmpeg die größtmögliche aus
Quadrat, das oben links im Bild beginnt. Die verbleibenden Füllpixel (unten oder
rechts) werden ignoriert. Dieser Bereich kann verwendet werden, um eine Vorschau der Hald CLUT hinzuzufügen.

Normalerweise wird die folgende generierte Hald-CLUT vom "haldclut"-Filter unterstützt:

ffmpeg -f lavfi -i B =8 -vf"
pad=iw+320 [padded_clut];
smptebars=s=320x256, teilen [a][b];
[padded_clut][a] overlay=W-320:h, Curves=color_negative [main];
[main][b] overlay=W-320" -frames:v 1 clut.png

Es enthält das Original und eine Vorschau der Wirkung der CLUT: SMPTE-Farbbalken sind
rechts oben und unten die gleichen Farbbalken angezeigt, die von den Farbänderungen verarbeitet werden.

Dann kann die Wirkung dieser Hald CLUT visualisiert werden mit:

ffplay input.mkv -vf "movie=clut.png, [in] haldclut"

hflipp
Spiegeln Sie das Eingangsvideo horizontal.

Um beispielsweise das Eingangsvideo horizontal zu spiegeln mit ffmpeg:

ffmpeg -i in.avi -vf "hflip" out.avi

histeq
Dieser Filter wendet eine globale Farbhistogramm-Entzerrung auf Einzelbildbasis an.

Es kann verwendet werden, um Videos zu korrigieren, die einen komprimierten Bereich von Pixelintensitäten aufweisen. Der
Filter verteilt die Pixelintensitäten neu, um ihre Verteilung über die
Intensitätsbereich. Es kann als "automatisch anpassender Kontrastfilter" angesehen werden. Dies
Filter ist nur zum Korrigieren von verschlechtertem oder schlecht aufgenommenem Quellvideo nützlich.

Der Filter akzeptiert die folgenden Optionen:

Stärke
Bestimmen Sie den anzuwendenden Ausgleichsbetrag. Wenn die Festigkeit verringert wird,
Die Verteilung der Pixelintensitäten nähert sich immer mehr der des Eingabebildes an.
Der Wert muss eine Gleitkommazahl im Bereich [0,1] sein und ist standardmäßig 0.200.

Intensität
Stellen Sie die maximal erzeugbare Intensität ein und skalieren Sie die Ausgabewerte
passend. Die Stärke sollte wie gewünscht eingestellt werden und dann kann die Intensität eingestellt werden
begrenzt, falls erforderlich, um ein Auswaschen zu vermeiden. Der Wert muss eine Gleitkommazahl im Bereich . sein
[0,1] und standardmäßig auf 0.210 eingestellt.

anti Banding
Stellen Sie die Antibanding-Stufe ein. Wenn aktiviert, variiert der Filter zufällig die Luminanz von
Ausgabepixel um einen kleinen Betrag, um eine Streifenbildung des Histogramms zu vermeiden. Mögliche Werte sind
"keine", "schwach" oder "stark". Standardmäßig ist "keine" eingestellt.

Histogramm
Berechnen und zeichnen Sie ein Farbverteilungshistogramm für das Eingabevideo.

Das berechnete Histogramm ist eine Darstellung der Farbkomponentenverteilung in an
Bild.

Der Filter akzeptiert die folgenden Optionen:

Modus
Histogrammmodus einstellen.

Es akzeptiert die folgenden Werte:

Cholesterinspiegel
Standardhistogramm, das die Verteilung der Farbkomponenten in einem Bild anzeigt.
Zeigt ein Farbdiagramm für jede Farbkomponente an. Zeigt die Verteilung der Y, U, V,
A- oder R-, G-, B-Komponenten, je nach Eingabeformat, im aktuellen Frame. Unter
In jedem Diagramm wird ein Farbkomponentenskalenmesser angezeigt.

Farbe
Zeigt Chroma-Werte (U/V-Farbplatzierung) in einem zweidimensionalen Diagramm an (das ist
Vektorskop genannt). Je heller ein Pixel im Vektorskop, desto mehr Pixel von
der Eingaberahmen entspricht diesem Pixel (dh mehr Pixel haben diese Farbsättigung)
Wert). Die V-Komponente wird auf der horizontalen (X)-Achse angezeigt, wobei ganz links
Seite ist V = 0 und die ganz rechte Seite ist V = 255. Die U-Komponente ist
angezeigt auf der vertikalen (Y) Achse, wobei das obere U = 0 darstellt und das untere
repräsentiert U = 255.

Die Position eines weißen Pixels im Graphen entspricht dem Chroma-Wert von a
Pixel des Eingabeclips. Die Grafik kann daher verwendet werden, um den Farbton (Farbe
Geschmack) und die Sättigung (die Dominanz des Farbtons in der Farbe). Als der Farbton von
eine Farbe ändert sich, sie bewegt sich um das Quadrat. In der Mitte des Platzes die
die Sättigung ist null, was bedeutet, dass das entsprechende Pixel keine Farbe hat. Wenn die
Menge einer bestimmten Farbe wird erhöht (während die anderen Farben unverändert bleiben)
die Sättigung nimmt zu und der Indikator bewegt sich zum Rand des Quadrats.

color2
Chroma-Werte im Vektorskop, ähnlich wie "Farbe", aber die tatsächlichen Chroma-Werte sind
angezeigt.

Wellenform
Farbkomponentendiagramm pro Zeile/Spalte. Im Zeilenmodus die Grafik auf der linken Seite
repräsentiert den Farbkomponentenwert 0 und die rechte Seite repräsentiert den Wert = 255. In
Spaltenmodus, die obere Seite repräsentiert den Farbkomponentenwert = 0 und die untere Seite
stellt Wert = 255 dar.

Der Standardwert ist "Stufen".

Ebene_Höhe
Stellen Sie die Höhe der Ebene in "Ebenen" ein. Der Standardwert ist 200. Der zulässige Bereich ist [50, 2048].

scale_height
Stellen Sie die Höhe der Farbskala in "Stufen" ein. Der Standardwert ist 12. Zulässiger Bereich ist [0, 40].

Step
Schritt für "Wellenform"-Modus einstellen. Kleinere Werte sind nützlich, um herauszufinden, wie viele Werte von
die gleiche Luminanz wird über die Eingabezeilen/-spalten verteilt. Der Standardwert ist 10.
Zulässiger Bereich ist [1, 255].

Wellenform_Modus
Modus für "Wellenform" einstellen. Kann entweder "Zeile" oder "Spalte" sein. Standard ist "Reihe".

wave_mirror
Spiegelungsmodus für "Wellenform" einstellen. 0 bedeutet ungespiegelt, 1 bedeutet gespiegelt. In gespiegelt
Modus, höhere Werte werden auf der linken Seite für den "Reihen"-Modus und oben dargestellt
für den "Spalten"-Modus. Der Standardwert ist 0 (nicht gespiegelt).

Anzeigemodus
Anzeigemodus für "Wellenform" und "Stufen" einstellen. Es akzeptiert die folgenden Werte:

Parade
Zeigen Sie eine separate Grafik für die Farbkomponenten nebeneinander in der Wellenform "Reihe" an
Modus oder untereinander im Wellenformmodus "Spalte" für "Wellenform"-Histogramm
Modus. Für den Histogrammmodus "Stufen" werden Diagramme pro Farbkomponente darunter platziert
den Umgang miteinander.

Die Verwendung dieses Anzeigemodus im Histogrammmodus "Wellenform" erleichtert das Erkennen von Farben
wirft die Lichter und Schatten eines Bildes ein, indem die Konturen der
oberen und unteren Diagramme jeder Wellenform. Da Weiß, Grau und Schwarz
gekennzeichnet durch genau gleiche Mengen an Rot, Grün und Blau, neutrale Bereiche von
das Bild sollte drei Wellenformen von ungefähr gleicher Breite/Höhe anzeigen. Wenn nicht,
Die Korrektur ist einfach durchzuführen, indem die Pegel der drei Wellenformen angepasst werden.

Auflage
Präsentiert Informationen, die mit denen in der "Parade" identisch sind, außer dass die Grafiken
darstellende Farbkomponenten werden direkt überlagert.

Dieser Anzeigemodus im Histogrammmodus "Wellenform" erleichtert das Erkennen von relativen
Unterschiede oder Ähnlichkeiten in überlappenden Bereichen der Farbkomponenten, die
identisch sein sollen, wie neutrales Weiß, Grau oder Schwarz.

Standard ist "Parade".

level_mode
Modus für "Ebenen" einstellen. Kann entweder "linear" oder "logarithmisch" sein. Standard ist "linear".

Komponenten
Legen Sie fest, welche Farbkomponenten für den Modus "Stufen" angezeigt werden sollen. Standard ist 7.

Beispiele

· Histogramm berechnen und zeichnen:

ffplay -i input -vf Histogramm

hqdn3d
Dies ist ein hochpräziser/qualitativer 3D-Entrauschungsfilter. Es zielt darauf ab, Bildrauschen zu reduzieren,
Erzeugen Sie glatte Bilder und machen Sie Standbilder wirklich still. Es sollte verbessern
Kompressibilität.

Es akzeptiert die folgenden optionalen Parameter:

luma_räumlich
Eine nicht negative Gleitkommazahl, die die räumliche Luminanzstärke angibt. Es
standardmäßig auf 4.0.

chroma_räumlich
Eine nicht negative Gleitkommazahl, die die räumliche Farbstärke angibt. Es
standardmäßig auf 3.0*luma_räumlich/ 4.0.

luma_tmp
Eine Gleitkommazahl, die die zeitliche Luma-Stärke angibt. Es ist standardmäßig
6.0 *luma_räumlich/ 4.0.

chroma_tmp
Eine Gleitkommazahl, die die zeitliche Stärke der Chroma angibt. Es ist standardmäßig
luma_tmp*chroma_räumlich/luma_räumlich.

hqx
Wenden Sie einen hochwertigen Vergrößerungsfilter an, der für Pixelkunst entwickelt wurde. Dieser Filter war
ursprünglich von Maxim Stepin erstellt.

Es akzeptiert die folgende Option:

n Stellen Sie das Skalierungsmaß ein: 2 für „hq2x“, 3 für „hq3x“ und 4 für „hq4x“. Standard ist 3.

Stapel
Stapeln Sie Eingabevideos horizontal.

Alle Streams müssen dasselbe Pixelformat und dieselbe Höhe aufweisen.

Beachten Sie, dass dieser Filter schneller ist als die Verwendung von Auflage und Unterlage filtern, um dieselbe Ausgabe zu erstellen.

Der Filter akzeptiert die folgende Option:

nb_eingaben
Legen Sie die Anzahl der Eingabestreams fest. Standard ist 2.

Farbton
Ändern Sie den Farbton und/oder die Sättigung der Eingabe.

Es akzeptiert die folgenden Parameter:

h Geben Sie den Farbtonwinkel in Grad an. Es akzeptiert einen Ausdruck und Standardwerte
auf "0".

s Geben Sie die Sättigung im Bereich [-10,10] an. Es akzeptiert einen Ausdruck und ist standardmäßig auf
"1".

H Geben Sie den Farbtonwinkel als eine Anzahl von Bogenmaßen an. Es akzeptiert einen Ausdruck und Standardwerte
auf "0".

b Geben Sie die Helligkeit im Bereich [-10,10] an. Es akzeptiert einen Ausdruck und ist standardmäßig auf
"0".

h und H schließen sich gegenseitig aus und können nicht gleichzeitig angegeben werden.

Das b, h, H und s Optionswerte sind Ausdrücke, die die folgenden Konstanten enthalten:

n Frameanzahl des Eingabeframes beginnend bei 0

pts Präsentationszeitstempel des Eingaberahmens, ausgedrückt in Zeitbasiseinheiten

r Bildrate des Eingangsvideos, NAN, wenn die Eingangsbildrate unbekannt ist

t Zeitstempel in Sekunden ausgedrückt, NAN, wenn der Eingabezeitstempel unbekannt ist

tb Zeitbasis des Eingangsvideos

Beispiele

· Stellen Sie den Farbton auf 90 Grad und die Sättigung auf 1.0 ein:

Farbton=h=90:s=1

· Gleicher Befehl, aber mit Angabe des Farbtons im Bogenmaß:

Farbton=H=PI/2:s=1

· Rotieren Sie den Farbton und lassen Sie die Sättigung über einen Zeitraum von 0 Sekunde zwischen 2 und 1 schwanken:

hue="H=2*PI*t: s=sin(2*PI*t)+1"

· Wenden Sie einen 3-Sekunden-Sättigungs-Einblendeffekt beginnend bei 0 an:

hue="s=min(t/3\,1)"

Der allgemeine Einblendungsausdruck kann wie folgt geschrieben werden:

hue="s=min(0\, max((t-START)/DAUER\, 1))"

· Wenden Sie einen 3-Sekunden-Sättigungs-Ausblendeffekt an, der bei 5 Sekunden beginnt:

hue="s=max(0\, min(1\, (8-t)/3))"

Der allgemeine Ausblendungsausdruck kann wie folgt geschrieben werden:

hue="s=max(0\, min(1\, (START+DAUER-t)/DAUER))"

Befehle

Dieser Filter unterstützt die folgenden Befehle:

b
s
h
H Ändern Sie den Farbton und/oder die Sättigung und/oder Helligkeit des Eingangsvideos. Der
Befehl akzeptiert dieselbe Syntax wie die entsprechende Option.

Wenn der angegebene Ausdruck nicht gültig ist, wird sein aktueller Wert beibehalten.

idee
Video-Interlacing-Typ erkennen.

Dieser Filter versucht zu erkennen, ob die eingegebenen Frames interlaced, progressiv, oben oder unten sind
Feld zuerst. Es wird auch versuchen, Felder zu erkennen, die sich zwischen benachbarten Bildern wiederholen
(ein Zeichen von Telecine).

Die Einzelbilderkennung berücksichtigt bei der Klassifizierung nur unmittelbar benachbarte Bilder
Rahmen. Die Mehrfach-Frame-Erkennung beinhaltet die Klassifizierungshistorie der vorherigen
Frames.

Der Filter protokolliert diese Metadatenwerte:

single.current_frame
Erkannter Typ des aktuellen Frames mit Einzelframe-Erkennung. Einer von: ``tff'' (top
Feld zuerst), ``bff'' (unteres Feld zuerst), ``progressiv'' oder ``unbestimmt''

single.tff
Kumulative Anzahl von Frames, die bei der Einzelbild-Erkennung zuerst als oberstes Halbbild erkannt wurden.

multiple.tff
Kumulative Anzahl von Frames, die zuerst als oberstes Halbbild erkannt wurden, wenn mehrere Frames verwendet werden
Erkennung.

Single.bff
Kumulative Anzahl von Frames, die zuerst als unteres Halbbild erkannt wurden, wenn Einzelbild verwendet wird
Erkennung.

multiple.current_frame
Erkannter Typ des aktuellen Frames mithilfe der Mehrfach-Frame-Erkennung. Einer von: ``tff'' (oben
Feld zuerst), ``bff'' (unteres Feld zuerst), ``progressiv'' oder ``unbestimmt''

mehrere.bff
Kumulative Anzahl von Frames, die bei Verwendung mehrerer Frames zuerst als unteres Halbbild erkannt wurden
Erkennung.

einzeln.progressiv
Kumulative Anzahl von Frames, die mithilfe der Einzelbilderkennung als progressiv erkannt wurden.

mehrfach.progressiv
Kumulative Anzahl von Frames, die mithilfe der Mehrfach-Frame-Erkennung als progressiv erkannt wurden.

single.unbestimmt
Kumulative Anzahl von Frames, die mit der Einzelbilderkennung nicht klassifiziert werden konnten.

mehrfach.unbestimmt
Kumulative Anzahl von Frames, die nicht mit mehreren Frames klassifiziert werden konnten
Erkennung.

wiederholter.aktueller_frame
Welches Feld im aktuellen Frame wird ab dem letzten wiederholt. Einer von ``weder'',
``oben'' oder ``unten''.

wiederholt.weder
Kumulative Anzahl von Frames ohne wiederholtes Halbbild.

wiederholt.top
Kumulative Anzahl von Frames, wobei das obere Halbbild von der Spitze des vorherigen Frames wiederholt wird
Feld.

wiederholt.unten
Kumulative Anzahl von Frames, wobei das untere Halbbild aus den vorherigen Frames wiederholt wird
unteres Feld.

Der Filter akzeptiert die folgenden Optionen:

intl_thres
Interlacing-Schwellenwert einstellen.

prog_thres
Stellen Sie den progressiven Schwellenwert ein.

wiederholen_thres
Schwellenwert für die wiederholte Felderkennung.

Halbwertszeit
Anzahl der Frames, nach denen der Beitrag eines bestimmten Frames zur Statistik halbiert wird
(dh es trägt nur 0.5 zu seiner Klassifizierung bei). Der Standardwert von 0 bedeutet, dass
alle gesehenen Frames erhalten für immer das volle Gewicht von 1.0.

analysis_interlaced_flag
Wenn dieser nicht 0 ist, verwendet idet die angegebene Anzahl von Frames, um zu bestimmen, ob
das Interlaced-Flag genau ist, zählt es keine unbestimmten Frames. Wenn die Flagge
als richtig befunden wird, wird es ohne weitere Berechnungen verwendet, wenn es
als ungenau befunden, wird es ohne weitere Berechnungen gelöscht. Dies
ermöglicht das Einfügen des Idet-Filters als rechnerische Methode zur Bereinigung der
verflochtene Flagge

il
Felder entschachteln oder verschachteln.

Mit diesem Filter können Halbbilder von Bildern mit Zeilensprung verarbeitet werden, ohne sie zu deinterlacen.
Deinterleaving teilt das Eingabebild in 2 Halbbilder (sog. Halbbilder). Ungerade Linien
werden in die obere Hälfte des Ausgabebildes verschoben, gerade Linien in die untere Hälfte. Sie können
verarbeiten (filtern) Sie sie unabhängig voneinander und verschachteln Sie sie dann erneut.

Der Filter akzeptiert die folgenden Optionen:

luma_mode, l
chroma_mode, c
alpha_modus, a
Verfügbare Werte für luma_mode, chroma_mode und alpha_modus sind:

keine
Nichts tun.

entschachteln, d
Felder entschachteln und übereinander platzieren.

verschachteln, i
Felder verschachteln. Kehren Sie den Deinterleaving-Effekt um.

Der Standardwert ist "keiner".

luma_swap, ls
chroma_swap, cs
alpha_swap, as
Luma/Chroma/Alpha-Felder tauschen. Tauschen Sie gerade und ungerade Zeilen aus. Der Standardwert ist 0.

aufblasen
Wenden Sie den Aufblaseffekt auf das Video an.

Dieser Filter ersetzt das Pixel durch das aus einer regionalen(3x3) Durchschnitt nur unter Berücksichtigung
Werte höher als das Pixel.

Es akzeptiert die folgenden Optionen:

Schwelle0
Schwelle1
Schwelle2
Schwelle3
Begrenzen Sie die maximale Änderung für jede Ebene, der Standardwert ist 65535. Bei 0 bleibt die Ebene bestehen
unverändert.

verschachteln
Einfacher Interlacing-Filter aus progressiven Inhalten. Dies verschachtelt obere (oder untere)
Zeilen aus ungeraden Frames mit unteren (oder oberen) Zeilen aus geraden Frames, Halbierung der Framerate
und Beibehaltung der Bildhöhe.

Original Original neuer Rahmen
Rahmen 'j' Rahmen 'j+1' (tff)
========== =========== ==================
Zeile 0 ------------------> Rahmen 'j' Zeile 0
Zeile 1 Zeile 1 ----> Rahmen 'j+1' Zeile 1
Zeile 2 ---------------------------------- Rahmen 'j' Zeile 2
Zeile 3 Zeile 3 ----> Rahmen 'j+1' Zeile 3
... ... ...
Neuer Frame + 1 wird von Frame 'j+2' und Frame 'j+3' generiert und so weiter

Es akzeptiert die folgenden optionalen Parameter:

Scan
Dies bestimmt, ob das Zeilensprungbild aus dem geraden (tff - Standard) oder
ungerade (bff) Zeilen des progressiven Frames.

Tiefpass
Aktivieren (Standard) oder deaktivieren Sie den vertikalen Tiefpassfilter, um Twitter-Interlacing zu vermeiden
und Moiré-Muster reduzieren.

kerndeint
Deinterlacen Sie das Eingangsvideo, indem Sie das adaptive Kernel-Deinterling von Donald Graft anwenden. Arbeite an
Interlaced-Teile eines Videos, um progressive Frames zu erzeugen.

Die Beschreibung der akzeptierten Parameter folgt.

dreschen
Legen Sie den Schwellenwert fest, der die Toleranz des Filters beeinflusst, wenn Sie bestimmen, ob ein Pixel
Zeile verarbeitet werden muss. Es muss eine ganze Zahl im Bereich [0,255] sein und ist standardmäßig 10.
Ein Wert von 0 führt dazu, dass der Prozess auf alle Pixel angewendet wird.

Karte Malen Sie Pixel, die den Schwellenwert überschreiten, in Weiß, wenn der Wert auf 1 eingestellt ist. Der Standardwert ist 0.

Auftrag
Legen Sie die Reihenfolge der Felder fest. Felder tauschen, wenn auf 1 gesetzt, Felder in Ruhe lassen, wenn 0. Der Standardwert ist 0.

scharf
Aktivieren Sie zusätzliches Schärfen, wenn es auf 1 gesetzt ist. Der Standardwert ist 0.

zwei
Aktivieren Sie das Zweiwege-Schärfen, wenn es auf 1 eingestellt ist. Der Standardwert ist 0.

Beispiele

· Standardwerte anwenden:

kerndeint=thresh=10:map=0:order=0:sharp=0:twoway=0

· Zusätzliches Schärfen aktivieren:

kerndeint=scharf=1

· Verarbeitete Pixel in Weiß malen:

kerndeint=map=1

Linsenkorrektur
Korrigieren Sie die radiale Linsenverzerrung

Dieser Filter kann verwendet werden, um radiale Verzerrungen zu korrigieren, die sich aus der Verwendung von ergeben können
Weitwinkelobjektive und korrigieren dadurch das Bild neu. Um die richtigen Parameter zu finden, kann man
Verwenden Sie Tools, die zum Beispiel als Teil von Opencv verfügbar sind, oder einfach Trial-and-Error. Benutzen
opencv verwendet die Kalibrierungsprobe (unter Samples/cpp) aus den opencv-Quellen und extrahiert
die Koeffizienten k1 und k2 aus der resultierenden Matrix.

Beachten Sie, dass praktisch der gleiche Filter in den Open-Source-Tools Krita und . verfügbar ist
Digikam aus dem KDE-Projekt.

Im Gegensatz zu Vignette Filter, der auch zur Kompensation von Objektivfehlern verwendet werden kann, dies
Filter korrigiert die Verzerrung des Bildes, während Vignette korrigiert die Helligkeit
Verteilung, daher können Sie in bestimmten Fällen beide Filter zusammen verwenden, obwohl Sie
muss sich um die Bestellung kümmern, dh ob vorher eine Vignettierung angebracht werden soll oder
nach der Linsenkorrektur.

Optionen

Der Filter akzeptiert die folgenden Optionen:

cx Relative x-Koordinate des Brennpunktes des Bildes und damit der Mitte des
Verzerrung. Dieser Wert hat einen Bereich von [0,1] und wird als Bruchteile des Bildes ausgedrückt
Breite.

cy Relative y-Koordinate des Brennpunktes des Bildes und damit der Mitte des
Verzerrung. Dieser Wert hat einen Bereich von [0,1] und wird als Bruchteile des Bildes ausgedrückt
Höhe.

k1 Koeffizient des quadratischen Korrekturterms. 0.5 bedeutet keine Korrektur.

k2 Koeffizient des doppelt-quadratischen Korrekturterms. 0.5 bedeutet keine Korrektur.

Die Formel, die die Korrektur erzeugt, lautet:

r_src = r_tgt * (1 + k1 * (r_tgt / r_0)^2 + k2 * (r_tgt / r_0)^4)

woher r_0 ist die Hälfte der Bilddiagonale und r_src und r_tgt sind die Entfernungen von der
Brennpunkt im Quell- bzw. Zielbild.

lut3d
Wenden Sie eine 3D-LUT auf ein Eingangsvideo an.

Der Filter akzeptiert die folgenden Optionen:

Datei
Legen Sie den Namen der 3D-LUT-Datei fest.

Derzeit unterstützte Formate:

3dl Nachwirkungen

Würfel
Iridas

dat DaVinci

m3d Pandora

interp
Wählen Sie den Interpolationsmodus.

Verfügbare Werte sind:

nächste
Verwenden Sie Werte vom nächsten definierten Punkt.

trilinear
Interpolieren Sie die Werte mit den 8 Punkten, die einen Würfel definieren.

tetraedrisch
Werte mit einem Tetraeder interpolieren.

Schlampe, lutrgb, Lutjuw
Berechnen einer Nachschlagetabelle zum Binden jedes Pixelkomponenten-Eingabewerts an einen Ausgabewert,
und wenden Sie es auf das Eingangsvideo an.

Lutjuw wendet eine Lookup-Tabelle auf ein YUV-Eingangsvideo an, lutrgb zu einem RGB-Eingangsvideo.

Diese Filter akzeptieren die folgenden Parameter:

c0 Setze den ersten Pixelkomponentenausdruck

c1 zweiten Pixelkomponentenausdruck setzen

c2 dritten Pixelkomponentenausdruck setzen

c3 vierten Pixelkomponentenausdruck setzen, entspricht der Alphakomponente

r roten Komponentenausdruck setzen

g setze den grünen Komponentenausdruck

b Blaukomponentenausdruck einstellen

a Alpha-Komponenten-Ausdruck

y Y-/Luminanzkomponentenausdruck einstellen

u U/Cb-Komponentenausdruck setzen

v V/Cr-Komponentenausdruck einstellen

Jeder von ihnen gibt den Ausdruck an, der zum Berechnen der Nachschlagetabelle für die
entsprechenden Pixelkomponentenwerte.

Die genaue Komponente, die jedem der c* Optionen hängen vom Format in der Eingabe ab.

Das lut Filter erfordert entweder YUV- oder RGB-Pixelformate in der Eingabe, lutrgb erfordert RGB
Pixelformate in der Eingabe und Lutjuw erfordert YUV.

Die Ausdrücke können die folgenden Konstanten und Funktionen enthalten:

w
h Die Eingabebreite und -höhe.

Welle Der Eingabewert für die Pixelkomponente.

Clipval
Der Eingabewert, beschnitten auf den Minval-maxval range.

maxval
Der maximale Wert für die Pixelkomponente.

Minval
Der Mindestwert für die Pixelkomponente.

Negativ
Der negierte Wert für den Pixelkomponentenwert, beschnitten auf Minval-maxval Angebot;
es entspricht dem Ausdruck "maxval-clipval+minval".

Clip(val)
Der berechnete Wert in Welle, angeschnitten Minval-maxval range.

Gammaval (Gamma)
Der berechnete Gammakorrekturwert des Pixelkomponentenwerts, beschnitten auf
Minval-maxval Palette. Es entspricht dem Ausdruck
"pow((clipval-minval)/(maxval-minval)\,Gamma)*(maxval-minval)+minval"

Alle Ausdrücke sind standardmäßig auf "val" eingestellt.

Beispiele

· Eingabevideo negieren:

lutrgb="r=maxval+minval-val:g=maxval+minval-val:b=maxval+minval-val"
lutyuv="y=maxval+minval-val:u=maxval+minval-val:v=maxval+minval-val"

Das obige ist dasselbe wie:

lutrgb="r=negval:g=negval:b=negval"
lutyuv="y=negval:u=negval:v=negval"

· Luminanz negieren:

lutyuv=y=negval

· Entfernen Sie Chroma-Komponenten und verwandeln Sie das Video in ein Grautonbild:

lutyuv="u=128:v=128"

· Wenden Sie einen Luma-Burning-Effekt an:

lutyuv="y=2*val"

· Grüne und blaue Komponenten entfernen:

lutrgb="g=0:b=0"

· Stellen Sie einen konstanten Alphakanalwert für die Eingabe ein:

format=rgba,lutrgb=a="maxval-minval/2"

· Korrigieren Sie das Luminanz-Gamma um den Faktor 0.5:

lutyuv=y=gammaval(0.5)

· Niedrigstwertige Bits von Luma verwerfen:

lutyuv=y='bitand(val, 128+64+32)'

Zusammenführungsebenen
Farbkanalkomponenten aus mehreren Videostreams zusammenführen.

Der Filter akzeptiert bis zu 4 Eingabestreams und führt ausgewählte Eingabeebenen mit der Ausgabe zusammen
Video.

Dieser Filter akzeptiert die folgenden Optionen:

Mapping
Legen Sie die Zuordnung der Eingabe- zur Ausgabeebene fest. Standard ist 0.

Die Zuordnungen werden als Bitmap angegeben. Sie sollte als Hexadezimalzahl angegeben werden
in der Form 0xAa[Bb[Cc[Dd]]]. 'Aa' beschreibt die Abbildung für die erste Ebene des
Ausgabestrom. 'A' legt die Nummer des zu verwendenden Eingabestreams fest (von 0 bis 3), und 'a'
die Ebenennummer des entsprechenden zu verwendenden Eingangs (von 0 bis 3). Der Rest des
Mappings ist ähnlich, 'Bb' beschreibt das Mapping für die zweite Ebene des Ausgabestroms,
'Cc' beschreibt das Mapping für die dritte Ebene des Ausgabestroms und 'Dd' beschreibt die
Mapping für die vierte Ebene des Ausgabestroms.

Format
Legen Sie das Ausgabepixelformat fest. Standard ist "yuva444p".

Beispiele

· Drei graue Videostreams gleicher Breite und Höhe zu einem einzigen Videostream zusammenführen:

[a0][a1][a2]mergeplanes=0x001020:yuv444p

· 1. yuv444p-Stream und 2. grauer Videostream in den yuva444p-Videostream zusammenführen:

[a0][a1]mergeplanes=0x00010210:yuva444p

· Tauschen Sie die Y- und A-Ebene im yuva444p-Stream aus:

format=yuva444p,mergeplanes=0x03010200:yuva444p

· U- und V-Ebene im yuv420p-Stream tauschen:

format=yuv420p,mergeplanes=0x000201:yuv420p

· Cast einen rgb24-Clip in yuv444p:

format=rgb24,mergeplanes=0x000102:yuv444p

mcdeint
Wenden Sie Deinterlacing mit Bewegungskompensation an.

Es benötigt ein Halbbild pro Frame als Eingabe und muss daher zusammen mit yadif=1/3 oder . verwendet werden
gleichwertig.

Dieser Filter akzeptiert die folgenden Optionen:

Modus
Stellen Sie den Deinterlacing-Modus ein.

Es akzeptiert einen der folgenden Werte:

schnell
mittlere
langsam
iterative Bewegungsschätzung verwenden

extra_langsam
Gefällt mir langsam, aber verwenden Sie mehrere Referenzrahmen.

Standardwert ist schnell.

Parität
Stellen Sie die für das Eingangsvideo angenommene Bildfeldparität ein. Es muss einer von denen sein
folgende Werte:

0, tff
Nehmen Sie zuerst das obere Feld an

1, bff
unterstes Feld zuerst annehmen

Standardwert ist bff.

qp Stellen Sie den Block-Quantisierungsparameter (QP) ein, der vom internen Encoder verwendet wird.

Höhere Werte sollten zu einem glatteren Bewegungsvektorfeld führen, aber weniger optimal
einzelne Vektoren. Der Standardwert ist 1.

mpdezimieren
Drop-Frames, die sich nicht wesentlich vom vorherigen Frame unterscheiden, um Frames zu reduzieren
Preis.

Die Hauptanwendung dieses Filters ist die Codierung mit sehr niedriger Bitrate (z. B. Streaming über Einwahl
Modem), aber es könnte theoretisch zum Reparieren von Filmen verwendet werden, die inverse-telecined waren
falsch.

Eine Beschreibung der akzeptierten Optionen folgt.

max Legen Sie die maximale Anzahl aufeinanderfolgender Frames fest, die gelöscht werden können (falls positiv), oder
das minimale Intervall zwischen ausgelassenen Frames (falls negativ). Wenn der Wert 0 ist, wird der
Frame wird verworfen, ungeachtet der Anzahl der vorherigen sequentiell verworfenen Frames.

Der Standardwert ist 0.

hi
lo
Frack
Legen Sie die Abfallschwellenwerte fest.

Werte für hi und lo sind für 8x8 Pixelblöcke und repräsentieren den tatsächlichen Pixelwert
Unterschiede, so dass ein Schwellenwert von 64 einer Differenzeinheit für jedes Pixel entspricht,
oder dasselbe anders über den Block verteilt.

Ein Frame ist ein Kandidat für das Verwerfen, wenn sich keine 8x8-Blöcke um mehr als einen Schwellenwert unterscheiden
of hi, und wenn nicht mehr als Frack Blöcke (1 bedeutet das ganze Bild) unterscheiden sich um mehr als
eine Schwelle von lo.

Standardwert für hi ist 64*12, Standardwert für lo ist 64*5 und der Standardwert für
Frack ist 0.33.

negiere
Eingangsvideo negieren.

Es akzeptiert eine ganze Zahl als Eingabe; wenn nicht Null, wird die Alpha-Komponente (sofern verfügbar) negiert.
Der Standardwert in der Eingabe ist 0.

kein Format
Zwingen Sie libavfilter, keines der angegebenen Pixelformate für die Eingabe zum nächsten zu verwenden
Filter.

Es akzeptiert die folgenden Parameter:

pix_fmts
Eine durch '|' getrennte Liste von Pixelformatnamen, z. B. apix_fmts=yuv420p|monow|rgb24".

Beispiele

· Erzwinge, dass libavfilter ein anderes Format verwendet als yuv420p für die Eingabe in den vflip
Filter:

noformat=pix_fmts=yuv420p,vflip

· Konvertieren Sie das Eingabevideo in eines der Formate, die nicht in der Liste enthalten sind:

noformat=yuv420p|yuv444p|yuv410p

Lärm
Rauschen im Videoeingangsbild hinzufügen.

Der Filter akzeptiert die folgenden Optionen:

all_seed
c0_seed
c1_seed
c2_seed
c3_seed
Legen Sie den Rausch-Seed für eine bestimmte Pixelkomponente oder alle Pixelkomponenten fest, falls
all_seed. Der Standardwert ist 123457.

alle_stärke, alles
c0_Stärke, c0s
c1_Stärke, c1s
c2_Stärke, c2s
c3_Stärke, c3s
Legen Sie die Rauschstärke für eine bestimmte Pixelkomponente oder alle Pixelkomponenten fest, falls
all_strength. Der Standardwert ist 0. Der zulässige Bereich ist [0, 100].

alle_flaggen, allf
c0_flags, C0f
c1_flags, C1f
c2_flags, C2f
c3_flags, C3f
Setzen Sie Pixelkomponenten-Flags oder setzen Sie Flags für alle Komponenten, wenn alle_flaggen. Verfügbar
Werte für Komponenten-Flags sind:

a gemitteltes zeitliches Rauschen (weicher)

p zufälliges Rauschen mit einem (halb)regelmäßigen Muster mischen

t zeitliches Rauschen (das Rauschmuster ändert sich zwischen den Bildern)

u gleichmäßiges Rauschen (sonst Gauss)

Beispiele

Fügen Sie dem Eingangsvideo zeitliches und gleichmäßiges Rauschen hinzu:

Rauschen=alles=20:allf=t+u

null
Übergeben Sie die Videoquelle unverändert an den Ausgang.

OCV
Wenden Sie eine Videotransformation mit libopencv an.

Um diesen Filter zu aktivieren, installieren Sie die libopencv-Bibliothek und -Header und konfigurieren Sie FFmpeg mit
"--enable-libopencv".

Es akzeptiert die folgenden Parameter:

Filtername
Der Name des anzuwendenden libopencv-Filters.

filter_params
Die an den libopencv-Filter zu übergebenden Parameter. Wenn nicht angegeben, die Standardwerte
sind angenommen.

Genauere Informationen finden Sie in der offiziellen libopencv-Dokumentation:
<http://docs.opencv.org/master/modules/imgproc/doc/filtering.html>

Mehrere libopencv-Filter werden unterstützt; siehe die folgenden Unterabschnitte.

erweitern

Erweitern Sie ein Bild, indem Sie ein bestimmtes strukturierendes Element verwenden. Es entspricht der libopencv
Funktion "cvDilate".

Es akzeptiert die Parameter: struct_el|nb_iterationen.

struct_el stellt ein strukturierendes Element dar und hat die Syntax:
SpaltenxReihen+Anker_xxAnker_y/gestalten

Spalten und Reihen die Anzahl der Spalten und Zeilen des strukturierenden Elements darstellen,
Anker_x und Anker_y der Ankerpunkt und gestalten die Form für das strukturierende Element.
gestalten muss "rect", "cross", "ellipse" oder "custom" sein.

Wenn der Wert für gestalten ist "benutzerdefiniert", gefolgt von einer Zeichenfolge der Form
"=Dateinamen". Die Datei mit dem Namen Dateinamen wird angenommen, dass es ein binäres Bild darstellt, wobei jedes
druckbares Zeichen, das einem hellen Pixel entspricht. Wenn ein Brauch gestalten wird genutzt, Spalten und
Reihen ignoriert, sondern die Anzahl bzw. Spalten und Zeilen der gelesenen Datei übernommen.

Der Standardwert für struct_el ist "3x3+0x0/Rechteck".

nb_iterationen gibt an, wie oft die Transformation auf das Bild angewendet wird, und
standardmäßig auf 1.

Einige Beispiele:

# Verwenden Sie die Standardwerte
ocv=dilatieren

# Dilatieren Sie mit einem strukturierenden Element mit einem 5x5-Kreuz, das zweimal iteriert
ocv=filter_name=dilate:filter_params=5x5+2x2/cross|2

# Lesen Sie die Form aus der Datei diamond.shape, und wiederholen Sie sie zweimal.
# Die Datei diamant.shape kann ein solches Zeichenmuster enthalten
# *
#***
#*****
#***
# *
# Die angegebenen Spalten und Zeilen werden ignoriert
# aber die Ankerpunktkoordinaten sind nicht
ocv=dilate:0x0+2x2/custom=diamond.shape|2

erodieren

Erodieren Sie ein Bild, indem Sie ein bestimmtes Strukturierungselement verwenden. Es entspricht der libopencv
Funktion "cvErode".

Es akzeptiert die Parameter: struct_el:nb_iterationen, mit der gleichen Syntax und Semantik wie
erweitern Filter.

glätten

Glätten Sie das Eingangsvideo.

Der Filter nimmt die folgenden Parameter an: tippe|param1|param2|param3|param4.

tippe ist der anzuwendende Glättungsfiltertyp und muss einer der folgenden Werte sein:
"blur", "blur_no_scale", "median", "gaußian" oder "bilateral". Der Standardwert ist
"Gaußisch".

Die Bedeutung von param1, param2, param3 und param4 hängen vom glatten Typ ab. param1 und
param2 akzeptieren ganzzahlige positive Werte oder 0. param3 und param4 Gleitkomma akzeptieren
Werte.

Der Standardwert für param1 ist 3. Der Standardwert für die anderen Parameter ist 0.

Diese Parameter entsprechen den Parametern, die der libopencv-Funktion zugewiesen sind
"cvSmooth".

Auflage
Überlagern Sie ein Video über ein anderes.

Es braucht zwei Eingänge und hat einen Ausgang. Der erste Eingang ist das "Haupt"-Video, auf dem die
zweiter Eingang wird überlagert.

Es akzeptiert die folgenden Parameter:

Eine Beschreibung der akzeptierten Optionen folgt.

x
y Legen Sie den Ausdruck für die x- und y-Koordinaten des überlagerten Videos auf dem Hauptbildschirm fest
Video. Der Standardwert ist für beide Ausdrücke "0". Falls der Ausdruck ungültig ist,
es ist auf einen großen Wert eingestellt (was bedeutet, dass das Overlay nicht innerhalb des
Ausgabe sichtbarer Bereich).

eof_action
Die Aktion, die ausgeführt werden soll, wenn EOF an der sekundären Eingabe auftritt; es akzeptiert einen von
folgende Werte:

wiederholen
Wiederholen Sie den letzten Frame (Standardeinstellung).

Beende alles
Beende beide Streams.

passieren
Leiten Sie den Haupteingang durch.

eval
Legen Sie fest, wann die Ausdrücke für x und y bewertet werden.

Es akzeptiert die folgenden Werte:

init
werte Ausdrücke nur einmal während der Filterinitialisierung aus oder wenn ein Befehl
wird verarbeitet

Rahmen
werte Ausdrücke für jeden eingehenden Frame aus

Standardwert ist Rahmen.

kürzeste
Wenn auf 1 gesetzt, erzwingen Sie, dass die Ausgabe beendet wird, wenn die kürzeste Eingabe endet. Standard
Wert ist 0.

Format
Legen Sie das Format für das Ausgabevideo fest.

Es akzeptiert die folgenden Werte:

yuv420
YUV420-Ausgang erzwingen

yuv422
YUV422-Ausgang erzwingen

yuv444
YUV444-Ausgang erzwingen

RGB RGB-Ausgabe erzwingen

Standardwert ist yuv420.

RGB (veraltet)
Wenn auf 1 gesetzt, wird der Filter gezwungen, Eingaben im RGB-Farbraum zu akzeptieren. Standardwert
ist 0. Diese Option ist veraltet, verwenden Sie Format stattdessen.

wiederholen
Wenn der Wert auf 1 gesetzt ist, zwingt Sie den Filter, den letzten Overlay-Frame über den Haupteingang zu zeichnen, bis
das Ende des Streams. Ein Wert von 0 deaktiviert dieses Verhalten. Der Standardwert ist 1.

Das x und y Ausdrücke können die folgenden Parameter enthalten.

main_w, W
main_h, H
Breite und Höhe der Haupteingabe.

overlay_w, w
overlay_h, h
Die Overlay-Eingabebreite und -höhe.

x
y Die berechneten Werte für x und y. Sie werden für jeden neuen Frame ausgewertet.

hsub
vssub
horizontale und vertikale Chroma-Subsample-Werte des Ausgabeformats. Zum Beispiel für
das Pixelformat "yuv422p" hsub ist 2 und vssub ist 1.

n die Anzahl der Eingaberahmen, beginnend bei 0

Post die Position in der Datei des Eingabeframes, NAN falls unbekannt

t Der Zeitstempel, ausgedrückt in Sekunden. Es ist NAN, wenn der Eingabezeitstempel unbekannt ist.

Beachten Sie, dass die n, Post, t Variablen sind nur verfügbar, wenn die Auswertung abgeschlossen ist für Rahmen,
und wird zu NAN ausgewertet, wenn eval eingestellt ist init.

Beachten Sie, dass die Frames von jedem Eingangsvideo in der Zeitstempelreihenfolge genommen werden, daher, wenn ihre
Anfangszeitstempel unterschiedlich sind, ist es eine gute Idee, die beiden Eingaben über a . zu übergeben
setpts=PTS-STARTPTS filtern, damit sie mit demselben Nullzeitstempel beginnen, wie im Beispiel
für die Film Filter tut.

Sie können mehrere Overlays verketten, sollten jedoch die Effizienz eines solchen Ansatzes testen.

Befehle

Dieser Filter unterstützt die folgenden Befehle:

x
y Ändern Sie x und y der Overlay-Eingabe. Der Befehl akzeptiert die gleiche Syntax wie der
entsprechende Option.

Wenn der angegebene Ausdruck nicht gültig ist, wird sein aktueller Wert beibehalten.

Beispiele

· Zeichnen Sie das Overlay 10 Pixel von der unteren rechten Ecke des Hauptvideos:

overlay=main_w-overlay_w-10:main_h-overlay_h-10

Mit benannten Optionen wird das obige Beispiel zu:

overlay=x=main_w-overlay_w-10:y=main_h-overlay_h-10

· Fügen Sie ein transparentes PNG-Logo in der unteren linken Ecke der Eingabe ein, indem Sie die ffmpeg
Tool mit der Option "-filter_complex":

ffmpeg -i Eingabe -i Logo -filter_complex 'overlay=10:main_h-overlay_h-10' Ausgabe

· Fügen Sie 2 verschiedene transparente PNG-Logos ein (zweites Logo in der unteren rechten Ecke) mit
ffmpeg Tool:

ffmpeg -i Eingabe -i Logo1 -i Logo2 -filter_complex 'overlay=x=10:y=Hh-10,overlay=x=Ww-10:y=Hh-10' Ausgabe

· Fügen Sie eine transparente Farbebene über dem Hauptvideo hinzu; "BxH" muss die Größe von . angeben
der Haupteingang zum Overlay-Filter:

[E-Mail geschützt] :size=BxH [über]; [in][over] Overlay [out]

· Spielen Sie ein Originalvideo und eine gefilterte Version (hier mit dem Deshake-Filter) nebeneinander ab
Seite mit der ffplay Tool:

ffplay input.avi -vf 'split[a][b]; [a]pad=iw*2:ih[src]; [b]entrütteln[filtrieren]; [src][filt]overlay=w'

Der obige Befehl ist der gleiche wie:

ffplay input.avi -vf 'split[b], pad=iw*2[src], [b]deshake, [src]overlay=w'

· Lassen Sie eine gleitende Überlagerung vom linken zum rechten oberen Teil des Bildschirms erscheinen
ab Zeitpunkt 2:

overlay=x='if(gte(t,2), -w+(t-2)*20, NAN)':y=0

· Verfassen Sie die Ausgabe, indem Sie zwei Eingabevideos nebeneinander platzieren:

ffmpeg -i left.avi -i right.avi -filter_complex "
nullsrc=size=200x100 [Hintergrund];
[0:v] setpts=PTS-STARTPTS, scale=100x100 [links];
[1:v] setpts=PTS-STARTPTS, scale=100x100 [rechts];
[Hintergrund][Links] Overlay=kürzeste=1 [Hintergrund+Links];
[Hintergrund+links][rechts] Overlay=kürzeste=1:x=100 [links+rechts]
"

· Maskieren Sie 10-20 Sekunden eines Videos, indem Sie den Delogo-Filter auf einen Abschnitt anwenden

ffmpeg -i test.avi -codec:v:0 wmv2 -ar 11025 -b:v 9000k
-vf '[in]split[split_main][split_delogo];[split_delogo]trim=start=360:end=371,delogo=0:0:640:480[delogoed];[split_main][delogoed]overlay=eof_action=pass[out]'
maskiert.avi

· Mehrere Overlays in Kaskade verketten:

nullsrc=s=200x200 [bg];
testsrc=s=100x100, split=4 [in0][in1][in2][in3];
[in0] lutrgb=r=0, [bg] Überlagerung=0:0 [mid0];
[in1] lutrgb=g=0, [mid0] Overlay=100:0 [mid1];
[in2] lutrgb=b=0, [mid1] Overlay=0:100 [mid2];
[in3] null, [mid2] Overlay=100:100 [out0]

Owdenoise
Wenden Sie den Overcomplete Wavelet-Denoiser an.

Der Filter akzeptiert die folgenden Optionen:

Tiefe
Tiefe einstellen.

Größere Tiefenwerte entrauschen niedrigere Frequenzkomponenten stärker, verlangsamen jedoch
Filterung.

Muss ein int im Bereich von 8-16 sein, der Standardwert ist 8.

luma_stärke, ls
Stellen Sie die Luma-Stärke ein.

Muss ein Double-Wert im Bereich von 0-1000 sein, der Standardwert ist 1.0.

Chroma_Stärke, cs
Stellen Sie die Chroma-Stärke ein.

Muss ein Double-Wert im Bereich von 0-1000 sein, der Standardwert ist 1.0.

Unterlage
Fügen Sie dem Eingabebild Abstände hinzu und platzieren Sie die ursprüngliche Eingabe an der bereitgestellten x, y
Koordinaten.

Es akzeptiert die folgenden Parameter:

Breite, w
Höhe, h
Geben Sie einen Ausdruck für die Größe des Ausgabebilds mit den hinzugefügten Auffüllungen an. Wenn die
Wert für Breite or Höhe 0 ist, wird die entsprechende Eingabegröße für die Ausgabe verwendet.

Das Breite Ausdruck kann auf den Wert verweisen, der durch die Höhe Ausdruck und Laster
versa.

Der Standardwert von Breite und Höhe ist 0.

x
y Geben Sie die Versätze an, an denen das Eingabebild innerhalb des aufgefüllten Bereichs platziert werden soll
zum oberen/linken Rand des Ausgabebilds.

Das x Ausdruck kann auf den Wert verweisen, der durch die y Ausdruck und umgekehrt.

Der Standardwert von x und y ist 0.

Farbe
Geben Sie die Farbe des aufgefüllten Bereichs an. Die Syntax dieser Option finden Sie unter "Farbe".
Abschnitt im ffmpeg-utils-Handbuch.

Der Standardwert von Farbe ist schwarz".

Der Wert für die Breite, Höhe, x und y Optionen sind Ausdrücke, die Folgendes enthalten
Konstanten:

in_w
in_h
Die Breite und Höhe des Eingangsvideos.

iw
ih Das sind die gleichen wie in_w und in_h.

aus_w
aus_h
Die Ausgabebreite und -höhe (die Größe des aufgefüllten Bereichs), wie durch die Breite
und Höhe Ausdrücke.

ow
oh Das sind die gleichen wie aus_w und aus_h.

x
y Die x- und y-Offsets, wie durch die x und y Ausdrücke, oder NAN, wenn noch nicht
spezifiziert.

a wie iw / ih

sar Seitenverhältnis des Eingabebeispiels

geben das Seitenverhältnis der Eingabeanzeige ist dasselbe wie (iw / ih) * sar

hsub
vssub
Die horizontalen und vertikalen Chroma-Subsample-Werte. Zum Beispiel für das Pixelformat
"yuv422p" hsub ist 2 und vssub ist 1.

Beispiele

· Füllen Sie das Eingabevideo mit der Farbe "Violett" auf. Die Ausgabevideogröße ist
640x480, und die obere linke Ecke des Eingabevideos wird in Spalte 0, Zeile 40 . platziert

pad=640:480:0:40:violett

Das obige Beispiel entspricht dem folgenden Befehl:

pad=width=640:height=480:x=0:y=40:color=violett

· Füllen Sie die Eingabe auf, um eine Ausgabe mit um 3/2 vergrößerten Dimensionen zu erhalten, und setzen Sie die Eingabe
Video in der Mitte des gepolsterten Bereichs:

pad="3/2*iw:3/2*ih:(ow-iw)/2:(oh-ih)/2"

· Füllen Sie die Eingabe auf, um eine quadrierte Ausgabe zu erhalten, deren Größe dem Maximalwert zwischen den entspricht
Geben Sie Breite und Höhe ein und platzieren Sie das Eingabevideo in der Mitte des aufgefüllten Bereichs:

pad="max(iw\,ih):ow:(ow-iw)/2:(oh-ih)/2"

· Füllen Sie die Eingabe auf, um ein endgültiges W/H-Verhältnis von 16:9 zu erhalten:

pad="ih*16/9:ih:(ow-iw)/2:(oh-ih)/2"

· Im Falle von anamorphotischem Video, um das Ausgabeanzeige-Seitenverhältnis richtig einzustellen,
ist notwendig zu verwenden sar im Ausdruck nach der Beziehung:

(ih * X / ih) * sar = ausgabe_dar
X = Ausgabe_dar / sar

Daher muss das vorherige Beispiel geändert werden, um:

pad="ih*16/9/sar:ih:(ow-iw)/2:(oh-ih)/2"

· Verdoppeln Sie die Ausgabegröße und platzieren Sie das Eingabevideo in der unteren rechten Ecke des
Ausgabe gepolsterter Bereich:

pad="2*iw:2*ih:ow-iw:oh-ih"

paletten
Generieren Sie eine Palette für einen ganzen Videostream.

Es akzeptiert die folgenden Optionen:

max_farben
Legen Sie die maximale Anzahl von Farben für die Quantisierung in der Palette fest. Hinweis: Die Palette wird
enthalten noch 256 Farben; die unbenutzten Paletteneinträge sind schwarz.

Reserve_transparent
Erstellen Sie eine Palette von maximal 255 Farben und reservieren Sie die letzte für Transparenz.
Das Reservieren der Transparenzfarbe ist für die GIF-Optimierung nützlich. Wenn nicht eingestellt, wird die
Die maximale Anzahl von Farben in der Palette beträgt 256. Sie möchten diese Option wahrscheinlich deaktivieren
für ein eigenständiges Bild. Standardmäßig eingestellt.

stats_mode
Statistikmodus einstellen.

Es akzeptiert die folgenden Werte:

voller
Berechnen Sie Vollbild-Histogramme.

diff
Berechnen Sie Histogramme nur für den Teil, der sich vom vorherigen Frame unterscheidet. Das könnte
relevant sein, um dem beweglichen Teil Ihrer Eingabe mehr Bedeutung zu verleihen, wenn die
Hintergrund ist statisch.

Standardwert ist voller.

Der Filter exportiert auch die Frame-Metadaten "lavfi.color_quant_ratio" ("nb_color_in /
nb_color_out"), mit dem Sie den Grad der Farbquantisierung der
Palette. Diese Informationen sind auch sichtbar unter Info Protokollierungsebene.

Beispiele

· Erstellen Sie eine repräsentative Palette eines bestimmten Videos mit ffmpeg:

ffmpeg -i input.mkv -vf palettegen palette.png

Palettennutzung
Verwenden Sie eine Palette, um einen Eingangsvideostream herunterzurechnen.

Der Filter benötigt zwei Eingaben: einen Videostream und eine Palette. Die Palette muss ein 256 . sein
Pixel Bild.

Es akzeptiert die folgenden Optionen:

Dithering
Wählen Sie den Dithering-Modus. Verfügbare Algorithmen sind:

bayer
Bestelltes 8x8 Bayer Dithering (deterministisch)

Heckbert
Dithering nach Paul Heckbert 1982 (einfache Fehlerdiffusion). Notiz:
dieses Dithering wird manchmal als "falsch" angesehen und als Referenz angegeben.

floyd_steinberg
Floyd- und Steingberg-Dithering (Fehlerdiffusion)

sierra2
Frankie Sierra Dithering v2 (Fehlerdiffusion)

sierra2_4a
Frankie Sierra Dithering v2 "Lite" (Fehlerdiffusion)

Standardeinstellung ist sierra2_4a.

bayer_waage
Wann bayer Dithering ausgewählt ist, definiert diese Option die Skalierung des Musters (wie
viel das Schraffurmuster ist sichtbar). Ein niedriger Wert bedeutet sichtbareres Muster für
weniger Streifenbildung, und ein höherer Wert bedeutet weniger sichtbares Muster auf Kosten von mehr Streifenbildung.

Die Option muss ein ganzzahliger Wert im Bereich [0,5] sein. Standard ist 2.

diff_mode
Falls eingestellt, definieren Sie die zu verarbeitende Zone

Rechteck
Nur das sich ändernde Rechteck wird erneut verarbeitet. Dies ist ähnlich wie bei GIF
Beschneidungs-/Offset-Kompressionsmechanismus. Diese Option kann für die Geschwindigkeit nützlich sein, wenn
nur ein Teil des Bildes ändert sich und hat Anwendungsfälle wie die Begrenzung des Umfangs
der Fehlerdiffusion Dithering auf das Rechteck, das die bewegte Szene begrenzt (es
führt zu einer deterministischen Ausgabe, wenn sich die Szene nicht viel ändert, und wie
Ergebnis weniger Bewegungsrauschen und bessere GIF-Komprimierung).

Standardeinstellung ist keine.

Beispiele

· Verwenden Sie eine Palette (erzeugt zum Beispiel mit paletten) um ein GIF mit zu codieren ffmpeg:

ffmpeg -i input.mkv -i palette.png -lavfi paletteuse output.gif

Perspektive
Korrekte Perspektive des Videos, das nicht senkrecht zum Bildschirm aufgenommen wurde.

Eine Beschreibung der akzeptierten Parameter folgt.

x0
y0
x1
y1
x2
y2
x3
y3 Koordinatenausdruck für oben links, oben rechts, unten links und unten rechts festlegen
Ecken. Standardwerte sind "0:0:W:0:0:H:W:H", mit der Perspektive bleibt
unverändert. Wenn die Option "sense" auf "source" gesetzt ist, werden die angegebenen Punkte
in die Ecken des Ziels geschickt werden. Wenn die Option "Sinn" auf eingestellt ist
"Ziel", dann werden die Ecken der Quelle an das angegebene gesendet
Koordinaten.

Die Ausdrücke können die folgenden Variablen verwenden:

W
H die Breite und Höhe des Videorahmens.

Interpolation
Stellen Sie die Interpolation für die Perspektivenkorrektur ein.

Es akzeptiert die folgenden Werte:

linear
kubisch

Standardwert ist linear.

Sinn
Legen Sie die Interpretation der Koordinatenoptionen fest.

Es akzeptiert die folgenden Werte:

0, Quelle
Punkt in der durch die angegebenen Koordinaten angegebenen Quelle an die Ecken des senden
Ziel.

1, Reiseziel
Senden Sie die Ecken der Quelle an den Punkt im Ziel, der durch die
Koordinaten gegeben.

Standardwert ist Quelle.

Phase
Interlaced-Video um eine Halbbildzeit verzögern, damit sich die Halbbildreihenfolge ändert.

Der Verwendungszweck besteht darin, PAL-Filme zu reparieren, die mit dem entgegengesetzten Halbbild aufgenommen wurden
Auftrag zur Film-zu-Video-Übertragung.

Eine Beschreibung der akzeptierten Parameter folgt.

Modus
Phasenmodus einstellen.

Es akzeptiert die folgenden Werte:

t Feldreihenfolge oben-zuerst erfassen, unten-zuerst übertragen. Filter verzögert die
unteres Feld.

b Feldreihenfolge unten-zuerst erfassen, oben-zuerst übertragen. Filter verzögert die Spitze
Feld.

p Erfassen und übertragen Sie mit derselben Feldreihenfolge. Dieser Modus existiert nur für die
Dokumentation der anderen Optionen, auf die Sie verweisen können, aber wenn Sie sie tatsächlich auswählen, wird die
Filter wird treu nichts tun.

a Feldreihenfolge erfassen automatisch durch Feldflags bestimmt, Übergabe gegenüber.
Filter wählt zwischen t und b Modi auf einer Frame-für-Frame-Basis unter Verwendung von Feld-Flags. Wenn
keine Feldinformationen vorhanden sind, dann funktioniert das genauso wie u.

u Unbekannt oder variierend erfassen, gegenüber übertragen. Filter wählt zwischen t und b auf einem
Frame für Frame Basis, indem Sie die Bilder analysieren und die Alternative auswählen, die
ergibt die beste Übereinstimmung zwischen den Feldern.

T Erfassen Sie oben zuerst, übertragen Sie unbekannte oder variierende. Filter wählt zwischen t und p
mittels Bildanalyse.

B Unten zuerst erfassen, unbekannt oder variierend übertragen. Filter wählt zwischen b und p
mittels Bildanalyse.

A Erfassung durch Feldflags bestimmt, Übertragung unbekannt oder schwankend. Filterauswahl
unter t, b und p mit Feldflaggen und Bildanalyse. Wenn keine Feldinformationen vorhanden sind
vorhanden, dann funktioniert das genauso U. Dies ist der Standardmodus.

U Beide erfassen und übertragen unbekannt oder variieren. Filter wählt zwischen t, b und p
nur mit Bildanalyse.

Pixeltest
Testfilter für Pixelformatdeskriptoren, hauptsächlich nützlich für interne Tests. Das Ausgabevideo
sollte gleich dem Eingangsvideo sein.

Beispielsweise:

format=monow, pixdesctest

kann verwendet werden, um die Deskriptordefinition des monoweißen Pixelformats zu testen.

pp
Aktivieren Sie die angegebene Kette von Nachverarbeitungs-Subfiltern mit libpostproc. Diese Bibliothek
sollte bei einem GPL-Build automatisch ausgewählt werden ("--enable-gpl"). Unterfilter müssen sein
durch '/' getrennt und kann durch Voranstellen eines '-' deaktiviert werden. Jeder Unterfilter und einige Optionen
haben einen kurzen und einen langen Namen, die austauschbar verwendet werden können, dh dr/dering sind die
Gleiche.

Die Filter akzeptieren die folgenden Optionen:

Unterfilter
Zeichenfolge für Nachbearbeitungs-Subfilter festlegen.

Alle Unterfilter haben gemeinsame Optionen, um ihren Umfang zu bestimmen:

a/autoq
Beachten Sie die Qualitätsbefehle für diesen Unterfilter.

c/chrom
Führen Sie auch eine Chrominanzfilterung durch (Standard).

y/nochrom
Führen Sie nur Luminanzfilterung durch (keine Chrominanz).

n/noluma
Führen Sie nur die Chrominanzfilterung durch (keine Luminanz).

Diese Optionen können nach dem Subfilternamen, getrennt durch ein '|', angehängt werden.

Verfügbare Unterfilter sind:

hb/hdeblock[|Unterschied[|Flachheit]]
Horizontaler Deblocking-Filter

Unterschied
Differenzfaktor, bei dem höhere Werte mehr Deblocking bedeuten (Standard: 32).

Ebenheit
Flatness-Schwellenwert, bei dem niedrigere Werte mehr Deblocking bedeuten (Standard: 39).

vb/vdeblock[|Unterschied[|Flachheit]]
Vertikaler Entblockungsfilter

Unterschied
Differenzfaktor, bei dem höhere Werte mehr Deblocking bedeuten (Standard: 32).

Ebenheit
Flatness-Schwellenwert, bei dem niedrigere Werte mehr Deblocking bedeuten (Standard: 39).

ha/hadeblock[|Unterschied[|Flachheit]]
Genauer horizontaler Deblocking-Filter

Unterschied
Differenzfaktor, bei dem höhere Werte mehr Deblocking bedeuten (Standard: 32).

Ebenheit
Flatness-Schwellenwert, bei dem niedrigere Werte mehr Deblocking bedeuten (Standard: 39).

va/vadeblock[|Unterschied[|Flachheit]]
Genauer vertikaler Deblocking-Filter

Unterschied
Differenzfaktor, bei dem höhere Werte mehr Deblocking bedeuten (Standard: 32).

Ebenheit
Flatness-Schwellenwert, bei dem niedrigere Werte mehr Deblocking bedeuten (Standard: 39).

Die horizontalen und vertikalen Deblocking-Filter teilen sich die Differenz- und Flachheitswerte, so dass
Sie können keine unterschiedlichen horizontalen und vertikalen Schwellenwerte einstellen.

h1/x1hdeblock
Experimenteller horizontaler Deblocking-Filter

v1/x1vdeblock
Experimenteller vertikaler Deblocking-Filter

dr/dering
Deringing-Filter

tn/tmpnoise[|schwelle1[|schwelle2[|schwelle3]]], temporäre Lärm Reduzierstück
Schwelle1
größer -> stärkere Filterung

Schwelle2
größer -> stärkere Filterung

Schwelle3
größer -> stärkere Filterung

al/autolevels[:f/fullrange], maschinell Helligkeit / Kontrast Korrektur
f/Fullrange
Luminanz auf "0-255" dehnen.

lb/linblenddeint
Linear Blend-Deinterlacing-Filter, der den gegebenen Block deinterlaced, indem er alle filtert
Zeilen mit einem "(1 2 1)"-Filter.

li/linipoldeint
Linear interpolierender Deinterlacing-Filter, der den gegebenen Block um deinterlaced
lineare Interpolation jeder zweiten Zeile.

ci/cubicipoldeint
Kubisch interpolierender Deinterlacing-Filter deinterlaced den gegebenen Block um kubisch
jede zweite Zeile interpolieren.

md/mediandeint
Median-Deinterlacing-Filter, der den gegebenen Block durch Anwenden eines Medians deinterlaced
auf jede zweite Zeile filtern.

fd/ffmpegdeint
FFmpeg-Deinterlacing-Filter, der den gegebenen Block deinterlaced, indem er alle filtert
zweite Zeile mit einem "(-1 4 2 4 -1)"-Filter.

l5/Tiefpass5
Vertikal angewendeter FIR-Tiefpass-Deinterlacing-Filter, der den gegebenen Block deinterlaced
indem alle Zeilen mit einem "(-1 2 6 2 -1)"-Filter gefiltert werden.

fq/forceQuant[|Quantisierer]
Überschreibt die Quantisierertabelle aus der Eingabe mit dem von Ihnen angegebenen konstanten Quantisierer.

Quantisierer
Quantisierer zu verwenden

de/Standard
Standard-PP-Filterkombination ("hb|a,vb|a,dr|a")

fa/schnell
Schnelle pp-Filterkombination ("h1|a,v1|a,dr|a")

ac Hochwertige PP-Filterkombination ("ha|a|128|7,va|a,dr|a")

Beispiele

· Wenden Sie horizontales und vertikales Deblocking, Deringing und automatische Helligkeit/Kontrast an:

pp=hb/vb/dr/al

· Standardfilter ohne Helligkeits-/Kontrastkorrektur anwenden:

pp=de/-al

· Standardfilter und Temporal Denoiser anwenden:

pp=default/tmpnoise|1|2|3

· Deblocking nur auf Luminanz anwenden und vertikales Deblocking ein- oder ausschalten
automatisch je nach verfügbarer CPU-Zeit:

pp=hb|y/vb|a

pp7
Nachbearbeitungsfilter anwenden 7. Es ist eine Variante des spp Filter, ähnlich spp = 6 mit 7
Punkt-DCT, wo nur die mittlere Stichprobe nach der IDCT verwendet wird.

Der Filter akzeptiert die folgenden Optionen:

qp Erzwinge einen konstanten Quantisierungsparameter. Es akzeptiert eine ganze Zahl im Bereich von 0 bis 63. Wenn
nicht gesetzt, verwendet der Filter die QP aus dem Videostream (sofern verfügbar).

Modus
Legen Sie den Schwellenwertmodus fest. Verfügbare Modi sind:

hart
Festlegen des Schwellenwerts.

weich
Weichen Schwellenwert einstellen (besserer Der-Ringing-Effekt, aber wahrscheinlich verschwommener).

mittlere
Legen Sie einen mittleren Schwellenwert fest (gute Ergebnisse, Standard).

Psnr
Ermitteln Sie den durchschnittlichen, maximalen und minimalen PSNR (Peak Signal to Noise Ratio) zwischen zwei
Eingabevideos.

Dieser Filter nimmt in der Eingabe zwei Eingabevideos auf, die erste Eingabe gilt als "Haupt"
Quelle und wird unverändert an die Ausgabe übergeben. Der zweite Eingang dient als "Referenz"
Video zur Berechnung des PSNR.

Beide Videoeingänge müssen dieselbe Auflösung und dasselbe Pixelformat haben, damit dieser Filter funktioniert
korrekt. Es wird auch davon ausgegangen, dass beide Eingänge die gleiche Anzahl von Frames haben, die
eins nach dem anderen verglichen.

Der erhaltene durchschnittliche PSNR wird über das Protokollierungssystem gedruckt.

Der Filter speichert den akkumulierten MSE (Mean Squared Error) jedes Frames und am Ende
der Verarbeitung wird über alle Frames gleichmäßig gemittelt, und die folgende Formel lautet
beantragt, um die PSNR zu erhalten:

PSNR = 10*log10(MAX^2/MSE)

Wobei MAX der Durchschnitt der Maximalwerte jeder Komponente des Bildes ist.

Die Beschreibung der akzeptierten Parameter folgt.

Statistikdatei, f
Wenn angegeben, verwendet der Filter die benannte Datei, um die PSNR jeder Person zu speichern
Rahmen.

Die Datei wird gedruckt, wenn Statistikdatei ausgewählt ist, enthält eine Folge von Schlüssel/Wert-Paaren der
unten stehende Formular Schlüssel:Wert für jedes verglichene Paar von Frames.

Es folgt eine Beschreibung jedes angezeigten Parameters:

n fortlaufende Nummer des Eingaberahmens, beginnend bei 1

mse_avg
Mittlerer quadratischer Fehler Pixel-für-Pixel-Durchschnittsdifferenz der verglichenen Frames, gemittelt
über alle Bildkomponenten.

mse_y, mse_u, mse_v, mse_r, mse_g, mse_g, mse_a
Mittlerer quadratischer Fehler Pixel-für-Pixel-Durchschnittsdifferenz der verglichenen Frames für die
durch das Suffix angegebene Komponente.

psnr_y, psnr_u, psnr_v, psnr_r, psnr_g, psnr_b, psnr_a
Peak-Signal-Rausch-Verhältnis der verglichenen Frames für die Komponente, die durch die
Suffix.

Beispielsweise:

movie=ref_movie.mpg, setpts=PTS-STARTPTS [main];
[main][ref] psnr="stats_file=stats.log" [out]

In diesem Beispiel wird die verarbeitete Eingabedatei mit der Referenzdatei verglichen
ref_movie.mpg. Das PSNR jedes einzelnen Frames wird gespeichert in stats.log.

Pullup
Pulldown-Umkehrfilter (inverses Telecine), geeignet für gemischte Hard-Telecine,
24000/1001 fps progressive und 30000/1001 fps progressive Inhalte.

Der Pullup-Filter wurde entwickelt, um bei seinen Entscheidungen den zukünftigen Kontext zu nutzen.
Dieser Filter ist zustandslos in dem Sinne, dass er sich nicht an ein zu verfolgendes Muster festhält, aber
es freut sich stattdessen auf die folgenden Felder, um Übereinstimmungen zu identifizieren und neu aufzubauen
progressive Frames.

Um Inhalte mit einer gleichmäßigen Framerate zu produzieren, fügen Sie den fps-Filter nach dem Pullup ein, verwenden Sie
"fps=24000/1001", wenn die Eingabebildrate 29.97fps beträgt, "fps=24" für 30fps und die (seltene)
telecined 25fps-Eingang.

Der Filter akzeptiert die folgenden Optionen:

jl
jr
jt
jb Diese Optionen legen fest, wie viel "Junk" links, rechts, oben und unten ignoriert wird
des Bildes bzw. Links und rechts sind in Einheiten von 8 Pixeln, während oben und
unten sind in Einheiten von 2 Zeilen. Der Standardwert beträgt 8 Pixel auf jeder Seite.

sb Legen Sie die strikten Pausen fest. Wenn Sie diese Option auf 1 setzen, wird die Wahrscheinlichkeit eines Filters verringert
gelegentlich einen nicht übereinstimmenden Frame erzeugen, aber es kann auch eine übermäßige Anzahl verursachen
von Frames, die während High-Motion-Sequenzen ausgelassen werden sollen. Umgekehrt auf -1 . einstellen
wird Filter-Match-Felder einfacher machen. Dies kann bei der Verarbeitung von Videos helfen, wenn
es gibt eine leichte Unschärfe zwischen den Halbbildern, kann aber auch zu Zeilensprung führen
Frames in der Ausgabe. Der Standardwert ist 0.

mp Legen Sie die zu verwendende metrische Ebene fest. Es akzeptiert die folgenden Werte:

l Verwenden Sie die Luma-Ebene.

u Verwenden Sie Chroma-Blau-Ebene.

v Verwenden Sie Chroma-Rot-Ebene.

Diese Option kann so eingestellt werden, dass die Chroma-Ebene anstelle der Standard-Luma-Ebene verwendet wird
Berechnungen des Filters. Dies kann die Genauigkeit bei sehr sauberem Quellmaterial verbessern, aber
wahrscheinlicher wird die Genauigkeit verringert, insbesondere wenn Chroma-Rauschen (Regenbogen
Effekt) oder ein beliebiges Graustufenvideo. Der Hauptzweck der Einstellung mp zu einer Chroma-Ebene ist
um die CPU-Last zu reduzieren und Pullup in Echtzeit auf langsamen Maschinen nutzbar zu machen.

Für beste Ergebnisse (ohne duplizierte Frames in der Ausgabedatei) ist eine Änderung erforderlich
die Ausgabe-Framerate. Um beispielsweise den Telecine-NTSC-Eingang umzukehren:

ffmpeg -i Eingabe -vf pullup -r 24000/1001 ...

qp
Ändern Sie die Videoquantisierungsparameter (QP).

Der Filter akzeptiert die folgende Option:

qp Ausdruck für Quantisierungsparameter einstellen.

Der Ausdruck wird über die eval API ausgewertet und kann unter anderem die
folgende Konstanten:

bekannt
1 wenn Index nicht 129 ist, sonst 0.

qp Sequenzieller Index von -129 bis 128.

Beispiele

· Einige Gleichungen wie:

qp=2+2*sin(PI*qp)

zufällig
Leeren Sie Videoframes aus dem internen Cache von Frames in eine zufällige Reihenfolge. Kein Rahmen ist
verworfen. Inspiriert von frei0r Nervenfilter.

Rahmen
Legen Sie die Größe in der Anzahl der Frames des internen Caches im Bereich von 2 bis 512 fest. Der Standardwert ist 30.

Samen
Seed für Zufallszahlengenerator setzen, muss eine ganze Zahl zwischen 0 und sein
"UINT32_MAX". Wenn nicht angegeben oder explizit auf weniger als 0 gesetzt, wird der Filter
versuchen Sie, einen guten Zufalls-Seed nach bestem Bemühen zu verwenden.

Korn entfernen
Der Removegrain-Filter ist ein räumlicher Entrauscher für progressives Video.

m0 Set-Modus für die erste Ebene.

m1 Set-Modus für die zweite Ebene.

m2 Set-Modus für die dritte Ebene.

m3 Set-Modus für die vierte Ebene.

Der Modusbereich reicht von 0 bis 24. Die Beschreibung jedes Modus folgt:

0 Lassen Sie die Eingabeebene unverändert. Standard.

1 Beschneidet das Pixel mit dem Minimum und Maximum der 8 Nachbarpixel.

2 Beschneidet das Pixel mit dem zweiten Minimum und Maximum der 8 Nachbarpixel.

3 Beschneidet das Pixel mit dem dritten Minimum und Maximum der 8 Nachbarpixel.

4 Beschneidet das Pixel mit dem vierten Minimum und Maximum der 8 Nachbarpixel. Dies
entspricht einem Medianfilter.

5 Liniensensitives Clipping mit minimaler Veränderung.

6 Zeilensensitives Clipping, intermediär.

7 Zeilensensitives Clipping, intermediär.

8 Zeilensensitives Clipping, intermediär.

9 Zeilensensitives Clipping auf einer Zeile, bei der die Nachbarpixel am nächsten sind.

10 Ersetzt das Zielpixel durch den nächsten Nachbarn.

11 [1 2 1] horizontale und vertikale Kernel-Unschärfe.

12 Wie Modus 11.

13 Bob-Modus, interpoliert das obere Halbbild von der Zeile, in der die Nachbarpixel die sind
am nächsten.

14 Bob-Modus, interpoliert das untere Halbbild von der Zeile, in der die Nachbarpixel die sind
am nächsten.

15 Bob-Modus, interpoliert das obere Halbbild. Wie 13, jedoch mit komplizierterer Interpolation
Formel.

16 Bob-Modus, interpoliert unteres Halbbild. Wie 14, aber mit einem komplizierteren
Interpolationsformel.

17 Beschneidet das Pixel mit dem Minimum und Maximum bzw. dem Maximum und Minimum
jedes Paares gegenüberliegender Nachbarpixel.

18 Zeilensensitives Clipping mit gegenüberliegenden Nachbarn, deren größter Abstand zum
aktuelle Pixel ist minimal.

19 Ersetzt das Pixel durch den Durchschnitt seiner 8 Nachbarn.

20 Mittelt die 9 Pixel ([1 1 1] horizontale und vertikale Unschärfe).

21 Beschneidet Pixel unter Verwendung der Mittelwerte des gegenüberliegenden Nachbarn.

22 Wie Modus 21, aber einfacher und schneller.

23 Entfernung kleiner Kanten und Lichthöfe, aber angeblich nutzlos.

24 Ähnlich wie 23.

Logo entfernen
Unterdrücken Sie ein TV-Sender-Logo, indem Sie eine Bilddatei verwenden, um zu bestimmen, aus welchen Pixeln die . besteht
Logo. Es funktioniert, indem es die Pixel, aus denen das Logo besteht, mit benachbarten Pixeln auffüllt.

Der Filter akzeptiert die folgenden Optionen:

Dateiname, f
Legen Sie die Filter-Bitmap-Datei fest, die ein beliebiges Bildformat sein kann, das von libavformat unterstützt wird.
Breite und Höhe der Bilddatei müssen denen des Videostreams entsprechen
verarbeitet.

Pixel im bereitgestellten Bitmap-Bild mit einem Wert von Null werden nicht als Teil des
Logo, Pixel ungleich null werden als Teil des Logos betrachtet. Wenn Sie Weiß (255) für das Logo verwenden
und schwarz (0) für den Rest sind Sie in Sicherheit. Um die Filter-Bitmap zu erstellen, ist es
Es wird empfohlen, eine Bildschirmaufnahme eines schwarzen Rahmens mit sichtbarem Logo zu machen, und dann
unter Verwendung eines Schwellwertfilters gefolgt von dem Erodierfilter ein- oder zweimal.

Kleine Flecken können bei Bedarf manuell behoben werden. Denken Sie daran, wenn Logopixel dies nicht sind
abgedeckt, wird die Filterqualität stark reduziert. Markieren von zu vielen Pixeln als Teil des
Logo tut nicht so weh, aber es erhöht die Unschärfe, die zum Abdecken benötigt wird
über dem Bild und zerstört mehr Informationen als nötig, und zusätzliche Pixel werden
verlangsamen Sie die Dinge auf einem großen Logo.

Wiederholungsfelder
Dieser Filter verwendet das Repeat_field-Flag aus den Video ES-Headern und den Feldern für harte Wiederholungen
basierend auf seinem Wert.

umkehren, umgekehrt
Einen Clip umkehren.

Warnung: Dieser Filter benötigt Speicher, um den gesamten Clip zu puffern, daher wird ein Trimmen empfohlen.

Beispiele

· Nehmen Sie die ersten 5 Sekunden eines Clips auf und kehren Sie ihn um.

trim=Ende=5,rückwärts

drehen
Video um einen beliebigen Winkel im Bogenmaß drehen.

Der Filter akzeptiert die folgenden Optionen:

Eine Beschreibung der optionalen Parameter folgt.

Winkel, a
Legen Sie einen Ausdruck für den Winkel fest, um den das Eingabevideo im Uhrzeigersinn gedreht werden soll,
ausgedrückt als eine Anzahl von Radianten. Ein negativer Wert führt zu einem Gegenuhrzeigersinn
Drehung. Standardmäßig ist es auf "0" eingestellt.

Dieser Ausdruck wird für jeden Frame ausgewertet.

aus_w, ow
Legen Sie den Ausdruck für die Ausgabebreite fest, der Standardwert ist "iw". Dieser Ausdruck wird ausgewertet
nur einmal während der Konfiguration.

aus_h, oh
Legen Sie den Ausdruck für die Ausgabehöhe fest, der Standardwert ist "ih". Dieser Ausdruck wird ausgewertet
nur einmal während der Konfiguration.

bilinear
Aktivieren Sie die bilineare Interpolation, wenn sie auf 1 gesetzt ist, ein Wert von 0 deaktiviert sie. Standardwert ist
1.

Füllfarbe, c
Legen Sie die Farbe fest, die zum Füllen des Ausgabebereichs verwendet wird, der nicht vom gedrehten Bild bedeckt ist. Für die
Allgemeine Syntax dieser Option finden Sie im Abschnitt "Farbe" im Handbuch zu ffmpeg-utils.
Wird der Sonderwert "keine" gewählt, wird kein Hintergrund gedruckt (nützlich für
Beispiel, wenn der Hintergrund nie angezeigt wird).

Standardwert ist "schwarz".

Die Ausdrücke für den Winkel und die Ausgabegröße können folgende Konstanten enthalten und
Funktionen:

n fortlaufende Nummer des Eingaberahmens, beginnend bei 0. Es ist immer NAN vor dem
erster Frame wird gefiltert.

t Zeit in Sekunden des Eingabeframes wird bei der Konfiguration des Filters auf 0 gesetzt. Es
ist immer NAN, bevor der erste Frame gefiltert wird.

hsub
vssub
horizontale und vertikale Chroma-Subsample-Werte. Zum Beispiel für das Pixelformat
"yuv422p" hsub ist 2 und vssub ist 1.

in_w, iw
in_h, ih
die Breite und Höhe des Eingangsvideos

aus_w, ow
aus_h, oh
die Ausgabebreite und -höhe, d. h. die Größe des aufgefüllten Bereichs, wie durch die
Breite und Höhe Ausdrücke

rotw(a)
roth(a)
die minimale Breite/Höhe, die erforderlich ist, um das um . gedrehte Eingabevideo vollständig zu enthalten
a Bogenmaß.

Diese sind nur verfügbar, wenn die Berechnung der aus_w und aus_h Ausdrücke.

Beispiele

· Drehen Sie den Eingang um PI/6 im Bogenmaß im Uhrzeigersinn:

drehen=PI/6

· Drehen Sie den Eingang um PI/6 im Bogenmaß gegen den Uhrzeigersinn:

rotieren=-PI/6

· Drehen Sie den Eingang um 45 Grad im Uhrzeigersinn:

drehen=45*PI/180

· Wenden Sie eine konstante Drehung mit der Periode T an, ausgehend von einem Winkel von PI/3:

drehen=PI/3+2*PI*t/T

· Bringen Sie die Eingangsvideodrehung in Schwingung mit einer Periode von T Sekunden und einer Amplitude
von A im Bogenmaß:

rotieren=A*sin(2*PI/T*t)

· Drehen Sie das Video, die Ausgabegröße wird so gewählt, dass das gesamte rotierende Eingabevideo
immer vollständig in der Ausgabe enthalten:

rotation='2*PI*t:ow=hypot(iw,ih):oh=ow'

· Drehen Sie das Video, reduzieren Sie die Ausgabegröße, sodass nie ein Hintergrund angezeigt wird:

rotieren=2*PI*t:ow='min(iw,ih)/sqrt(2)':oh=ow:c=none

Befehle

Der Filter unterstützt die folgenden Befehle:

a, Winkel
Stellen Sie den Winkelausdruck ein. Der Befehl akzeptiert die gleiche Syntax des entsprechenden
.

Wenn der angegebene Ausdruck nicht gültig ist, wird sein aktueller Wert beibehalten.

sab
Wenden Sie die adaptive Unschärfe an.

Der Filter akzeptiert die folgenden Optionen:

luma_radius, lr
Stellen Sie die Luma-Unschärfe-Filterstärke ein, muss ein Wert im Bereich von 0.1 bis 4.0 sein, der Standardwert ist 1.0.
Ein größerer Wert führt zu einem verschwommeneren Bild und zu einer langsameren Verarbeitung.

luma_pre_filter_radius, lpfr
Luma-Vorfilterradius einstellen, muss ein Wert im Bereich von 0.1-2.0 sein, der Standardwert ist
1.0

luma_stärke, ls
Stellen Sie die maximale Luma-Differenz zwischen Pixeln ein, die noch berücksichtigt werden sollen, muss ein Wert in sein
im Bereich von 0.1-100.0, der Standardwert ist 1.0.

Farbradius, cr
Stellen Sie die Stärke des Chroma-Unschärfe-Filters ein, muss ein Wert im Bereich von 0.1 bis 4.0 sein. Ein größerer Wert
führt zu einem verschwommeneren Bild und zu einer langsameren Verarbeitung.

chroma_pre_filter_radius, cfr
Stellen Sie den Chroma-Vorfilterradius ein, muss ein Wert im Bereich von 0.1 bis 2.0 sein.

Chroma_Stärke, cs
Legen Sie die maximale Chroma-Differenz zwischen Pixeln fest, die noch berücksichtigt werden soll, muss ein Wert sein
im Bereich von 0.1-100.0.

Jeder Chroma-Optionswert wird, wenn nicht explizit angegeben, auf das entsprechende Luma gesetzt
Optionswert.

Treppe
Skalieren (Größenänderung) des Eingabevideos mithilfe der Bibliothek libswscale.

Der Skalierungsfilter erzwingt, dass das Seitenverhältnis der Ausgabeanzeige dem der Eingabe entspricht, um
Ändern des Seitenverhältnisses der Ausgabeprobe.

Wenn sich das Eingabebildformat von dem vom nächsten Filter angeforderten Format unterscheidet, wird die
Der Skalierungsfilter konvertiert die Eingabe in das angeforderte Format.

Optionen

Der Filter akzeptiert die folgenden Optionen oder eine der Optionen, die von der
libswscale-Skalierer.

See ffmpeg-Scaler manuell für die vollständige Liste der Scaler-Optionen.

Breite, w
Höhe, h
Legen Sie den Dimensionsausdruck für das Ausgabevideo fest. Der Standardwert ist die Eingabedimension.

Wenn der Wert 0 ist, wird die Eingabebreite für die Ausgabe verwendet.

Wenn einer der Werte -1 ist, verwendet der Skalierungsfilter einen Wert, der die
Seitenverhältnis des Eingabebilds, berechnet aus der anderen angegebenen Dimension. Wenn
beide sind -1, die Eingabegröße wird verwendet

Wenn einer der Werte -n mit n > 1 ist, verwendet der Skalierungsfilter auch einen Wert, der
behält das Seitenverhältnis des Eingabebildes bei, berechnet aus den anderen angegebenen
Abmessungen. Danach wird jedoch sichergestellt, dass die berechnete Dimension
durch n teilbar und passen Sie den Wert bei Bedarf an.

Unten finden Sie die Liste der akzeptierten Konstanten zur Verwendung im Dimensionsausdruck.

interl
Stellen Sie den Interlacing-Modus ein. Es akzeptiert die folgenden Werte:

1 Interlaced-aware-Skalierung erzwingen.

0 Wenden Sie keine Zeilensprungskalierung an.

-1 Wählen Sie Interlaced Aware Scaling abhängig davon, ob die Quellframes gekennzeichnet sind
als interlaced oder nicht.

Standardwert ist 0.

Fahnen
Setzen Sie die Skalierungsflags von libswscale. Sehen ffmpeg-Scaler manuell für die vollständige Liste der
Werte. Wenn nicht explizit angegeben, wendet der Filter die Standard-Flags an.

Größe, s
Stellen Sie die Videogröße ein. Die Syntax dieser Option finden Sie im "Video Größe" Abschnitt in
ffmpeg-utils manuell.

in_color_matrix
out_color_matrix
Legen Sie den YCbCr-Farbraumtyp für Ein-/Ausgabe fest.

Dies ermöglicht das Überschreiben des automatisch erkannten Werts sowie das Erzwingen eines
spezifischer Wert, der für den Ausgang und den Encoder verwendet wird.

Wenn nicht angegeben, hängt der Farbraumtyp vom Pixelformat ab.

Mögliche Werte:

Auto
Automatisch auswählen.

bt709
Format entspricht der Empfehlung der International Telecommunication Union (ITU)
BT.709.

Fcc Farbraum entsprechend der US-amerikanischen Federal Communications Commission einstellen
(FCC) Code of Federal Regulations (CFR) Titel 47 (2003) 73.682 (a).

bt601
Stellen Sie den Farbraum entsprechend ein:

· Empfehlung des ITU-Funksektors (ITU-R) BT.601

· ITU-R-Empf. BT.470-6 (1998) Systeme B, B1 und G

· Gesellschaft der Film- und Fernsehingenieure (SMPTE) ST 170:2004

smpte240m
Farbraum entsprechend SMPTE ST 240:1999 einstellen.

im Bereich
out_range
Legen Sie den YCbCr-Abtastbereich für den Ein-/Ausgang fest.

Dies ermöglicht das Überschreiben des automatisch erkannten Werts sowie das Erzwingen eines
spezifischer Wert, der für den Ausgang und den Encoder verwendet wird. Wenn nicht angegeben, hängt die Reichweite von
das Pixelformat. Mögliche Werte:

Auto
Automatisch auswählen.

jpeg/voll/pc
Vollen Bereich einstellen (0-255 bei 8-Bit-Luma).

MPEG/TV
Stellen Sie den "MPEG"-Bereich (16-235 bei 8-Bit-Luma) ein.

force_original_aspect_ratio
Aktivieren Sie bei Bedarf das Verringern oder Erhöhen der Breite oder Höhe des Ausgabevideos, um die
ursprüngliches Seitenverhältnis. Mögliche Werte:

deaktivieren
Skalieren Sie das Video wie angegeben und deaktivieren Sie diese Funktion.

verringern
Die Abmessungen des Ausgabevideos werden bei Bedarf automatisch verringert.

Energie
Die Abmessungen des Ausgabevideos werden bei Bedarf automatisch erhöht.

Ein nützliches Beispiel für diese Option ist, wenn Sie das Maximum eines bestimmten Geräts kennen
erlaubte Auflösung, können Sie dies verwenden, um das Ausgabevideo darauf zu begrenzen, während
das Seitenverhältnis beibehalten. Gerät A ermöglicht beispielsweise die Wiedergabe von 1280 x 720 und Ihr
Video ist 1920x800. Verwenden Sie diese Option (verringern Sie sie) und geben Sie 1280 x 720 auf an
die Befehlszeile macht die Ausgabe 1280x533.

Bitte beachten Sie, dass dies etwas anderes ist als die Angabe von -1 für w or hdu immer noch
müssen Sie die Ausgabeauflösung angeben, damit diese Option funktioniert.

Die Werte der w und h Optionen sind Ausdrücke, die die folgenden Konstanten enthalten:

in_w
in_h
Die Eingabebreite und -höhe

iw
ih Das sind die gleichen wie in_w und in_h.

aus_w
aus_h
Breite und Höhe der Ausgabe (skaliert)

ow
oh Das sind die gleichen wie aus_w und aus_h

a Das Gleiche wie iw / ih

sar Seitenverhältnis des Eingabebeispiels

geben Das Seitenverhältnis der Eingabeanzeige. Berechnet aus "(iw / ih) * sar".

hsub
vssub
horizontale und vertikale Eingabe-Chroma-Subsample-Werte. Zum Beispiel für das Pixel
Format "yuv422p" hsub ist 2 und vssub ist 1.

ohsub
ovsub
horizontale und vertikale Ausgangs-Chroma-Subsample-Werte. Zum Beispiel für das Pixel
Format "yuv422p" hsub ist 2 und vssub ist 1.

Beispiele

· Skalieren Sie das Eingangsvideo auf eine Größe von 200x100

Maßstab=b=200:h=100

Dies ist äquivalent zu:

Maßstab=200:100

oder:

Maßstab=200x100

· Geben Sie ein Größenkürzel für die Ausgabegröße an:

Maßstab=qcif

was auch geschrieben werden kann als:

Maßstab=Größe=qcif

· Skalieren Sie die Eingabe auf 2x:

Maßstab=w=2*iw:h=2*ih

· Das obige ist dasselbe wie:

Maßstab=2*Zoll_B:2*Zoll_H

· Skalieren Sie den Eingang mit erzwungener Zeilensprungskalierung auf 2x:

Skala=2*iw:2*ih:interl=1

· Skalieren Sie die Eingabe auf die halbe Größe:

Skala=w=iw/2:h=ih/2

· Erhöhen Sie die Breite und stellen Sie die Höhe auf dieselbe Größe ein:

Maßstab=3/2*iw:ow

· Suche nach griechischer Harmonie:

Maßstab=iw:1/PHI*iw
Maßstab=ih*PHI:ih

· Erhöhen Sie die Höhe und stellen Sie die Breite auf 3/2 der Höhe ein:

Skala=w=3/2*oh:h=3/5*ih

· Erhöhen Sie die Größe, sodass die Größe ein Vielfaches der Chroma-Subsample-Werte ist:

scale="trunc(3/2*iw/hsub)*hsub:trunc(3/2*ih/vsub)*vsub"

· Erhöhen Sie die Breite auf maximal 500 Pixel und behalten Sie dabei das gleiche Seitenverhältnis wie das
Eingang:

scale=w='min(500\, iw*3/2):h=-1'

Befehle

Dieser Filter unterstützt die folgenden Befehle:

Breite, w
Höhe, h
Legen Sie den Dimensionsausdruck für das Ausgabevideo fest. Der Befehl akzeptiert die gleiche Syntax wie der
entsprechende Option.

Wenn der angegebene Ausdruck nicht gültig ist, wird sein aktueller Wert beibehalten.

scale2ref
Skalieren (Größenänderung) des Eingangsvideos basierend auf einem Referenzvideo.

Siehe den Skalierungsfilter für verfügbare Optionen, scale2ref unterstützt dasselbe, verwendet aber die
Referenzvideo anstelle des Haupteingangs als Basis.

Beispiele

· Skalieren Sie einen Untertitelstream, um die Größe des Hauptvideos anzupassen, bevor Sie ihn überlagern

'scale2ref[b][a][a][b]overlay'

separateFelder
Die "separatefields" nehmen einen Frame-basierten Videoeingang und teilen jeden Frame in seine
Komponentenfelder, wodurch ein neuer Clip mit halber Höhe mit doppelter und doppelter Bildrate erzeugt wird
die Frameanzahl.

Dieser Filter verwendet Halbbild-Dominanz-Informationen im Rahmen, um zu entscheiden, welche von jedem Paar von
Felder, die in der Ausgabe an erster Stelle stehen. Wenn es falsch wird, verwenden Sie Setfeld vorher filtern
Filter "getrennte Felder".

setdar, setar
Der "setdar"-Filter legt das Anzeige-Seitenverhältnis für das Filterausgabevideo fest.

Dies geschieht durch Ändern des angegebenen Seitenverhältnisses des Samples (auch bekannt als Pixel) gemäß der
folgende Gleichung:

= / *

Denken Sie daran, dass der Filter "setdar" die Pixelabmessungen des Videos nicht ändert.
Rahmen. Außerdem kann das durch diesen Filter eingestellte Anzeige-Seitenverhältnis durch spätere Filter geändert werden
in der Filterkette, zB bei Skalierung oder wenn ein anderer "setdar" oder ein "setsar" Filter ist
angewendet.

Der "setsar"-Filter legt das Sample-Seitenverhältnis (auch bekannt als Pixel) für das Filterausgangsvideo fest.

Beachten Sie, dass infolge der Anwendung dieses Filters der Ausgabeanzeigeaspekt
Das Verhältnis ändert sich gemäß der obigen Gleichung.

Beachten Sie, dass das vom Filter "setsar" eingestellte Seitenverhältnis des Samples geändert werden kann durch
spätere Filter in der Filterkette, zB wenn ein anderer "setsar" oder ein "setdar" Filter ist
angewendet.

Es akzeptiert die folgenden Parameter:

r, Verhältnis, geben ("setdar" nur), sar ("setsar" nur)
Stellen Sie das vom Filter verwendete Seitenverhältnis ein.

Der Parameter kann eine Gleitkommazahlzeichenfolge, ein Ausdruck oder eine Zeichenfolge der
unten stehende Formular num:am, Wobei num und am sind Zähler und Nenner des Seitenverhältnisses.
Wird der Parameter nicht angegeben, wird der Wert "0" angenommen. Falls das Formular
"num:am" verwendet wird, sollte das Zeichen ":" mit Escapezeichen versehen werden.

max Legen Sie den maximalen ganzzahligen Wert fest, der zum Ausdrücken von Zähler und Nenner verwendet werden soll, wenn
Reduzierung des ausgedrückten Seitenverhältnisses auf ein rationales. Der Standardwert ist 100.

Der Parameter sar ist ein Ausdruck, der die folgenden Konstanten enthält:

E, PI, PHI
Dies sind Näherungswerte für die mathematischen Konstanten e (Eulersche Zahl), pi
(griechisch pi) und phi (der goldene Schnitt).

w, h
Die Eingabebreite und -höhe.

a Das sind die gleichen wie w / h.

sar Das Seitenverhältnis des Eingabebeispiels.

geben Das Seitenverhältnis der Eingabeanzeige. Es ist das gleiche wie (w / h) * sar.

hsub, vssub
Horizontale und vertikale Chroma-Subsample-Werte. Zum Beispiel für das Pixelformat
"yuv422p" hsub ist 2 und vssub ist 1.

Beispiele

· Um das Anzeige-Seitenverhältnis in 16:9 zu ändern, geben Sie eine der folgenden Optionen an:

setdar=dar=1.77777
setdar=dar=16/9
setdar=dar=1.77777

· Um das Seitenverhältnis des Samples auf 10:11 zu ändern, geben Sie Folgendes an:

setar=sar=10/11

· Um ein Anzeige-Seitenverhältnis von 16:9 einzustellen und einen maximalen ganzzahligen Wert von 1000 Zoll anzugeben
Um das Seitenverhältnis zu reduzieren, verwenden Sie den Befehl:

setdar=Verhältnis=16/9:max=1000

Setfeld
Kraftfeld für das Ausgabevideobild.

Der Filter "setfield" markiert das Interlace-Typ-Feld für die Ausgabeframes. Es tut nicht
den Eingaberahmen ändern, aber nur die entsprechende Eigenschaft festlegen, die sich darauf auswirkt, wie die
Frame wird durch folgende Filter behandelt (zB "fieldorder" oder "yadif").

Der Filter akzeptiert die folgenden Optionen:

Modus
Verfügbare Werte sind:

Auto
Behalten Sie dieselbe Feldeigenschaft bei.

bff Markieren Sie den Rahmen als Bottom-Field-First.

tff Markieren Sie den Rahmen als Top-Field-First.

prog
Markieren Sie den Rahmen als progressiv.

show
Zeigen Sie eine Zeile mit verschiedenen Informationen für jeden eingegebenen Videoframe an. Das Eingangsvideo ist
Nicht modifiziert.

Die angezeigte Zeile enthält eine Folge von Schlüssel/Wert-Paaren der Form Schlüssel:Wert.

In der Ausgabe werden folgende Werte angezeigt:

n Die (laufende) Nummer des Eingabeframes, beginnend bei 0.

pts Der Präsentations-Zeitstempel des Eingaberahmens, ausgedrückt als Anzahl der Zeitbasis
Einheiten. Die Zeitbasiseinheit hängt vom Filtereingangspad ab.

pts_time
Der Präsentations-Zeitstempel des Eingabeframes, ausgedrückt in Sekunden.

Post Die Position des Frames im Eingabestream oder -1, wenn diese Information . ist
nicht verfügbar und/oder bedeutungslos (zum Beispiel bei synthetischem Video).

fmt Der Name des Pixelformats.

sar Das Beispiel-Seitenverhältnis des Eingabeframes, ausgedrückt in der Form num/am.

s Die Größe des Eingabeframes. Die Syntax dieser Option finden Sie im "Video Größe"
Abschnitt in ffmpeg-utils manuell.

i Die Art des Zeilensprungmodus ("P" für "progressiv", "T" für oberes Halbbild zuerst, "B" für
unteres Feld zuerst).

iskey
Dies ist 1, wenn das Bild ein Schlüsselbild ist, ansonsten 0.

tippe
Der Bildtyp des Eingabebildes ("I" für ein I-Bild, "P" für ein P-Bild, "B" für a
B-Rahmen oder "?" für einen unbekannten Typ). Beachten Sie auch die Dokumentation der
"AVPictureType"-Enum und der in . definierten Funktion "av_get_picture_type_char"
libavutil/avutil.h.

Prüfsumme
Die Adler-32-Prüfsumme (in hexadezimal gedruckt) aller Ebenen des Eingaberahmens.

plane_checksum
Die Adler-32-Prüfsumme (in hexadezimal gedruckt) jeder Ebene des Eingaberahmens,
ausgedrückt in der Form "[c0 c1 c2 c3]".

Showpalette
Zeigt die 256-Farben-Palette jedes Frames an. Dieser Filter ist nur relevant für pal8 Pixel
Rahmen formatieren.

Es akzeptiert die folgende Option:

s Legen Sie die Größe des Felds fest, das verwendet wird, um einen Palettenfarbeintrag darzustellen. Standard ist 30 (für
eine "30x30"-Pixelbox).

Shuffleplanes
Videoebenen neu anordnen und/oder duplizieren.

Es akzeptiert die folgenden Parameter:

map0
Der Index der Eingabeebene, die als erste Ausgabeebene verwendet werden soll.

map1
Der Index der Eingabeebene, die als zweite Ausgabeebene verwendet werden soll.

map2
Der Index der Eingabeebene, die als dritte Ausgabeebene verwendet werden soll.

map3
Der Index der Eingabeebene, die als vierte Ausgabeebene verwendet werden soll.

Die erste Ebene hat den Index 0. Standardmäßig bleibt die Eingabe unverändert.

Vertauschen Sie die zweite und dritte Ebene der Eingabe:

ffmpeg -i EINGABE -vf shuffleplanes=0:2:1:3 AUSGABE

Signalstatistiken
Bewerten Sie verschiedene visuelle Metriken, die bei der Ermittlung von Problemen im Zusammenhang mit dem . helfen
Digitalisierung analoger Videomedien.

Standardmäßig protokolliert der Filter diese Metadatenwerte:

YMIN
Zeigen Sie den minimalen Y-Wert an, der im Eingaberahmen enthalten ist. Ausgedrückt im Bereich von
[0-255].

GELB
Zeigen Sie den Y-Wert beim 10%-Perzentil innerhalb des Eingaberahmens an. Ausgedrückt in Reichweite
von [0-255].

YAVG
Zeigen Sie den durchschnittlichen Y-Wert innerhalb des Eingaberahmens an. Ausgedrückt im Bereich von [0-255].

JHOCH
Zeigen Sie den Y-Wert beim 90%-Perzentil innerhalb des Eingaberahmens an. Ausgedrückt in Reichweite
von [0-255].

YMAX
Zeigen Sie den maximalen Y-Wert an, der innerhalb des Eingaberahmens enthalten ist. Ausgedrückt im Bereich von
[0-255].

UMIN
Zeigen Sie den minimalen U-Wert an, der im Eingaberahmen enthalten ist. Ausgedrückt im Bereich von
[0-255].

ULOW
Zeigen Sie den U-Wert beim 10%-Perzentil innerhalb des Eingaberahmens an. Ausgedrückt in Reichweite
von [0-255].

UAVG
Zeigen Sie den durchschnittlichen U-Wert innerhalb des Eingaberahmens an. Ausgedrückt im Bereich von [0-255].

UHOCH
Zeigen Sie den U-Wert beim 90%-Perzentil innerhalb des Eingaberahmens an. Ausgedrückt in Reichweite
von [0-255].

Umax
Zeigen Sie den maximalen U-Wert an, der innerhalb des Eingaberahmens enthalten ist. Ausgedrückt im Bereich von
[0-255].

VMIN
Zeigen Sie den minimalen V-Wert an, der im Eingaberahmen enthalten ist. Ausgedrückt im Bereich von
[0-255].

VLOW
Zeigen Sie den V-Wert beim 10%-Perzentil innerhalb des Eingaberahmens an. Ausgedrückt in Reichweite
von [0-255].

VAVG
Zeigen Sie den durchschnittlichen V-Wert innerhalb des Eingaberahmens an. Ausgedrückt im Bereich von [0-255].

VHOCH
Zeigen Sie den V-Wert beim 90%-Perzentil innerhalb des Eingaberahmens an. Ausgedrückt in Reichweite
von [0-255].

VMAX
Zeigen Sie den maximalen V-Wert an, der innerhalb des Eingaberahmens enthalten ist. Ausgedrückt im Bereich von
[0-255].

SATMIN
Zeigt den minimalen Sättigungswert an, der im Eingabebild enthalten ist. Ausgedrückt
Bereich von [0-~181.02].

SATLOW
Zeigen Sie den Sättigungswert beim 10%-Perzentil innerhalb des Eingaberahmens an. Ausgedrückt
im Bereich von [0-~181.02].

SATAVG
Zeigen Sie den durchschnittlichen Sättigungswert innerhalb des Eingaberahmens an. Ausgedrückt im Bereich von
[0-~181.02].

SATHIG
Zeigen Sie den Sättigungswert beim 90%-Perzentil innerhalb des Eingaberahmens an. Ausgedrückt
im Bereich von [0-~181.02].

SATMAX
Zeigen Sie den maximalen Sättigungswert an, der innerhalb des Eingaberahmens enthalten ist. Ausgedrückt
Bereich von [0-~181.02].

HUEMED
Zeigen Sie den Medianwert für den Farbton innerhalb des Eingaberahmens an. Ausgedrückt im Bereich von
[0-360].

HUEAVG
Zeigen Sie den Durchschnittswert für den Farbton innerhalb des Eingaberahmens an. Ausgedrückt im Bereich von
[0-360].

YDIF
Zeigen Sie den Durchschnitt der Abtastwertdifferenz zwischen allen Werten der Y-Ebene in . an
den aktuellen Frame und die entsprechenden Werte des vorherigen Eingabeframes. Ausgedrückt
Bereich von [0-255].

UDIF
Zeigen Sie den Durchschnitt der Abtastwertdifferenz zwischen allen Werten der U-Ebene in . an
den aktuellen Frame und die entsprechenden Werte des vorherigen Eingabeframes. Ausgedrückt
Bereich von [0-255].

VDIF
Zeigen Sie den Durchschnitt der Abtastwertdifferenz zwischen allen Werten der V-Ebene in . an
den aktuellen Frame und die entsprechenden Werte des vorherigen Eingabeframes. Ausgedrückt
Bereich von [0-255].

Der Filter akzeptiert die folgenden Optionen:

Zustand
Zustand spezifizieren eine zusätzliche Form der Bildanalyse. Video ausgeben mit dem
angegebenen Pixeltyp hervorgehoben.

Beide Optionen akzeptieren die folgenden Werte:

Alles
Identifikation temporäre Ausreißer Pixel. EIN temporäre Ausreißer ist ein Pixel anders als das
benachbarte Pixel des gleichen Halbbildes. Beispiele für zeitliche Ausreißer sind die
Folgen von Videoausfällen, Kopfverstopfungen oder Bandverfolgungsproblemen.

vrep
Identifikation vertikal Linie Wiederholung. Vertikale Zeilenwiederholung umfasst ähnliche Zeilen
von Pixeln innerhalb eines Frames. In Born-Digital-Video ist die vertikale Zeilenwiederholung
häufig, aber dieses Muster ist ungewöhnlich bei Videos, die von einer analogen Quelle digitalisiert wurden.
Wenn es in einem Video auftritt, das aus der Digitalisierung einer analogen Quelle resultiert, ist es
kann eine Verbergung vor einem Ausfallkompensator anzeigen.

bringen
Identifizieren Sie Pixel, die außerhalb des zulässigen Sendebereichs liegen.

Farbe, Farbe, c
Legen Sie die Hervorhebungsfarbe für die fest Möglichkeit. Die Standardfarbe ist gelb.

Beispiele

· Ausgabedaten verschiedener Videometriken:

ffprobe -f lavfi movie=example.mov,signalstats="stat=tout+vrep+brng" -show_frames

· Ausgabe spezifischer Daten über die Minimal- und Maximalwerte der Y-Ebene pro Frame:

ffprobe -f lavfi movie=example.mov,signalstats -show_entries frame_tags=lavfi.signalstats.YMAX,lavfi.signalstats.YMIN

· Video wiedergeben, während Pixel, die außerhalb des Sendebereichs liegen, rot hervorgehoben werden.

ffplay example.mov -vf signalstats="out=brng:color=red"

· Playback-Video mit signalstats-Metadaten, die über den Rahmen gezeichnet werden.

ffplay example.mov -vf signalstats=stat=brng+vrep+tout,drawtext=fontfile=FreeSerif.ttf:textfile=signalstat_drawtext.txt

Der Inhalt der im Befehl verwendeten signalstat_drawtext.txt ist:

Zeit %{pts:hms}
Y (%{metadata:lavfi.signalstats.YMIN}-%{metadata:lavfi.signalstats.YMAX})
U (%{metadata:lavfi.signalstats.UMIN}-%{metadata:lavfi.signalstats.UMAX})
V (%{metadata:lavfi.signalstats.VMIN}-%{metadata:lavfi.signalstats.VMAX})
Sättigungsmaximum: %{metadata:lavfi.signalstats.SATMAX}

intelligente Unschärfe
Verwischen Sie das Eingabevideo, ohne die Umrisse zu beeinträchtigen.

Es akzeptiert die folgenden Optionen:

luma_radius, lr
Stellen Sie den Luma-Radius ein. Der Optionswert muss eine Gleitkommazahl im Bereich [0.1,5.0] sein.
die die Varianz des Gauss-Filters angibt, der verwendet wird, um das Bild zu verwischen (langsamer, wenn
größer). Der Standardwert ist 1.0.

luma_stärke, ls
Stellen Sie die Luma-Stärke ein. Der Optionswert muss eine Gleitkommazahl im Bereich [-1.0,1.0] sein.
das konfiguriert die Unschärfe. Ein in [0.0,1.0] enthaltener Wert verwischt das Bild
wohingegen ein in [-1.0,0.0] enthaltener Wert das Bild schärfer macht. Der Standardwert ist 1.0.

luma_threshold, lt
Legen Sie den Luma-Schwellenwert fest, der als Koeffizient verwendet wird, um zu bestimmen, ob ein Pixel
verschwommen oder nicht. Der Optionswert muss eine ganze Zahl im Bereich [-30,30] sein. Ein Wert von
0 filtert das gesamte Bild, ein in [0,30] enthaltener Wert filtert flache Bereiche und a
Der in [-30,0] enthaltene Wert filtert Kanten. Der Standardwert ist 0.

Farbradius, cr
Stellen Sie den Chroma-Radius ein. Der Optionswert muss eine Gleitkommazahl im Bereich [0.1,5.0] sein.
die die Varianz des Gauss-Filters angibt, der verwendet wird, um das Bild zu verwischen (langsamer, wenn
größer). Der Standardwert ist 1.0.

Chroma_Stärke, cs
Stellen Sie die Chroma-Stärke ein. Der Optionswert muss eine Gleitkommazahl im Bereich . sein
[-1.0,1.0] konfiguriert die Unschärfe. Ein in [0.0,1.0] enthaltener Wert verwischt die
Bild, wohingegen ein in [-1.0,0.0] enthaltener Wert das Bild schärfer macht. Standardwert ist
1.0

chroma_threshold, ct
Legen Sie den Chroma-Schwellenwert fest, der als Koeffizient verwendet wird, um zu bestimmen, ob ein Pixel
verschwommen oder nicht. Der Optionswert muss eine ganze Zahl im Bereich [-30,30] sein. Ein Wert von
0 filtert das gesamte Bild, ein in [0,30] enthaltener Wert filtert flache Bereiche und a
Der in [-30,0] enthaltene Wert filtert Kanten. Der Standardwert ist 0.

Wenn eine Chroma-Option nicht explizit gesetzt ist, wird der entsprechende Luma-Wert gesetzt.

sim
Rufen Sie die SSIM (Structural SIMilarity Metric) zwischen zwei Eingabevideos ab.

Dieser Filter nimmt in der Eingabe zwei Eingabevideos auf, die erste Eingabe gilt als "Haupt"
Quelle und wird unverändert an die Ausgabe übergeben. Der zweite Eingang dient als "Referenz"
Video zum Berechnen der SSIM.

Beide Videoeingänge müssen dieselbe Auflösung und dasselbe Pixelformat haben, damit dieser Filter funktioniert
korrekt. Es wird auch davon ausgegangen, dass beide Eingänge die gleiche Anzahl von Frames haben, die
eins nach dem anderen verglichen.

Der Filter speichert die berechnete SSIM jedes Frames.

Die Beschreibung der akzeptierten Parameter folgt.

Statistikdatei, f
Wenn angegeben, verwendet der Filter die benannte Datei, um die SSIM jeder Person zu speichern
Rahmen.

Die Datei wird gedruckt, wenn Statistikdatei ausgewählt ist, enthält eine Folge von Schlüssel/Wert-Paaren der
unten stehende Formular Schlüssel:Wert für jedes verglichene Paar von Frames.

Es folgt eine Beschreibung jedes angezeigten Parameters:

n fortlaufende Nummer des Eingaberahmens, beginnend bei 1

Y, U, V, R, G, B
SSIM der verglichenen Frames für die durch das Suffix angegebene Komponente.

Alle SSIM der verglichenen Frames für den gesamten Frame.

dB Wie oben, jedoch in dB-Darstellung.

Beispielsweise:

movie=ref_movie.mpg, setpts=PTS-STARTPTS [main];
[main][ref] ssim="stats_file=stats.log" [out]

In diesem Beispiel wird die verarbeitete Eingabedatei mit der Referenzdatei verglichen
ref_movie.mpg. Die SSIM jedes einzelnen Frames wird gespeichert in stats.log.

Ein weiteres Beispiel mit psnr und ssim gleichzeitig:

ffmpeg -i main.mpg -i ref.mpg -lavfi "ssim;[0:v][1:v]psnr" -f null -

stereo3d
Konvertieren Sie zwischen verschiedenen stereoskopischen Bildformaten.

Die Filter akzeptieren die folgenden Optionen:

in Stellen Sie das stereoskopische Bildformat der Eingabe ein.

Verfügbare Werte für Eingabebildformate sind:

sbsl
nebeneinander parallel (linkes Auge links, rechtes Auge rechts)

jdn
nebeneinander Fadenkreuz (rechtes Auge links, linkes Auge rechts)

sbs2l
nebeneinander parallel mit Halbseitenauflösung (linkes Auge links, rechtes Auge rechts)

sbs2r
paralleles Fadenkreuz mit Halbseitenauflösung (rechtes Auge links, linkes Auge rechts)

abl oben-unten (linkes Auge oben, rechtes Auge unten)

April oben-unten (rechtes Auge oben, linkes Auge unten)

ab2l
oben-unten mit halber Höhenauflösung (linkes Auge oben, rechtes Auge unten)

ab2r
oben-unten mit halber Höhenauflösung (rechtes Auge oben, linkes Auge unten)

al abwechselnde Bilder (linkes Auge zuerst, rechtes Auge dann)

ar abwechselnde Bilder (rechtes Auge zuerst, linkes Auge dann)

Standardwert ist sbsl.

Stellen Sie das stereoskopische Bildformat der Ausgabe ein.

Verfügbare Werte für Ausgabebildformate sind alle Eingabeformate sowie:

Arbg
Anaglyphe Rot/Blaugrau (Rotfilter am linken Auge, Blaufilter am rechten Auge)

Arg
Anaglyphe Rot/Grüngrau (Rotfilter am linken Auge, Grünfilter am rechten Auge)

Bogen
Anaglyphenrot/Cyangrau (Rotfilter am linken Auge, Cyanfilter am rechten Auge)

Bogen
Anaglyphe Rot/Cyan halbfarbig (Rotfilter am linken Auge, Cyanfilter am rechten Auge)

arcc
Anaglyphenfarbe Rot/Cyan (Rotfilter am linken Auge, Cyanfilter am rechten Auge)

arcd
Anaglyphe Rot/Cyan Farbe optimiert mit der kleinsten Quadrate Projektion von Dubois (Rot
Filter auf dem linken Auge, Cyan-Filter auf dem rechten Auge)

agmg
Anaglyphengrün/Magentagrau (grüner Filter am linken Auge, Magentafilter am rechten
Auge)

ähm
Anaglyphe grün/magenta halbfarbig (grüner Filter am linken Auge, Magenta Filter an
rechtes Auge)

aggm
Anaglyphe grün/magentafarben (grüner Filter auf dem linken Auge, Magenta Filter auf dem rechten)
Auge)

Hauptversammlung
Anaglyphenfarbe Grün/Magenta, optimiert mit der kleinsten Quadrate Projektion von dubois
(grüner Filter am linken Auge, Magentafilter am rechten Auge)

aybg
Anaglyphe Gelb/Blaugrau (Gelbfilter am linken Auge, Blaufilter am rechten Auge)

Aybh
Anaglyphe gelb/blau halbfarbig (Gelbfilter am linken Auge, Blaufilter rechts
Auge)

aybc
Anaglyphe gelb/blau gefärbt (Gelbfilter am linken Auge, Blaufilter am rechten Auge)

aybd
Anaglyphenfarbe gelb/blau optimiert mit der kleinsten Quadrate Projektion von dubois
(Gelbfilter am linken Auge, Blaufilter am rechten Auge)

irl verschachtelte Reihen (linkes Auge hat obere Reihe, rechtes Auge beginnt mit der nächsten Reihe)

irr verschachtelte Reihen (rechtes Auge hat obere Reihe, linkes Auge beginnt mit nächster Reihe)

ml Mono-Ausgang (nur linkes Auge)

mr Mono-Ausgang (nur rechtes Auge)

Standardwert ist arcd.

Beispiele

· Konvertieren des Eingangsvideos von nebeneinander parallel in ein anaglyphisches Gelb/Blau-Dubois:

stereo3d=sbsl:aybd

· Konvertieren des Eingangsvideos von oben unten (linkes Auge oben, rechtes Auge unten) in nebeneinander
Fadenkreuz.

stereo3d=abl:sbsr

spp
Wenden Sie einen einfachen Nachbearbeitungsfilter an, der das Bild mehrmals komprimiert und dekomprimiert
(oder - im Fall von Qualität Stufe 6 - alle) verschiebt und durchschnittlich die Ergebnisse.

Der Filter akzeptiert die folgenden Optionen:

Qualität
Qualität einstellen. Diese Option definiert die Anzahl der Ebenen für die Mittelwertbildung. Es akzeptiert ein
Ganzzahl im Bereich 0-6. Bei 0 hat der Filter keine Wirkung. Ein Wert von 6
bedeutet die höhere Qualität. Für jede Erhöhung dieses Wertes sinkt die Geschwindigkeit um einen Faktor
von ungefähr 2. Der Standardwert ist 3.

qp Erzwinge einen konstanten Quantisierungsparameter. Wenn nicht gesetzt, verwendet der Filter die QP von
den Videostream (sofern verfügbar).

Modus
Legen Sie den Schwellenwertmodus fest. Verfügbare Modi sind:

hart
Festlegen des Schwellenwerts (Standard).

weich
Weichen Schwellenwert einstellen (besserer Der-Ringing-Effekt, aber wahrscheinlich verschwommener).

use_bframe_qp
Aktivieren Sie die Verwendung des QP von den B-Frames, wenn auf 1 gesetzt. Die Verwendung dieser Option kann zu
flackern, da die B-Frames oft größere QP haben. Der Standardwert ist 0 (nicht aktiviert).

Untertitel
Zeichnen Sie mit der Libass-Bibliothek Untertitel über das Eingabevideo.

Um die Kompilierung dieses Filters zu aktivieren, müssen Sie FFmpeg mit "--enable-libass" konfigurieren.
Dieser Filter erfordert auch einen Build mit libavcodec und libavformat, um das übergebene zu konvertieren
Untertiteldatei in das ASS-Untertitelformat (Advanced Substation Alpha).

Der Filter akzeptiert die folgenden Optionen:

Dateiname, f
Legen Sie den Dateinamen der Untertiteldatei zum Lesen fest. Es muss angegeben werden.

Originalgröße
Geben Sie die Größe des Originalvideos an, das Video, für das die ASS-Datei komponiert wurde.
Die Syntax dieser Option finden Sie im "Video Größe" Abschnitt in ffmpeg-utils
manuell. Aufgrund eines Fehldesigns in der ASS-Seitenverhältnisarithmetik ist dies notwendig, um
Skalieren Sie die Schriftarten richtig, wenn das Seitenverhältnis geändert wurde.

Schriftendir
Legen Sie einen Verzeichnispfad fest, der Schriftarten enthält, die vom Filter verwendet werden können. Diese Schriftarten
wird zusätzlich zu dem verwendet, was der Schriftartenanbieter verwendet.

charenz
Legen Sie die Zeichencodierung für die Eingabe von Untertiteln fest. Nur "Untertitel"-Filter. Nur sinnvoll, wenn nicht
UTF-8.

stream_index, si
Untertitel-Stream-Index festlegen. Nur "Untertitel"-Filter.

force_style
Überschreiben Sie die Standardstil- oder Skriptinfo-Parameter der Untertitel. Es akzeptiert eine Zeichenfolge
das ASS-Format enthält "KEY=VALUE" Paare, die durch "," getrennt sind.

Wenn der erste Schlüssel nicht angegeben ist, wird angenommen, dass der erste Wert den . angibt
Dateinamen.

Zum Beispiel, um die Datei zu rendern sub.srt Verwenden Sie oben auf dem Eingabevideo den Befehl:

Untertitel=sub.srt

was äquivalent ist zu:

Untertitel=Dateiname=sub.srt

So rendern Sie den Standard-Untertitel-Stream aus einer Datei video.mkvVerwenden Sie:

Untertitel=video.mkv

Um den zweiten Untertitel-Stream aus dieser Datei zu rendern, verwenden Sie:

untertitel=video.mkv:si=1

So lassen Sie die Untertitel streamen von sub.srt erscheinen in transparentem Grün "DejaVu Serif", verwenden Sie:

subtitles=sub.srt:force_style='FontName=DejaVu Serif,PrimaryColour=&HAA00FF00'

super2xsai
Skalieren Sie die Eingabe um das 2-fache und glätten Sie sie mit der Super2xSaI-Pixelgrafik (Scale and Interpolate)
Skalierungsalgorithmus.

Nützlich, um Pixel-Art-Bilder zu vergrößern, ohne die Schärfe zu verringern.

tauschuv
U- und V-Ebene tauschen.

Telecine
Wenden Sie den Telecine-Prozess auf das Video an.

Dieser Filter akzeptiert die folgenden Optionen:

erstes_feld
oben, t
oberstes Feld zuerst

Unterseite, b
unteres Feld zuerst Der Standardwert ist "top".

Anleitungen
Eine Zahlenfolge, die das Pulldown-Muster darstellt, das Sie anwenden möchten. Der Standard
Wert ist 23.

Einige typische Muster:

NTSC-Ausgang (30i):
27.5p: 32222
24p: 23 (klassisch)
24p: 2332 (bevorzugt)
20p: 33
18p: 334
16p: 3444

PAL-Ausgang (25i):
27.5p: 12222
24p: 222222222223 ("Euro-Pulldown")
16.67p: 33
16p: 33333334

Daumennagel
Wählen Sie den repräsentativsten Frame in einer gegebenen Sequenz aufeinanderfolgender Frames aus.

Der Filter akzeptiert die folgenden Optionen:

n Legen Sie die zu analysierende Frame-Stapelgröße fest; in einer Reihe von n Frames, der Filter wählt einen aus
von ihnen und bearbeiten Sie dann die nächste Charge von n Rahmen bis zum Schluss. Standard ist 100.

Da der Filter die gesamte Frame-Sequenz verfolgt, ist ein größeres n Wert ergibt
einen höheren Speicherverbrauch, daher wird ein hoher Wert nicht empfohlen.

Beispiele

· Extrahieren Sie ein Bild alle 50 Frames:

Vorschaubild = 50

· Vollständiges Beispiel einer Thumbnail-Erstellung mit ffmpeg:

ffmpeg -i in.avi -vf thumbnail,scale=300:200 -frames:v 1 out.png

Kachel
Bringen Sie mehrere aufeinanderfolgende Frames zusammen.

Der Filter akzeptiert die folgenden Optionen:

Layout
Legen Sie die Rastergröße fest (dh die Anzahl der Zeilen und Spalten). Für die Syntax davon
Option, aktivieren Sie die "Video Größe" Abschnitt in ffmpeg-utils manuell.

nb_frames
Legen Sie die maximale Anzahl von Frames fest, die im angegebenen Bereich gerendert werden sollen. Es muss kleiner sein als oder
gleich wxh. Der Standardwert ist 0, was bedeutet, dass der gesamte Bereich verwendet wird.

Marge
Legen Sie den äußeren Randrand in Pixel fest.

Polsterung
Legen Sie die Dicke des inneren Rands fest (dh die Anzahl der Pixel zwischen den Bildern). Für mehr
erweiterte Fülloptionen (z. B. unterschiedliche Werte für die Kanten) finden Sie in der
Videofilter auffüllen.

Farbe
Geben Sie die Farbe des nicht verwendeten Bereichs an. Die Syntax dieser Option finden Sie unter "Farbe".
Abschnitt im ffmpeg-utils-Handbuch. Der Standardwert von Farbe ist schwarz".

Beispiele

· Produzieren Sie 8x8 PNG-Kacheln aller Keyframes (-skip_frame kein Schlüssel) in einem Film:

ffmpeg -skip_frame nokey -i file.avi -vf 'scale=128:72,tile=8x8' -an -vsync 0 keyframes%03d.png

Das -vsync 0 ist notwendig, um zu verhindern ffmpeg vom Duplizieren jedes Ausgabeframes auf
Anpassung an die ursprünglich erkannte Bildrate.

· Zeigen Sie 5 Bilder in einem Bereich von "3x2"-Rahmen an, mit 7 Pixeln dazwischen und 2
Pixel des Anfangsrands, mit gemischten flachen und benannten Optionen:

tile=3x2:nb_frames=5:padding=7:margin=2

Interlace
Führen Sie verschiedene Arten von zeitlichem Halbbild-Interlacing durch.

Frames werden beginnend mit 1 gezählt, sodass der erste Eingabeframe als ungerade gilt.

Der Filter akzeptiert die folgenden Optionen:

Modus
Legen Sie den Interlacing-Modus fest. Diese Option kann auch als Wert angegeben werden
allein. Unten finden Sie eine Liste mit Werten für diese Option.

Verfügbare Werte sind:

verschmelzen, 0
Verschiebe ungerade Frames in das obere Halbbild, gerade in das untere Halbbild und erzeuge a
Rahmen mit doppelter Höhe bei halber Bildrate.

------> Zeit
Eingang:
Rahmen 1 Rahmen 2 Rahmen 3 Rahmen 4

11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444

Ausgang:
11111 33333
22222 44444
11111 33333
22222 44444
11111 33333
22222 44444
11111 33333
22222 44444

drop_ungerade, 1
Nur gerade Frames ausgeben, ungerade Frames werden verworfen, wodurch ein Frame mit unverändertem . erzeugt wird
Höhe bei halber Framerate.

------> Zeit
Eingang:
Rahmen 1 Rahmen 2 Rahmen 3 Rahmen 4

11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444

Ausgang:
22222 44444
22222 44444
22222 44444
22222 44444

drop_even, 2
Nur ungerade Frames ausgeben, gerade Frames werden verworfen, wodurch ein Frame mit unverändertem . erzeugt wird
Höhe bei halber Framerate.

------> Zeit
Eingang:
Rahmen 1 Rahmen 2 Rahmen 3 Rahmen 4

11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444

Ausgang:
11111 33333
11111 33333
11111 33333
11111 33333

Pad, 3
Erweitern Sie jeden Frame auf die volle Höhe, aber füllen Sie abwechselnde Zeilen mit Schwarz auf, wodurch a . erzeugt wird
Frame mit doppelter Höhe bei gleicher Eingabe-Framerate.

------> Zeit
Eingang:
Rahmen 1 Rahmen 2 Rahmen 3 Rahmen 4

11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444

Ausgang:
11111 ..... 33333 .....
..... 22222 ..... 44444
11111 ..... 33333 .....
..... 22222 ..... 44444
11111 ..... 33333 .....
..... 22222 ..... 44444
11111 ..... 33333 .....
..... 22222 ..... 44444

interleave_top, 4
Verschachteln Sie das obere Halbbild von ungeraden Bildern mit dem unteren Halbbild von geraden Bildern,
Generieren eines Frames mit unveränderter Höhe bei halber Framerate.

------> Zeit
Eingang:
Rahmen 1 Rahmen 2 Rahmen 3 Rahmen 4

11111<- 22222 33333<- 44444
11111 22222<- 33333 44444<-
11111<- 22222 33333<- 44444
11111 22222<- 33333 44444<-

Ausgang:
11111 33333
22222 44444
11111 33333
22222 44444

interleave_bottom, 5
Verschachteln Sie das untere Halbbild von ungeraden Bildern mit dem oberen Halbbild von geraden Bildern,
Generieren eines Frames mit unveränderter Höhe bei halber Framerate.

------> Zeit
Eingang:
Rahmen 1 Rahmen 2 Rahmen 3 Rahmen 4

11111 22222<- 33333 44444<-
11111<- 22222 33333<- 44444
11111 22222<- 33333 44444<-
11111<- 22222 33333<- 44444

Ausgang:
22222 44444
11111 33333
22222 44444
11111 33333

interlacex2, 6
Doppelte Bildrate bei unveränderter Höhe. Es werden Rahmen eingefügt, die jeweils die
zweites zeitliches Feld aus dem vorherigen Eingabebild und das erste zeitliche Feld
ab dem nächsten Eingabeframe. Dieser Modus basiert auf dem top_field_first Flag. Sinnvoll
für Interlaced-Videoanzeigen ohne Halbbildsynchronisation.

------> Zeit
Eingang:
Rahmen 1 Rahmen 2 Rahmen 3 Rahmen 4

11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444

Ausgang:
11111 22222 22222 33333 33333 44444 44444
11111 11111 22222 22222 33333 33333 44444
11111 22222 22222 33333 33333 44444 44444
11111 11111 22222 22222 33333 33333 44444

Numerische Werte sind veraltet, werden jedoch aus Gründen der Abwärtskompatibilität akzeptiert.

Der Standardmodus ist "Zusammenführen".

Fahnen
Legen Sie Flags fest, die den Filterprozess beeinflussen.

Verfügbarer Wert für Fahnen ist:

Tiefpassfilter, vlfp
Aktivieren Sie die vertikale Tiefpassfilterung im Filter. Vertikale Tiefpassfilterung ist
erforderlich, wenn Sie ein Interlaced-Ziel aus einer progressiven Quelle erstellen, die
enthält hochfrequente vertikale Details. Filterung reduziert Interlace 'Twitter'
und Moiré-Musterung.

Die vertikale Tiefpassfilterung kann nur aktiviert werden für Modus interleave_top und
interleave_bottom.

transponieren
Transponieren Sie Zeilen mit Spalten im Eingabevideo und spiegeln Sie es optional.

Es akzeptiert die folgenden Parameter:

dir Geben Sie die Transpositionsrichtung an.

Kann folgende Werte annehmen:

0, 4, cclock_flip
Um 90 Grad gegen den Uhrzeigersinn drehen und vertikal spiegeln (Standard), das heißt:

LR Ll
. . -> . .
lr Rr

1, 5, Uhr
Um 90 Grad im Uhrzeigersinn drehen, das heißt:

LR lL
. . -> . .
lr rR

2, 6, Uhr
Um 90 Grad gegen den Uhrzeigersinn drehen, das heißt:

LR Rr
. . -> . .
lr Ll

3, 7, clock_flip
Um 90 Grad im Uhrzeigersinn drehen und vertikal spiegeln, das heißt:

LR rR
. . -> . .
lr lL

Bei Werten zwischen 4-7 wird die Transponierung nur durchgeführt, wenn die Eingangsvideogeometrie
Hochformat und nicht Querformat. Diese Werte sind veraltet, die Option "Passthrough"
sollte stattdessen verwendet werden.

Numerische Werte sind veraltet und sollten zugunsten symbolischer Konstanten fallengelassen werden.

Durchgang
Wenden Sie die Transposition nicht an, wenn die Eingabegeometrie mit der durch das angegebenen übereinstimmt
Spezifizierter Wert. Es akzeptiert die folgenden Werte:

keine
Wenden Sie immer die Transposition an.

Porträt
Porträtgeometrie beibehalten (wenn Höhe >= Breite).

Landschaft
Landschaftsgeometrie beibehalten (wenn Breite >= Höhe).

Der Standardwert ist "keiner".

Um beispielsweise um 90 Grad im Uhrzeigersinn zu drehen und das Hochformat-Layout beizubehalten:

transpose=dir=1:passthrough=portrait

Der obige Befehl kann auch wie folgt angegeben werden:

transponieren=1:Hochformat

trimmen
Trimmen Sie die Eingabe, sodass die Ausgabe einen fortlaufenden Unterteil der Eingabe enthält.

Es akzeptiert die folgenden Parameter:

Anfang
Geben Sie den Zeitpunkt des Beginns des beibehaltenen Abschnitts an, dh des Frames mit dem Zeitstempel
Anfang wird der erste Frame in der Ausgabe sein.

Ende Geben Sie die Zeit des ersten Frames an, der verworfen wird, dh der Frame sofort
vor dem mit dem Zeitstempel Ende wird der letzte Frame in der Ausgabe sein.

start_pts
Dies ist das gleiche wie Anfang, außer dass diese Option den Startzeitstempel in der Zeitbasis setzt
Einheiten statt Sekunden.

end_pts
Dies ist das gleiche wie Ende, außer dass diese Option den Endzeitstempel in Zeitbasiseinheiten setzt
statt Sekunden.

Dauer
Die maximale Dauer der Ausgabe in Sekunden.

start_frame
Die Nummer des ersten Frames, der an die Ausgabe übergeben werden soll.

end_frame
Die Nummer des ersten Frames, der gelöscht werden soll.

Anfang, Ende und Dauer werden als Zeitdauerspezifikationen ausgedrückt; sehen Uhrzeit
Dauer Abschnitt in ffmpeg-utils(1) manuell für die akzeptierte Syntax.

Beachten Sie, dass die ersten beiden Sätze der Start-/Endoptionen und die Dauer Option schau dir die an
Frame-Zeitstempel, während die _frame-Varianten einfach die Frames zählen, die durch die
Filter. Beachten Sie auch, dass dieser Filter die Zeitstempel nicht ändert. Wenn Sie es wünschen
Ausgabezeitstempel bei Null beginnen, fügen Sie einen Setpts-Filter nach dem Trim-Filter ein.

Wenn mehrere Start- oder Endoptionen festgelegt sind, versucht dieser Filter gierig zu sein und alle
Frames, die mindestens einer der angegebenen Einschränkungen entsprechen. Um nur den Teil zu behalten, der
entspricht allen Beschränkungen auf einmal, verketten Sie mehrere Trim-Filter.

Die Standardeinstellungen sind so, dass alle Eingaben beibehalten werden. So ist es zB möglich, nur die
Endwerte, um alles vor der angegebenen Zeit zu behalten.

Beispiele:

· Alles außer der zweiten Minute der Eingabe löschen:

ffmpeg -i EINGANG -vf trim=60:120

· Behalten Sie nur die erste Sekunde:

ffmpeg -i INPUT -vf trim=Dauer=1

unscharf
Schärfen oder verwischen Sie das Eingangsvideo.

Es akzeptiert die folgenden Parameter:

luma_msize_x, lx
Legen Sie die horizontale Größe der Luma-Matrix fest. Es muss eine ungerade ganze Zahl zwischen 3 und 63 sein
Standardwert ist 5.

luma_msize_y, ly
Stellen Sie die vertikale Größe der Luma-Matrix ein. Es muss eine ungerade ganze Zahl zwischen 3 und 63 sein
Standardwert ist 5.

Luma_Betrag, la
Stellen Sie die Stärke des Luma-Effekts ein. Es muss eine Gleitkommazahl sein, vernünftige Werte
zwischen -1.5 und 1.5 liegen.

Negative Werte machen das Eingangsvideo unscharf, während positive Werte es schärfer machen, a
Der Wert Null deaktiviert den Effekt.

Der Standardwert ist 1.0.

chroma_msize_x, cx
Stellen Sie die horizontale Größe der Chroma-Matrix ein. Es muss eine ungerade ganze Zahl zwischen 3 und 63 sein
Standardwert ist 5.

chroma_msize_y, cy
Stellen Sie die vertikale Größe der Chroma-Matrix ein. Es muss eine ungerade ganze Zahl zwischen 3 und 63 sein
Standardwert ist 5.

Chroma_Betrag, ca
Stellen Sie die Stärke des Chroma-Effekts ein. Es muss eine Gleitkommazahl sein, vernünftige Werte
zwischen -1.5 und 1.5 liegen.

Negative Werte machen das Eingangsvideo unscharf, während positive Werte es schärfer machen, a
Der Wert Null deaktiviert den Effekt.

Der Standardwert ist 0.0.

OpenCL
Wenn auf 1 gesetzt, geben Sie die Verwendung von OpenCL-Fähigkeiten an, nur verfügbar, wenn FFmpeg war
mit "--enable-opencl" konfiguriert. Der Standardwert ist 0.

Alle Parameter sind optional und entsprechen standardmäßig der Zeichenfolge '5:5:1.0:5:5:0.0'.

Beispiele

· Wenden Sie einen starken Luma-Scharf-Effekt an:

unsharp=luma_msize_x=7:luma_msize_y=7:luma_amount=2.5

· Wenden Sie eine starke Unschärfe der Luma- und Chroma-Parameter an:

unsharp=7:7:-2:7:7:-2

uspp
Wenden Sie einen ultralangsamen/einfachen Nachbearbeitungsfilter an, der das Bild komprimiert und dekomprimiert
bei mehreren (oder - im Falle von Qualität Stufe 8 - alle) verschiebt und durchschnittlich die Ergebnisse.

Der Unterschied zum Verhalten von spp besteht darin, dass uspp tatsächlich jedes codiert und decodiert
Fall mit libavcodec Snow, während spp ein vereinfachtes Intra nur 8x8 DCT ähnlich wie . verwendet
MJPEG.

Der Filter akzeptiert die folgenden Optionen:

Qualität
Qualität einstellen. Diese Option definiert die Anzahl der Ebenen für die Mittelwertbildung. Es akzeptiert ein
Ganzzahl im Bereich 0-8. Bei 0 hat der Filter keine Wirkung. Ein Wert von 8
bedeutet die höhere Qualität. Für jede Erhöhung dieses Wertes sinkt die Geschwindigkeit um einen Faktor
von ungefähr 2. Der Standardwert ist 3.

qp Erzwinge einen konstanten Quantisierungsparameter. Wenn nicht gesetzt, verwendet der Filter die QP von
den Videostream (sofern verfügbar).

Vectorscope
Zeigen Sie 2 Farbkomponentenwerte in der zweidimensionalen Grafik an (die als a . bezeichnet wird).
Vektorskop).

Dieser Filter akzeptiert die folgenden Optionen:

Modus m
Stellen Sie den Vektorskopmodus ein.

Es akzeptiert die folgenden Werte:

grau
Grauwerte werden im Diagramm angezeigt, höhere Helligkeit bedeutet, dass mehr Pixel gleich sind
Farbwert der Komponente vor Ort im Diagramm. Dies ist der Standardmodus.

Farbe
Grauwerte werden im Diagramm angezeigt. Umgebende Pixelwerte, die nicht
im Videobild vorhanden sind, werden in einem Farbverlauf von 2 Farbkomponenten gezeichnet, die eingestellt sind
nach Option "x" und "y".

color2
Tatsächliche Farbkomponentenwerte, die im Videobild vorhanden sind, werden im Diagramm angezeigt.

color3
Ähnlich wie color2, aber höhere Häufigkeit der gleichen Werte "x" und "y" im Diagramm
erhöht den Wert einer anderen Farbkomponente, bei der es sich um die Luminanz durch Standardwerte handelt
von "x" und "y".

color4
Tatsächliche Farben, die im Videoframe vorhanden sind, werden im Diagramm angezeigt. Wenn zwei verschiedene
Farben werden auf dieselbe Position im Diagramm abgebildet, dann Farbe mit höherem Wert der Komponente nicht
im Diagramm vorhanden ist ausgewählt.

x Legen Sie fest, welche Farbkomponente auf der X-Achse dargestellt wird. Standard ist 1.

y Legen Sie fest, welche Farbkomponente auf der Y-Achse dargestellt wird. Standard ist 2.

Intensität, i
Stellen Sie die Intensität ein, die von den Modi verwendet wird: Grau, Farbe und Farbe3 zum Erhöhen der Helligkeit von
Farbkomponente, die die Häufigkeit der (X, Y)-Position im Diagramm darstellt.

Umschlag, e
keine
Kein Umschlag, dies ist die Standardeinstellung.

sofortig
Sofortige Hüllkurve, selbst dunkelste Einzelpixel werden deutlich hervorgehoben.

Haupt
Halten Sie die maximalen und minimalen Werte, die im Diagramm über die Zeit angezeigt werden. So kannst du
immer noch Werte außerhalb des Bereichs erkennen, ohne ständig auf das Vektorskop zu schauen.

Spitze+Sofort
Peak- und Instant-Hüllkurve zusammen kombiniert.

vidstabdetektieren
Analysieren Sie die Videostabilisierung/Deshaking. Führen Sie Durchgang 1 von 2 durch, siehe vidstabtransformieren für pass
2.

Dieser Filter generiert eine Datei mit relativen Translations- und Rotationstransformationsinformationen
über nachfolgende Frames, die dann von den vidstabtransformieren Filter.

Um die Kompilierung dieses Filters zu aktivieren, müssen Sie FFmpeg mit konfigurieren
"--enable-libvidstab".

Dieser Filter akzeptiert die folgenden Optionen:

Folge
Legen Sie den Pfad zu der Datei fest, die zum Schreiben der Transformationsinformationen verwendet wird. Standardwert ist
transformiert.trf.

Zittern
Stellen Sie ein, wie verwackelt das Video ist und wie schnell die Kamera ist. Es akzeptiert eine ganze Zahl in der
Bereich 1-10, ein Wert von 1 bedeutet geringes Zittern, ein Wert von 10 bedeutet starkes Zittern.
Der Standardwert ist 5.

Genauigkeit
Stellen Sie die Genauigkeit des Erkennungsprozesses ein. Es muss ein Wert im Bereich von 1-15 sein. EIN
Ein Wert von 1 bedeutet eine geringe Genauigkeit, ein Wert von 15 bedeutet eine hohe Genauigkeit. Der Standardwert ist 15.

Schrittlänge
Stellen Sie die Schrittweite des Suchprozesses ein. Der Bereich um das Minimum wird mit 1 Pixel gescannt
Auflösung. Der Standardwert ist 6.

Minkontrast
Stellen Sie den minimalen Kontrast ein. Unterhalb dieses Wertes wird ein lokales Messfeld verworfen. Muss sein
ein Gleitkommawert im Bereich 0-1. Der Standardwert ist 0.3.

Stativ
Stellen Sie die Referenzbildnummer für den Stativmodus ein.

Wenn aktiviert, wird die Bewegung der Frames mit einem Referenzframe im gefilterten . verglichen
Stream, identifiziert durch die angegebene Nummer. Die Idee ist, alle Bewegungen in auszugleichen
eine mehr oder weniger statische Szene und halten Sie die Kameraansicht absolut ruhig.

Wenn es auf 0 gesetzt ist, ist es deaktiviert. Die Frames werden ab 1 gezählt.

erklären
Felder und Transformationen in den resultierenden Frames anzeigen. Es akzeptiert eine ganze Zahl im Bereich
0-2. Der Standardwert ist 0, wodurch jede Visualisierung deaktiviert wird.

Beispiele

· Standardwerte verwenden:

vidstabdetektieren

· Analysieren Sie stark verwackelte Filme und legen Sie die Ergebnisse in eine Datei meinetransforms.trf:

vidstabdetect=wakiness=10:accuracy=15:result="mytransforms.trf"

· Visualisieren Sie das Ergebnis interner Transformationen im resultierenden Video:

vidstabdetect=show=1

· Analysieren Sie ein Video mit mittlerer Verwacklung mit ffmpeg:

ffmpeg -i input -vf vidstabdetect=shakiness=5:show=1 dummy.avi

vidstabtransformieren
Videostabilisierung/Deshaking: Pass 2 von 2, siehe vidstabdetektieren für Durchgang 1.

Lesen Sie eine Datei mit Transformationsinformationen für jeden Frame und wenden/kompensieren Sie diese. Zusammen
an. Nach der Installation können Sie HEIC-Dateien mit der vidstabdetektieren filter dies kann verwendet werden, um Videos zu entschütteln. Siehe auch
<http://public.hronopik.de/vid.stab>. Es ist wichtig, auch die unscharf filtern, siehe
unten.

Um die Kompilierung dieses Filters zu aktivieren, müssen Sie FFmpeg mit konfigurieren
"--enable-libvidstab".

Optionen

Eingabe
Legen Sie den Pfad zu der Datei fest, die zum Lesen der Transformationen verwendet wird. Standardwert ist transformiert.trf.

Glättung
Legen Sie die Anzahl der Bilder fest (Wert*2 + 1), die für die Tiefpassfilterung der Kamera verwendet werden
Bewegungen. Der Standardwert ist 10.

Zum Beispiel bedeutet eine Zahl von 10, dass 21 Frames verwendet werden (10 in der Vergangenheit und 10 in der
Zukunft), um die Bewegung im Video zu glätten. Ein größerer Wert führt zu einem flüssigeren Video,
begrenzt aber die Beschleunigung der Kamera (Schwenk-/Neigebewegungen). 0 ist ein Sonderfall
wo eine statische Kamera simuliert wird.

optalgo
Legen Sie den Algorithmus zur Optimierung des Kamerapfads fest.

Akzeptierte Werte sind:

gauss
Gaußscher Kernel-Tiefpassfilter bei Kamerabewegung (Standard)

avg Mittelwertbildung bei Transformationen

maxshift
Legen Sie die maximale Anzahl von Pixeln fest, um Frames zu übersetzen. Der Standardwert ist -1, d. h. nein
Grenze.

Maximalwinkel
Legen Sie den maximalen Winkel im Bogenmaß (Grad*PI/180) fest, um Frames zu drehen. Der Standardwert ist -1,
bedeutet keine Grenze.

Ernte
Legen Sie fest, wie mit Rändern umgegangen wird, die aufgrund der Bewegungskompensation möglicherweise sichtbar sind.

Verfügbare Werte sind:

halten
Bildinformationen aus dem vorherigen Frame beibehalten (Standard)

Schwarz
Fülle den Rand schwarz

umkehren
Transformationen invertieren, wenn auf 1 gesetzt. Der Standardwert ist 0.

relativ
Betrachten Sie Transformationen als relativ zum vorherigen Frame, wenn auf 1 gesetzt, absolut, wenn auf 0 gesetzt.
Der Standardwert ist 0.

Zoom
Stellen Sie den Prozentsatz zum Zoomen ein. Ein positiver Wert führt zu einem Zoom-In-Effekt, ein negativer
Wert in einem Zoom-Out-Effekt. Der Standardwert ist 0 (kein Zoom).

optzoom
Stellen Sie den optimalen Zoom ein, um Ränder zu vermeiden.

Akzeptierte Werte sind:

0 behindert

1 optimaler statischer Zoomwert wird ermittelt (nur sehr starke Bewegungen führen zu
sichtbare Ränder) (Standard)

2 optimaler adaptiver Zoomwert wird bestimmt (keine Ränder sind sichtbar), siehe
Zoomgeschwindigkeit

Beachten Sie, dass der beim Zoom angegebene Wert zu dem hier berechneten addiert wird.

Zoomgeschwindigkeit
Stellen Sie den Prozentsatz ein, um jeden Frame maximal zu vergrößern (aktiviert, wenn optzoom ist auf 2) eingestellt. Reichweite ist
von 0 bis 5 ist der Standardwert 0.25.

interpol
Geben Sie die Art der Interpolation an.

Verfügbare Werte sind:

nicht keine Interpolation

linear
linear nur horizontal

bilinear
linear in beide Richtungen (Standard)

bikubisch
kubisch in beide Richtungen (langsam)

Stativ
Aktivieren Sie den virtuellen Stativmodus, wenn er auf 1 eingestellt ist, was äquivalent zu . ist
"relativ=0:glätten=0". Der Standardwert ist 0.

Verwenden Sie auch die Option "Stativ" von vidstabdetektieren.

debuggen
Erhöhen Sie die Protokollausführlichkeit, wenn sie auf 1 gesetzt ist. Auch die erkannten globalen Bewegungen werden in geschrieben
die temporäre Datei global_motions.trf. Der Standardwert ist 0.

Beispiele

· Verwenden ffmpeg für eine typische Stabilisierung mit Standardwerten:

ffmpeg -i inp.mpeg -vf vidstabtransform,unsharp=5:5:0.8:3:3:0.4 inp_stabilized.mpeg

Beachten Sie die Verwendung der unscharf Filter, der immer empfohlen wird.

· Vergrößern Sie etwas mehr und laden Sie Transformationsdaten aus einer bestimmten Datei:

vidstabtransform=zoom=5:input="mytransforms.trf"

· Glätten Sie das Video noch mehr:

vidstabtransform=Glättung=30

vflipp
Spiegeln Sie das Eingangsvideo vertikal.

Um beispielsweise ein Video vertikal zu spiegeln mit ffmpeg:

ffmpeg -i in.avi -vf "vflip" out.avi

Vignette
Machen Sie einen natürlichen Vignettierungseffekt oder kehren Sie ihn um.

Der Filter akzeptiert die folgenden Optionen:

Winkel, a
Stellen Sie den Linsenwinkelausdruck als eine Anzahl von Radianten ein.

Der Wert wird im Bereich "[0,PI/2]" abgeschnitten.

Standardwert: "PI/5"

x0
y0 Legen Sie die Ausdrücke für die Mittelpunktkoordinaten fest. Jeweils "w/2" und "h/2" standardmäßig.

Modus
Vorwärts-/Rückwärtsmodus einstellen.

Verfügbare Modi sind:


Je größer der Abstand vom Mittelpunkt, desto dunkler wird das Bild.

rückwärts
Je größer der Abstand vom Mittelpunkt, desto heller wird das Bild.
Dies kann verwendet werden, um einen Vignetteneffekt umzukehren, obwohl es keine Automatik gibt
Erkennung zum Extrahieren der Linse Winkel und andere Einstellungen (noch). Es kann auch verwendet werden
um einen brennenden Effekt zu erzeugen.

Standardwert ist .

eval
Auswertungsmodus für die Ausdrücke einstellen (Winkel, x0, y0).

Es akzeptiert die folgenden Werte:

init
Werte Ausdrücke nur einmal während der Filterinitialisierung aus.

Rahmen
Bewerten Sie Ausdrücke für jeden eingehenden Frame. Das ist viel langsamer als die init
Modus, da alle Skalierer neu berechnet werden müssen, aber erweiterte
dynamische Ausdrücke.

Standardwert ist init.

Dithering
Stellen Sie Dithering ein, um die kreisförmigen Streifeneffekte zu reduzieren. Der Standardwert ist 1 (aktiviert).

Aussehen
Vignettenaspekt einstellen. Mit dieser Einstellung kann man die Form der Vignette anpassen.
Wenn Sie diesen Wert auf den SAR-Wert der Eingabe einstellen, wird eine rechteckige Vignettierung erstellt
nach den Abmessungen des Videos.

Standard ist "1/1".

Ausdrücke

Das Alpha, x0 und y0 Ausdrücke können die folgenden Parameter enthalten.

w
h Eingabebreite und -höhe

n die Anzahl der Eingaberahmen, beginnend bei 0

pts die PTS-Zeit (Presentation TimeStamp) des gefilterten Videoframes, ausgedrückt in TB
Einheiten, NAN wenn nicht definiert

r Bildrate des Eingangsvideos, NAN, wenn die Eingangsbildrate unbekannt ist

t der PTS (Presentation TimeStamp) des gefilterten Videoframes, ausgedrückt in Sekunden,
NAN wenn nicht definiert

tb Zeitbasis des Eingangsvideos

Beispiele

· Wenden Sie einen einfachen starken Vignettierungseffekt an:

Vignette=PI/4

· Erstellen Sie eine flackernde Vignettierung:

vignette='PI/4+zufällig(1)*PI/50':eval=frame

vstack
Stapeln Sie Eingabevideos vertikal.

Alle Streams müssen dasselbe Pixelformat und dieselbe Breite aufweisen.

Beachten Sie, dass dieser Filter schneller ist als die Verwendung von Auflage und Unterlage filtern, um dieselbe Ausgabe zu erstellen.

Der Filter akzeptiert die folgende Option:

nb_eingaben
Legen Sie die Anzahl der Eingabestreams fest. Standard ist 2.

w3fdif
Deinterlace das Eingangsvideo ("w3fdif" steht für "Weston 3 Field Deinterlacing Filter").

Basierend auf dem von Martin Weston für BBC R&D beschriebenen Prozess und implementiert auf Basis der
De-Interlace-Algorithmus, geschrieben von Jim Easterbrook für BBC R&D, das Weston 3-Feld
Der Deinterlacing-Filter verwendet von BBC R&D berechnete Filterkoeffizienten.

Es gibt zwei Sätze von Filterkoeffizienten, die sogenannten "einfach": und "komplex". Welcher Satz von
Filterkoeffizienten verwendet wird, kann durch Übergabe eines optionalen Parameters eingestellt werden:

Filter
Stellen Sie die Interlacing-Filterkoeffizienten ein. Akzeptiert einen der folgenden Werte:

einfach
Einfacher Filterkoeffizientensatz.

Komplex
Komplexerer Filterkoeffizientensatz.

Standardwert ist Komplex.

deint
Geben Sie an, welche Frames deinterlaced werden sollen. Akzeptieren Sie einen der folgenden Werte:

alle Alle Frames deinterlacen,

verschachtelt
Deinterlacen Sie nur Frames, die als interlaced markiert sind.

Standardwert ist alle.

Wellenform
Videowellenform-Monitor.

Der Wellenformmonitor zeichnet die Intensität der Farbkomponenten auf. Standardmäßig nur Luminanz. Jeder
Spalte der Wellenform entspricht einer Spalte von Pixeln im Quellvideo.

Es akzeptiert die folgenden Optionen:

Modus m
Kann entweder "Zeile" oder "Spalte" sein. Standard ist "Spalte". Im Zeilenmodus wird die Grafik auf dem
linke Seite repräsentiert den Farbkomponentenwert 0 und die rechte Seite repräsentiert den Wert =
255. Im Spaltenmodus repräsentiert die obere Seite den Farbkomponentenwert = 0 und die untere Seite
stellt Wert = 255 dar.

Intensität, i
Intensität einstellen. Kleinere Werte sind nützlich, um herauszufinden, wie viele Werte gleich sind
Luminanz werden über die Eingabezeilen/-spalten verteilt. Der Standardwert ist 0.04. Dürfen
Bereich ist [0, 1].

Spiegel, r
Spiegelungsmodus einstellen. 0 bedeutet ungespiegelt, 1 bedeutet gespiegelt. Im gespiegelten Modus höher
Werte werden auf der linken Seite für den Modus "Zeile" und oben für "Spalte" dargestellt
Modus. Standard ist 1 (gespiegelt).

Anzeige, d
Anzeigemodus einstellen. Es akzeptiert die folgenden Werte:

Auflage
Präsentiert Informationen, die mit denen in der "Parade" identisch sind, außer dass die Grafiken
darstellende Farbkomponenten werden direkt überlagert.

Dieser Anzeigemodus erleichtert das Erkennen relativer Unterschiede oder Ähnlichkeiten in
überlappende Bereiche der Farbkomponenten, die identisch sein sollen, wie z
als neutrales Weiß, Grau oder Schwarz.

Parade
Separate Grafik für die Farbkomponenten nebeneinander im "Reihen"-Modus oder einzeln anzeigen
untereinander im "Spalten"-Modus.

Mit diesem Anzeigemodus können Sie leicht Farbstiche in den Lichtern erkennen und
Schatten eines Bildes durch Vergleich der Konturen der oberen und unteren Grafik von
jede Wellenform. Da Weiß, Grau und Schwarz durch genau gleich gekennzeichnet sind
Mengen an Rot, Grün und Blau, neutrale Bereiche des Bildes sollten drei
Wellenformen von ungefähr gleicher Breite/Höhe. Wenn nicht, ist die Korrektur einfach durchzuführen
indem Sie Pegelanpassungen der drei Wellenformen vornehmen.

Standard ist "Parade".

Komponenten c
Legen Sie fest, welche Farbkomponenten angezeigt werden sollen. Standard ist 1, was nur Luminanz oder Rot bedeutet
Farbkomponente, wenn die Eingabe im RGB-Farbraum erfolgt. Wenn zum Beispiel auf 7 eingestellt ist, wird es
alle 3 (wenn) verfügbaren Farbkomponenten anzeigen.

Umschlag, e
keine
Kein Umschlag, dies ist die Standardeinstellung.

sofortig
Sofortige Hüllkurve, Minimal- und Maximalwerte, die in der Grafik dargestellt werden, werden leicht angezeigt
sichtbar auch bei kleinem "step"-Wert.

Haupt
Halten Sie die minimalen und maximalen Werte, die im Diagramm über die Zeit angezeigt werden. So kannst du
immer noch Werte außerhalb des Bereichs erkennen, ohne ständig auf Wellenformen zu schauen.

Spitze+Sofort
Peak- und Instant-Hüllkurve zusammen kombiniert.

Filter, f
Tiefpass
Keine Filterung, dies ist die Standardeinstellung.

Wohnung
Luma und Chroma kombiniert.

eine Wohnung
Ähnlich wie oben, zeigt jedoch einen Unterschied zwischen blauem und rotem Chroma.

Chroma
Zeigt nur Chroma an.

achromatisch
Ähnlich wie oben, zeigt jedoch einen Unterschied zwischen blauem und rotem Chroma.

Farbe
Zeigt den tatsächlichen Farbwert auf der Wellenform an.

XBR
Wenden Sie den hochwertigen xBR-Vergrößerungsfilter an, der für Pixelkunst entwickelt wurde. Es
folgt einer Reihe von Kantenerkennungsregeln, siehe
<http://www.libretro.com/forums/viewtopic.php?f=6&t=134>.

Es akzeptiert die folgende Option:

n Stellen Sie das Skalierungsmaß ein: 2 für "2xBR", 3 für "3xBR" und 4 für "4xBR". Standard ist 3.

jadif
Deinterlace das Eingangsvideo ("yadif" bedeutet "noch ein Deinterlacing-Filter").

Es akzeptiert die folgenden Parameter:

Modus
Der zu übernehmende Interlacing-Modus. Es akzeptiert einen der folgenden Werte:

0, send_frame
Ausgabe eines Frames für jeden Frame.

1, send_field
Geben Sie für jedes Feld einen Frame aus.

2, send_frame_nospatial
Wie "send_frame", aber es überspringt die Spatial Interlacing-Prüfung.

3, send_field_nospatial
Wie "send_field", aber es überspringt die Prüfung des räumlichen Zeilensprungs.

Der Standardwert ist "send_frame".

Parität
Die für das eingegebene Zeilensprungvideo angenommene Bildfeldparität. Es akzeptiert eine der
folgende Werte:

0, tff
Angenommen, das oberste Feld ist das erste.

1, bff
Angenommen, das untere Feld ist das erste.

-1, Auto
Aktivieren Sie die automatische Erkennung der Feldparität.

Der Standardwert ist "auto". Wenn das Interlacing unbekannt ist oder der Decoder nicht
Exportieren Sie diese Informationen, das oberste Feld wird zuerst angenommen.

deint
Geben Sie an, welche Frames deinterlaced werden sollen. Akzeptieren Sie einen der folgenden Werte:

0, alle
Deinterlacen Sie alle Frames.

1, verschachtelt
Deinterlacen Sie nur Frames, die als interlaced markiert sind.

Der Standardwert ist "alle".

Zoompan
Wenden Sie den Zoom & Pan-Effekt an.

Dieser Filter akzeptiert die folgenden Optionen:

Zoomen, z
Stellen Sie den Zoom-Ausdruck ein. Standard ist 1.

x
y Legen Sie den x- und y-Ausdruck fest. Standard ist 0.

d Legen Sie den Dauerausdruck in der Anzahl der Frames fest. Dies legt fest, wie viele
Frames-Effekt hält für ein einzelnes Eingabebild an.

s Legen Sie die Ausgabebildgröße fest, der Standardwert ist 'hd720'.

Jeder Ausdruck kann die folgenden Konstanten enthalten:

in_w, iw
Eingabebreite.

in_h, ih
Eingabehöhe.

aus_w, ow
Ausgabebreite.

aus_h, oh
Ausgabehöhe.

in Eingabebildanzahl.

on Anzahl der Ausgabe-Frames.

x
y Zuletzt berechnete 'x'- und 'y'-Position aus 'x'- und 'y'-Ausdruck für die aktuelle Eingabe
Rahmen.

px
py 'x' und 'y' des letzten Ausgabeframes des vorherigen Eingabeframes oder 0, wenn es noch nicht vorhanden war
solchen Rahmen (erster Eingaberahmen).

Zoom
Zuletzt berechneter Zoom aus 'z'-Ausdruck für das aktuelle Eingabebild.

pzoom
Zuletzt berechneter Zoom des letzten Ausgabeframes des vorherigen Eingabeframes.

Dauer
Anzahl der Ausgabeframes für das aktuelle Eingabeframe. Berechnet aus 'd'-Ausdruck für
jedes Eingabeframe.

Dauer
Anzahl der Ausgabeframes, die für das vorherige Eingabeframe erstellt wurden

a Rationale Zahl: Eingabebreite / Eingabehöhe

sar Beispiel-Seitenverhältnis

geben Anzeige-Seitenverhältnis

Beispiele

· Vergrößern Sie bis zu 1.5 und schwenken Sie gleichzeitig zu einer Stelle in der Nähe der Bildmitte:

zoompan=z='min(zoom+0.0015,1.5)':d=700:x='if(gte(zoom,1.5),x,x+1/a)':y='if(gte(zoom,1.5),y,y+1)':s=640x360

· Vergrößern Sie bis zu 1.5 und schwenken Sie immer in die Bildmitte:

zoompan=z='min(zoom+0.0015,1.5)':d=700:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)'

VIDEO QUELLEN


Nachfolgend finden Sie eine Beschreibung der derzeit verfügbaren Videoquellen.

puffern
Puffern Sie Videoframes und stellen Sie sie der Filterkette zur Verfügung.

Diese Quelle ist hauptsächlich für eine programmatische Verwendung gedacht, insbesondere durch die Schnittstelle
definiert in libavfilter/vsrc_buffer.h.

Es akzeptiert die folgenden Parameter:

Video Größe
Geben Sie die Größe (Breite und Höhe) der gepufferten Videobilder an. Für die Syntax von
Aktivieren Sie diese Option "Video Größe" Abschnitt in ffmpeg-utils manuell.

Breite
Die Breite des Eingangsvideos.

Höhe
Die Höhe des Eingangsvideos.

pix_fmt
Eine Zeichenfolge, die das Pixelformat der gepufferten Videoframes darstellt. Es kann sein
Nummer, die einem Pixelformat entspricht, oder ein Pixelformatname.

Zeitbasis
Geben Sie die Zeitbasis an, die von den Zeitstempeln der gepufferten Frames angenommen wird.

Bildrate
Geben Sie die für den Videostream erwartete Bildrate an.

pixel_aspekt, sar
Das Beispielseitenverhältnis (Pixel) des Eingangsvideos.

sws_param
Geben Sie die optionalen Parameter an, die für den automatisch aktivierten Skalierungsfilter verwendet werden sollen
eingefügt, wenn eine Eingabeänderung in der Eingabegröße oder im Eingabeformat erkannt wird.

Beispielsweise:

buffer=width=320:height=240:pix_fmt=yuv410p:time_base=1/24:sar=1

weist die Quelle an, Videoframes mit der Größe 320x240 und mit dem Format zu akzeptieren
"yuv410p", wobei 1/24 als Zeitbasis und quadratische Pixel des Zeitstempels angenommen wird (1:1 Beispielseitenverhältnis)
Verhältnis). Da das Pixelformat mit dem Namen "yuv410p" der Zahl 6 entspricht (überprüfe die
enum AVPixelFormat-Definition in libavutil/pixfmt.h), entspricht dieses Beispiel:

buffer=size=320x240:pixfmt=6:time_base=1/24:pixel_aspect=1/1

Alternativ können die Optionen als flacher String angegeben werden, aber diese Syntax ist
veraltet:

Breite:Höhe:pix_fmt:time_base.num:time_base.den:pixel_aspekt.num:pixel_aspect.den[:sws_param]

cellauto
Erstellen Sie ein Muster, das von einem elementaren zellulären Automaten generiert wird.

Der Anfangszustand des zellularen Automaten kann definiert werden durch die Dateinamen und
Anleitungen Optionen. Wenn solche Optionen nicht angegeben werden, wird zufällig ein Anfangszustand erzeugt.

Bei jedem neuen Frame wird eine neue Zeile im Video mit dem Ergebnis des Mobilfunks gefüllt
Automat der nächsten Generation. Das Verhalten beim Füllen des gesamten Rahmens wird durch die
blättern .

Diese Quelle akzeptiert die folgenden Optionen:

Dateiname, f
Lesen Sie den anfänglichen Zustand des zellularen Automaten, dh die Startzeile, aus dem angegebenen
Datei. In der Datei wird jedes Nicht-Leerzeichen als lebendige Zelle betrachtet, a
newline beendet die Zeile und weitere Zeichen in der Datei werden ignoriert.

Muster, p
Lesen Sie den anfänglichen Zustand des zellularen Automaten, dh die Startzeile, aus dem angegebenen
String.

Jedes Zeichen in der Zeichenfolge, das kein Leerzeichen ist, wird als lebendige Zelle, als Zeilenumbruch, betrachtet
beendet die Zeile und weitere Zeichen in der Zeichenfolge werden ignoriert.

Bewertung, r
Stellen Sie die Videorate ein, d. h. die Anzahl der Bilder, die pro Sekunde erzeugt werden. Standard ist 25.

random_fill_ratio, Verhältnis
Legen Sie das zufällige Füllverhältnis für die erste Zeile des Mobilfunkautomaten fest. Es ist ein schwebendes
Punktzahlwert im Bereich von 0 bis 1, standardmäßig 1/PHI.

Diese Option wird ignoriert, wenn eine Datei oder ein Muster angegeben wird.

random_seed, Samen
Setzt den Seed zum zufälligen Füllen der Anfangszeile, muss eine ganze Zahl zwischen sein
0 und UINT32_MAX. Wenn nicht angegeben oder explizit auf -1 gesetzt, versucht der Filter,
Verwenden Sie einen guten Zufalls-Seed auf Best-Effort-Basis.

regieren
Legen Sie die Regel für den Mobilfunkautomaten fest, es handelt sich um eine Zahl im Bereich von 0 bis 255. Standardwert
ist 110.

Größe, s
Legen Sie die Größe des Ausgabevideos fest. Die Syntax dieser Option finden Sie im "Video
Größe" Abschnitt in ffmpeg-utils manuell.

If Dateinamen or Anleitungen angegeben ist, ist die Größe standardmäßig auf die Breite des
angegebene Anfangszustandszeile, und die Höhe wird auf gesetzt Breite * PHI.

If Größe gesetzt ist, muss es die Breite der angegebenen Musterzeichenfolge enthalten, und die
Das angegebene Muster wird in der größeren Reihe zentriert.

Wenn kein Dateiname oder keine Musterzeichenfolge angegeben wird, ist der Größenwert standardmäßig
"320x518" (wird für einen zufällig generierten Anfangszustand verwendet).

blättern
Wenn auf 1 gesetzt, scrollen Sie die Ausgabe nach oben, wenn alle Zeilen in der Ausgabe
schon gefüllt. Bei 0 wird die neu generierte Zeile über die oberste Zeile geschrieben
kurz nachdem die untere Reihe gefüllt ist. Standardmäßig auf 1.

start_voll, voller
Wenn der Wert auf 1 gesetzt ist, füllen Sie die Ausgabe vollständig mit generierten Zeilen, bevor Sie die
erster Rahmen. Dies ist das Standardverhalten, zum Deaktivieren setzen Sie den Wert auf 0.

Stich
Wenn auf 1 eingestellt, nähen Sie die linke und rechte Reihenkante zusammen. Dies ist die Standardeinstellung
Verhalten, zum Deaktivieren setzen Sie den Wert auf 0.

Beispiele

· Lesen Sie den Ausgangszustand aus Anleitungen, und geben Sie eine Ausgabe der Größe 200x400 an.

cellauto=f=Muster:s=200x400

· Generieren Sie eine zufällige Anfangszeile mit einer Breite von 200 Zellen mit einem Füllverhältnis von 2/3:

cellauto=verhältnis=2/3:s=200x200

· Erstellen Sie ein von Regel 18 generiertes Muster, beginnend mit einer einzelnen lebenden Zelle, die auf einem zentriert ist
Anfangsreihe mit Breite 100:

cellauto=p=@s=100x400:full=0:rule=18

· Geben Sie ein ausgefeilteres Anfangsmuster an:

cellauto=p='@@ @ @@':s=100x400:full=0:rule=18

Mandelbrot
Generieren Sie ein Mandelbrot-Mengen-Fraktal und zoomen Sie schrittweise zu dem mit angegebenen Punkt
start_x und start_y.

Diese Quelle akzeptiert die folgenden Optionen:

end_pts
Stellen Sie den Pkt-Wert des Terminals ein. Der Standardwert ist 400.

end_scale
Stellen Sie den Endskalenwert ein. Muss ein Gleitkommawert sein. Der Standardwert ist 0.3.

innere
Legen Sie den inneren Farbmodus fest, d. h. den Algorithmus, der zum Zeichnen des Mandelbrot-Fraktales verwendet wird
innerer Bereich.

Er nimmt einen der folgenden Werte an:

Schwarz
Schwarzmodus einstellen.

Konvergenz
Zeit bis zur Konvergenz anzeigen.

mincol
Legen Sie die Farbe basierend auf dem Punkt fest, der dem Ursprung der Iterationen am nächsten liegt.

Zeit
Periodenmodus einstellen.

Standardwert ist mincol.

Rettungs
Legen Sie den Bailout-Wert fest. Der Standardwert ist 10.0.

maxiter
Legen Sie das Maximum der vom Rendering-Algorithmus durchgeführten Iterationen fest. Standardwert ist
7189

äußere
Stellen Sie den äußeren Farbmodus ein. Er nimmt einen der folgenden Werte an:

iteration_count
Stellen Sie den Iterationszählmodus ein.

normalized_iteration_count
setze den normalisierten Iterationszählmodus.

Standardwert ist normalized_iteration_count.

Bewertung, r
Bildrate einstellen, ausgedrückt als Anzahl der Bilder pro Sekunde. Der Standardwert ist "25".

Größe, s
Rahmengröße einstellen. Die Syntax dieser Option finden Sie im Abschnitt "Videogröße" im
ffmpeg-utils-Handbuch. Der Standardwert ist "640x480".

start_scale
Stellen Sie den anfänglichen Skalenwert ein. Der Standardwert ist 3.0.

start_x
Legen Sie die anfängliche x-Position fest. Muss ein Gleitkommawert zwischen -100 und 100 sein.
Der Standardwert ist -0.743643887037158704752191506114774.

start_y
Legen Sie die anfängliche y-Position fest. Muss ein Gleitkommawert zwischen -100 und 100 sein.
Der Standardwert ist -0.131825904205311970493132056385139.

mptestrc
Generieren Sie verschiedene Testmuster, wie sie vom MPlayer-Testfilter generiert werden.

Die Größe des generierten Videos ist fest und beträgt 256x256. Diese Quelle ist nützlich in
insbesondere zum Testen von Codierungsfunktionen.

Diese Quelle akzeptiert die folgenden Optionen:

Bewertung, r
Geben Sie die Bildrate des Quellvideos als Anzahl der pro erzeugten Bilder an
zweite. Es muss ein String im Format sein Frame_Rate_num/Frame_Rate_Den, eine ganze Zahl
Zahl, eine Gleitkommazahl oder eine gültige Abkürzung für die Videobildrate. Der Standard
Wert ist "25".

Dauer, d
Legen Sie die Dauer des Quellvideos fest. Sehen Uhrzeit Dauer Abschnitt in
ffmpeg-utils(1) manuell für die akzeptierte Syntax.

Wenn nicht angegeben oder die angegebene Dauer negativ ist, soll das Video sein
für immer generiert.

Test t
Legen Sie die Nummer oder den Namen des durchzuführenden Tests fest. Unterstützte Tests sind:

dc_luma
dc_chroma
freq_luma
Frequenz_Chroma
amp_luma
amp_chroma
Cbp
mv
ring1
ring2
alle

Der Standardwert ist "all", der die Liste aller Tests durchläuft.

Einige Beispiele:

mptestsrc=t=dc_luma

erzeugt ein "dc_luma" Testmuster.

frei0r_src
Geben Sie eine freie Quelle an.

Um die Kompilierung dieses Filters zu aktivieren, müssen Sie den frei0r-Header installieren und konfigurieren
FFmpeg mit "--enable-frei0r".

Diese Quelle akzeptiert die folgenden Parameter:

Größe
Die Größe des zu generierenden Videos. Die Syntax dieser Option finden Sie im "Video
Größe" Abschnitt in ffmpeg-utils manuell.

Framerate
Die Framerate des generierten Videos. Es kann ein String der Form . sein num/am oder eine
Abkürzung für die Bildrate.

Filtername
Der Name der frei0r-Quelle, die geladen werden soll. Weitere Informationen zu frei0r und wie
Um die Parameter einzustellen, lesen Sie die frei0r Abschnitt in der Videofilter-Dokumentation.

filter_params
Eine durch '|' getrennte Liste von Parametern, die an die frei0r-Quelle übergeben werden.

Zum Beispiel, um eine frei0r partik0l Quelle mit einer Größe von 200x200 und einer Bildrate von 10 . zu generieren
die dem Overlay-Filter-Haupteingang überlagert wird:

frei0r_src=size=200x200:framerate=10:filter_name=partik0l:filter_params=1234 [Overlay]; [in][Überlagerung] Überlagerung

life
Erzeuge ein Lebensmuster.

Diese Quelle basiert auf einer Verallgemeinerung des Lebensspiels von John Conway.

Die Quelleneingabe stellt ein Lebensraster dar, jedes Pixel stellt eine Zelle dar, die in einer sein kann
von zwei möglichen Zuständen, lebendig oder tot. Jede Zelle interagiert mit ihren acht Nachbarn,
Dies sind die Zellen, die horizontal, vertikal oder diagonal benachbart sind.

Bei jeder Interaktion entwickelt sich das Gitter gemäß der angenommenen Regel, die die
Anzahl der benachbarten lebenden Zellen, die eine Zelle am Leben bleiben oder geboren werden lassen. Der regieren zu erhalten
ermöglicht es, die zu übernehmende Regel anzugeben.

Diese Quelle akzeptiert die folgenden Optionen:

Dateiname, f
Legen Sie die Datei fest, aus der der anfängliche Rasterzustand gelesen werden soll. In der Datei wird jede nicht-
Whitespace-Zeichen gelten als lebendige Zelle, und Newline wird verwendet, um die
Ende jeder Reihe.

Wenn diese Option nicht angegeben ist, wird das Anfangsraster zufällig generiert.

Bewertung, r
Stellen Sie die Videorate ein, d. h. die Anzahl der Bilder, die pro Sekunde erzeugt werden. Standard ist 25.

random_fill_ratio, Verhältnis
Legen Sie das zufällige Füllverhältnis für das anfängliche Zufallsraster fest. Es ist eine Gleitkommazahl
Wert im Bereich von 0 bis 1, standardmäßig 1/PHI. Sie wird ignoriert, wenn eine Datei angegeben wird.

random_seed, Samen
Setzt den Seed zum Füllen des anfänglichen Zufallsrasters, muss eine ganze Zahl zwischen sein
0 und UINT32_MAX. Wenn nicht angegeben oder explizit auf -1 gesetzt, versucht der Filter,
Verwenden Sie einen guten Zufalls-Seed auf Best-Effort-Basis.

regieren
Legen Sie die Lebensregel fest.

Eine Regel kann mit einem Code der Art "S ." angegeben werdenNS/BNB", wo NS und NB sind
Zahlenfolgen im Bereich 0-8, NS gibt die Anzahl der lebenden Nachbarzellen an
die eine lebende Zelle am Leben halten lassen, und NB die Anzahl der lebenden Nachbarzellen, die
eine tote Zelle zum Leben erwecken (dh "geboren"). "s" und "b" können an Ort und Stelle verwendet werden
von "S" bzw. "B".

Alternativ kann eine Regel durch eine 18-Bit-Ganzzahl angegeben werden. Die 9 höherwertigen Bits sind
Wird verwendet, um den nächsten Zellzustand zu codieren, wenn er für jede Anzahl von lebenden Nachbarn lebt
Zellen, die niederwertigen Bits spezifizieren die Regel für das "Geboren" neuer Zellen. Bits höherer Ordnung
für eine höhere Anzahl von Nachbarzellen codieren. Zum Beispiel die Zahl 6153 =
"(12<<9)+9" gibt eine Stay-Alive-Regel von 12 und eine Born-Regel von 9 an, was entspricht
zu "S23/B03".

Der Standardwert ist "S23/B3", die ursprüngliche Spiel-des-Lebens-Regel von Conway und wird
hält eine Zelle am Leben, wenn sie 2 oder 3 lebende Nachbarzellen hat, und wird eine neue Zelle geboren, wenn
Es gibt drei lebende Zellen um eine tote Zelle.

Größe, s
Legen Sie die Größe des Ausgabevideos fest. Die Syntax dieser Option finden Sie im "Video
Größe" Abschnitt in ffmpeg-utils manuell.

If Dateinamen angegeben ist, ist die Größe standardmäßig auf die gleiche Größe der Eingabe eingestellt
Datei. Wenn Größe gesetzt ist, muss sie die in der Eingabedatei angegebene Größe enthalten, und die
Das in dieser Datei definierte Anfangsraster wird im größeren resultierenden Bereich zentriert.

Wenn kein Dateiname angegeben wird, ist der Größenwert standardmäßig "320x240" (verwendet für a
zufällig generiertes Anfangsraster).

Stich
Wenn auf 1 gesetzt, nähen Sie die linke und rechte Gitterkante zusammen und die obere und untere
auch Kanten. Standardmäßig auf 1.

Schimmel
Zellenformgeschwindigkeit einstellen. Wenn gesetzt, geht eine tote Zelle von Tod_Farbe zu Schimmel_Farbe mit
Schritt von Schimmel. Schimmel kann einen Wert von 0 bis 255 haben.

leben_farbe
Legen Sie die Farbe von lebenden (oder neugeborenen) Zellen fest.

Tod_Farbe
Legen Sie die Farbe der toten Zellen fest. Wenn Schimmel gesetzt ist, ist dies die erste Farbe, die verwendet wird, um darzustellen
eine tote Zelle.

Schimmel_Farbe
Schimmelfarbe einstellen, für definitiv abgestorbene und verschimmelte Zellen.

Die Syntax dieser 3 Farboptionen finden Sie im Abschnitt "Farbe" in den ffmpeg-utils
Handbuch.

Beispiele

· Lesen Sie ein Raster von Anleitungen, und zentrieren Sie es auf einem Raster der Größe 300 x 300 Pixel:

Leben=f=Muster:s=300x300

· Generieren Sie ein zufälliges Raster der Größe 200x200 mit einem Füllverhältnis von 2/3:

Leben=Verhältnis=2/3:s=200x200

· Geben Sie eine benutzerdefinierte Regel zum Entwickeln eines zufällig generierten Rasters an:

Leben=Regel=S14/B34

· Vollständiges Beispiel mit Slow-Death-Effekt (Schimmel) mit ffplay:

ffplay -f lavfi life=s=300x200:mold=10:r=60:ratio=0.1:death_color=#C83232:life_color=#00ff00,scale=1200:800:flags=16

allrgb, Allyuv, Farbe, Farbe, haldclutsrc, nullsrc, rgbtestrc, smptebars, smptehdbars, Testsrc
Die Quelle "allrgb" gibt Frames der Größe 4096x4096 aller RGB-Farben zurück.

Die Quelle "allyuv" gibt Frames der Größe 4096x4096 aller Yuv-Farben zurück.

Die Quelle "Farbe" liefert eine einheitlich farbige Eingabe.

Die Quelle "haldclutsrc" stellt eine Identität Hald CLUT bereit. Siehe auch halsklaue Filter.

Die Quelle "nullsrc" gibt unverarbeitete Videoframes zurück. Es ist hauptsächlich nützlich, angestellt zu sein
in Analyse-/Debugging-Tools oder als Quelle für Filter, die die Eingabedaten ignorieren.

Die Quelle "rgbtestsrc" generiert ein RGB-Testmuster, das für die Erkennung von RGB vs. BGR . nützlich ist
Probleme. Sie sollten einen roten, grünen und blauen Streifen von oben nach unten sehen.

Die Quelle "smptebars" generiert ein Farbbalkenmuster basierend auf dem SMPTE-Engineering
Richtlinie EG 1-1990.

Die Quelle "smptehdbars" generiert ein Farbbalkenmuster basierend auf der SMPTE RP 219-2002.

Die Quelle "testsrc" erzeugt ein Testvideomuster, das ein Farbmuster zeigt, ein Scrollen
Farbverlauf und ein Zeitstempel. Dies ist hauptsächlich für Testzwecke gedacht.

Die Quellen akzeptieren die folgenden Parameter:

Farbe, Farbe, c
Geben Sie die Farbe der Quelle an, die nur in der Quelle "Farbe" verfügbar ist. Für die Syntax
dieser Option überprüfen Sie den Abschnitt "Farbe" im ffmpeg-utils-Handbuch.

Grad des
Geben Sie den Pegel der Hald CLUT an, die nur in der Quelle "haldclutsrc" verfügbar ist. EIN
Level von "N" erzeugt ein Bild von "N*N*N" von "N*N*N" Pixeln, das als Identität verwendet wird
Matrix für 3D-Lookup-Tabellen. Jede Komponente ist auf einer "1/(N*N)"-Skala kodiert.

Größe, s
Geben Sie die Größe des Quellvideos an. Die Syntax dieser Option finden Sie im "Video
Größe" Abschnitt in ffmpeg-utils manuell. Der Standardwert ist "320x240".

Diese Option ist beim Filter "haldclutsrc" nicht verfügbar.

Bewertung, r
Geben Sie die Bildrate des Quellvideos als Anzahl der pro erzeugten Bilder an
zweite. Es muss ein String im Format sein Frame_Rate_num/Frame_Rate_Den, eine ganze Zahl
Zahl, eine Gleitkommazahl oder eine gültige Abkürzung für die Videobildrate. Der Standard
Wert ist "25".

sar Legen Sie das Beispielseitenverhältnis des Quellvideos fest.

Dauer, d
Legen Sie die Dauer des Quellvideos fest. Sehen Uhrzeit Dauer Abschnitt in
ffmpeg-utils(1) manuell für die akzeptierte Syntax.

Wenn nicht angegeben oder die angegebene Dauer negativ ist, soll das Video sein
für immer generiert.

Dezimalstellen, n
Legen Sie die Anzahl der Dezimalstellen fest, die im Zeitstempel angezeigt werden sollen, nur verfügbar in "testsrc"
Quelle.

Der angezeigte Zeitstempelwert entspricht dem ursprünglichen Zeitstempelwert
multipliziert mit der Zehnerpotenz des angegebenen Wertes. Der Standardwert ist 10.

Zum Beispiel folgendes:

testsrc=duration=5.3:size=qcif:rate=10

erzeugt ein Video mit einer Dauer von 5.3 Sekunden, mit einer Größe von 176x144 und einer Bildrate
von 10 Bildern pro Sekunde.

Die folgende Diagrammbeschreibung erzeugt eine rote Quelle mit einer Opazität von 0.2, mit
Größe "qcif" und einer Bildrate von 10 Bildern pro Sekunde.

Farbe=c=[E-Mail geschützt] :s=qcif:r=10

Soll der Eingabeinhalt ignoriert werden, kann "nullsrc" verwendet werden. Der folgende Befehl
erzeugt Rauschen in der Luminanzebene durch Verwendung des "geq"-Filters:

nullsrc=s=256x256, geq=zufällig(1)*255:128:128

Befehle

Die Quelle "color" unterstützt die folgenden Befehle:

c, Farbe
Legen Sie die Farbe des erstellten Bildes fest. Akzeptiert die gleiche Syntax des entsprechenden Farbe
.

VIDEO SPÜLEN


Nachfolgend finden Sie eine Beschreibung der derzeit verfügbaren Videosenken.

Puffersenke
Puffern Sie Videoframes und stellen Sie sie am Ende des Filterdiagramms zur Verfügung.

Diese Senke ist hauptsächlich für den programmatischen Gebrauch gedacht, insbesondere über die Schnittstelle
definiert in libavfilter/buffersink.h oder das Optionssystem.

Es akzeptiert einen Zeiger auf eine AVBufferSinkContext-Struktur, die die eingehenden . definiert
Pufferformate, die als undurchsichtiger Parameter an "avfilter_init_filter" übergeben werden für
Initialisierung.

Nullsenke
Null-Videosenke: Machen Sie absolut nichts mit dem Eingabevideo. Es ist hauptsächlich nützlich als
Vorlage und zur Verwendung in Analyse-/Debugging-Tools.

MULTIMEDIA FILTER


Nachfolgend finden Sie eine Beschreibung der derzeit verfügbaren Multimediafilter.

Aphasemeter
Wandeln Sie Eingangsaudio in einen Videoausgang um und zeigen Sie die Audiophase an.

Der Filter akzeptiert die folgenden Optionen:

Bewertung, r
Stellen Sie die Ausgabe-Framerate ein. Der Standardwert ist 25.

Größe, s
Legen Sie die Videogröße für die Ausgabe fest. Die Syntax dieser Option finden Sie im "Video
Größe" Abschnitt in ffmpeg-utils manuell. Der Standardwert ist "800x400".

rc
gc
bc Geben Sie den Rot-, Grün- und Blaukontrast an. Standardwerte sind 2, 7 und 1. Zulässiger Bereich
ist "[0, 255]".

mpc Legen Sie die Farbe fest, die zum Zeichnen der Medianphase verwendet wird. Wenn die Farbe "keine" ist, ist dies
Standardmäßig wird kein Median-Phasenwert gezeichnet.

Der Filter exportiert auch die Frame-Metadaten "lavfi.aphasemeter.phase", die den Mittelwert darstellen
Phase des aktuellen Audioframes. Der Wert liegt im Bereich "[-1, 1]". Die "-1" bedeutet links und rechts
Kanäle sind vollständig phasenverschoben und 1 bedeutet, dass Kanäle phasengleich sind.

Vektorskop
Wandeln Sie Eingangsaudio in einen Videoausgang um, der den Audiovektorbereich darstellt.

Der Filter wird verwendet, um den Unterschied zwischen den Kanälen des Stereo-Audiostreams zu messen. EIN
monoaurales Signal, bestehend aus identischem linken und rechten Signal, ergibt gerades
vertikale Linie. Jede Stereotrennung ist als Abweichung von dieser Linie sichtbar, wodurch ein
Lissajous-Figur. Wenn die gerade (oder davon abweichende) aber horizontale Linie erscheint, ist dies
zeigt an, dass der linke und der rechte Kanal phasenverschoben sind.

Der Filter akzeptiert die folgenden Optionen:

Modus m
Stellen Sie den Vektorskopmodus ein.

Verfügbare Werte sind:

Lissajous
Lissajous um 45 Grad gedreht.

lissajous_xy
Wie oben, aber nicht gedreht.

polar
Form ähnlich einem halben Kreis.

Standardwert ist Lissajous.

Größe, s
Legen Sie die Videogröße für die Ausgabe fest. Die Syntax dieser Option finden Sie im "Video
Größe" Abschnitt in ffmpeg-utils manuell. Der Standardwert ist "400x400".

Bewertung, r
Stellen Sie die Ausgabe-Framerate ein. Der Standardwert ist 25.

rc
gc
bc
ac Geben Sie den Rot-, Grün-, Blau- und Alpha-Kontrast an. Standardwerte sind 40, 160, 80 und
255. Zulässiger Bereich ist "[0, 255]".

rf
gf
bf
af Legen Sie Rot-, Grün-, Blau- und Alpha-Fade fest. Standardwerte sind 15, 10, 5 und 5.
Zulässiger Bereich ist "[0, 255]".

Zoom
Stellen Sie den Zoomfaktor ein. Der Standardwert ist 1. Erlaubter Bereich ist "[1, 10]".

Beispiele

· Komplettes Beispiel mit ffplay:

ffplay -f lavfi 'movie=input.mp3, asplit [a][out1];
[a] avectorscope=zoom=1.3:rc=2:gc=200:bc=10:rf=1:gf=8:bf=7 [out0]'

concat
Verketten Sie Audio- und Videostreams und fügen Sie sie nacheinander zusammen.

Der Filter arbeitet mit Segmenten synchronisierter Video- und Audiostreams. Alle Segmente müssen
haben die gleiche Anzahl von Streams jedes Typs, und das wird auch die Anzahl der Streams sein
am Ausgang.

Der Filter akzeptiert die folgenden Optionen:

n Legen Sie die Anzahl der Segmente fest. Standard ist 2.

v Legen Sie die Anzahl der ausgegebenen Videostreams fest, d. h. die Anzahl der Videostreams in
jedes Segment. Standard ist 1.

a Legen Sie die Anzahl der ausgegebenen Audiostreams fest, d. h. die Anzahl der Audiostreams in
jedes Segment. Standard ist 0.

unsicher
Unsicheren Modus aktivieren: Nicht fehlschlagen, wenn Segmente ein anderes Format haben.

Der Filter hat v+a Ausgänge: zuerst v Videoausgänge, dann a Audio-Ausgänge.

Es gibt nx(v+a) Eingaben: zuerst die Eingaben für das erste Segment, in der gleichen Reihenfolge wie die
Ausgänge, dann die Eingänge für das zweite Segment usw.

Ähnliche Streams haben aus verschiedenen Gründen nicht immer genau dieselbe Dauer
einschließlich Codec-Frame-Größe oder schlampiges Authoring. Aus diesem Grund verbundene synchronisierte
Streams (zB ein Video und seine Audiospur) sollten auf einmal verkettet werden. Der Konkat
Filter verwendet die Dauer des längsten Streams in jedem Segment (außer dem letzten),
und wenn nötig kürzere Audiostreams mit Stille auffüllen.

Damit dieser Filter richtig funktioniert, müssen alle Segmente beim Zeitstempel 0 beginnen.

Alle entsprechenden Streams müssen in allen Segmenten dieselben Parameter aufweisen; die Filterung
das System wählt automatisch ein gemeinsames Pixelformat für Videostreams und ein gemeinsames
Sample-Format, Sample-Rate und Kanal-Layout für Audiostreams, aber auch andere Einstellungen, wie z
als Auflösung, muss vom Benutzer explizit konvertiert werden.

Unterschiedliche Bildraten sind akzeptabel, führen jedoch zu einer variablen Bildrate bei der Ausgabe; Sein
Stellen Sie sicher, dass Sie die Ausgabedatei so konfigurieren, dass sie damit verarbeitet wird.

Beispiele

· Verketten Sie eine Eröffnung, eine Episode und ein Ende, alles in zweisprachiger Version (Video in
Stream 0, Audio in Stream 1 und 2):

ffmpeg -i Eröffnung.mkv -i Episode.mkv -i Endung.mkv -filter_complex \
'[0:0] [0:1] [0:2] [1:0] [1:1] [1:2] [2:0] [2:1] [2:2]
concat=n=3:v=1:a=2 [v] [a1] [a2]' \
-map '[v]' -map '[a1]' -map '[a2]' Ausgabe.mkv

· Verketten Sie zwei Teile, indem Sie Audio und Video getrennt behandeln, indem Sie den (a)Film verwenden
Quellen und Anpassen der Auflösung:

film=part1.mp4, scale=512:288 [v1] ; amovie=part1.mp4 [a1] ;
film=part2.mp4, scale=512:288 [v2] ; amovie=part2.mp4 [a2] ;
[v1] [v2] concat [outv] ; [a1] [a2] concat=v=0:a=1 [outa]

Beachten Sie, dass beim Stitch eine Desynchronisierung stattfindet, wenn die Audio- und Videostreams dies nicht tun
haben in der ersten Datei genau die gleiche Dauer.

ebur128
EBU R128 Scannerfilter. Dieser Filter nimmt einen Audiostream als Eingabe und gibt ihn aus
unverändert. Standardmäßig protokolliert es eine Nachricht mit einer Frequenz von 10 Hz mit dem Momentary
Lautheit (gekennzeichnet durch "M"), Kurzzeitlautstärke ("S"), Integrierte Lautheit ("I") und
Lautstärkebereich ("LRA").

Der Filter hat auch einen Videoausgang (siehe Video Option) mit einer Echtzeitgrafik zu
Beobachten Sie die Lautstärkeentwicklung. Die Grafik enthält die oben erwähnte protokollierte Nachricht,
es wird also nicht mehr gedruckt, wenn diese Option gesetzt ist, es sei denn, die ausführliche Protokollierung ist eingestellt.
Der Hauptgrafikbereich enthält die Kurzzeitlautstärke (3 Sekunden Analyse) und die
Anzeige rechts ist für die momentane Lautstärke (400 Millisekunden).

Mehr Informationen zur Loudness-Empfehlung EBU R128 auf
<http://tech.ebu.ch/loudness>.

Der Filter akzeptiert die folgenden Optionen:

Video
Aktivieren Sie den Videoausgang. Der Audiostream wird unverändert übergeben, unabhängig davon, ob diese Option aktiviert ist
eingestellt oder nein. Der Videostream ist der erste Ausgabestream, wenn er aktiviert ist. Standard ist
0.

Größe
Stellen Sie die Videogröße ein. Diese Option gilt nur für Videos. Für die Syntax dieser Option,
Überprüf den "Video Größe" Abschnitt in ffmpeg-utils manuell. Standard und Minimum
Auflösung ist "640x480".

Meter
Stellen Sie den EBU-Skalenmesser ein. Der Standardwert ist 9. Übliche Werte sind 9 bzw. 18 für
EBU-Skalenmesser +9 und EBU-Skalenmesser +18. Jeder andere ganzzahlige Wert zwischen diesem Bereich
ist erlaubt.

Metadaten
Legen Sie die Metadateninjektion fest. Wenn auf 1 gesetzt, wird der Audioeingang in 100 ms unterteilt
Ausgabeframes, von denen jeder verschiedene Lautheitsinformationen in Metadaten enthält. Alle
den Metadatenschlüsseln wird "lavfi.r128." vorangestellt.

Standard ist 0.

Framelog
Erzwingen Sie die Frame-Protokollierungsebene.

Verfügbare Werte sind:

Info
Informationsprotokollierungsebene

ausführlich
ausführliche Protokollierungsebene

Standardmäßig ist die Protokollierungsebene auf eingestellt Info. Wenn der Video oder im Metadaten Optionen sind
eingestellt, wechselt es zu ausführlich.

Haupt
Spitzenmodus(e) einstellen.

Verfügbare Modi können kumuliert werden (die Option ist ein "Flag"-Typ). Mögliche Werte sind:

keine
Deaktivieren Sie jeden Peak-Modus (Standard).

Sample
Aktivieren Sie den Sample-Peak-Modus.

Einfacher Peak-Modus auf der Suche nach dem höheren Sample-Wert. Es protokolliert eine Nachricht für
Sample-Peak (gekennzeichnet durch "SPK").

was immer dies auch sein sollte.
Aktivieren Sie den True-Peak-Modus.

Wenn aktiviert, erfolgt die Peak-Suche auf einer überabgetasteten Version des Eingabestreams
für eine bessere Spitzengenauigkeit. Es protokolliert eine Nachricht für True-Peak. (gekennzeichnet durch "TPK")
und True-Peak pro Frame (identifiziert durch "FTPK"). Dieser Modus erfordert einen Build mit
"libswresample".

Beispiele

· Echtzeit-Grafik mit ffplay, mit einem EBU-Skalenmesser +18:

ffplay -f lavfi -i "movie=input.mp3,ebur128=video=1:meter=18 [out0][out1]"

· Führen Sie eine Analyse durch mit ffmpeg:

ffmpeg -nostats -i input.mp3 -filter_complex ebur128 -f null -

verschachteln, verschachteln
Frames von mehreren Eingängen zeitlich verschachteln.

"interleave" arbeitet mit Videoeingängen, "ainterleave" mit Audio.

Diese Filter lesen Frames von mehreren Eingängen und senden den ältesten Frame in der Warteschlange an den
Ausgabe.

Eingabestreams müssen gut definierte, monoton ansteigende Frame-Zeitstempelwerte aufweisen.

Um einen Frame an die Ausgabe zu senden, müssen diese Filter mindestens einen Frame in die Warteschlange stellen
für jeden Eingang, so dass sie nicht funktionieren können, falls ein Eingang noch nicht abgeschlossen ist und nicht funktioniert
eingehende Frames empfangen.

Betrachten Sie zum Beispiel den Fall, dass eine Eingabe ein "Auswahl"-Filter ist, der Eingaben immer auslässt
Rahmen. Der "Interleave"-Filter liest weiterhin aus dieser Eingabe, wird es jedoch nie sein
in der Lage, neue Frames an den Ausgang zu senden, bis der Eingang ein Stream-Ende-Signal sendet.

Abhängig von der Eingangssynchronisation werden die Filter auch Frames verwerfen, falls ein Eingang
empfängt mehr Frames als die anderen und die Warteschlange ist bereits gefüllt.

Diese Filter akzeptieren die folgenden Optionen:

nb_eingaben, n
Stellen Sie die Anzahl der verschiedenen Eingänge ein, standardmäßig sind es 2.

Beispiele

· Verschachteln Sie Frames, die zu verschiedenen Streams gehören, mit ffmpeg:

ffmpeg -i bambi.avi -i pr0n.mkv -filter_complex "[0:v][1:v] interleave" out.avi

· Flimmernde Unschärfe-Effekt hinzufügen:

select='if(gt(zufällig(0), 0.2), 1, 2)':n=2 [tmp], boxblur=2:2, [tmp] interleave

Dauerwellen, apermen
Legen Sie Lese-/Schreibberechtigungen für die Ausgabeframes fest.

Diese Filter richten sich hauptsächlich an Entwickler, um den direkten Pfad im folgenden Filter zu testen
in der Filtergrafik.

Die Filter akzeptieren die folgenden Optionen:

Modus
Wählen Sie den Berechtigungsmodus aus.

Es akzeptiert die folgenden Werte:

keine
Nichts tun. Dies ist die Standardeinstellung.

ro Legen Sie alle Ausgabeframes schreibgeschützt fest.

rw Stellen Sie alle Ausgabeframes direkt beschreibbar ein.

Umschalten
Machen Sie den Frame schreibgeschützt, wenn er beschreibbar ist, und schreibbar, wenn er schreibgeschützt ist.

zufällig
Legen Sie jeden Ausgaberahmen schreibgeschützt oder zufällig beschreibbar fest.

Samen
Setzen Sie den Samen für die zufällig mode, muss eine ganze Zahl zwischen 0 und sein
"UINT32_MAX". Wenn nicht angegeben oder explizit auf "-1" gesetzt, versucht der Filter,
Verwenden Sie einen guten Zufalls-Seed auf Best-Effort-Basis.

Hinweis: Im Falle eines automatisch eingefügten Filters zwischen dem Berechtigungsfilter und dem folgenden,
die Berechtigung wird im folgenden Filter möglicherweise nicht wie erwartet empfangen. Einfügen von a
Format or aformat Filter vor dem Perms/Aperms-Filter kann dieses Problem vermeiden.

auswählen, auswählen
Wählen Sie Frames aus, die ausgegeben werden sollen.

Dieser Filter akzeptiert die folgenden Optionen:

Ausdruck, e
Set-Ausdruck, der für jeden Eingaberahmen ausgewertet wird.

Wenn der Ausdruck zu Null ausgewertet wird, wird der Frame verworfen.

Wenn das Bewertungsergebnis negativ oder NaN ist, wird der Frame an den ersten Ausgang gesendet;
andernfalls wird es mit dem Index "ceil(val)-1" an den Ausgang gesendet, vorausgesetzt, der Eingang
Index beginnt bei 0.

Beispielsweise entspricht ein Wert von 1.2 der Ausgabe mit dem Index "ceil(1.2)-1 = 2-1 =
1", das ist die zweite Ausgabe.

Ausgänge, n
Stellen Sie die Anzahl der Ausgänge ein. Der Ausgang, an den der ausgewählte Frame gesendet werden soll, basiert auf
das Ergebnis der Auswertung. Der Standardwert ist 1.

Der Ausdruck kann die folgenden Konstanten enthalten:

n Die (laufende) Nummer des gefilterten Frames, beginnend bei 0.

ausgewählt_n
Die (laufende) Nummer des ausgewählten Frames, beginnend bei 0.

vorherige_ausgewählte_n
Die fortlaufende Nummer des zuletzt ausgewählten Frames. Es ist NAN, wenn nicht definiert.

TB Die Zeitbasis der Eingabezeitstempel.

pts Der PTS (Presentation TimeStamp) des gefilterten Videoframes, ausgedrückt in TB Einheiten.
Es ist NAN, wenn nicht definiert.

t Der PTS des gefilterten Videoframes, ausgedrückt in Sekunden. Es ist NAN, wenn nicht definiert.

prev_pts
Der PTS des zuvor gefilterten Videoframes. Es ist NAN, wenn nicht definiert.

vorherige_ausgewählte_pts
Der PTS des letzten zuvor gefilterten Videoframes. Es ist NAN, wenn nicht definiert.

prev_ausgewählt_t
Der PTS des zuletzt ausgewählten Videoframes. Es ist NAN, wenn nicht definiert.

start_pts
Der PTS des ersten Videoframes im Video. Es ist NAN, wenn nicht definiert.

start_t
Die Zeit des ersten Videoframes im Video. Es ist NAN, wenn nicht definiert.

Bildtyp (Video nur)
Der Typ des gefilterten Frames. Es kann einen der folgenden Werte annehmen:

I
P
B
S
SI
SP
BI
interlace_typ (Video nur)
Der Frame-Interlace-Typ. Es kann einen der folgenden Werte annehmen:

PROGRESSIV
Der Frame ist progressiv (nicht interlaced).

OBEN ZUERST
Der Frame ist Top-Field-First.

UNTENFIRST
Der Rahmen ist mit dem unteren Halbbild zuerst.

verbraucht_sample_n (Audio nur)
die Anzahl der ausgewählten Samples vor dem aktuellen Frame

Proben_n (Audio nur)
die Anzahl der Samples im aktuellen Frame

Beispielrate (Audio nur)
die Eingangs-Samplerate

Schlüssel Dies ist 1, wenn der gefilterte Frame ein Keyframe ist, ansonsten 0.

Post die Position des gefilterten Frames in der Datei, -1 wenn die Informationen nicht verfügbar sind
(zB für synthetisches Video)

Szene (Video nur)
Wert zwischen 0 und 1, um eine neue Szene anzuzeigen; ein niedriger Wert spiegelt eine geringe Wahrscheinlichkeit wider
für den aktuellen Frame, um eine neue Szene einzuleiten, während ein höherer Wert den aktuellen
Rahmen ist eher einer (siehe das Beispiel unten)

Der Standardwert des Auswahlausdrucks ist "1".

Beispiele

· Wählen Sie alle Frames in der Eingabe aus:

wählen

Das obige Beispiel ist dasselbe wie:

auswählen=1

· Alle Frames überspringen:

auswählen=0

· Wählen Sie nur I-Frames aus:

select='eq(pict_type\,I)'

· Wählen Sie alle 100 ein Bild aus:

select='not(mod(n\,100))'

· Wählen Sie nur Bilder aus, die im Zeitintervall 10-20 enthalten sind:

select=zwischen(t\,10\,20)

· Wählen Sie nur I-Frames aus, die im Zeitintervall 10-20 enthalten sind:

select=zwischen(t\,10\,20)*eq(pict_type\,I)

· Bilder mit einem Mindestabstand von 10 Sekunden auswählen:

select='isnan(prev_selected_t)+gte(t-prev_selected_t\,10)'

· Verwenden Sie aselect, um nur Audioframes mit einer Sample-Nummer > 100 auszuwählen:

aselect='gt(samples_n\,100)'

· Erstellen Sie ein Mosaik der ersten Szenen:

ffmpeg -i video.avi -vf select='gt(scene\,0.4)',scale=160:120,tile -frames:v 1 preview.png

Vergleich Szene gegen einen Wert zwischen 0.3 und 0.5 ist im Allgemeinen eine vernünftige Wahl.

· Senden Sie gerade und ungerade Frames an separate Ausgänge und setzen Sie sie zusammen:

select=n=2:e='mod(n, 2)+1' [ungerade][gerade]; [ungerade] pad=h=2*ih [tmp]; [tmp][even] overlay=y=h

sendcmd, asendcmd
Senden Sie Befehle an Filter im Filtergraph.

Diese Filter lesen Befehle, die an andere Filter im Filtergraph gesendet werden sollen.

"sendcmd" muss zwischen zwei Videofiltern eingefügt werden, "asendcmd" muss dazwischen eingefügt werden
zwei Audiofilter, aber ansonsten verhalten sie sich gleich.

Die Angabe von Befehlen kann in den Filterargumenten mit dem Befehle
Option, oder in einer Datei, die von der Dateinamen .

Diese Filter akzeptieren die folgenden Optionen:

Befehle, c
Legen Sie die Befehle fest, die gelesen und an die anderen Filter gesendet werden sollen.

Dateiname, f
Legen Sie den Dateinamen der Befehle fest, die gelesen und an die anderen Filter gesendet werden sollen.

Befehle Syntax

Eine Befehlsbeschreibung besteht aus einer Folge von Intervallangaben, bestehend aus a
Liste von Befehlen, die ausgeführt werden sollen, wenn ein bestimmtes Ereignis in Bezug auf dieses Intervall auftritt.
Das auftretende Ereignis ist normalerweise die aktuelle Frame-Zeit, die eine bestimmte Zeit betritt oder verlässt
Intervall.

Ein Intervall wird durch die folgende Syntax angegeben:

[- ] ;

Das Zeitintervall wird durch die Starte das Spiel und ENDE Zeiten. ENDE ist optional und voreingestellt
zur maximalen Zeit.

Die aktuelle Framezeit wird innerhalb des angegebenen Intervalls berücksichtigt, wenn sie in enthalten ist
das Intervall [Starte das Spiel, ENDE), d. h. wenn die Zeit größer oder gleich ist Starte das Spiel und ein
weniger als ENDE.

BEFEHLE besteht aus einer Folge von einer oder mehreren Befehlsangaben, getrennt durch ",",
in Bezug auf dieses Intervall. Die Syntax einer Befehlsspezifikation ist gegeben durch:

[ ]

FLAGGEN ist optional und gibt die Art der Ereignisse an, die sich auf das Zeitintervall beziehen, das
ermöglicht das Senden des angegebenen Befehls und muss eine Folge von Identifier-Flags sein, die nicht null ist
getrennt durch "+" oder "|" und zwischen "[" und "]" eingeschlossen.

Folgende Flags werden erkannt:

eingeben
Der Befehl wird gesendet, wenn der aktuelle Frame-Zeitstempel in das angegebene Intervall eintritt. In
mit anderen Worten, der Befehl wird gesendet, wenn der vorherige Frame-Zeitstempel nicht im
gegebenen Intervall, und der Strom ist.

verlassen
Der Befehl wird gesendet, wenn der aktuelle Frame-Zeitstempel das angegebene Intervall verlässt. In
mit anderen Worten, der Befehl wird gesendet, wenn der vorherige Frame-Zeitstempel im angegebenen Wert war
Intervall, und der Strom ist es nicht.

If FLAGGEN nicht angegeben ist, wird ein Standardwert von "[enter]" angenommen.

TARGET gibt das Ziel des Befehls an, normalerweise den Namen der Filterklasse oder a
spezifischer Name der Filterinstanz.

COMMAND gibt den Namen des Befehls für den Zielfilter an.

ARG ist optional und gibt die optionale Liste von Argumenten für die angegebene an COMMAND.

Zwischen einer Intervallangabe und einer anderen, Leerzeichen oder Zeichenfolgen
beginnend mit "#" bis zum Zeilenende werden ignoriert und können zur Kommentierung von Kommentaren verwendet werden.

Es folgt eine vereinfachte BNF-Beschreibung der Befehlsspezifikationssyntax:

::= "eingeben" | "verlassen"
::= [(+|"|") ]
::= ["[" "]"] [ ]
::= [, ]
::= [- ]
::= [; ]

Beispiele

· Geben Sie die Audiotempoänderung bei Sekunde 4 an:

asendcmd=c='4.0 atempo tempo 1.5',atempo

· Geben Sie eine Liste von Zeichentext- und Farbtonbefehlen in einer Datei an.

# Text im Intervall 5-10 . anzeigen
5.0-10.0 [enter] drawtext reinit 'fontfile=FreeSerif.ttf:text=hallo world',
[leave] drawtext reinit 'fontfile=FreeSerif.ttf:text=';

# Entsättigen Sie das Bild im Intervall von 15-20
15.0-20.0 [Eingabe] Farbton 0,
[enter] drawtext reinit 'fontfile=FreeSerif.ttf:text=nocolor',
[lassen] Farbton s 1,
[leave] drawtext reinit 'fontfile=FreeSerif.ttf:text=color';

# Wenden Sie einen exponentiellen Sättigungs-Ausblendeffekt an, beginnend mit der Zeit 25
25 [Eingabe] Hue s exp(25-t)

Ein Filtergraph, der es ermöglicht, die obige Befehlsliste, die in einer Datei gespeichert ist, zu lesen und zu verarbeiten
test.cmd, kann angegeben werden mit:

sendcmd=f=test.cmd,drawtext=fontfile=FreeSerif.ttf:text='',hue

Einstellungen, astpts
Ändern Sie den PTS (Präsentationszeitstempel) der Eingabeframes.

"setpts" funktioniert bei Video-Frames, "asetpts" bei Audio-Frames.

Dieser Filter akzeptiert die folgenden Optionen:

ausdr
Der Ausdruck, der für jeden Frame ausgewertet wird, um seinen Zeitstempel zu erstellen.

Der Ausdruck wird über die eval-API ausgewertet und kann die folgenden Konstanten enthalten:

FRAME_RATE
Bildrate, nur für Videos mit konstanter Bildrate definiert

PTS Der Präsentationszeitstempel in der Eingabe

N Die Zählung des Eingabeframes für Video oder die Anzahl der verbrauchten Samples, nicht
einschließlich des aktuellen Frames für Audio, beginnend bei 0.

NB_CONSUMED_SAMPLES
Die Anzahl der konsumierten Samples, ohne den aktuellen Frame (nur Audio)

NB_SAMPLES, S
Die Anzahl der Samples im aktuellen Frame (nur Audio)

BEISPIELRATE, SR
Die Audio-Samplerate.

STARTPTS
Der PTS des ersten Frames.

STARTT
die Zeit in Sekunden des ersten Frames

VERNETZT
Geben Sie an, ob der aktuelle Frame interlaced ist.

T die Zeit in Sekunden des aktuellen Frames

POS ursprüngliche Position in der Datei des Rahmens oder undefiniert, wenn für den aktuellen nicht definiert
Rahmen

PREV_INPTS
Der vorherige Eingabe-PTS.

PREV_INT
vorherige Eingabezeit in Sekunden

PREV_OUTPTS
Der vorherige Ausgabe-PTS.

PREV_OUTT
vorherige Ausgabezeit in Sekunden

RTCTIME
Die Zeit der Wanduhr (RTC) in Mikrosekunden. Dies ist veraltet, verwenden Sie Zeit(0) statt.

RTCSTART
Die Wanduhrzeit (RTC) zu Beginn des Films in Mikrosekunden.

TB Die Zeitbasis der Eingabezeitstempel.

Beispiele

· Beginnen Sie mit dem PTS-Zählen von Null

setpts=PTS-STARTPTS

· Zeitraffereffekt anwenden:

setpts=0.5*PTS

· Zeitlupeneffekt anwenden:

setpts=2.0*PTS

· Feste Rate von 25 Bildern pro Sekunde einstellen:

Sätze=N/(25*TB)

· Feste Rate 25 fps mit etwas Jitter einstellen:

setpts='1/(25*TB) * (N + 0.05 * sin(N*2*PI/25))'

· Wenden Sie einen Offset von 10 Sekunden auf den Eingangs-PTS an:

setpts=PTS+10/TB

· Zeitstempel aus einer "Live-Quelle" generieren und auf die aktuelle Zeitbasis umbasieren:

setpts='(RTCTIME - RTCSTART) / (TB * 1000000)'

· Zeitstempel durch Zählen von Samples generieren:

asetpts=N/SR/TB

setb, asettb
Legen Sie die Zeitbasis fest, die für die Zeitstempel der Ausgabeframes verwendet werden soll. Es ist hauptsächlich zum Testen nützlich
Konfiguration der Zeitbasis.

Es akzeptiert die folgenden Parameter:

Ausdruck, tb
Der Ausdruck, der in die Ausgabezeitbasis ausgewertet wird.

Der Wert für tb ist ein arithmetischer Ausdruck, der ein rationales repräsentiert. Der Ausdruck kann
enthalten die Konstanten "AVTB" (die Standardzeitbasis), "intb" (die Eingabezeitbasis) und "sr"
(die Abtastrate, nur Audio). Der Standardwert ist "intb".

Beispiele

· Stellen Sie die Zeitbasis auf 1/25:

settb=expr=1/25

· Stellen Sie die Zeitbasis auf 1/10:

setb=expr=0.1

· Stellen Sie die Zeitbasis auf 1001/1000:

settb=1+0.001

· Stellen Sie die Zeitbasis auf 2*intb ein:

settb=2*intb

· Legen Sie den Standardwert für die Zeitbasis fest:

settb=AVTB

showcqt
Wandeln Sie Eingangsaudio in einen Videoausgang um, der das Frequenzspektrum logarithmisch darstellt
(unter Verwendung konstanter Q-Transformation mit Brown-Puckette-Algorithmus), mit musikalischer Tonskala, von
E0 bis D#10 (10 Oktaven).

Der Filter akzeptiert die folgenden Optionen:

Volumen
Geben Sie den Ausdruck für das Transformationsvolumen (Multiplikator) an. Der Ausdruck kann enthalten
Variablen:

Frequenz, Frequenz, f
die Frequenz, bei der die Transformation ausgewertet wird

Zeitschaltuhr, tc
Wert der Timeclamp-Option

und Funktionen:

a_gewichtung(f)
A-Bewertung gleicher Lautstärke

b_gewichtung(f)
B-Bewertung gleicher Lautstärke

c_gewichtung(f)
C-Bewertung gleicher Lautstärke

Der Standardwert ist 16.

tlänge
Geben Sie den Ausdruck für die Transformationslänge an. Der Ausdruck kann Variablen enthalten:

Frequenz, Frequenz, f
die Frequenz, bei der die Transformation ausgewertet wird

Zeitschaltuhr, tc
Wert der Timeclamp-Option

Der Standardwert ist "384/f*tc/(384/f+tc)".

Zeitschaltuhr
Geben Sie die Transformationszeitspanne an. Bei niedriger Frequenz gibt es einen Kompromiss zwischen der Genauigkeit
im Zeit- und Frequenzbereich. Wenn timeclamp niedriger ist, ist das Ereignis im Zeitbereich
genauer dargestellt (zB schnelle Bassdrum), sonst Ereignis in Frequenz
Domäne wird genauer dargestellt (z. B. Bassgitarre). Akzeptabler Wert ist [0.1,
1.0]. Der Standardwert ist 0.17.

Koeffizientenklemme
Geben Sie die Transformations-Koeffizientenklemme an. Wenn coeffclamp niedriger ist, ist die Transformation genauer,
andernfalls ist die Transformation schneller. Der zulässige Wert ist [0.1, 10.0]. Der Standardwert ist 1.0.

Gamma
Gamma angeben. Niedrigeres Gamma macht das Spektrum kontrastreicher, höheres Gamma macht das
Spektrum mit mehr Reichweite. Der zulässige Wert ist [1.0, 7.0]. Der Standardwert ist 3.0.

gamma2
Geben Sie das Gamma des Balkendiagramms an. Der zulässige Wert ist [1.0, 7.0]. Der Standardwert ist 1.0.

Schriftdatei
Geben Sie die Schriftartdatei für die Verwendung mit Freetype an. Wenn nicht angegeben, verwenden Sie eingebettete Schriftarten.

Schriftfarbe
Geben Sie den Ausdruck für die Schriftfarbe an. Dies ist ein arithmetischer Ausdruck, der zurückgeben sollte
ganzzahliger Wert 0xRRGGBB. Der Ausdruck kann Variablen enthalten:

Frequenz, Frequenz, f
die Frequenz, bei der die Transformation ausgewertet wird

Zeitschaltuhr, tc
Wert der Timeclamp-Option

und Funktionen:

Midi (w)
Midi-Zahl der Frequenz f, einige Midi-Zahlen: E0(16) C1(24) C2(36) A4(69)

r(x), g(x), b(x)
Rot-, Grün- und Blauwert der Intensität x

Standardwert ist "st(0, (midi(f)-59.5)/12); st(1, if(zwischen(ld(0),0,1),
0.5-0.5*cos(2*PI*ld(0)), 0)); R(1-ld(1)) + b(ld(1))"

fullhd
Bei Einstellung auf 1 (Standard) beträgt die Videogröße 1920 x 1080 (Full HD), bei Einstellung auf 0 wird die
Videogröße ist 960x540. Verwenden Sie diese Option, um die CPU-Auslastung zu verringern.

fps Videofps angeben. Der Standardwert ist 25.

zählen
Geben Sie die Anzahl der Transformationen pro Frame an, damit es fps*count-Transformationen pro Sekunde gibt.
Beachten Sie, dass die Audiodatenrate durch fps*count teilbar sein muss. Der Standardwert ist 6.

Beispiele

· Audio abspielen, während das Spektrum angezeigt wird:

ffplay -f lavfi 'movie=a.mp3, asplit [a][out1]; [a] showcqt [out0]'

· Wie oben, jedoch mit einer Bildrate von 30 fps:

ffplay -f lavfi 'movie=a.mp3, asplit [a][out1]; [a] showcqt=fps=30:count=5 [out0]'

· Spielen mit 960 x 540 und geringerer CPU-Auslastung:

ffplay -f lavfi 'movie=a.mp3, asplit [a][out1]; [a] showcqt=fullhd=0:count=3 [out0]'

· A1 und seine Harmonischen: A1, A2, (nahe)E3, A3:

ffplay -f lavfi 'aevalsrc=0.1*sin(2*PI*55*t)+0.1*sin(4*PI*55*t)+0.1*sin(6*PI*55*t)+0.1*sin(8*PI*55*t),
asplit[a][out1]; [a] showcqt [out0]'

· Wie oben, jedoch mit höherer Genauigkeit im Frequenzbereich (und langsamer):

ffplay -f lavfi 'aevalsrc=0.1*sin(2*PI*55*t)+0.1*sin(4*PI*55*t)+0.1*sin(6*PI*55*t)+0.1*sin(8*PI*55*t),
asplit[a][out1]; [a] showcqt=timeclamp=0.5 [out0]'

· B-Bewertung gleicher Lautstärke

Volumen=16*b_Gewichtung(f)

· Niedrigerer Q-Faktor

tlänge=100/f*tc/(100/f+tc)

· Benutzerdefinierte Schriftfarbe, C-Note ist grün gefärbt, andere sind blau gefärbt

fontcolor='if(mod(floor(midi(f)+0.5),12), 0x0000FF, g(1))'

· Benutzerdefiniertes Gamma, jetzt ist das Spektrum linear zur Amplitude.

gamma=2:gamma2=2

Showfreqs
Wandeln Sie Eingangsaudio in Videoausgang um, der das Audioleistungsspektrum darstellt. Audio
die Amplitude befindet sich auf der Y-Achse, während die Frequenz auf der X-Achse liegt.

Der Filter akzeptiert die folgenden Optionen:

Größe, s
Geben Sie die Größe des Videos an. Die Syntax dieser Option finden Sie im "Video Größe" Abschnitt
in ffmpeg-utils manuell. Der Standardwert ist "1024 x 512".

Modus
Anzeigemodus einstellen. Damit legen Sie fest, wie jedes Frequenz-Bin dargestellt wird.

Es akzeptiert die folgenden Werte:

Linie
Bar
Punkt

Standard ist "bar".

eine Skala
Amplitudenskala einstellen.

Es akzeptiert die folgenden Werte:

lin Lineare Skalierung.

sqrt
Quadratwurzelskala.

cbrt
Kubische Wurzelskala.

Log Logarithmische Darstellung.

Standard ist "log".

fscale
Frequenzskala einstellen.

Es akzeptiert die folgenden Werte:

lin Lineare Skalierung.

Log Logarithmische Darstellung.

rlog
Umgekehrte logarithmische Skala.

Standard ist "lin".

win_size
Fenstergröße einstellen.

Es akzeptiert die folgenden Werte:

w16
w32
w64
w128
w256
w512
w1024
w2048
w4096
w8192
w16384
w32768
w65536

Standard ist "w2048"

win_func
Fensterfunktion einstellen.

Es akzeptiert die folgenden Werte:

richtig
Bartlett
Hanning
hämmern
schwarzer Mann
welch
Flattop
Bharris
groß
bhann
ihre
verrückt

Standard ist "hanning".

überlappen
Fensterüberlappung einstellen. Im Bereich "[0, 1]". Der Standardwert ist 1, was eine optimale Überlappung für . bedeutet
ausgewählte Fensterfunktion wird ausgewählt.

Mittelung
Zeitmittelung einstellen. Wenn Sie dies auf 0 setzen, werden die aktuellen maximalen Spitzenwerte angezeigt. Standard ist
1, was bedeutet, dass die Zeitmittelung deaktiviert ist.

Farbe
Geben Sie eine Liste von Farben an, die durch Leerzeichen oder '|' getrennt sind. die verwendet wird, um den Kanal zu zeichnen
Frequenzen. Nicht erkannte oder fehlende Farben werden durch weiße Farbe ersetzt.

Showspektrum
Wandeln Sie Eingangsaudio in einen Videoausgang um, der das Audiofrequenzspektrum darstellt.

Der Filter akzeptiert die folgenden Optionen:

Größe, s
Geben Sie die Videogröße für die Ausgabe an. Die Syntax dieser Option finden Sie im "Video
Größe" Abschnitt in ffmpeg-utils manuell. Der Standardwert ist "640x512".

Schlitten
Geben Sie an, wie das Spektrum entlang des Fensters gleiten soll.

Es akzeptiert die folgenden Werte:

ersetzen
die Samples beginnen wieder links, wenn sie rechts ankommen

blättern
die Proben scrollen von rechts nach links

Vollbild
Frames werden nur produziert, wenn die Samples das richtige erreichen

Der Standardwert ist "ersetzen".

Modus
Anzeigemodus angeben.

Es akzeptiert die folgenden Werte:

kombiniert
alle Kanäle werden in derselben Zeile angezeigt

getrennte
alle Kanäle werden in separaten Zeilen angezeigt

Standardwert ist kombiniert.

Farbe
Geben Sie den Anzeigefarbmodus an.

Es akzeptiert die folgenden Werte:

Kanal
jeder Kanal wird in einer eigenen Farbe angezeigt

Intensität
jeder Kanal wird im gleichen Farbschema angezeigt

Standardwert ist Kanal.

Treppe
Geben Sie die Skala an, die zum Berechnen der Intensitätsfarbwerte verwendet wird.

Es akzeptiert die folgenden Werte:

lin linear

sqrt
Quadratwurzel, Standard

cbrt
Kubikwurzel

Log logarithmisch

Standardwert ist sqrt.

Sättigung
Stellen Sie den Sättigungsmodifikator für die angezeigten Farben ein. Negative Werte bieten Alternative
Farbschema. 0 ist überhaupt keine Sättigung. Die Sättigung muss im Bereich von [-10.0, 10.0] liegen.
Der Standardwert ist 1.

win_func
Fensterfunktion einstellen.

Es akzeptiert die folgenden Werte:

keine
Keine Probenvorverarbeitung (erwarten Sie nicht, dass dies schneller ist)

hann
Hann Fenster

hämmern
Hamming-Fenster

schwarzer Mann
Blackman-Fenster

Der Standardwert ist "hann".

Die Verwendung ist der des showwaves-Filters sehr ähnlich; siehe die Beispiele in diesem Abschnitt.

Beispiele

· Großes Fenster mit logarithmischer Farbskalierung:

showspectrum=s=1280x480:scale=log

· Vollständiges Beispiel für ein farbiges und gleitendes Spektrum pro Kanal mit ffplay:

ffplay -f lavfi 'movie=input.mp3, asplit [a][out1];
[a] showspectrum=mode=separate:color=intensity:slide=1:scale=cbrt [out0]'

Showvolumen
Wandeln Sie die Eingangsaudiolautstärke in eine Videoausgabe um.

Der Filter akzeptiert die folgenden Optionen:

Bewertung, r
Videorate einstellen.

b Rahmenbreite einstellen, zulässiger Bereich ist [0, 5]. Standard ist 1.

w Kanalbreite einstellen, zulässiger Bereich ist [40, 1080]. Der Standardwert ist 400.

h Kanalhöhe einstellen, zulässiger Bereich ist [1, 100]. Standard ist 20.

f Fade einstellen, zulässiger Bereich ist [1, 255]. Standard ist 20.

c Stellen Sie den Farbausdruck für die Lautstärke ein.

Der Ausdruck kann die folgenden Variablen verwenden:

VOLUME
Aktuelle maximale Lautstärke des Kanals in dB.

KANAL
Aktuelle Kanalnummer, beginnend bei 0.

t Wenn eingestellt, werden Kanalnamen angezeigt. Standard ist aktiviert.

Showwaves
Wandeln Sie Eingangsaudio in einen Videoausgang um, der die Sample-Wellen darstellt.

Der Filter akzeptiert die folgenden Optionen:

Größe, s
Geben Sie die Videogröße für die Ausgabe an. Die Syntax dieser Option finden Sie im "Video
Größe" Abschnitt in ffmpeg-utils manuell. Der Standardwert ist "600x240".

Modus
Anzeigemodus einstellen.

Verfügbare Werte sind:

Punkt
Zeichne für jede Probe einen Punkt.

Linie
Zeichnen Sie für jede Probe eine vertikale Linie.

p2p Zeichne für jede Probe einen Punkt und eine Linie dazwischen.

Cline
Zeichnen Sie für jede Probe eine zentrierte vertikale Linie.

Der Standardwert ist "Punkt".

n Stellen Sie die Anzahl der Proben ein, die auf derselben Spalte gedruckt werden. Ein größerer Wert wird
die Framerate verringern. Muss eine positive ganze Zahl sein. Diese Option kann nur eingestellt werden, wenn
der Wert für Rate ist nicht explizit angegeben.

Bewertung, r
Stellen Sie die (ungefähre) Ausgabe-Bildrate ein. Dies geschieht durch Setzen der Option n. Standard
Wert ist "25".

split_channels
Legen Sie fest, ob Kanäle separat oder überlappend gezeichnet werden sollen. Der Standardwert ist 0.

Beispiele

· Geben Sie das Audio der Eingabedatei und die entsprechende Videodarstellung gleichzeitig aus
Zeit:

amovie=a.mp3,asplit[out0],showwaves[out1]

· Erstellen Sie ein synthetisches Signal und zeigen Sie es mit Showwaves an, wodurch eine Bildrate von 30 . erzwungen wird
Bilder pro Sekunde:

aevalsrc=sin(1*2*PI*t)*sin(880*2*PI*t):cos(2*PI*200*t),asplit[out0],showwaves=r=30[out1]

showwavespic
Wandeln Sie Eingangsaudio in einen einzelnen Videoframe um, der die Sample-Wellen repräsentiert.

Der Filter akzeptiert die folgenden Optionen:

Größe, s
Geben Sie die Videogröße für die Ausgabe an. Die Syntax dieser Option finden Sie im "Video
Größe" Abschnitt in ffmpeg-utils manuell. Der Standardwert ist "600x240".

split_channels
Legen Sie fest, ob Kanäle separat oder überlappend gezeichnet werden sollen. Der Standardwert ist 0.

Beispiele

· Extrahieren Sie eine Kanal-Split-Darstellung der Wellenform einer ganzen Audiospur in a
1024x800 Bild mit ffmpeg:

ffmpeg -i audio.flac -lavfi showwavespic=split_channels=1:s=1024x800 wave.png

Teilt, eine Teilung
Teilen Sie die Eingabe in mehrere identische Ausgaben auf.

"asplit" funktioniert mit Audioeingang, "split" mit Video.

Der Filter akzeptiert einen einzelnen Parameter, der die Anzahl der Ausgänge angibt. Wenn
nicht angegeben, standardmäßig auf 2.

Beispiele

· Erstellen Sie zwei separate Ausgaben aus derselben Eingabe:

[in] aufteilen [out0][out1]

· Um 3 oder mehr Ausgänge zu erstellen, müssen Sie die Anzahl der Ausgänge angeben, wie in:

[in] asplit=3 [out0][out1][out2]

· Erstellen Sie zwei separate Ausgaben aus derselben Eingabe, eine beschnittene und eine aufgefüllte:

[in] teilen [splitout1][splitout2];
[splitout1] crop=100:100:0:0 [cropout];
[splitout2] pad=200:200:100:100 [padout];

· Erstellen Sie 5 Kopien des Eingangsaudios mit ffmpeg:

ffmpeg -i EINGANG -filter_complex asplit=5 AUSGANG

zmq, azmq
Empfangen Sie Befehle, die über einen libzmq-Client gesendet werden, und leiten Sie sie an Filter im weiter
Filtergraph.

"zmq" und "azmq" arbeiten als Pass-Through-Filter. "zmq" muss zwischen zwei Videos eingefügt werden
Filter, "azmq" zwischen zwei Audiofiltern.

Um diese Filter zu aktivieren, müssen Sie die libzmq-Bibliothek und -Header installieren und konfigurieren
FFmpeg mit "--enable-libzmq".

Weitere Informationen zu libzmq finden Sie unter:http://www.zeromq.org/>

Die Filter "zmq" und "azmq" arbeiten als libzmq-Server, der die gesendeten Nachrichten empfängt
eine Netzwerkschnittstelle definiert durch die bind_adresse .

Die empfangene Nachricht muss folgendes Format haben:

[ ]

TARGET gibt das Ziel des Befehls an, normalerweise den Namen der Filterklasse oder a
spezifischer Name der Filterinstanz.

COMMAND gibt den Namen des Befehls für den Zielfilter an.

ARG ist optional und spezifiziert die optionale Argumentliste für das angegebene COMMAND.

Nach dem Empfang wird die Nachricht verarbeitet und der entsprechende Befehl wird in eingefügt
der Filtergraph. Abhängig vom Ergebnis sendet der Filter eine Antwort an den Client,
das Format annehmen:




NACHRICHT es ist optional.

Beispiele

Ansehen Tools/zmqsend für ein Beispiel für einen zmq-Client, der zum Senden von Befehlen verwendet werden kann
von diesen Filtern verarbeitet.

Betrachten Sie den folgenden Filtergraph, der von . erzeugt wurde ffplay

ffplay -dumpgraph 1 -f lavfi "
Farbe=s=100x100:c=rot [l];
Farbe=s=100x100:c=blau [r];
nullsrc=s=200x100, zmq [bg];
[bg][l] Überlagerung [bg+l];
[bg+l][r] Overlay=x=100 "

Um die Farbe der linken Seite des Videos zu ändern, kann der folgende Befehl verwendet werden:

echo Parsed_color_0 c gelb | tools/zmqsend

So ändern Sie die rechte Seite:

echo Parsed_color_1 c rosa | tools/zmqsend

MULTIMEDIA QUELLEN


Nachfolgend finden Sie eine Beschreibung der derzeit verfügbaren Multimediaquellen.

ein Film
Dies ist das gleiche wie Film Quelle, außer dass standardmäßig ein Audiostream ausgewählt wird.

Film
Lesen Sie Audio- und/oder Videostreams aus einem Filmcontainer.

Es akzeptiert die folgenden Parameter:

Dateinamen
Der Name der zu lesenden Ressource (nicht unbedingt eine Datei; er kann auch ein Gerät oder ein
Stream, auf den über ein Protokoll zugegriffen wird).

Formatname, f
Gibt das Format an, das für das Lesen des Films angenommen wird, und kann entweder der Name eines
Behälter oder ein Eingabegerät. Wenn nicht angegeben, wird das Format erraten von Filmname
oder durch Sondieren.

Suchpunkt, sp
Gibt den Suchpunkt in Sekunden an. Die Frames werden ab dieser Suche ausgegeben
Punkt. Der Parameter wird mit "av_strtod" ausgewertet, der Zahlenwert kann also sein
mit einem IS-Postfix angehängt. Der Standardwert ist "0".

Ströme, s
Gibt die zu lesenden Streams an. Es können mehrere Streams angegeben werden, getrennt durch "+". Der
source hat dann ebenso viele Ausgänge in der gleichen Reihenfolge. Die Syntax wird erklärt in
den Abschnitt ``Stream specifiers'' im ffmpeg-Handbuch. Zwei besondere Namen, "dv" und
"da" gibt den standardmäßigen (am besten geeigneten) Video- und Audiostream an. Standard ist
"dv" oder "da", wenn der Filter als "Amovie" bezeichnet wird.

stream_index, si
Gibt den Index des zu lesenden Videostreams an. Wenn der Wert -1 ist, ist der am besten geeignete
Videostream wird automatisch ausgewählt. Der Standardwert ist "-1". Veraltet. Wenn
Der Filter heißt "Film", er wählt Audio anstelle von Video aus.

Schleife
Gibt an, wie oft der Stream nacheinander gelesen werden soll. Wenn der Wert kleiner als 1 ist
der Stream wird immer wieder gelesen. Der Standardwert ist "1".

Beachten Sie, dass beim Loopen des Films die Quellzeitstempel nicht geändert werden
erzeugen nicht monoton ansteigende Zeitstempel.

Es ermöglicht das Überlagern eines zweiten Videos über den Haupteingang eines Filtergraphen, wie in gezeigt
diese Grafik:

Eingabe -----------> Deltapts0 --> Überlagerung --> Ausgabe
^
|
Film --> Maßstab --> Deltapts1 -------+

Beispiele

· Überspringen Sie 3.2 Sekunden ab dem Anfang der AVI-Datei in.avi und legen Sie sie über das
Eingang mit der Bezeichnung "in":

movie=in.avi:seek_point=3.2, scale=180:-1, setpts=PTS-STARTPTS [über];
[in] setpts=PTS-STARTPTS [Haupt];
[main][over] overlay=16:16 [aus]

· Von einem video4linux2-Gerät lesen und über den Eingang mit der Bezeichnung "in" legen:

movie=/dev/video0:f=video4linux2, scale=180:-1, setpts=PTS-STARTPTS [über];
[in] setpts=PTS-STARTPTS [Haupt];
[main][over] overlay=16:16 [aus]

· Lesen Sie den ersten Videostream und den Audiostream mit der ID 0x81 von dvd.vob; das Video
ist mit dem Pad mit dem Namen "Video" verbunden und das Audio ist mit dem Pad mit dem Namen verbunden
"Audio":

Film=dvd.vob:s=v:0+#0x81 [Video] [Audio]

Verwenden Sie ffplay-all online mit den Diensten von onworks.net


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad