LARGO

当サイトは、合同会社ラルゴが映像制作社内研修の目的で運用するものです。
但、閲覧制限は特に設けておりません。ご参考になることがございましたら幸いです。
尚、表現、言葉遣い等、あくまでも内部向けですのでご了承ください。
また、一般の方から当サイトへのご意見、ご質問等はご遠慮ください。


FFmpegインストール

FFmpegをwindowsにインストールする

FFmpegは動画の処理、変換にとても便利な無料ソフトウェアだ。
もともとはLinux用のソフトウエアで、サーバーやライブ配信かじったことのある人ならおなじみのソフトウェアだが、
コマンドラインツールといってすべて文字情報で操作するのでwindowsやmacのguiに慣れた人はとっつきにくいかもしれない。

windows用のバージョンがあり、下記手順で比較的簡単にインストール、操作できるので紹介する。

ラルゴのパソコンはすべてwindowsなので当記事ではwindows版のみ紹介するがmacバージョンもあるので「ffmpeg mac」でググってみてほしい。

まずスタート(windowsマーク)右クリックで「ターミナル(管理者)」を開く

ヤバいときに出るような黒いウィンドウが現れるが拒否反応を起こさずに続けてほしい。

下記一行をコピーして

winget install --id=Gyan.FFmpeg -e

ターミナルの黒ウィンドウ内で右クリックするとペーストされる。
そのまま「enter」キーでインストール開始

インストール完了後に「exit」と入力してenterで一旦ウインドウを閉じる。

再び、ターミナル(管理者)を開き、

ffmpeg -version

と入力してenterでffmpegのバージョンや使用可能なコーデックが表示されたらインストール成功だ。

上記方法でうまくいかなかった人は「FFmpeg windows」ググると他の方法も出てくるので調べるとよい。
当サイトの基本スタンス「ヒントのみ提示」あとは各自情報収集お願いします。

カテゴリ/FFmpeg
》詳細

FFmpegをwindowsで使う

バッチファイルを作る

ここでは理屈抜き最小限の手順のみ紹介する。興味のある人は「FFmpeg」ググって更に情報を得てほしい。

メモ帳などテキストエディタで新規ファイルを作成する。

例:mp4ファイルの軽量化(圧縮)をする

任意のフォルダに変換したいmp4動画ファイル(複数でも可)を入れ同フォルダ内に「output」フォルダを作っておく。

for %%f in (*.mp4) do (
ffmpeg -y -i "%%~nf".mp4 -c:v libx264 -crf 23 -codec:a copy -movflags faststart "output\%%~nf".mp4
)

上記コードをメモ帳にコピー&ペースト。

「名前を付けて保存」、ファイル名「〇〇〇.bat」、ファイルの種類「すべてのファイル」で変換元動画ファイルと同じフォルダに保存

出来上がった.batファイルをダブルクリックすると例の黒ウインドウが立ち上がり、動画の変換が始まり、「output」フォルダに書き出される。

便利なバッチコード例

フォルダ内のmp4動画データをいいかんじに再圧縮して一括で軽量化する

for %%f in (*.mp4) do (
ffmpeg -y -i "%%~nf".mp4 -c:v libx264 -crf 23 -codec:a copy -movflags faststart "output\%%~nf".mp4
)

「-crf 23」のところが、圧縮後の映像品質を指定する数値。

数が小さいほど圧縮率が低く品質が良い。18以下は容量増えても、ほぼ品質が変わらない。24以上は画質の劣化が目立ってくる。


Web用動画(YouTubeアップロードにも使用)

for %%f in (*.mp4) do (
ffmpeg -y -i "%%~nf".mp4 -movflags +faststart -c:a aac -ac 2 -ar 48000 -ab 256k -aac_coder twoloop -c:v libx264 -crf 20 -profile:v high -bf 2 -r 30 -g 30 -coder 1 -pix_fmt yuv420p "output\%%~nf".mp4
)

「-ab 256k」音声の品質。数が大きいほど高品質。128kで十分実用。
「-crf 20」数が小さいほど高品質、大容量。


フォルダ内のmovファイルをmp4に一括変換

for %%f in (*.mov) do (
ffmpeg -y -i "%%~nf".mov -movflags +faststart -c:a aac -ac 2 -ar 48000 -ab 256k -aac_coder twoloop -c:v libx264 -crf 20  -pix_fmt yuv420p "output\%%~nf".mp4
)

「for %%f in (*.mov) 」と「ffmpeg -y -i "%%~nf".mov」のところの「.mov」を変えると他形式にも対応可。

上記参考:mtsファイルをmp4に変換

for %%f in (*.mts) do (
ffmpeg -y -i "%%~nf".mts -movflags +faststart -c:a aac -ac 2 -ar 48000 -ab 256k -aac_coder twoloop -c:v libx264 -crf 20 -pix_fmt yuv420p "output\%%~nf".mp4
)

インターレース解除してm2tsファイルをプログレッシブmp4に変換

for %%f in (*.m2ts) do (
ffmpeg -y -i "%%~nf".m2ts -movflags +faststart -c:a aac -ac 2 -ar 48000 -ab 256k -aac_coder twoloop -vf yadif=0:-1:1 -c:v libx264 -crf 20 -pix_fmt yuv420p "output\%%~nf".mp4
)

「-vf yadif=0:-1:1」がインターレース解除


複数のサイズが異なる動画の解像度を一気に統一

for %%f in (*.mp4) do (
ffmpeg -y -i "%%~nf".mp4 -movflags +faststart -c:a aac -ac 2 -ar 48000 -ab 256k -aac_coder twoloop -vf "scale=-1:1080:force_original_aspect_ratio=decrease,pad=ceil(iw/2)*2:1080:(ow-iw)/2:(oh-ih)/2" -c:v libx264 -crf 20 -pix_fmt yuv420p "output\%%~nf".mp4
)

「-vf scale=-1:1080」と「pad=ceil(iw/2)*2:1080」がサイズの指定。縦の解像度1080、縦横比は素材に準ずる。


ストリーミング用フルHD版とSD版同時書き出し

変換元は1920x1080ビットレート高めのmp4

for %%f in (*.mp4) do (
ffmpeg -y -i "%%~nf".mp4 -c:v libx264 -crf 23 -r 30 -g 30 -codec:a aac -aac_coder twoloop -ar 48000 -ab 128k -movflags faststart "output\%%~nf"h.mp4
ffmpeg -y -i "%%~nf".mp4 -c:v libx264 -crf 23 -s 960x540 -r 30 -g 30 -codec:a aac -aac_coder twoloop -ar 48000 -ab 128k -movflags faststart "output\%%~nf"s.mp4
)

「ffmpeg -y -i "%%~nf".mp4」のところと「ffmpeg -y -i "%%~nf".mp4」(2個所)のところのmp4を書き換えれば他の形式からの変換も可能


保存用に低容量にしても画質があまり落ちないh265に変換

変換元はh264のmp4

for %%f in (*.mp4) do (
ffmpeg -y -i "%%~nf".mp4 -c:v libx265 -crf 23 -codec:a copy -movflags faststart "output\%%~nf".mp4
)

カテゴリ/FFmpeg
》詳細
1