PC・アプリ便利帳
- ffmpegの使い方まとめ 実用完全版
- ffmpegとは?
- ffmpegのインストール方法
- ffmpegの基本的な使い方
- 動画の情報を表示する
- 別の形式に変換する
- 動画を圧縮する
- 動画を拡大縮小する
- 動画を回転・反転させる
- 動画をトリミング・クロップする
- フレームレートを変更する
- 動画を連結する
- 動画を分割する
- 動画を切り取る
- 動画の速度を変更する
- 動画を逆再生する
- 動画から音声を抽出する
- 動画から音声を削除する
- 音量を調整する
- 動画に音声を入れる・差し替える
- 動画にBGMを重ねる
- 音声に音声を重ねる
- 動画から画像を切り出す
- 画像から動画を作る
- スライドショー動画を作る
- 字幕を入れる
- 動画に文字・テロップを入れる
- ロゴ・ウォーターマークを入れる
- フェードイン・フェードアウトする
- 複数動画を横並び・縦並びにする
- サムネイル一覧を作る
- GIFを作る
- Web掲載向けに最適化する
- 複数ファイルをまとめて処理する考え方
- よくあるトラブルと対策
- 公式ページ・参考リンク
ffmpegの使い方まとめ 実用完全版
動画の連結、逆再生、切り取り、音声抽出、音量調整、BGMの追加、拡大縮小、回転、形式変換、圧縮、字幕、テロップ、ウォーターマーク、GIF作成など、よく使うffmpegコマンドをまとめました。
input.mp4 や output.mp4 のファイル名は、自分の環境に合わせて置き換えてください。
ffmpegとは?
ffmpegは、動画や音声を変換・編集できる無料のコマンドラインツールです。
動画の形式変換、音声抽出、動画の切り取り、連結、圧縮、音量調整、BGM追加など、さまざまな処理をターミナルやコマンドプロンプトから実行できます。
- 動画編集ソフトを開かずに、コマンドだけで処理できます。
- 大量のファイルをまとめて処理したい場合にも便利です。
- Windows、Mac、Ubuntu、Linux Mintなどで利用できます。
ffmpegのインストール方法
ffmpegを使うには、まずパソコンにffmpegをインストールします。OSごとにインストール方法が異なります。
Windowsの場合
Windowsでは、FFmpeg公式ダウンロードページからWindows向けビルド配布サイトへ進み、実行ファイルをダウンロードします。
ダウンロード後、ffmpeg.exe が入っている bin フォルダにPATHを通すと、コマンドプロンプトやPowerShellから利用できます。
ffmpeg -version
- バージョン情報が表示されれば、ffmpegを使える状態です。
- 「認識されません」と表示される場合は、環境変数PATH設定を確認します。
- 公式ダウンロードページ:https://ffmpeg.org/download.html
Macの場合
brew install ffmpeg
ffmpeg -version
- Homebrewを使っている場合、更新は
brew upgrade ffmpegで行えます。 - ライブラリ関連のエラーが出る場合は、
brew updateやbrew reinstall ffmpegを試します。
Ubuntuの場合
sudo apt update
sudo apt install ffmpeg
ffmpeg -version
Linux Mintの場合
sudo apt update
sudo apt install ffmpeg
ffmpeg -version
- Linux MintはUbuntu系なので、基本的にはUbuntuと同じ方法でインストールできます。
ffmpegの基本的な使い方
ffmpegは、基本的に「入力ファイル」と「出力ファイル」を指定して使います。
ffmpeg -i input.mp4 output.mp4
-i input.mp4は入力ファイルを指定する部分です。output.mp4は出力ファイル名です。- 同じフォルダにあるファイルなら、ファイル名だけで指定できます。
ファイル名に空白がある場合
ffmpeg -i "my video.mp4" "output video.mp4"
上書き保存したい場合
ffmpeg -y -i input.mp4 output.mp4
-yを付けると、同名ファイルを確認なしで上書きします。- 大事なファイルを消さないよう、出力ファイル名には注意してください。
動画の情報を表示する
動画の再生時間、解像度、コーデック、フレームレート、音声形式などを確認する方法です。編集前に動画の状態を確認したいときに便利です。
ffmpegで動画情報を表示する
ffmpeg -i input.mp4
- 出力ファイルを指定しないため、変換は行われません。
- 動画の解像度、音声形式、再生時間などがターミナルに表示されます。
ffprobeで詳しく確認する
ffprobe input.mp4
- ffprobeはffmpegに含まれる動画・音声情報確認用のコマンドです。
見やすい形式で表示する
ffprobe -v error -show_format -show_streams input.mp4
- 詳細情報を整理して確認したい場合に便利です。
別の形式に変換する
動画ファイルをMP4、MOV、WEBM、GIFなど、別の形式に変換する方法です。拡張子だけでなく、映像や音声の形式も指定できます。
MOVをMP4に変換する
ffmpeg -i input.mov output.mp4
- シンプルな形式変換です。
互換性を重視してMP4に変換する
ffmpeg -i input.mov -c:v libx264 -c:a aac -b:a 192k output.mp4
- H.264映像とAAC音声に変換します。
- スマホ、ブラウザ、SNSなどで再生しやすい形式です。
MP4をWEBMに変換する
ffmpeg -i input.mp4 -c:v libvpx-vp9 -c:a libopus output.webm
- Web向け動画形式として使われることがあります。
動画をGIFに変換する
ffmpeg -i input.mp4 -vf "fps=10,scale=480:-1" output.gif
- GIFはファイルサイズが大きくなりやすいため、短い動画向けです。
動画を圧縮する
動画のファイルサイズを小さくする方法です。画質と容量のバランスを調整したい場合に使います。
CRFを指定して圧縮する
ffmpeg -i input.mp4 -c:v libx264 -crf 28 -c:a aac output_compressed.mp4
- CRFの数字が大きいほど容量は小さくなり、画質は下がります。
- 一般的には23〜30あたりを試すと調整しやすいです。
ビットレートを指定して圧縮する
ffmpeg -i input.mp4 -b:v 1500k -b:a 128k output_bitrate.mp4
- 動画ビットレートと音声ビットレートを指定します。
音声なしで軽量化する
ffmpeg -i input.mp4 -an -c:v libx264 -crf 28 output_noaudio.mp4
- 音声が不要な動画では容量を減らせます。
動画を拡大縮小する
動画の解像度を変更する方法です。ファイルサイズを小さくしたい場合や、SNS・Web掲載用にサイズをそろえたい場合に使えます。
幅1280pxに縮小する
ffmpeg -i input.mp4 -vf scale=1280:-1 output_1280.mp4
- 幅を1280pxにして、高さは自動計算します。
- 縦横比を保ったまま縮小できます。
高さ720pxに縮小する
ffmpeg -i input.mp4 -vf scale=-1:720 output_720h.mp4
- 高さを720pxにして、幅は自動計算します。
1920×1080に変換する
ffmpeg -i input.mp4 -vf scale=1920:1080 output_1080p.mp4
- 元動画と縦横比が違う場合、映像が伸びることがあります。
動画を回転・反転させる
スマホで撮影した動画の向きが違う場合などに、動画を90度、180度、270度回転させる方法です。
時計回りに90度回転する
ffmpeg -i input.mp4 -vf "transpose=1" output_rotate90.mp4
- transpose=1は時計回りに90度回転します。
反時計回りに90度回転する
ffmpeg -i input.mp4 -vf "transpose=2" output_rotate270.mp4
- transpose=2は反時計回りに90度回転します。
180度回転する
ffmpeg -i input.mp4 -vf "transpose=1,transpose=1" output_rotate180.mp4
- 90度回転を2回行う指定です。
上下反転する
ffmpeg -i input.mp4 -vf vflip output_vflip.mp4
- vflipは上下反転です。
左右反転する
ffmpeg -i input.mp4 -vf hflip output_hflip.mp4
- hflipは左右反転です。
動画をトリミング・クロップする
動画の一部分だけを切り抜く方法です。黒帯を消したい場合や、画面の中央だけを残したい場合に使えます。
左上から指定サイズで切り抜く
ffmpeg -i input.mp4 -vf "crop=1280:720:0:0" output_crop.mp4
- 幅1280、高さ720の範囲を左上から切り抜きます。
中央を切り抜く
ffmpeg -i input.mp4 -vf "crop=1280:720" output_crop_center.mp4
- xとyを省略すると中央付近を切り抜きます。
黒帯を自動検出する
ffmpeg -i input.mp4 -vf cropdetect -f null -
- 黒帯を削るためのcrop値を調べるときに使います。
フレームレートを変更する
動画のフレームレートを30fpsや60fpsに変更する方法です。SNS投稿や素材作成でフレームレートをそろえたい場合に使います。
30fpsに変換する
ffmpeg -i input.mp4 -r 30 output_30fps.mp4
- 動画を30fpsに変換します。
60fpsに変換する
ffmpeg -i input.mp4 -r 60 output_60fps.mp4
- 動画を60fpsに変換します。
フィルタで30fpsに変換する
ffmpeg -i input.mp4 -vf fps=30 output_fps30.mp4
- 映像フィルタとしてフレームレートを指定します。
動画を連結する
複数の動画ファイルを1本の動画にまとめる方法です。同じ解像度・同じコーデックの動画であれば、再エンコードなしで高速に連結できます。
連結リストを作る
file 'a.mp4'
file 'b.mp4'
file 'c.mp4'
- 連結したい動画ファイルをfiles.txtにまとめます。
再エンコードなしで連結
ffmpeg -f concat -safe 0 -i files.txt -c copy output.mp4
- 動画の形式や解像度がそろっている場合に向いています。
- -c copyを使うため、画質劣化がなく処理も高速です。
形式やコーデックが違う場合
ffmpeg -f concat -safe 0 -i files.txt -c:v libx264 -c:a aac output.mp4
- -c copyで失敗する場合は、再エンコードすると連結できることがあります。
動画を分割する
長い動画を一定時間ごとに分割する方法です。長時間動画を短く分けたい場合に便利です。
10分ごとに分割する
ffmpeg -i input.mp4 -c copy -map 0 -segment_time 00:10:00 -f segment output_%03d.mp4
- output_000.mp4、output_001.mp4のように分割されます。
指定位置から指定時間だけ切り出す
ffmpeg -ss 00:10:00 -i input.mp4 -t 00:05:00 -c copy output_part.mp4
- 10分地点から5分間だけ切り出します。
動画を切り取る
動画の一部分だけを切り出す方法です。高速に切り出す方法と、正確に切り出す方法があります。
高速に切り取る
ffmpeg -ss 00:01:00 -to 00:02:30 -i input.mp4 -c copy output_cut.mp4
- 1分00秒から2分30秒までを切り出します。
- -c copyを使うため高速ですが、切り取り位置の正確さはキーフレームに依存します。
正確に切り取る
ffmpeg -i input.mp4 -ss 00:01:00 -to 00:02:30 -c:v libx264 -c:a aac output_cut_exact.mp4
- フレーム単位で正確に切り取りたい場合はこちらを使います。
- 再エンコードするため、処理時間は長くなります。
動画の速度を変更する
動画を倍速にしたり、スロー再生にしたりする方法です。映像だけでなく音声の速度も調整できます。
映像を2倍速にする
ffmpeg -i input.mp4 -vf "setpts=0.5*PTS" output_2x.mp4
- setpts=0.5*PTSで映像が2倍速になります。
映像を0.5倍速にする
ffmpeg -i input.mp4 -vf "setpts=2.0*PTS" output_slow.mp4
- setpts=2.0*PTSで映像がスローになります。
音声も2倍速にする
ffmpeg -i input.mp4 -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" output_2x_audio.mp4
- 映像と音声の両方を2倍速にします。
動画を逆再生する
動画を逆再生にする方法です。
映像だけでなく、音声も逆再生にできます。
ただし、reverse フィルタは動画のフレームを一度メモリに保持してから逆順に出力するため、長い動画ではメモリ不足になることがあります。
短い動画を映像と音声ごと逆再生する
ffmpeg -i input.mp4 -vf reverse -af areverse output_reverse.mp4
- 映像と音声の両方を逆再生します。
- 数秒程度の短い動画向けです。
- 数十秒以上の長い動画では、メモリ不足でエラーになることがあります。
短い動画を映像だけ逆再生する
ffmpeg -i input.mp4 -vf reverse -an output_reverse_videoonly.mp4
-anは音声を削除する指定です。- 音声なしの短い逆再生動画を作りたい場合に使います。
長い動画の場合:連番画像にしてから逆順にする
長い動画を逆再生したい場合は、一度フレームを画像として書き出し、逆順に並べて動画化する方法があります。
ただし、画像ファイルが大量に作成されるため、空き容量に注意してください。
mkdir frames
ffmpeg -i input.mp4 frames/frame_%06d.png
- まず動画を連番画像として書き出します。
- 動画が長いほど画像枚数が増え、容量も大きくなります。
その後、ファイル名を逆順に並べ替えてから、再度ffmpegで動画化します。
逆順リネームはOSによって方法が異なるため、必要に応じてスクリプトを使います。
ffmpeg -framerate 30 -i reversed/frame_%06d.png -c:v libx264 -pix_fmt yuv420p output_reverse_long.mp4
- 長い動画では、直接
reverseフィルタを使うより安定しやすい方法です。 - 音声も逆再生したい場合は、音声を別途
areverseで処理して結合します。 - 逆順リネームの方法はOSによって異なるため、
Python 逆順 リネーム、PowerShell 逆順 リネームなどで調べると見つけやすいです。
コラム:リネームが面倒な場合は短く分割して処理する
PythonやPowerShellで逆順リネームをするのが難しい場合は、動画を10秒程度の短いパーツに分割し、
それぞれのパーツを reverse してから、最後に連結する方法もあります。
厳密な完全逆再生を作るにはパーツの並び順も逆にする必要がありますが、長い動画を一気に reverse するよりメモリ不足を避けやすい方法です。
10秒ごとに分割する
mkdir parts
ffmpeg -i input.mp4 -c copy -map 0 -segment_time 10 -f segment parts/part_%03d.mp4
part_000.mp4、part_001.mp4のように10秒ごとの動画に分割します。-c copyを使うため高速ですが、分割位置はキーフレームに依存します。
各パーツを逆再生する
ffmpeg -i parts/part_000.mp4 -vf reverse -af areverse reversed_000.mp4
ffmpeg -i parts/part_001.mp4 -vf reverse -af areverse reversed_001.mp4
- 各パーツが短ければ、
reverseフィルタでもメモリ不足になりにくくなります。 - パーツ数が多い場合は、ここもシェルやPowerShellでまとめて処理すると楽です。
最後に連結する
file 'reversed_001.mp4'
file 'reversed_000.mp4'
ffmpeg -f concat -safe 0 -i reverse_list.txt -c copy output_reverse_long.mp4
- 完全な逆再生にしたい場合は、連結リストの順番も元動画とは逆にします。
- 例では
reversed_001.mp4→reversed_000.mp4の順にしています。 - この方法は少し手間がかかりますが、FFmpeg中心で処理できるため、スクリプトが苦手な場合の逃げ道になります。
動画から音声を抽出する
動画ファイルから音声だけを取り出す方法です。MP3、WAV、AACなどの形式で保存できます。
MP3で抽出
ffmpeg -i input.mp4 -vn output.mp3
- -vnは映像を出力しない指定です。
WAVで抽出
ffmpeg -i input.mp4 -vn output.wav
- 編集素材として扱いやすい形式です。
AACで抽出
ffmpeg -i input.mp4 -vn -c:a copy output.aac
- 入力音声がAACの場合、再エンコードせずに抽出できることがあります。
動画から音声を削除する
動画の映像だけを残し、音声を消す方法です。無音動画を作りたい場合に使います。
音声を削除する
ffmpeg -i input.mp4 -an -c:v copy output_noaudio.mp4
- -anは音声を出力しない指定です。
- -c:v copyで映像は再エンコードしません。
映像を再エンコードして音声を削除する
ffmpeg -i input.mp4 -an -c:v libx264 output_noaudio_reencode.mp4
- 互換性を上げたい場合はこちらを使います。
音量を調整する
音声ファイルの音量を大きくしたり、音量を均一化したりする方法です。
音量を1.5倍にする
ffmpeg -i input.mp3 -af volume=1.5 output.mp3
- volume=1.5は音量を1.5倍にします。
音量を+5dBにする
ffmpeg -i input.mp3 -af volume=+5dB output.mp3
- dB指定もできます。
音量を正規化する
ffmpeg -i input.wav -af loudnorm output_norm.wav
- 音量を聞きやすく均一化したい場合に使います。
動画に音声を入れる・差し替える
動画の映像はそのままにして、別の音声ファイルを入れる方法です。元の音声を使わず、新しい音声に差し替えます。
映像はそのままで音声を差し替える
ffmpeg -i video.mp4 -i audio.wav -c:v copy -map 0:v:0 -map 1:a:0 output.mp4
- video.mp4の映像と、audio.wavの音声を組み合わせます。
音声をAACにして互換性を上げる
ffmpeg -i video.mp4 -i audio.wav -c:v copy -c:a aac -b:a 192k -map 0:v:0 -map 1:a:0 output.mp4
- スマホやブラウザで再生しやすくしたい場合に便利です。
動画にBGMを重ねる
動画の元音声を残したまま、BGMを重ねる方法です。ナレーション入り動画にBGMを追加したいときなどに使えます。
元音声とBGMをミックスする
ffmpeg -i video.mp4 -i bgm.mp3 -filter_complex "[0:a][1:a]amix=inputs=2:duration=first:dropout_transition=2[a]" -map 0:v -map "[a]" -c:v copy -c:a aac output_mix.mp4
- 動画の元音声とBGMをミックスします。
- duration=firstにより、動画側の長さに合わせます。
BGMを小さめにして重ねる
ffmpeg -i video.mp4 -i bgm.mp3 -filter_complex "[1:a]volume=0.3[bgm];[0:a][bgm]amix=inputs=2:duration=first:dropout_transition=2[a]" -map 0:v -map "[a]" -c:v copy -c:a aac output_mix_bgm_low.mp4
- volume=0.3でBGMの音量を30%にしています。
音声に音声を重ねる
音声ファイル同士をミックスする方法です。声にBGMを重ねたり、複数の音声を1つにまとめたりできます。
2つの音声をミックスする
ffmpeg -i voice.wav -i bgm.mp3 -filter_complex "amix=inputs=2:duration=longest:dropout_transition=2" output_mix.mp3
- voice.wavとbgm.mp3を1つの音声ファイルにまとめます。
BGMを小さめにしてミックスする
ffmpeg -i voice.wav -i bgm.mp3 -filter_complex "[1:a]volume=0.3[bgm];[0:a][bgm]amix=inputs=2:duration=longest:dropout_transition=2" output_mix_bgm_low.mp3
- 声をメインにして、BGMを控えめに流したい場合に向いています。
動画から画像を切り出す
動画の一場面を画像として保存する方法です。サムネイル作成にも使えます。
指定時間の画像を1枚保存する
ffmpeg -ss 00:00:10 -i input.mp4 -frames:v 1 thumbnail.jpg
- 10秒地点の画像を1枚保存します。
1秒ごとに画像を保存する
ffmpeg -i input.mp4 -vf fps=1 image_%03d.jpg
- image_001.jpg、image_002.jpgのように連番画像が作られます。
高画質なPNGで保存する
ffmpeg -ss 00:00:10 -i input.mp4 -frames:v 1 thumbnail.png
- PNG形式で保存します。
画像から動画を作る
連番画像や静止画から動画を作る方法です。タイムラプスやスライドショー作成に使えます。
連番画像から動画を作る
ffmpeg -framerate 30 -i image_%03d.jpg -c:v libx264 -pix_fmt yuv420p output.mp4
- image_001.jpg、image_002.jpgのような連番画像を動画にします。
1枚の画像から10秒動画を作る
ffmpeg -loop 1 -i image.jpg -t 10 -c:v libx264 -pix_fmt yuv420p output.mp4
- 静止画を10秒間表示する動画を作ります。
スライドショー動画を作る
複数の画像を順番に表示するスライドショー動画を作る方法です。
画像リストを使ってスライドショーを作る
ffmpeg -f concat -safe 0 -i images.txt -fps_mode vfr -pix_fmt yuv420p slideshow.mp4
- images.txtに画像と表示時間を書いて使います。
-vsync vfrは新しいffmpegでは非推奨になりつつあるため、ここでは-fps_mode vfrを使っています。
images.txtの例
file 'image1.jpg'
duration 3
file 'image2.jpg'
duration 3
file 'image3.jpg'
duration 3
- 各画像を3秒ずつ表示する例です。
字幕を入れる
字幕ファイルを動画に追加したり、動画に焼き込んだりする方法です。
字幕ファイルを動画に焼き込む
ffmpeg -i input.mp4 -vf subtitles=subtitle.srt output_subtitle.mp4
- 字幕が映像の一部として焼き込まれます。
字幕トラックとして追加する
ffmpeg -i input.mp4 -i subtitle.srt -c copy -c:s mov_text output_subtitle_track.mp4
- 再生プレイヤー側で字幕のオン・オフができる形式です。
動画に文字・テロップを入れる
動画にタイトル、日付、説明文などの文字を重ねる方法です。
画面左上に文字を入れる
ffmpeg -i input.mp4 -vf "drawtext=text='Sample Text':x=20:y=20:fontsize=36:fontcolor=white" output_text.mp4
- 指定した位置に文字を表示します。
画面下に文字を入れる
ffmpeg -i input.mp4 -vf "drawtext=text='Title':x=(w-text_w)/2:y=h-80:fontsize=40:fontcolor=white" output_title.mp4
- 画面下中央にタイトルを表示します。
ロゴ・ウォーターマークを入れる
動画にロゴ画像や透かし画像を重ねる方法です。
右上にロゴを入れる
ffmpeg -i input.mp4 -i logo.png -filter_complex "overlay=W-w-20:20" output_logo.mp4
- 右上に20pxの余白を空けてロゴを配置します。
右下にロゴを入れる
ffmpeg -i input.mp4 -i logo.png -filter_complex "overlay=W-w-20:H-h-20" output_logo_bottom.mp4
- 右下にロゴを配置します。
フェードイン・フェードアウトする
動画や音声を徐々に表示・消音する方法です。
映像をフェードインする
ffmpeg -i input.mp4 -vf "fade=t=in:st=0:d=2" output_fadein.mp4
- 開始から2秒かけてフェードインします。
映像をフェードアウトする
ffmpeg -i input.mp4 -vf "fade=t=out:st=8:d=2" output_fadeout.mp4
- 8秒地点から2秒かけてフェードアウトします。
音声をフェードイン・アウトする
ffmpeg -i input.mp3 -af "afade=t=in:st=0:d=2,afade=t=out:st=8:d=2" output_fade_audio.mp3
- 音声にもフェード効果を付けられます。
複数動画を横並び・縦並びにする
比較動画やBefore/After動画を作るときに便利です。
2つの動画を横並びにする
ffmpeg -i left.mp4 -i right.mp4 -filter_complex hstack output_hstack.mp4
- 左右に並べた動画を作ります。
2つの動画を縦並びにする
ffmpeg -i top.mp4 -i bottom.mp4 -filter_complex vstack output_vstack.mp4
- 上下に並べた動画を作ります。
サムネイル一覧を作る
動画の中身を一覧で確認できるサムネイルシートを作る方法です。
10秒ごとの画像を並べる
ffmpeg -i input.mp4 -vf "fps=1/10,scale=320:-1,tile=3x4" contact_sheet.jpg
- 10秒ごとの画像を3列×4行に並べます。
1分ごとの画像を並べる
ffmpeg -i input.mp4 -vf "fps=1/60,scale=320:-1,tile=4x4" contact_sheet_1min.jpg
- 長い動画の内容確認に便利です。
GIFを作る
短い動画からGIFアニメを作る方法です。Web記事やSNSで使いやすい形式です。
動画からGIFを作る
ffmpeg -i input.mp4 -vf "fps=10,scale=480:-1" output.gif
- 短い動画向けです。
指定範囲だけGIFにする
ffmpeg -ss 00:00:05 -t 3 -i input.mp4 -vf "fps=10,scale=480:-1" output.gif
- 5秒地点から3秒間だけGIFにします。
Web掲載向けに最適化する
Webページに載せやすいMP4を作る方法です。再生互換性と読み込みやすさを意識します。
H.264/AACでMP4にする
ffmpeg -i input.mov -c:v libx264 -c:a aac -pix_fmt yuv420p output_web.mp4
- ブラウザやスマホで再生しやすい形式です。
faststartを付ける
ffmpeg -i input.mp4 -c copy -movflags +faststart output_faststart.mp4
- Web上で動画の再生開始が早くなりやすい指定です。
複数ファイルをまとめて処理する考え方
ffmpeg自体は1つのファイル処理が基本ですが、シェルやバッチファイルと組み合わせると複数ファイルをまとめて処理できます。
Mac・Linuxで複数MP4をMP3にする
for f in *.mp4; do ffmpeg -i "$f" -vn "${f%.mp4}.mp3"; done
- 同じフォルダ内のMP4をまとめてMP3に変換します。
Windows PowerShellで複数MP4をMP3にする
Get-ChildItem *.mp4 | ForEach-Object { ffmpeg -i $_.Name -vn ($_.BaseName + '.mp3') }
- PowerShellでまとめて処理する例です。
よくあるトラブルと対策
ffmpegが認識されない
- WindowsではPATHが通っていない可能性があります。
- ffmpeg.exeが入っているbinフォルダを環境変数PATHに追加します。
- 設定後はコマンドプロンプトやPowerShellを開き直します。
Macでライブラリエラーが出る
brew update
brew upgrade ffmpeg
- Homebrewで入れたffmpegは、依存ライブラリ更新後にエラーが出ることがあります。
- 改善しない場合は
brew reinstall ffmpegを試します。
-c copyで失敗する
-c copyは再エンコードしないため高速ですが、入力動画の形式が出力形式と合わないと失敗することがあります。- その場合は
-c:v libx264 -c:a aacのように再エンコードします。
ファイル名に空白がある
ffmpeg -i "my video.mp4" "output video.mp4"
- 空白を含むファイル名は引用符で囲みます。
公式ページ・参考リンク
ffmpegは機能が非常に多いため、詳しいオプションやフィルタを確認したい場合は公式ドキュメントを見るのが確実です。
FFmpeg公式サイトでは、FFmpegを「録画・変換・ストリーミングができるクロスプラットフォームのソリューション」と説明しています。
Windowsの場合、FFmpeg公式ページ自体は主にソースコードを提供しており、公式ダウンロードページからWindows向けのビルド配布サイトへ案内されています。
実行ファイルが必要な場合は、公式ダウンロードページの「Get packages & executable files」からWindows向けビルドを選びます。
