
動画編集
【FFmpeg】120fpsの動画をヌルヌルな60fpsの動画に出力する
120fpsや240fpsで録画した動画をフレームブレンディングで滑らかな60fps動画に変換する方法

hakasaku
公開日: 2025年3月28日
【FFmpeg】120fpsの動画をヌルヌルな60fpsの動画に出力する
はじめに
120fpsや240fpsで録画した動画を60fpsで書き出すと、余分なフレームが削除されるため、60fpsで録画した場合と変わらず、高fpsで録画する意味がなくなってしまいます。
フレームを混ぜることで、モーションブラーがかかったような滑らかな60fpsの動画を出力できます。
本記事はbatを使用するためWindows向けになりますが、不要な行を削除すれば他OSでも使用可能です。
参考にしたreddit:高fps動画の60fps変換について
FFmpegのインストール(未導入の場合)
動画の変換にはFFmpegを使用するため、まだ導入していない方はインストールしてください。
以下の記事を参考に導入してください。
BATファイルの作成
複数ファイルの処理や定期的な変換を行いたい場合、毎回コマンドを入力するのは手間なので、batファイルを作成し、動画をドラッグ&ドロップで変換できるようにします。
今回は分かりやすくするため、Dドライブに"FFmpeg_videos"というフォルダを作成し、batファイルを配置しました。
batファイルのアイコンに120fpsの動画素材を重ねる形でドラッグ&ドロップすることで変換できます。
変換後は、動画ファイルを保存していたフォルダに出力されます。
batファイルを置く場所はどこでも構いませんが、ファイル名を英語にしないとエラーが発生することがあります。
BATファイルの内容
@echo off
setlocal enabledelayedexpansion
if "%~1"=="" (
echo ファイルをこのbatファイルにドラッグ&ドロップしてください。
pause
exit /b
)
for %%i in (%*) do (
set "input=%%~i"
set "output=%%~dpni_60fps%%~xi"
echo 変換中: %%~nxi
ffmpeg -i "!input!" -filter:v "minterpolate=fps=60:mi_mode=mci:mc_mode=aobmc:vsbmc=1" -c:a copy "!output!"
if !errorlevel! equ 0 (
echo 変換完了: %%~nxi
) else (
echo エラーが発生しました: %%~nxi
)
)
echo すべての変換が完了しました。
pause
このBATファイルは以下の機能を持ちます:
- 複数ファイルの一括処理対応
- フレームインターポレーション(minterpolate)を使用
- 音声は無劣化でコピー
- 元ファイル名に"_60fps"を追加して出力