FFmpeg 導入および操作ガイド

FFmpegとは何ですか

FFmpeg は、オーディオ ファイルとビデオ ファイルの処理、変換、編集、ストリーミングに使用できるオープンソースのクロスプラットフォームのオーディオおよびビデオ処理ツールセットです。オーディオとビデオのデコード、エンコード、カプセル化、フィルタリング、トランスコーディング、その他の機能を実現できる一連の強力なコマンド ライン ツールを提供します。

FFmpegの機能

FFmpeg には多くの機能がありますが、その一部のみを以下に示します。

1️⃣オーディオとビデオのトランスコーディングと変換:オーディオとビデオの形式を変換し、オーディオとビデオのインターセプト、編集、結合などの操作を実装できます。
2️⃣ストリーミングメディア サーバー:ライブ ブロードキャスト、オンデマンド、その他の機能を実現するストリーミング メディア サーバーを構築するために使用できます。
3️⃣コードストリーム分析:オーディオとビデオのコード ストリーム分析を実行して、オーディオとビデオのエンコード情報、フレーム レート、ビット レート、その他のパラメーターを取得できます。
4️⃣マルチメディア処理:オーディオやビデオのキーフレームの抽出、透かしや字幕の追加などに使用できます。
5️⃣オーディオとビデオのパラメータ調整:解像度、フレームレート、ビットレートなどのオーディオとビデオのパラメータを調整できます。
6️⃣ビデオのクリッピングと結合:ビデオ ファイルから特定のセグメントを抽出したり、複数のビデオ ファイルを 1 つに結合したりできます。
7️⃣画像シーケンスをビデオに変換:一連の画像ファイルをビデオ ファイルに変換して、アニメーション効果を実現できます。
8️⃣ビデオのスクリーンショットとサムネイルの生成:ビデオから静止画像を抽出すること、つまりビデオの特定のフレームを画像としてキャプチャすることも、ビデオのサムネイルを生成することもできます。
9️⃣ビデオ録画:画面とカメラのビデオを録画するために使用できます。

ffmpegをインストールする

Windows と Linux で ffmpeg をインストールする方法は少し異なりますので、以下に紹介します。

