So installieren Sie FFmpeg unter CentOS 8 / RHEL 8

Wie installiere ich FFmpeg auf einem CentOS 8 / RHEL 8 Linux-System? FFmpeg ist ein kostenloses und quelloffenes Multimedia-Framework zum Abspielen, Kodieren, Dekodieren, Streamen, Transkodieren, Multiplexen, Demultiplexen und Filtern von Multimediadateien verschiedener Formate, darunter MPEG1-Audio und -Video, MPEG4, h263, ac3, asf, avi, real, mjpeg und Flash.

So installieren Sie RHEL 8 auf CentOS 8 Auf dem System installierenFFmpeg ist ein kostenloses und quelloffenes Multimedia-Framework zum Abspielen, Kodieren, Dekodieren, Streamen, Transkodieren, Multiplexen, Demultiplexen und Filtern von Multimediadateien in verschiedenen Formaten, darunter MPEG1-Audio und -Video, MPEG4, h263, ac3, asf, avi, real, mjpeg und Flash.
FFmpeg ist eine plattformübergreifende Anwendung, die unter Linux, macOS, Windows, BSD, Solaris usw. in einer Vielzahl von Build-Umgebungen, Konfigurationen und Rechnerarchitekturen läuft. Die meisten für Linux verfügbaren Mediaplayer sowie Audio-/Video-Downloader und -Konverter (wie youtube-dl) benötigen FFmpeg.
FFmpeg-Tools
Dies sind die Hauptbausteine von FFmpeg:
ffmpeg – ein Befehlszeilentool zum Konvertieren von Multimediadateien zwischen Formaten
ffplay – Ein einfacher Mediaplayer basierend auf SDL- und FFmpeg-Bibliotheken
ffprobe – ein einfacher Multimedia-Stream-Analysator
FFmpeg enthält auch Entwicklerbibliotheken – libavutil, libavcodec, libavformat, libavdevice, libavfilter, libswscale und libswresample.
Das folgende Diagramm von ffmpeg beschreibt den Transcodierungsprozess für jede Ausgabe:

So installieren Sie FFmpeg unter CentOS 8 / RHEL 8
Stellen Sie vor der Installation von FFmpeg auf CentOS 8 / RHEL 8 Linux sicher, dass die Systemumgebung vollständig konfiguriert ist.
Installieren Sie das RPMfusion Yum Repository
Die RPM Fusion-Datenquelle wurde entwickelt, um Software bereitzustellen, die in Fedora- und Red Hat-basierten Distributionen nicht verfügbar ist. Die in dieser Datenquelle verfügbaren Softwareanwendungen werden in Form vorkompilierter RPM-Dateien bereitgestellt. In diesem Artikel verwenden wir die RPMfusion-Datenquelle, um FFmpeg unter CentOS 8 / RHEL 8 zu installieren.
Bevor Sie das RPM Fusion-Repository installieren, müssen Sie das EPEL-Repository auf Ihrem System installieren.

sudo dnf -y install https://download.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm sudo dnf localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm sudo dnf install --nogpgcheck https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-8.noarch.rpm

Installieren Sie FFmpeg unter CentOS 8 / RHEL 8 Linux
Nachdem Sie das EPEL- und RPM-Fusion-Repository hinzugefügt haben, führen Sie die folgenden Befehle im Terminal aus, um FFmpeg auf dem Linux-System CentOS 8/RHEL 8 zu installieren.

sudo dnf install http://rpmfind.net/linux/epel/7/x86_64/Packages/s/SDL2-2.0.10-1.el7.x86_64.rpm sudo dnf installiere ffmpeg sudo dnf -y installiere ffmpeg-devel

Verwenden Sie den folgenden Befehl, um die auf Ihrem RHEL/CentOS-System installierte FFmpeg-Version zu überprüfen.

rpm -qi ffmpeg ffmpeg -version


Befehl
1: Videoaufnahme:


-f: Gibt an, dass Daten von Avfoundation mithilfe von Mac gesammelt werden sollen.

-i: steht für Eingabe, Eingabestream, und die folgende 1 ist die Gerätenummer, die den Bildschirm (Aufzeichnung) angibt.

i verarbeitet den Eingabestrom).

-r: Gibt die Bildrate an. Im Allgemeinen sind 25 Bilder flüssiger und 15 Bilder reichen gerade aus.

out.yuv: Die gesammelten Daten werden im Yuv-Format gespeichert, einem Rohdatenformat, das relativ groß ist.

ffmpeg -f avfoundation -i 1 -r 30 out.yuv

Video abspielen:


-s gibt die Auflösung an

-pix_fmt gibt das ursprüngliche Videoformat an

ffplay -s 2560*1600 -pix_fmt uyvy422

Audio aufnehmen


Das Gerät vor dem Doppelpunkt stellt das Videogerät dar, und das Gerät nach dem Doppelpunkt stellt das Audiogerät dar

