PR

【完全初心者向け】動画の音量差を一括で最適化するハンズオン(Windows11+FFmpeg)


【完全初心者向け】動画の音量差を一括で最適化するハンズオン(Windows11+FFmpeg)


はじめに

WEBやyoutubeなどからダウンロードした動画ファイル(mp4形式)には、音量(ラウドネス)のバラつきがよく見られます。
再生するたびに「音が大きすぎる」「小さすぎる」と感じるのは、音量の中央値(≒ラウドネスレベル)が揃っていないためです。

本記事では、最小の手間で、複数ファイルを一括・自動で「適正音量化」する手順を解説します。


前提条件

  • OS:Windows11
  • FFmpeg:すでにインストール済みで、パスも通っている(ffmpeg -versionがコマンドプロンプトで通る)
  • 対象ファイル:特定フォルダ配下の.mp4ファイルすべて

そもそも音量の「最適化」とは?

  • 動画編集における音量最適化とは、すべてのファイルを一定の基準ラウドネス(例:-23 LUFS、-18 LUFSなど)に揃える作業を指します。
  • 一般的な基準は国や用途で異なりますが、YouTube配信用コンテンツでは**-14 LUFS**前後が推奨されています。

LUFSとは?
Loudness Units relative to Full Scaleの略。人間の聴感に合わせた実用的な音量指標です。


本記事で目指すゴール

  • 特定フォルダのmp4動画すべてに対して
  • 音量レベルを一括解析 → 最適な音量に正規化
  • 手動作業を最小化し、再現性・自動化できる形にする

必要なもの

  • コマンドプロンプト(標準で入っています)
  • テキストエディタ(メモ帳でもOKですが、VSCode推奨)
  • バッチファイル作成スキル(簡単です!)

実践ハンズオン手順

Step1:作業用フォルダを準備

  1. デスクトップなどに、作業用フォルダを作成
    • フォルダ名例:C:\Users\あなたの名前\Desktop\videos
  2. その中に、音量を整えたいmp4ファイルをすべて入れる。

Step2:必要なFFmpegコマンドを理解する

音量を正規化するには2ステップあります:

  1. analyze(音量解析)
  2. normalize(音量補正)

代表的なFFmpegコマンド:

【解析コマンド】

ffmpeg -i input.mp4 -af loudnorm=I=-14:TP=-1.5:LRA=11:print_format=json -f null -
  • I=-14:目標ラウドネス -14 LUFS
  • TP=-1.5:最大ピーク -1.5dB
  • LRA=11:ラウドネスレンジ11

※このコマンドは画面に解析結果(必要な補正値)を表示するだけ。


【補正コマンド】

ffmpeg -i input.mp4 -af loudnorm=I=-14:TP=-1.5:LRA=11:measured_I=-xx:measured_LRA=-xx:measured_TP=-xx:measured_thresh=-xx:offset=-xx:linear=true:print_format=summary -c:v copy output.mp4

ここで-xxにはStep1で解析した値を入れる。


Step3:手間を減らすため、バッチファイルを作る

すべて自動化するには、2回処理します:

  1. 各ファイルの解析結果(json)を保存
  2. 解析結果に基づいて補正実行

Step4:バッチファイル(スクリプト)作成

analyze.bat(解析フェーズ)

@echo off
setlocal enabledelayedexpansion
set "input_folder=C:\Users\あなたの名前\Desktop\videos"
set "output_folder=C:\Users\あなたの名前\Desktop\analyze_results"

mkdir "%output_folder%"

for %%f in ("%input_folder%\*.mp4") do (
    set "filename=%%~nf"
    ffmpeg -i "%%f" -af loudnorm=I=-14:TP=-1.5:LRA=11:print_format=json -f null - > "%output_folder%\!filename!.json"
)

echo 解析完了!
pause

normalize.bat(補正フェーズ)

※解析結果(json)を使って音量正規化するバージョン。

@echo off
setlocal enabledelayedexpansion
set "input_folder=C:\Users\あなたの名前\Desktop\videos"
set "output_folder=C:\Users\あなたの名前\Desktop\normalized_videos"
set "analyze_folder=C:\Users\あなたの名前\Desktop\analyze_results"

mkdir "%output_folder%"

for %%f in ("%input_folder%\*.mp4") do (
    set "filename=%%~nf"
    
    for /f "usebackq tokens=*" %%a in ("%analyze_folder%\!filename!.json") do (
        set "json=%%a"
    )

    rem 実際にはjsonから必要パラメータ(measured_I, measured_TP, etc)をパースする必要があるが、
    rem 初心者向けに簡単版として「解析せず1回目だけloudnormする」方法も可

    ffmpeg -i "%%f" -af loudnorm=I=-14:TP=-1.5:LRA=11:linear=true:print_format=summary -c:v copy "%output_folder%\!filename!_normalized.mp4"
)

echo 正規化完了!
pause

【補足】初心者がつまづきやすい注意点

  • パスにスペースが含まれる場合は必ず " で囲む。
  • ファイル数が多いと時間がかかるので、夜間バッチ推奨。
  • 元ファイルは必ずバックアップを取る。
  • 完璧な正規化にはjson解析+2パス処理が理想だが、簡易的には1パスでも実用十分。

【参考文献・出典】


まとめ

本記事では、
**「音量バラバラな動画を、誰でも・再現性高く・無料で一括最適化する方法」**を紹介しました。

一度スクリプトを作れば、次回以降は → フォルダにファイルを入れる → バッチをダブルクリックする
だけで自動処理できます。

これにより、作業時間を圧倒的に削減し、
本来やりたい「動画編集」や「収益化活動」にリソースを集中できます。

コメント

タイトルとURLをコピーしました