FFmpegは、ビデオ、オーディオ、その他のマルチメディアファイルやストリームを処理するためのライブラリとプログラムの大規模なスイートで構成される無料のオープンソースソフトウェアプロジェクトです。これは、Mac(OSX)、Linux、およびWindowsで動作するクロスプラットフォームのツールセットです。この記事では、FFmpegのインストールと、ビデオ情報の取得、ビデオファイルの切り取りと分割、ビデオの画像を含むさまざまな形式への変換、オーディオ、字幕の管理など、最も一般的に使用されるコマンドの例について説明します。
FFmpegマルチメディアフレームワークのインストール
FFmpegのインストールは、ほとんどの一般的なオペレーティングシステムにとって簡単でシンプルなプロセスです。
最新のUbuntuLinuxにFFmpegをインストールするには、次のコマンドを使用します。
sudo apt-get update
sudo apt install ffmpeg -y

OSX
MacにFFmpegをインストールする場合は、Homebrewパッケージマネージャーを使用してください:
brew update && brew upgrade ffmpeg

WindowsにFFmpegをインストールするには、Chocolateyを使用します:
choco install ffmpeg

これで、FFmpegをインストールするとすぐに、最も一般的に使用されるコマンドの例にジャンプできます。
この記事では、無料のサンプルビデオファイルを使用します。
ビデオファイルに関する詳細情報を取得するには、次のコマンドを実行します。
ffmpeg -i sample-mp4-file.mp4 -hide_banner

-hide_banner
引数は著作権情報を非表示にします。
FFmpegには、ビデオを短いチャンクにトリミングできる機能があります。
次の引数を使用します:
-
-ss
パラメータはsを指定します タルトタイムsHH:MM:SS.ms
のタンプ フォーマット -
-t
引数は、最終的なクリップの長さを指定します( t ime)秒単位 -codec copy
–パラメータは再エンコードせずにすべてのストリームをコピーします
ffmpeg -i sample-mp4-file.mp4 -hide_banner \
-ss 00:01:00.0 \
-codec copy \
-t 20 \
OutputVideo.mp4

以下に示すコマンドを使用して、ビデオを2つ以上の部分に分割します。
この例では、ファイルを2つの部分に分割しています。
- 最初の部分はファイルの先頭から30秒の長さです(
-t
引数) - 2番目の部分には、50秒からファイルの終わりまでのビデオデータが含まれます(
-ss
引数)
ffmpeg -i sample-mp4-file.mp4 -hide_banner \
-t 00:00:30 \
-c copy OutputVideo-1.mp4 \
-ss 00:00:50 \
-codec copy \
OutputVideo-2.mp4

次のコマンドを使用して、出力ビデオファイルオーディオを無効にします。
ffmpeg -i sample-mp4-file.mp4 -hide_banner \
-an OutputVideo.mp4

次のコマンドを実行して、ビデオからオーディオを抽出できます。
ffmpeg -i sample-mp4-file.mp4 -hide_banner \
-vn \
-ac 2 \
-ab 187 \
-f mp3 \
Audio.mp3
ここでは、次のオプションを使用しています。
-
-vn
出力ファイルへのビデオ録画を無効にします -
-ac
aの数を設定します udio c チャンネル -
-ab
aを設定します udio b 187kb/sまで繰り返します - -fは出力形式をmp3に設定します

次のコマンドを使用して、オーディオトラックをビデオファイルに追加します。
ffmpeg -i Audio.mp3 -i sample-mp4-file.mp4 \
-hide_banner \
OutputVideo.mp4

以下に示すコマンドを使用して、ビデオを画像に変換します。
ffmpeg -i sample-mp4-file.mp4 -hide_banner \
image%d.jpg

すべての画像をビデオに変換できます:
ffmpeg -f image2 -i image%d.jpg \
-hide_banner \
OutputVideo.mp4

自分で最終クリップにオーディオを追加してみてください。
MP4からFLVへの変換
以下に示すコマンドを実行して、MP4形式のビデオファイルをFLV形式に変換します。
ffmpeg -i sample-mp4-file.mp4 -hide_banner \
-vn \
-ac 2 \
-ab 187 \
-f flv \
OutputVideo.flv

FLVをMPGに変換
以下に示すコマンドを実行して、FLV形式のビデオファイルをMPG形式に変換します。
ffmpeg -i OutputVideo.flv -hide_banner \
OutputVideo.mpg

MPGをFLVに変換
以下に示すコマンドをコピーして、MPG形式のビデオファイルをFLVに変換します。
ffmpeg -i OutputVideo.mpg -hide_banner \
-ab 26k \
-f flv \
OutputVideo.flv

ビデオファイルをアニメーションGIFファイルに変換するには、次のコマンドを使用します。
ffmpeg -i sample-mp4-file.mp4 -hide_banner \
Output.gif

-target
を使用する タイプして、ビデオCDまたはDVD形式の出力ファイルを作成します。
ターゲットタイプはvcd
をサポートします 、svcd
、dvd
、dv
およびdv50
pal-
のプレフィックスが付いている可能性のある形式 、ntsc-
またはfilm-
対応する標準を使用するには:
ffmpeg -i sample-mp4-file.mp4 -hide_banner \
-target film-vcd \
vcd_video.mpg

デモ字幕ファイルを作成しましょう(字幕の詳細):
cat << EOF > subtitles.srt
1
00:00:00,000 --> 00:00:20,000
This is demo subtitle 1
2
00:00:20,000 --> 00:00:40,000
This is demo subtitle 2
EOF
コマンドに別の字幕ファイルを追加することで、ビデオファイルに字幕ファイルを追加できます:
ffmpeg -i sample-mp4-file.mp4 -hide_banner \
-i subtitles.srt \
-c copy \
-c:s mov_text \
OutputVideo.mp4
動画に字幕を表示したい場合:
ffmpeg -i sample-mp4-file.mp4 -hide_banner \
-vf subtitles=subtitles.srt \
OutputVideo.mp4

ビデオファイルから字幕を抽出するには、最初に使用するストリームを確認してください:
ffmpeg -i OutputVideo.mp4

出力は、字幕がストリーム#0:2
のファイルで利用可能であることを示しています 。
これで、次のコマンドを使用してそれらを抽出できます。
ffmpeg -i OutputVideo.mp4 -hide_banner \
-map 0:2 subtitles.srt

ここで、-map 0:2
必要なストリームを指定します。
最後に、ビデオクリップを時計回りに90度まで回転させるコマンドを次に示します(transpose=2
を使用) 反時計回りに回転するには):
ffmpeg -i sample-mp4-file.mp4 -hide_banner \
-filter:v 'transpose=1' \
OutputVideo.mp4

FFmpegは、ビデオファイルを使用してさまざまな操作を行うことができる多用途のマルチメディアフレームワークです。
FFmpegを使用して、ビデオおよびオーディオファイルを他の形式に変換したり、画像とオーディオの抽出を行ったり、ビデオを回転させたり、字幕を追加したり、ビデオクリップを複数の部分に分割したりできます。このガイドでは、最も一般的に使用されるコマンドを適用して、必要な結果を得る方法を説明しました。