動画を行う際、FFmpegで作業をする事がよくあるため、使い方を備忘録として簡単にまとめてみました。
目次
FFmpegとは?
- 公式サイト:https://ffmpeg.org/
- FFmpeg(エフエフエムペグ)は、音声や動画を処理するための非常に強力なオープンソースのツールです。
- FFmpegは、コマンドラインで操作できる動画変換ツールです。
- FFmpegは多くのマルチメディアファイル形式(MP4、AVI、MP3、AAC、FLACなど)をサポートしています。
主な機能と利用用途(一部抜粋)
- 動画形式変換
- 動画の圧縮
- 動画の切り取りや結合
- 動画の幅や高さの変換(リサイズ)
- 音声の削除 など
インストール
- Macの場合、Homebrewを使用:
-
Homebrewが未インストールの場合、まずHomebrewをインストール。
そして、ターミナルを開いて以下のコマンドを実行。 -
brew install ffmpeg
- Windowsの場合
-
- 「公式サイトからバイナリをダウンロードした後に、パスを設定する」
- もしくは「パッケージマネージャー(Chocolateyなど)を使用する」
バージョン確認
シカマル
正しくインストールされたか確認する方法は?
おはひそ
ターミナルを開きffmpeg -version
と入力
おはひそ
インストールされていれば、バージョンが表示される
ターミナルの起動・使い方・基本的なコマンド
プログラミングやバージョン管理を行う際、OSやVS Codeなどの開発環境に搭載されているターミナルやコマンドラインツールで作業をする事があります。使い方を備忘録とし…
使い方
FFmpeg はコマンドラインツールであるため、ターミナルやコマンドプロンプトで、コマンドを入力して使用します。基本的な使い方は以下のようになります。
ffmpeg [入力オプション] -i [入力ファイル] [出力オプション] [出力ファイル]
オプション
- FFmpegの機能は非常に多岐にわたるため、目的に応じて自分が使いたいオプションを調べて使います。よく忘れるため、自分がよく使うFFmpegのオプションをまとめました。
- オプションを組み合わせることで、様々な操作が可能になります。
- 特定のプロジェクトや使用目的に応じてさらに多くのオプションがあります。
【オプション】 | 【説明】 | 【例】 |
-i | 入力ファイルを指定 | -i input.mp4 |
-c:v | 動画コーデックを指定 | -c:v libx264 |
-b:v | 動画ビットレートを指定 | -b:v 1M |
-crf | 品質を指定する | 主にx264/x265で使用。 例: -crf 23 (0は最高品質、51は最低品質) |
-vf | 動画フィルタを指定 | -vf scale=1280:720 (解像度変更) |
-an | 音声を無音にする | |
-ss | 開始時間を指定 | -ss 00:01:00 (1分から開始) |
-t | 出力する長さを指定 | -t 00:00:30 (30秒) |
-to | 終了時間を指定 | -to 00:02:00 (2分まで) |
コマンド例
動画フォーマット変換(MOV→MP4)、CFR25指定:
ffmpeg -i input.mov -crf 25 output1.mp4
音声ファイルの変換(MP3→WAV):
ffmpeg -i input.mp3 output.wav
固定レート変更(例:x264、cfr28):
ffmpeg -i input.mp4 -c:v libx264 -crf 28 output.mp4
動画のトリミング(例:秒で指定、 ※動画の最初の30秒間だけ抽出):
ffmpeg -i input.mp4 -t 30 output.mp4
動画のトリミング(例:-ss start time , -t duration):
ffmpeg -i input.mp4 -ss 00:00:05 -t 00:00:10 output.mp4
音声を消す:
ffmpeg -i input.mp4 -an output.mp4
参考リンク
- 公式サイト:https://www.ffmpeg.org/
- CFRGuide: https://slhck.info/video/2017/02/24/crf-guide.html
- Fab Academy FFmpeg encoding https://academy.cba.mit.edu/classes/computer_design/video.html