Hervorragende Software und praktische Tutorials
So installieren Sie RHEL 8 auf CentOS 8 LinuxAuf dem System installierenFFmpegFFmpeg 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!