複数の動画を一括で別のファイル形式に変換したい場合があるので、FFmpegを使ってフォルダ内のaviをmp4に一括変換するバッチファイルを作ってみた。
FFmpeg とは
FFmpegはオープンソースのエンコーダです。多くのコーデックに対応しているのが特長で、昔からある有名なソフトです。
FFmpegは様々なコーデックに対応していますが、使用するコーデックによっては有料のライセンス契約が必要な場合があるので注意が必要です。
仕事で使用する場合は基本的にAdobe製品を使用するのが安全です。
mp4に一括変換するバッチファイル
FFmpegはGUIがないので、コマンドラインから使用しなければならないのが面倒です。
そこで、フォルダ内の動画ファイルを一括で.mp4に変換するコマンドをAIに書いてもらいました。
@echo off
REM 変換元および出力ディレクトリを指定(この例では同じディレクトリを使用)
set "input_dir=%~dp0"
set "output_dir=%~dp0"
REM FFmpegのパスを指定(システムパスに設定している場合は省略可)
set "ffmpeg_path=c:\ffmpeg\bin\ffmpeg.exe"
REM input_dir内のすべてのAVIファイルを検索して変換
for %%f in ("%input_dir%*.avi") do (
REM ファイル名と拡張子を分離
set "filename=%%~nf"
REM AVIをMP4に変換
"%ffmpeg_path%" -i "%%f" -vcodec libx264 -acodec aac "%output_dir%\%%~nf.mp4"
)
echo 変換が完了しました。
pause
上のソースをテキストファイルにコピーして、ファイルの拡張子を「.bat」にして保存します。
- 「ffmpeg.exe」のパスは自分のPCのインストール環境に合わせて書き換える必要があります。
- テキストファイルの形式は「シフト JIS」を使用します。
動画ファイルと同じディレクトリに.bat をコピーして、.bat をダブルクリックするだけで「.avi」を「.mp4」に変換できます。
「.mov」を「.mp4」に変換したい場合は、テキスト内の「.avi」を「.mov」に書き換えればOKです。
普段は Adobe Media Encoder で一括変換しているので問題ないのですが、昔の動画だとAdobe製品ではファイル破損エラーで読み込めないことがありました。
Adobe製品ではエラーになって読み込めないが、メディアプレイヤーでは普通に再生できるので他のソフトでは大丈夫というケースがあります。今回は趣味のサイトいじりで必要になったので、記事にしてみました。
関係ないですが、古いバージョンのOpticalFlaresが入ってると、Media Encoderが起動時にスプラッシュウィンドウでクラッシュするみたいですね。最新版のOpticalFlaresをインストールしたらクラッシュが解消しました。