CentOS 8 / RHEL 8にFFmpegをインストールする方法

CentOS 8 / RHEL 8 Linux システムに FFmpeg をインストールするにはどうすればいいですか? FFmpeg は、MPEG1 オーディオおよびビデオ、MPEG4、h263、ac3、asf、avi、real、mjpeg、Flash など、さまざまな形式のマルチメディア ファイルの再生、エンコード、デコード、ストリーミング、トランスコード、多重化、逆多重化、フィルタリングに使用される無料のオープン ソース マルチメディア フレームワークです。

CentOS 8にRHEL 8をインストールする方法 システムにインストールFFmpeg は、MPEG1 オーディオおよびビデオ、MPEG4、h263、ac3、asf、avi、real、mjpeg、Flash などのさまざまな形式のマルチメディア ファイルを再生、エンコード、デコード、ストリーミング、トランスコード、多重化、逆多重化、フィルタリングするための無料のオープン ソース マルチメディア フレームワークです。
FFmpegは、Linux、macOS、Windows、BSD、Solarisなど、様々なビルド環境、構成、マシンアーキテクチャで動作するクロスプラットフォームアプリケーションです。Linuxで利用可能なほとんどのメディアプレーヤー、およびオーディオ/ビデオダウンローダーやコンバーター(youtube-dlなど)は、FFmpegの動作を必要とします。
FFmpegツール
これらは FFmpeg の主な構成要素です:
ffmpeg – マルチメディアファイルの形式を変換するためのコマンドラインツール
ffplay – SDLとFFmpegライブラリをベースにしたシンプルなメディアプレーヤー
ffprobe – シンプルなマルチメディアストリームアナライザー
FFmpeg には、libavutil、libavcodec、libavformat、libavdevice、libavfilter、libswscale、libswresample などの開発者ライブラリも含まれています。
次の ffmpeg の図は、各出力のトランスコーディング プロセスを示しています。

CentOS 8 / RHEL 8にFFmpegをインストールする方法
CentOS 8 / RHEL 8 Linux に FFmpeg をインストールする前に、システム環境が完全に構成されていることを確認してください。
RPMfusion Yumリポジトリをインストールする
RPM Fusionデータソースは、FedoraおよびRed Hatベースのディストリビューションでは利用できないソフトウェアを提供するために作成されました。このデータソースで利用可能なソフトウェアアプリケーションは、プリコンパイルされたRPMファイルの形式で提供されます。この記事では、RPMfusionデータソースを使用して、CentOS 8 / RHEL 8にFFmpegをインストールします。
RPM Fusion リポジトリをインストールする前に、システムに EPEL リポジトリをインストールする必要があります。

sudo dnf -y インストール 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 インストール --nogpgcheck https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-8.noarch.rpm

CentOS 8 / RHEL 8 LinuxにFFmpegをインストールする
EPEL および RPM Fusion リポジトリを追加した後、ターミナルで次のコマンドを実行して、CentOS 8 / RHEL 8 Linux システムに FFmpeg をインストールします。

sudo dnf インストール http://rpmfind.net/linux/epel/7/x86_64/Packages/s/SDL2-2.0.10-1.el7.x86_64.rpm sudo dnf インストール ffmpeg sudo dnf -y インストール ffmpeg-devel

次のコマンドを使用して、RHEL/CentOS システムにインストールされている FFmpeg のバージョンを確認します。

rpm -qi ffmpeg ffmpeg -バージョン


注文
1: ビデオ録画:


-f: mac を使用して avfoundation からデータを収集することを指定します。

-i: 入力、入力ストリームを表し、続く 1 はデバイス番号で、画面(録画)を示します。

i は入力ストリームを処理します。

-r: フレームレートを指定します。一般的に、25フレームの方がよりスムーズになり、15フレームでもギリギリです。

out.yuv: 収集されたデータは、生のデータの形式であり、比較的大きい yuv 形式で保存されます。

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

ビデオを再生:


-sは解像度を指定する

-pix_fmtは元のビデオ形式を指定します

ffplay -s 2560*1600 -pix_fmt uyvy422

オーディオをキャプチャする


コロンの前のデバイスはビデオデバイスを表し、コロンの後のデバイスはオーディオデバイスを表します。

ffmpeg -f avfoundation -i :1 out.wav

音声を再生


フォーマットされたオーディオデータなのでそのまま再生できます。

ffplay out.wav

2:分解と再利用
マルチメディアデータのフォーマット(パッケージフォーマット)を変更するために使用される
デマルチプレクシング - 基本的にはオーディオ データとビデオ データを分離します。
多重化 - オーディオおよびビデオ データの再パッケージ化。
オーディオとビデオのフォーマットを変換する


-vcodec ビデオ多重分離

-acodec オーディオ多重化

コピーとは、多重化解除後にエンコード形式を変更せず、完全にコピーすることを意味します。

ffmpeg -i test.mp4 -vcodec コピー -acodec コピー out.flv

ビデオストリームの抽出


-anはオーディオストリームがないことを意味します

ffmpeg -i test.mp4 -an -vcodec でコピー out.h264

オーディオストリームの抽出

ffmpeg -i test.mp4 -acodec コピー -vn out.h264

3: 生データの処理
ビデオの生データを抽出する


-c:v はビデオをデコードします。使用されるコーデックは rawvideo です。

-pix_fmtは画像の各フレームをyuv 4:2:0としてエンコードします。

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

ビデオの生データを再生
オーディオ生データの抽出


-arはオーディオの読み取りを意味し、オーディオのサンプリングレートは44100です。

-acはオーディオチャンネル、ac2はデュアルチャンネルを意味します

-f 抽出されたオーディオ PCM データの形式。s16le s は符号付き 16 ビット、le-little end はリトル エンドを意味します。

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

オーディオの生データを再生する

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

4: フィルターコマンド


-vfはフィルタを指定する

crop はフィルタの名前、= の後にパラメータが続きます。in_w は幅が 200 縮小されることを意味し、in_h は高さが 200 縮小されることを意味します。

-c:vは前述のように使用するコーデックを指定します。

-c:コピーはオーディオを処理しません

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

5: ffmpegの切り取りと結合コマンド
作物:


-ss 作物の時点

-t 切り取りの継続時間(秒)

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

マージ:


-f concat は次のファイルを連結することを意味します

-i は入力ファイルを指定します。inputs.txt は結合するビデオを指定するファイル リストです。

out.flv出力

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

その中で、inputs.txtのファイルの形式は

ファイル '1.mp4' ファイル '2.mp4'

コピーを追加すると、現在のエンコード方式が使用され、デコード処理は実行されないため、より高速になります。

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

6: 画像とビデオの変換コマンド
ビデオから画像へ


-r 1は1秒あたり1枚の画像を転送することを意味します

-fは出力ファイル形式を指定します。ここではimage2です。

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

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

画像を動画に変換する

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

7: ライブプッシュ/プルストリーミング
ライブストリーミング

#-c オーディオおよびビデオコーデック、-a はオーディオコーデック、-v はビデオコーデック、#-f はフォーマットを指定します
#-re はフレームレートが実際のフレームレートと同期していることを意味します ffmpeg -re -i out.mp4 -c copy -f flv rtmp://server/live/streamName

ライブストリーミング

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

詳しい操作方法についてはヘルプを参照してください。またはFFmpeg 公式ドキュメント

ffmpeg --help

さて、FFmpeg は正常にインストールされました!

1/5 - (1票)

手紙への返信

メールアドレスが変更されることはありません。 支払い欄に必須の項目は必須です