Windowsにffmpegをインストールする

  1. ffmpeg 公式 Web サイト (https://ffmpeg.org/download.html) にアクセスして、バイナリ ファイルの最新バージョンをダウンロードします。
  2. ダウンロードしたファイルを指定したディレクトリに解凍しますC:\Program Files\ffmpeg
  3. コマンドラインから直接使用できるように、ffmpeg をシステム環境変数に追加します。具体的な方法は、「このコンピュータ」を右クリック→「プロパティ」→「システムの詳細設定」→「環境変数」を選択し、「システム環境変数」で「パス」を見つけて編集し、binディレクトリのパスを追加します。 ffmpeg を入力します。
  4. インストールが成功したかどうかを確認するには、コマンド プロンプトまたは PowerShell を開いて と入力しffmpeg -version、バージョン番号が出力できればインストールは成功です。

Linux に ffmpeg をインストールする

以下は、さまざまな Linux ディストリビューションに ffmpeg をインストールするためのコマンドです。

Debian/Ubuntu

sudo apt update
sudo apt install ffmpeg

フェドーラ

sudo dnf update
sudo dnf install ffmpeg

CentOS/RHEL

sudo yum update
sudo yum install ffmpeg

Arch Linux

sudo pacman -Syu
sudo pacman -S ffmpeg

openSUSE

sudo zypper refresh
sudo zypper install ffmpeg

これらのコマンドは、Linux ディストリビューションによって若干異なる場合があることに注意してください。別のディストリビューションを使用している場合は、その公式ドキュメントで正しいインストール コマンドを参照してください。

FFmpeg ファイルの説明

Static 版 FFmpeg の bin フォルダには ffmpeg、ffplay、ffprobe の 3 つのファイルしかなく、これら 3 つは FFmpeg の 3 つの主要ツールである FFmpeg のソース コードをコンパイルした後に生成される実行ファイルです。

ffmpeg:エンコードとデコードに使用されます。ffmpeg の主なワークフローは比較的単純です。まず、入力ソースが読み込まれます。
ffplay:リアルタイムのオーディオとビデオの処理と再生に使用されます。
ffprobe:コード ストリームの分析に使用されます。

1.フォーマット変換:

FFmpeg は、豊富なオーディオおよびビデオ形式変換機能を提供しており、形式変換コマンドの形式は次のとおりです。

ffmpeg -i 输入文件路径 -b:v 输出视频码率 输出文件路径

2. ストリーミングメディアサーバー

FFmpeg を使用してストリーミング メディア サーバーを構築するコマンドは、使用される特定のオペレーティング システムとネットワーク プロトコルに関連しています。次は、Ubuntu システムで RTMP プロトコルを使用するコマンドの例です。

ffmpeg -i input_file.mp4 -f flv rtmp://server_address/app_name/stream_name

このうち、input_file.mp4 はトランスコードするビデオ ファイル、rtmp://server_address/app_name/stream_name は RTMP ストリームのアドレス、server_address はサーバー アドレス、app_name はアプリケーション名、stream_name はストリーム。
さらに詳細な情報が必要な場合は、FFmpeg 公式ドキュメントを参照するか、関連するチュートリアルを検索してください。

3. コードストリーム分析

FFmpeg のコード ストリーム解析コマンドは ffprobe です。

FFprobe はオーディオおよびビデオ形式情報を分析するツールで、ファイル形式、エンコード方式、パッケージング形式、ビデオパラメータ、オーディオパラメータなどのマルチメディアファイルのメタデータを読み取り、分析できます。
使用方法は、ffprobe [オプション] input_file です。

ffprobe -show_format [FORMAT] filename=[/path/to/]file。

4. マルチメディア処理

FFmpeg には、次のような多くのマルチメディア処理コマンドがあります。

  • 特定のビデオをカットします。
ffmpeg -ss 开始时间 -t 持续时间 -i input_file -vcodec copy -acodec copy output_file
  • ビデオとオーディオのストリームを分離し、別のファイルとして保存します。
ffmpeg -i input_file -vcodec copy -an output_file_videoffmpeg -i input_file -acodec copy -vn output_file_audio
  • ビデオ逆多重化:
ffmpeg -i input_file -vcodec copy -an output_file
  • ビデオのトランスコーディング:
ffmpeg -i input_file -vcodec new_codec -s new_size -an output_file

5.ビデオの結合

FFmpeg ビデオ結合を使用するためのコマンドは、特定のニーズに応じて異なりますが、一般的なコマンドの例をいくつか示します。

  • 複数のビデオを水平方向に結合します。
ffmpeg -i input1.mp4 -i input2.mp4 -lavfi hstack output.mp4

このうち、input1.mp4 と input2.mp4 は結合対象のビデオ ファイルであり、output.mp4 は出力結合ビデオ ファイルです。

  • 複数のビデオを垂直方向に結合します。
ffmpeg -i input1.mp4 -i input2.mp4 -lavfi vstack output.mp4

このうち、input1.mp4 と input2.mp4 は結合対象のビデオ ファイルであり、output.mp4 は出力結合ビデオ ファイルです。

  • 複数のビデオをグリッド結合します。
ffmpeg -i input1.mp4 -i input2.mp4 -lavfi grid=rows=2:columns=2 output.mp4

このうち、input1.mp4、input2.mp4 などが結合対象のビデオ ファイルで、output.mp4 が出力結合ビデオ ファイルです。

6. 録画画面

ffmpeg を使用して画面を記録するには、次のコマンドを使用できます。

ffmpeg -f x11grab -s 分辨率 -i :0.0 -framerate 帧率 输出文件名

パラメータの説明:

  • -f入力形式を X11 Grab (X11 スクリーン キャプチャ) として指定します。
  • -s出力ビデオの解像度を「1280x720」などに設定します。
  • -i続く「:0.0」は、画面全体をキャプチャすることを意味します。特定のウィンドウのみをキャプチャしたい場合は、「:0.0」を対応するウィンドウ番号に置き換えます。
  • -framerateフレームレートを設定します(例:「30」)。
  • 最後に、「output.mp4」などの出力ファイル名があります。

たとえば、解像度 1280x720、フレーム レート 30 のビデオ ファイルを録画する場合は、次のコマンドを実行できます。

ffmpeg -f x11grab -s 1280x720 -i :0.0 -framerate 30 output.mp4

7. 録画用カメラ

ffmpeg を使用してカメラビデオを記録するには、次のコマンドを使用できます。

ffmpeg -f v4l2 -i /dev/video0 output.mp4

その中で、-f v4l2入力デバイスの選択に Video4Linux2 (v4l2) ドライバーを使用することを意味します。/dev/video0これはカメラデバイスのパスであり、実際の状況に応じて変更できます。output.mp4は出力ビデオファイル名です。

解像度やフレーム レートなどのパラメータを指定する必要がある場合は、次のようなコマンドを使用できます。

ffmpeg -f v4l2 -i /dev/video0 -s WIDTHxHEIGHT -r FRAME_RATE output.mp4

このうち、 はWIDTHxHEIGHT動画の解像度などを表します1280x720FRAME_RATEビデオのフレーム レートを示します (例: ) 30

おすすめ

転載: blog.csdn.net/no1xium/article/details/132192227