ffmpeg -f avfoundation -i :1 out.wav

Audio abspielen


Da es sich um formatierte Audiodaten handelt, können Sie diese einfach direkt abspielen.

ffplay out.wav

2: Zersetzung und Wiederverwendung
Wird verwendet, um das Format von Multimediadaten zu ändern (Verpackungsformat)
Demultiplexing – im Wesentlichen die Trennung von Audio- und Videodaten.
Multiplexing – Neuverpacken von Audio- und Videodaten.
Konvertieren Sie Audio- und Videoformate


-vcodec Video-Demultiplexing

-acodec Audio-Demultiplexing

Kopieren bedeutet, das Kodierungsformat nach dem Demultiplexen nicht zu ändern, vollständig zu kopieren

ffmpeg -i test.mp4 -vcodec copy -acodec copy out.flv

Videostream extrahieren


-an bedeutet, dass kein Audiostream vorhanden ist

ffmpeg -i test.mp4 -an -vcodec kopiere out.h264

Extrahieren des Audiostreams

ffmpeg -i test.mp4 -acodec copy -vn out.h264

3: Rohdaten verarbeiten
Extrahieren Sie Video-Rohdaten


-c:v dekodiert das Video, der verwendete Codec ist rawvideo

-pix_fmt kodiert jedes Bild als yuv 4:2:0

ffmpeg -i input.mp4 -an -c:v rawvideo -pix_fmt yuv420p out.yuv

Rohdaten des Videos abspielen
Extrahieren von Audio-Rohdaten


-ar bedeutet Audio lesen, die Audio-Abtastrate beträgt 44100

-ac bedeutet Audiokanal, ac2 bedeutet Dualkanal

-f Das Format der extrahierten Audio-PCM-Daten, s16le s bedeutet vorzeichenbehaftet, 16 Bit, le-little end bedeutet kleines Ende.

ffmpeg -i out.mp4 -vn -ar 44100 ac 2 -f s16le out.pcm

Audio-Rohdaten abspielen

ffplay -ar 44100 -ac 2 -f s16le out.pcm

4: Filterbefehle


-vf gibt den Filter an

crop, der Name eines Filters, = wird von einem Parameter gefolgt, in_w bedeutet, dass die Breite um 200 reduziert wird, in_h bedeutet, dass die Höhe um 200 reduziert wird

-c:v gibt den zu verwendenden Codec an, wie bereits erwähnt

-c:a Kopie verarbeitet das Audio nicht

ffmpeg -i test.mov -vf crop=in_w-200:in_h-200 -c:v libx264 -c:a kopiere out.mp4

5: ffmpeg-Befehle zum Zuschneiden und Zusammenführen
Ernte:


-ss Zuschneidezeitpunkt

-t Die Dauer des Zuschneidens in Sekunden

ffmpeg -i in.mp4 -ss 00:00:00 -t 10 out.ts

verschmelzen:


-f concat bedeutet, die folgenden Dateien zu verketten

-i gibt die Eingabedatei an. inputs.txt ist eine Dateiliste, die das zusammenzufügende Video angibt.

out.flv-Ausgabe

ffmpeg -f concat -i inputs.txt out.flv

Unter ihnen ist das Format der Datei in inputs.txt

Datei „1.mp4“ Datei „2.mp4“

Beim Hinzufügen einer Kopie wird die aktuelle Codierungsmethode verwendet und der Decodierungsprozess wird nicht ausgeführt, was schneller ist:

ffmpeg -f concat -i files.txt -c copy output.mp4

6: Befehle zur Bild- und Videokonvertierung
Video zu Bild


-r 1 bedeutet, dass ein Bild pro Sekunde übertragen wird

-f gibt das Ausgabedateiformat an, hier ist image2

image-%3d.jpeg 表示图片名,%3d表示图片编号由3个数字组成。

ffmpeg -i in.flv -r 1 -f image2 image-%3.jpeg

Bild in Video konvertieren

ffmpeg -i image-%3d.jpeg out.mp4

7: Live-Push/Pull-Streaming
Live-Streaming

#-c Audio- und Videocodec, -a ist Audiocodec, -v ist Videocodec, #-f gibt das Format an
#-re bedeutet, dass die Bildrate mit der tatsächlichen Bildrate synchronisiert wird. ffmpeg -re -i out.mp4 -c copy -f flv rtmp://server/live/streamName

Live-Streaming

ffmpeg -i rtmp://server/live.streamName -c kopiere dump.flv

Weitere Bedienungsmethoden finden Sie in der Hilfe. Oder durchsuchen SieOffizielle FFmpeg-Dokumentation

ffmpeg --help

Nun, FFmpeg wurde erfolgreich installiert!

1/5 - (1 Stimme)

Das ist eine gute Idee

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * Mark