【FFmpeg】120fpsの動画をヌルヌルな60fpsの動画に出力する
動画編集

【FFmpeg】120fpsの動画をヌルヌルな60fpsの動画に出力する

120fpsや240fpsで録画した動画をフレームブレンディングで滑らかな60fps動画に変換する方法

hakasaku

hakasaku

公開日: 2025年3月28日

【FFmpeg】120fpsの動画をヌルヌルな60fpsの動画に出力する

はじめに

120fpsや240fpsで録画した動画を60fpsで書き出すと、余分なフレームが削除されるため、60fpsで録画した場合と変わらず、高fpsで録画する意味がなくなってしまいます。

フレームを混ぜることで、モーションブラーがかかったような滑らかな60fpsの動画を出力できます。

本記事はbatを使用するためWindows向けになりますが、不要な行を削除すれば他OSでも使用可能です。

参考にしたreddit:高fps動画の60fps変換について

FFmpegのインストール(未導入の場合)

動画の変換にはFFmpegを使用するため、まだ導入していない方はインストールしてください。

以下の記事を参考に導入してください。

FFmpegのインストール方法 - Qiita

BATファイルの作成

複数ファイルの処理や定期的な変換を行いたい場合、毎回コマンドを入力するのは手間なので、batファイルを作成し、動画をドラッグ&ドロップで変換できるようにします。

BATファイルのダウンロード(Google Drive)

今回は分かりやすくするため、Dドライブに"FFmpeg_videos"というフォルダを作成し、batファイルを配置しました。

FFmpegフォルダ

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"を追加して出力