はるさめ氏の日常

主に弱電とマイコンを扱っています.たまにネットワークやサーバなども.

FFmpeg で各種動画ファイルを MP4 に変換する便利バッチファイルを作る

OBS などで画面収録したりキャプチャ映像を録画したりする際,MKV 形式で保存することは多いと思います.
OBS の場合,標準で録画終了時に自動的に MP4 形式に最多重化する機能がありますが,私は使っていません.これは実際に使う分だけ変換するようにしたく,すべて最多重化する処理を入れてしまうと,使わない分も変換することになってしまい,無駄だからです.

というわけで,変換したいファイルだけ取り出してバッチを走らせばいいようにしてみました.

具体的には以下の通り

@echo off

for /r F:\ %%f in (*.mkv) do (
  ffmpeg -i %%f "%%~dpnf".mp4
)

pause

これをテキストファイルで保存し,ファイル名を mkv2mp4.bat のようにすれば OK.
このバッチファイルを OBS の録画ファイルが置かれるディレクトリに配置し,変換したいやつだけを残してバッチを起動するだけでいいのでわざわざコマンドを打つ手間がなくなります.
ワイルドカードで指定しているので,.mkv のファイルはすべて変換されます.ファイル名は維持されます.

無劣化で変換したければ -c copy を追加しましょう.