1 Original-Videoinformationen
Zeigen Sie grundlegende Videoinformationen mit dem Befehl ffmpeg -i an
ffmpeg version 6.1-essentials_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 12.2.0 (Rev10, Built by MSYS2 project)
configuration: --enable-gpl --enable-version3 --enable-static --pkg-config=pkgconf --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-dxva2 --enable-d3d11va --enable-libvpl --enable-libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-librubberband
libavutil 58. 29.100 / 58. 29.100
libavcodec 60. 31.102 / 60. 31.102
libavformat 60. 16.100 / 60. 16.100
libavdevice 60. 3.100 / 60. 3.100
libavfilter 9. 12.100 / 9. 12.100
libswscale 7. 5.100 / 7. 5.100
libswresample 4. 12.100 / 4. 12.100
libpostproc 57. 3.100 / 57. 3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf60.16.100
Duration: 00:07:49.52, start: 0.000000, bitrate: 20142 kb/s
Stream #0:0[0x1](eng): Video: h264 (High 4:2:2) (avc1 / 0x31637661), yuv422p10le(tv, bt709, progressive), 1920x2160, 20007 kb/s, 25 fps, 25 tbr, 12800 tbn (default)
Metadata:
handler_name : VideoHandler
vendor_id : [0][0][0][0]
encoder : Lavc60.31.102 libx264
timecode : 00:32:38:24
Stream #0:1[0x2](eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
Metadata:
handler_name : SoundHandler
vendor_id : [0][0][0][0]
Stream #0:2[0x3](eng): Data: none (tmcd / 0x64636D74)
Metadata:
handler_name : TimeCodeHandler
timecode : 00:32:38:24
At least one output file must be specified
2 Verwenden Sie ffmpeg zur Erkennung von Videostille
ffmpeg -i input.mp4 -af silencedetect=noise=-30dB:d=0.5 -vn -sn -dn -f null /dev/null
-
-af: Die Funktion von silencedetect besteht darin, die maximale Lautstärke, die durchschnittliche Lautstärke und das Lautstärkehistogramm von Audio zu ermitteln. Es unterstützt nur diese vier Formate
AV_SAMPLE_FMT_S16
: ,AV_SAMPLE_FMT_S32
,AV_SAMPLE_FMT_FLT
undAV_SAMPLE_FMT_DBL
– wenn nicht, kann FFmpeg natürlich automatisch konvertieren. -
Die als Stummschaltung betrachtete Lautstärke wird
noise
durch Parameter bestimmt, und der Standardwert ist-60dB
oder0.001
; die kontinuierliche Dauer, die als Stille betrachtet wird, wirdduration
durch Parameter bestimmt, und der Standardwert ist2
Sekunden. Wenn der Parametermono
nicht lautet,0
bedeutet dies, dass jeder Kanal separat erkannt wird und die Standardeinstellung darin besteht, sie zur Erkennung zusammenzuführen. -
Kombinierte Erkennung: Wenn beispielsweise 2 Sekunden ununterbrochene Stille (oder leiser Ton) als stumm angesehen werden, erfüllt einer der Kanäle den Standard. Wenn der andere Kanal in diesem Zeitraum den Standard nicht erfüllt, gilt er nicht als stumm.
-
-vn
und weist FFmpeg an-sn
,-dn
Nicht-Audio-Streams zu ignorieren. Dadurch können unnötige Vorgänge während der Analyse vermieden und die Analyse beschleunigt werden.
Hinweis: Bei der Verwendung unter Windows müssen Sie durch /dev/null
ersetzen. NUL
Für Mehrkanal-Audio können Sie jeden zu erkennenden Kanal separat angeben:
ffmpeg -i input.mp3 -af "silencedetect=mono=1" -vn -sn -dn -f null /dev/null
3. Anzeige der Testergebnisse
ffmpeg version 6.1-essentials_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 12.2.0 (Rev10, Built by MSYS2 project)
configuration: --enable-gpl --enable-version3 --enable-static --pkg-config=pkgconf --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-dxva2 --enable-d3d11va --enable-libvpl --enable-libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-librubberband
libavutil 58. 29.100 / 58. 29.100
libavcodec 60. 31.102 / 60. 31.102
libavformat 60. 16.100 / 60. 16.100
libavdevice 60. 3.100 / 60. 3.100
libavfilter 9. 12.100 / 9. 12.100
libswscale 7. 5.100 / 7. 5.100
libswresample 4. 12.100 / 4. 12.100
libpostproc 57. 3.100 / 57. 3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf60.16.100
Duration: 00:07:49.52, start: 0.000000, bitrate: 20142 kb/s
Stream #0:0[0x1](eng): Video: h264 (High 4:2:2) (avc1 / 0x31637661), yuv422p10le(tv, bt709, progressive), 1920x2160, 20007 kb/s, 25 fps, 25 tbr, 12800 tbn (default)
Metadata:
handler_name : VideoHandler
vendor_id : [0][0][0][0]
encoder : Lavc60.31.102 libx264
timecode : 00:32:38:24
Stream #0:1[0x2](eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
Metadata:
handler_name : SoundHandler
vendor_id : [0][0][0][0]
Stream #0:2[0x3](eng): Data: none (tmcd / 0x64636D74)
Metadata:
handler_name : TimeCodeHandler
timecode : 00:32:38:24
Stream mapping:
Stream #0:1 -> #0:0 (aac (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
Output #0, null, to 'nul':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf60.16.100
Stream #0:0(eng): Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s (default)
Metadata:
handler_name : SoundHandler
vendor_id : [0][0][0][0]
encoder : Lavc60.31.102 pcm_s16le
[silencedetect @ 000001ee5a9cb5c0] silence_start: 0 0x
[silencedetect @ 000001ee5a9cb5c0] silence_end: 13.238 | silence_duration: 13.238
[silencedetect @ 000001ee5a9cb5c0] silence_start: 17.0503
[silencedetect @ 000001ee5a9cb5c0] silence_end: 17.5835 | silence_duration: 0.53325
[silencedetect @ 000001ee5a9cb5c0] silence_start: 30.0168
[silencedetect @ 000001ee5a9cb5c0] silence_end: 30.5313 | silence_duration: 0.514437
[silencedetect @ 000001ee5a9cb5c0] silence_start: 35.2619
[silencedetect @ 000001ee5a9cb5c0] silence_end: 35.9293 | silence_duration: 0.667375
[silencedetect @ 000001ee5a9cb5c0] silence_start: 50.3024
[silencedetect @ 000001ee5a9cb5c0] silence_end: 50.909 | silence_duration: 0.606563
[silencedetect @ 000001ee5a9cb5c0] silence_start: 56.8453
[silencedetect @ 000001ee5a9cb5c0] silence_end: 57.9748 | silence_duration: 1.12958
[silencedetect @ 000001ee5a9cb5c0] silence_start: 76.3573
[silencedetect @ 000001ee5a9cb5c0] silence_end: 76.8851 | silence_duration: 0.527792
[silencedetect @ 000001ee5a9cb5c0] silence_start: 83.8969
[silencedetect @ 000001ee5a9cb5c0] silence_end: 84.6447 | silence_duration: 0.747771
[silencedetect @ 000001ee5a9cb5c0] silence_start: 97.7624
[silencedetect @ 000001ee5a9cb5c0] silence_end: 98.294 | silence_duration: 0.531604
[silencedetect @ 000001ee5a9cb5c0] silence_start: 99.3107
[silencedetect @ 000001ee5a9cb5c0] silence_end: 99.8335 | silence_duration: 0.522792
[silencedetect @ 000001ee5a9cb5c0] silence_start: 108.826
[silencedetect @ 000001ee5a9cb5c0] silence_end: 109.517 | silence_duration: 0.690979
[silencedetect @ 000001ee5a9cb5c0] silence_start: 126.216
[silencedetect @ 000001ee5a9cb5c0] silence_end: 126.837 | silence_duration: 0.621333
[silencedetect @ 000001ee5a9cb5c0] silence_start: 126.837
[silencedetect @ 000001ee5a9cb5c0] silence_end: 127.59 | silence_duration: 0.752958
[silencedetect @ 000001ee5a9cb5c0] silence_start: 172.294
[silencedetect @ 000001ee5a9cb5c0] silence_end: 172.929 | silence_duration: 0.634542
[silencedetect @ 000001ee5a9cb5c0] silence_start: 198.802
[silencedetect @ 000001ee5a9cb5c0] silence_end: 199.375 | silence_duration: 0.572875
[silencedetect @ 000001ee5a9cb5c0] silence_start: 203.289
[silencedetect @ 000001ee5a9cb5c0] silence_end: 203.968 | silence_duration: 0.678875
[silencedetect @ 000001ee5a9cb5c0] silence_start: 229.058
[silencedetect @ 000001ee5a9cb5c0] silence_end: 229.595 | silence_duration: 0.537167
[silencedetect @ 000001ee5a9cb5c0] silence_start: 230.641
[silencedetect @ 000001ee5a9cb5c0] silence_end: 231.178 | silence_duration: 0.536604
[silencedetect @ 000001ee5a9cb5c0] silence_start: 240.758
[silencedetect @ 000001ee5a9cb5c0] silence_end: 241.555 | silence_duration: 0.796854
[silencedetect @ 000001ee5a9cb5c0] silence_start: 314.606
[silencedetect @ 000001ee5a9cb5c0] silence_end: 315.126 | silence_duration: 0.519979
[silencedetect @ 000001ee5a9cb5c0] silence_start: 356.308
[silencedetect @ 000001ee5a9cb5c0] silence_end: 356.832 | silence_duration: 0.524271
[silencedetect @ 000001ee5a9cb5c0] silence_start: 358.494
[silencedetect @ 000001ee5a9cb5c0] silence_end: 359.071 | silence_duration: 0.576917
[silencedetect @ 000001ee5a9cb5c0] silence_start: 374.441
[silencedetect @ 000001ee5a9cb5c0] silence_end: 375.158 | silence_duration: 0.717313
[silencedetect @ 000001ee5a9cb5c0] silence_start: 375.999
[silencedetect @ 000001ee5a9cb5c0] silence_end: 376.772 | silence_duration: 0.772271
[silencedetect @ 000001ee5a9cb5c0] silence_start: 389.417
[silencedetect @ 000001ee5a9cb5c0] silence_end: 389.947 | silence_duration: 0.529458
[silencedetect @ 000001ee5a9cb5c0] silence_start: 419.457
[silencedetect @ 000001ee5a9cb5c0] silence_end: 420.038 | silence_duration: 0.581125
[silencedetect @ 000001ee5a9cb5c0] silence_start: 447.481
[silencedetect @ 000001ee5a9cb5c0] silence_end: 447.991 | silence_duration: 0.510146
[silencedetect @ 000001ee5a9cb5c0] silence_start: 454.29
[out#0/null @ 000001ee590392c0] video:0kB audio:88020kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
size=N/A time=00:07:49.41 bitrate=N/A speed= 957x
[silencedetect @ 000001ee5a9cb5c0] silence_end: 469.44 | silence_duration: 15.1504
4 Einführung in FFmpeg
Das FFmpeg-Projekt wurde im Jahr 2000 von Fabrice Bellard gegründet. Bisher gibt es bei den Entwicklern des FFmpeg-Projekts noch weitgehende Überschneidungen mit Multimedia-Open-Source-Projekten wie VLC, MPV, dav1d, x264 usw. Ffmpeg (FastForward Mpeg) ist eine Open-Source-Software, die der GPL folgt und sehr gute Leistungen bei der Audio- und Videoverarbeitung erbringt. Sie deckt fast alle vorhandenen Video- und Audioformate ab, nämlich Kodierung, Dekodierung, Transkodierung, Mischung, Filterung und Wiedergabe. Als beliebteste Video- und Bildverarbeitungssoftware wird sie von verschiedenen Unternehmen aus verschiedenen Branchen häufig eingesetzt. Es handelt sich außerdem um eine plattformübergreifende Software, die perfekt mit Linux, Windows, Mac OSX und anderen Plattformen kompatibel ist. Tatsächlich besteht es aus drei Hauptkomponenten, die als die drei Musketiere der Audio- und Videoverarbeitungstools bekannt sind:
- Ffmpeg: besteht aus einer Befehlszeile und wird zur Konvertierung von Multimedia-Formaten verwendet
- Ffplay: ein Multimedia-Player, der auf den Open-Source-Codebibliotheken ffmpeg basiert
- Ffprobe: ein Multimedia-Stream-Analysator basierend auf ffmpeg
Ffmpeg sollte das Kernwerkzeug im FFmpeg-Toolset sein und eine Vielzahl von Encodern, Decodern, Verpackungsformaten und Filterfunktionen unterstützen. Zu den Grundkomponenten des FFmpeg-Frameworks gehören AVFormat, AVCodec, AVFilter, AVDevice, AVUtil und andere Modulbibliotheken. Das Strukturdiagramm lautet wie folgt:
- AVFormat–FFmpeg-Verpackungsmodul
AVFormat implementiert die meisten aktuellen Medienkapselungsformate im Multimediabereich, einschließlich Kapselung und Entkapselung, wie z. B. MP4, FLV, KV, TS und andere Dateikapselungsformate, RTMP, RTSP, MMS, HLS und andere Netzwerkprotokoll-Kapselungsformate. Ob FFmpeg ein bestimmtes Medienkapselungsformat unterstützt, hängt davon ab, ob die Kapselungsbibliothek dieses Formats bei der Kompilierung einbezogen wird. Je nach tatsächlichem Bedarf kann das Medienkapselungsformat erweitert und Ihr eigenes benutzerdefiniertes Kapselungsformat hinzugefügt werden, dh Ihr eigenes Kapselungsverarbeitungsmodul kann zu AVFormat hinzugefügt werden.
- AVCodec – das Codec-Modul von FFmpeg
AVCodec implementiert die meisten derzeit im Multimediabereich gebräuchlichen Codec-Formate und unterstützt sowohl Kodierung als auch Dekodierung. Neben der Unterstützung integrierter Medien-Codec-Formate wie MPEG4, AAC und MJPEG unterstützt AVCodec auch Codecs von Drittanbietern wie H.264 (AVC)-Kodierung, die die Verwendung eines x264-Encoders erfordert; H.265 (HEVC). )-Codierung benötigen Sie den x264-Encoder; für die MP3-Codierung (mp3lame) müssen Sie den libmp3lame-Encoder verwenden. Wenn Sie Ihr eigenes Codierungsformat oder Ihren eigenen Hardware-Codec hinzufügen möchten, müssen Sie das entsprechende Codec-Modul in AVCodec hinzufügen.
- AVFilter – Filtermodul für FFmpeg
Die AVFilter-Bibliothek bietet ein allgemeines Filterverarbeitungs-Framework für Audio, Video, Untertitel usw. In AVFilter kann ein Filterrahmen mehrere Eingänge und mehrere Ausgänge haben.
- swresample – das Berechnungsmodul für die Audiokonvertierung von FFmpeg
Das swresample-Modul bietet eine High-Level-Audio-Resampling-API. Es ermöglicht beispielsweise die Manipulation von Audio-Sampling, die Konvertierung des Audiokanal-Layouts und die Layout-Anpassung.
- swscale – FFmpegs Modul zur Berechnung der Videobildkonvertierung
Das swscale-Modul stellt eine High-Level-Bildkonvertierungs-API bereit. Es ermöglicht beispielsweise die Skalierung von Bildern und die Konvertierung des Pixelformats, was häufig bei der Skalierung von Bildern von 1080p auf 720p oder 480p oder der Konvertierung von Bilddaten von YUV420p in YUYV oder der YUV-Konvertierung der Fall ist . RGB- und andere Bildformatkonvertierung.
5 allgemeine FFmpeg-Parameter
5.1 Liste der Fähigkeitssätze
- -formats: Unterstützte Dateiformate auflisten.
- -codecs: Unterstützte Codecs auflisten.
- -decoders: Unterstützte Decoder auflisten.
- -encoders: Unterstützte Encoder auflisten.
- -Protokolle: Unterstützte Protokolle auflisten.
- -bsfs: Unterstützte Bitstream-Filter auflisten.
- -filters: Unterstützte Filter auflisten.
- -pix_fmts: Unterstützte Bild-Sampling-Formate auflisten.
- -sample_fmts: Unterstützte Sound-Sample-Formate auflisten.
5.2 Allgemeine Eingabemöglichkeiten
- -i Dateiname: Geben Sie den Namen der Eingabedatei an.
- -f fmt: Erzwingt die Festlegung des Dateiformats mithilfe des Namens in der Funktionssatzliste (der Standardwert wird basierend auf der Erweiterung ausgewählt).
- -ss hh:mm:ss[.xxx]: Legen Sie den Startzeitpunkt der Eingabedatei fest. Nach dem Start springt sie zu diesem Zeitpunkt und beginnt mit dem Lesen der Daten.
Bei der Eingabe werden folgende Optionen in der Regel automatisch erkannt, können aber auch erzwungen werden.
- -c Codec: Geben Sie den Decoder an, indem Sie den Namen in der Funktionssatzliste verwenden.
- -acodec-Codec: Gibt den Sounddecoder an und verwendet dabei den Namen in der Liste der Fähigkeitssätze.
- -vcodec-Codec: Geben Sie den Codec des Videos an, indem Sie den Namen in der Funktionssatzliste verwenden.
- -b:v Bitrate: Legt die Bitrate des Videostreams fest, Ganzzahl, Einheit bps.
- -r fps: Legt die Bildrate des Videostreams fest, Ganzzahl, Einheit fps.
- -s BxH: Legen Sie die Größe des Videobildschirms fest. Dies kann auch durch die Montage eines Bildschirmzoomfilters erreicht werden.
- -pix_fmt-Format: Legen Sie das Bildformat des Videostreams fest (z. B. RGB oder YUV).
- -ar Abtastrate: Legen Sie die Abtastrate des Audiostreams fest, Ganzzahl, Einheit Hz.
- -ab Bitrate: Legt die Bitrate des Audiostreams fest, Ganzzahl, Einheit bps.
- -ac Kanäle: Legen Sie die Anzahl der Kanäle des Audiostreams fest.
5.3 Allgemeine Ausgabeoptionen
- -f fmt: Erzwingt die Festlegung des Dateiformats mithilfe des Namens in der Funktionssatzliste (der Standardwert wird basierend auf der Erweiterung ausgewählt).
- -c Codec: Geben Sie den Encoder an und verwenden Sie den Namen in der Funktionssatzliste (der Encoder ist auf „Kopieren“ eingestellt, um anzuzeigen, dass keine Codierung oder Decodierung erfolgt).
- -acodec-Codec: Geben Sie den Sound-Codec an, der den Namen in der Funktionssatzliste verwenden muss (der Codec ist auf „Kopieren“ eingestellt, um anzuzeigen, dass keine Kodierung und Dekodierung erfolgt).
- -vcodec-Codec: Geben Sie den Encoder des Videos an. Sie müssen den Namen in der Funktionssatzliste verwenden (der Codec ist auf „Kopieren“ eingestellt, um anzuzeigen, dass keine Kodierung oder Dekodierung durchgeführt wird).
- -r fps: Stellen Sie die Bildrate des Video-Encoders ein, Ganzzahl, Einheit: fps.
- -pix_fmt-Format: Legen Sie das vom Video-Encoder verwendete Bildformat fest (z. B. RGB oder YUV).
- -ar Abtastrate: Legen Sie die Abtastrate des Audio-Encoders fest, Ganzzahl, Einheit Hz.
- -b Bitrate: Legen Sie die vom Audio- und Video-Encoder ausgegebene Bitrate fest, Ganzzahl, Einheit bps.
- -ab Bitrate: Stellen Sie die Bitrate des Audio-Encoder-Ausgangs ein, Ganzzahl, Einheit bps.
- -ac Kanäle: Legen Sie die Anzahl der Kanäle des Audio-Encoders fest.
- -an Alle Audiostreams ignorieren.
- -vn Ignoriert alle Videostreams.
- -t hh:mm:ss[.xxx]: Legt die Zeitlänge der Ausgabedatei fest.
- -to hh:mm:ss[.xxx]: Wenn die Zeitlänge der Ausgabedatei nicht festgelegt ist, kann der Beendigungszeitpunkt festgelegt werden.
5.4 ffmpeg-Stream-Identifizierung
Einige Optionen von FFMPEG können für einen bestimmten Medienstream funktionieren. In diesem Fall muss nach der Option eine Stream-ID hinzugefügt werden. Die folgenden Formate sind für Stream-IDs zulässig:
- Stream-Sequenznummer. Beispielsweise stellt „:1“ den zweiten Stream dar.
- Stream-Typ. Beispielsweise stellt „:a“ einen Audio-Stream dar und der Stream-Typ kann mit der Stream-Nummer kombiniert werden. Beispielsweise stellt „:a:1“ den zweiten Audio-Stream dar.
- Programm. Programm- und Streamnummern können kombiniert werden.
- Stream-ID. Die Stream-ID ist eine interne Identifikationsnummer.
Wenn Sie den zweiten Audiostream auf Kopieren festlegen möchten, müssen Sie -codec:a:1 copy angeben
5.5 ffmpeg-Audiooptionen
- -aframes: Äquivalent zu „frames:a“, Ausgabeoption, wird verwendet, um die Anzahl der auszugebenden Audioframes anzugeben.
- -aq: Äquivalent zu q:a, die alte Version ist qscale:a und wird zum Festlegen der Audioqualität verwendet.
- -atag: Entspricht tag:a und wird zum Festlegen des Tags des Audiostreams verwendet.
- -af: Entspricht filter:a und wird zum Festlegen einer Filterkette für die Klangnachbearbeitung verwendet. Der Parameter ist eine Zeichenfolge, die die Kette für die Klangnachbearbeitung beschreibt.
5.6 ffmpeg-Videooptionen
- -vframes: Äquivalent zu „frames:v“, Ausgabeoption, wird verwendet, um die Anzahl der ausgegebenen Videobilder anzugeben.
- -aspect: Stellen Sie das Seitenverhältnis ein, z. B. 4:3, 16:9, 1,3333, 1,7777 usw.
- -bits_per_raw_sample: Legen Sie die Anzahl der Bits pro Pixel fest.
- -vstats: Videostatistiken erstellen.
- -vf: Äquivalent zu filter:v, wird zum Festlegen der Nachbearbeitungsfilterkette eines Bildes verwendet. Sein Parameter ist eine Zeichenfolge, die die Bildnachbearbeitungskette beschreibt.
- -vtag: Entspricht tag:v und wird zum Festlegen des Tags des Videostreams verwendet.
- -force_fps: Erzwingt die Einstellung der Videobildrate.
- -force_key_frames: Steuern Sie explizit das Einfügen von Schlüsselbildern. Der Parameter ist eine Zeichenfolge, die ein Zeitstempel oder ein Ausdruck mit dem Präfix „expr:“ sein kann. Zum Beispiel „-force_key_frames 0:05:00“, „-force_key_frames expr:gte(t,n_forced*5)“
5.7 ffmpeg-Filteroptionen
-filter_simple fügt einen einfachen Filter hinzu
-filter_complex FILTER Komplexen Filter hinzufügen
5.8 Erweiterte ffmpeg-Optionen
- -re: Erfordert die Verarbeitung der Eingabedaten mit einer festgelegten Rate. Diese Rate ist die Bildrate der Eingabedatei.
- -map: Geben Sie die Stream-Mapping-Beziehung der Ausgabedatei an. Beispielsweise erfordert „-map 1:0 -map 1:1“, dass der erste und zweite Stream der zweiten Eingabedatei in die Ausgabedatei geschrieben werden. Wenn keine Option -map vorhanden ist, verwendet ffmpeg die Standardzuordnungsbeziehung.
5.9 ffprobe-Parameter
Einfach ausgedrückt ist ffprobe ein Multimedia-Stream-Analysetool. Es sammelt Informationen aus Multimedia-Streams und druckt sie in menschen- und maschinenlesbarer Form aus. Es kann verwendet werden, um den Containertyp von Multimedia-Streams sowie das Format und den Typ jedes Multimedia-Streams zu erkennen. Es kann als eigenständige Anwendung verwendet oder mit Textfiltern kombiniert werden, um komplexere Verarbeitungen durchzuführen.
- -f Format erzwingt ein bestimmtes Format
- -sexagesimales Zeiteinheitsformat STUNDEN:MM:SS.MIKROSEKUNDEN
- -hübsche Formatverschönerung
- -print_format-Formatformat (optionale Werte: Standard, kompakt, csv, flach, ini, json, xml)
- -of format -print_format-Alias
- -select_streams stream_specifier wählt den angegebenen Stream aus
- -Abschnitte drucken Abschnittsstruktur und Informationen
- -show_data Paketdaten anzeigen
- -show_data_hash Paketdaten-Hashwert anzeigen
- -show_error Dateierkennung/Erkennungsfehler anzeigen
- -show_format zeigt Format- oder Containerinformationen an
- -show_frames zeigt Frame-Informationen an
- -show_format_entry-Eintrag Zeigt den angegebenen Eintrag basierend auf Format-/Containerinformationen an
- -show_packets zeigt Paketinformationen an
- -show_programs zeigt Programminformationen an
- -show_streams zeigt Stream-Informationen an
- -show_chapters zeigt Kapitelinformationen an
- -count_frames zählt die Anzahl der Frames in jedem Stream
- -count_packets zählt die Anzahl der Pakete in jedem Fluss
- -show_program_version zeigt die ffprobe-Version an
- -show_library_versions zeigt Bibliotheksversionen an
- -show_versions zeigt Programm- und Bibliotheksversionen an
- -show_pixel_formats Pixelformate anzeigen
- -show_private_data private Daten anzeigen
- -private dasselbe wie show_private_data
- -bitexact erzwingt eine bitexakte Ausgabe
- -read_intervals read_intervals legt Leseintervalle fest
- -default generische Catch-All-Option
5.10 ffplayer-Parameter
- -x erzwingt die Breite des Videoanzeigefensters
- -y erzwingt die Einstellung der Höhe des Videoanzeigefensters
- -S legt die Breite und Höhe der Videoanzeige fest
- -fs erzwingt die Vollbildanzeige
- -an blockiert Audio
- -vn Video blockieren
- -Sn blockiert Untertitel
- -ss Positionieren und ziehen Sie basierend auf den eingestellten Sekunden
- -t legt die Video-/Audiolänge der Wiedergabe fest
- -Bytes legt die Positionierungs- und Ziehstrategie fest. 0 bedeutet nicht ziehbar, 1 bedeutet ziehbar, -1 bedeutet automatisch
- -Nodisp schließt das grafische Anzeigefenster
- -f erzwingt, dass das festgelegte Format zum Parsen verwendet wird
- -window_title legt den Titel des Anzeigefensters fest
- -af legt den Audiofilter fest
- -Codec erzwingt die Verwendung des eingestellten Codecs zur Dekodierung
- -autorotate dreht Videos automatisch
- -ast legt den abzuspielenden Audiostream fest
- -vst legt den abzuspielenden Videostream fest
- -sst legt den abzuspielenden Untertitel-Stream fest
- -Stats gibt den Multimedia-Wiedergabestatus aus
- -Schnelle, nicht standardisierte Multimedia-Kompatibilitätsoptimierung
- -sync Audio- und Videosynchronisierungseinstellungen können auf Referenz basierend auf Audio und Video, Videozeitreferenz oder externer erweiterter Zeitreferenz eingestellt werden
- -autoexit Beendet ffplay automatisch nach der Multimedia-Wiedergabe. Standardmäßig beendet ffplay den Player nicht, nachdem die Wiedergabe abgeschlossen ist.
- -exitonkeydown Beendet ffplay, wenn ein Tastendruckereignis auftritt
- -exitonmousedown Beendet ffplay, wenn ein Maustastenereignis auftritt
- -loop legt die Anzahl der Loop-Wiedergabezeiten von Multimediadateien fest
- -framedrop Verwirft Frames automatisch, wenn die CPU-Ressourcenauslastung zu hoch ist
- -infbuf legt einen unbegrenzten Player-Puffer fest. Diese Option wird häufig in Echtzeit-Streaming-Medienwiedergabeszenarien verwendet.
- -vf Videofiltereinstellungen
- -acodec erzwingt die Verwendung des eingestellten Audio-Codecs
- -vcodec erzwingt die Verwendung des eingestellten Videocodecs
- -scodec erzwingt die Verwendung des eingestellten Untertiteldecoders