無料で動画や MP3 を編集するコマンドで利用する FFmpeg の使い方


[初回公開] 2011年01月17日

FFmpeg(エフエフエムペグ)とは、オープンソースのマルチメディア処理ツールで、音声や動画の変換、編集、ストリーミング、エンコード・デコードなどを行うことができるソフトウェアで、コマンドラインでの実行となるが無料で利用できるので利用方法ついて紹介する。

無料で動画や MP3 を編集するコマンドで利用する FFmpeg の使い方

1.FFmpegとは? 基本概要と特徴

FFmpeg(エフエフエムペグ)は、音声や動画の変換、編集、ストリーミングを行うためのオープンソースツールである。
さまざまなフォーマットに対応し、高品質なエンコードやデコードが可能となっている。

FFmpegとは? 基本概要と特徴
  • FFmpeg の主な特徴
    • 多様なフォーマット対応(MP4、AVI、MKV、MP3、AAC など)
    • コマンドラインでの操作が可能
    • 動画・音声の変換・編集ができる
    • リアルタイムエンコード・デコードに対応
    • ライブストリーミング機能も搭載

2.FFmpeg のインストール方法

FFmpeg のインストール方法は Windows や Linux によって異なっているので、以下の通り紹介する。
また、動画編集ソフトの中には FFmpeg を利用しているものもあり、「Program Files」内のソフトがインストールされているフォルダを見ると、ffmpeg.exe があり、コピーして利用することもできる

FFmpeg のアイコン
  • Windows でのインストール
    1. [公式サイト](https://ffmpeg.org/download.html)から FFmpeg をダウンロード
    2. ZIPファイルを解凍し、ffmpeg.exe のパスを環境変数に設定
    3. コマンドプロンプトで ffmpeg -version を実行し、動作を確認
  • macOS でのインストール
    1. Homebrew を使用してインストール
    2. brew install ffmpeg
  • Linux(Ubuntu)のインストール
    1. sudo apt update
    2. sudo apt install ffmpeg

3.基本的な使い方

FFmpegはコマンドラインを使って操作し、以下は基本的なコマンドである。
基本的にコマンドで変換されるが、下記以外にはビットレート変える場合は「-ab 192K」といったように数多くのオプションが用意されている。
ただし、利用する FFmpeg のバージョンによって使えない機能も存在する。

  • 動画のフォーマット変換
    • ffmpeg -i input.mp4 output.avi
  • 音声の抽出
    • ffmpeg -i input.mp4 -q:a 0 -map a output.mp3
  • 動画の圧縮(H.264エンコード)
    • ffmpeg -i input.mp4 -vcodec libx264 -crf 23 output.mp4
  • 動画のカット(10秒~30秒)
    • ffmpeg -i input.mp4 -ss 00:00:10 -to 00:00:30 -c copy output.mp4

Windows であればコマンドプロンプトで利用することができる。
下図のように FFmpeg が階層で実行すると実行が開始される。

FFmpeg がある階層の様子

例えば FFmpeg のオプション「-an」は音声を消す設定なので MP3 にする場合は利用しないが、ビットレートを設定する「-ab」やサンプリング周波数の「-ar」は音質に大きく影響を及ぼす。

MP4 から MP3 にエンコードのコマンド例は下記になる。

C:\test>ffmpeg -i "a.mp4" b.mp3

この場合オプションは何も設定していないが、「Audio: libmp3lame, 44100 Hz, stereo, s16, 64 kb/s」が適応される。
設定値を与える例として「ステレオ、サンプリング周波数は 48,000Hz、ビットレートは 192Kb/s、音量 2 倍」にする場合は次のようになる。

C:\test>ffmpeg -i "a.mp4" -ac 2 -ar 48000 -ab 192K -vol 512 b.mp3

音量は数値で設定しているが、標準が 256 となっているのでこの数値の増減で音量を調整する。
尚、「-acodec」というオプションでコーデックを変更することができるが、「-acodec libfaac」と指定して変換しようとしても変換が開始されない場合はコーデックが入っていなかったり FFmpeg のバージョンが対応していないことが考えられる。

4.応用編:高度な FFmpeg 活用

FFmpeg は有償の動画・音声編集ソフト並みの機能が備わっており、応用利用が次の通りである。

  • GIF の作成
    • ffmpeg -i input.mp4 -vf “fps=10,scale=320:-1” output.gif
  • 動画の結合
    • ffmpeg -f concat -safe 0 -i file_list.txt -c copy output.mp4
      ※ file_list.txt には結合するファイル名を記述。
  • ライブストリーミング(RTMP 配信)
    • ffmpeg -re -i input.mp4 -c:v libx264 -b:v 1000k -f flv rtmp://server/live/stream

各オプションはヘルプを開くと確認できる。

-ab bitrate         set bitrate (in bits/s)
-aframes number     set the number of audio frames to record
-aq quality         set audio quality (codec-specific)
-ar rate            set audio sampling rate (in Hz)
-ac channels        set number of audio channels
-an                 disable audio
-acodec codec       force audio codec ('copy' to copy stream)
-vol volume         change audio volume (256=normal)

5.足りないコーデックに対応する方法

FFmpeg で libfaac コーデックを使用するには ffmpeg.exe と同じフォルダーに libfaac.dll を設置しないと利用できない。
ffmpeg.exe のみで実行すると、「libfaac.dll が見つからない」が表示された場合に対応するよとよい。

6.まとめと活用例

FFmpeg は、動画編集・変換の強力なツールであり、多くの場面で活用できる。
ビットレートや横幅・高さといったサイズ、音声周波数など細かな設定も可能なので柔軟にマルチメディアファイルが生成できる特徴がある。

Windows であればコマンドプロンプトを使ったことがある人なら敷居が高くないものの、初めて使う人にはまずコマンドを打つところから始めないといけないが無料で自分の望む形式にエンコードできるので挑戦してみる価値は大きい。

関連記事

コメントを残す