mp4 圧縮 オフライン:動画ファイルを小さくする完全ガイド

Sulaiman Aarbi

Updated on:

MP4(MPEG-4 Part 14)は、現代のデジタル動画のデファクトスタンダードです。スマートフォン、デジタルカメラ、ストリーミングサービス、監視カメラ——ほぼすべてのデバイスがMP4を出力します。しかし、その汎用性の裏側に潜む問題がファイルサイズの肥大化です。4K 60fpsで5分撮影すれば1GBを超えることも珍しくありません。

この問題を解決する手段がMP4圧縮です。特にオフライン環境での圧縮は、インターネット接続不要プライバシー完全保護高速処理という3大メリットを兼ね備えています。


MP4の構造とコンテナの役割

MP4はコンテナ形式です。動画(H.264/H.265)、音声(AAC)、字幕、メタデータを1つのファイルに格納します。

text

┌─────────────────────┐
│      MP4 コンテナ      │
├────────┬────────────┤
│ 動画軌道│ H.264/AVC   │
│ 音声軌道│ AAC LC      │
│ 字幕軌道│ 3GPP Timed  │
│ メタデータ│ ISO/IEC 14496│
└────────┴────────────┘

この柔軟性が普及の理由ですが、同時に冗長データを生みやすい構造でもあります。

MP4が肥大化する3つの要因

要因説明
高ビットレート画質優先のエンコード4K 50Mbps
可変フレームレート(VFR)録画時のフレームドロップスマホ撮影
未圧縮音声PCM音声の混入48kHz 16bit

オフライン圧縮の絶対的優位性

オンライン圧縮ツールの問題点

問題詳細
プライバシー漏洩動画がクラウドにアップロードされる
通信制限1GBの動画をWi-Fiなしで送信不可
処理待ちサーバー混雑で数時間待機
透かし強制無料プランでロゴ挞入

オフライン圧縮の8大メリット

  1. ゼロ通信コスト
  2. 即時処理開始
  3. GPUフル活用(NVENC/QuickSync)
  4. バッチ処理可能(100ファイル一括)
  5. カスタムスクリプト化
  6. 電源断対策(進捗保存)
  7. 企業内機密動画対応
  8. 災害時でも使用可能

圧縮の科学:ロスレス vs ロッシー

ロスレス圧縮の限界

アルゴリズム圧縮率CPU負荷
FFV12-3倍極高
HuffYUV1.5-2倍

実用的ではない(4Kで数TB必要)

ロッシー圧縮のメカニズム

  1. DCT変換(離散コサイン変換)
  2. 量子化(人間の目で気づきにくい周波数を削減)
  3. 動き予測(P/Bフレーム)
  4. エントロピー符号化(ハフマン/VLC)

text

元フレーム → 動き補償 → 残差 → DCT → 量子化 → 符号化 → MP4

ビットレートと画質の黄金比

解像度推奨ビットレート用途
480p800-1200kbpsメール
720p1500-2500kbpsSNS
1080p3000-5000kbpsYouTube
4K12000-25000kbpsアーカイブ

オフライン圧縮ツール大全(20選)

1. HandBrake:GUIの王者

詳細機能解説

  • プリセット:120種類以上(AppleTV、Roku、Discord対応)
  • フィルタ
    • デインターレース(Comb Detect / Yadif)
    • デノイズ(NLMeans / HQDN3D)
    • デブロック
  • ハードウェアエンコード
    • NVENC(NVIDIA 6xxxシリーズ以上)
    • QSV(Intel 6th Gen以上)
    • VCE(AMD RXシリーズ)

究極の設定例(1080p 30fps, 85%圧縮)

json

{
  "Preset": "HQ 1080p30 Surround",
  "VideoEncoder": "x264",
  "VideoFramerate": "30",
  "VideoTune": "film",
  "VideoOptionExtra": "ref=5:bframes=5:me=umh:merange=24:subme=10",
  "x264Preset": "slow",
  "x264Profile": "high",
  "VideoAvgBitrate": 3200,
  "VideoTwoPass": true,
  "AudioCopy": false,
  "AudioEncoder": "av_aac",
  "AudioBitrate": 160,
  "AudioMixdown": "dpl2",
  "ChapterMarkers": true
}

2. FFmpeg:コマンドラインの神

インストール詳細

Windows(winget)

powershell

winget install ffmpeg

macOS(Conda)

bash

conda install -c conda-forge ffmpeg

100の圧縮パターン

  1. 超高速(リアルタイム)

bash

ffmpeg -i input.mp4 -c:v h264_nvenc -preset fast -b:v 2500k output.mp4
  1. 最高画質(CRF 18)

bash

ffmpeg -i input.mp4 -c:v libx264 -preset veryslow -crf 18 -c:a aac -b:a 192k output.mp4
  1. アニメ向け(フラット領域最適化)

bash

ffmpeg -i input.mp4 -vf "hqdn3d=3:3:4:4" -c:v libx264 -tune animation -crf 22 output.mp4

バッチ処理スクリプト(1000ファイル)

bash

#!/bin/bash
for file in *.mp4; do
  ffmpeg -i "$file" -c:v libx264 -crf 23 -preset fast -c:a aac -b:a 128k "compressed/${file%.*}.mp4"
done

3. Shutter Encoder:FFmpegのGUI版

  • ドラッグ&ドロップ対応
  • ハードウェア検出自動化
  • 出力プロファイル:TikTok、Instagram Reels最適化

4. Shotcut:編集+圧縮

高度フィルタスタック

  1. GPU処理 → gpufilter
  2. LUT適用 → シネマティック補正
  3. オーディオコンプレッサー → 音量均一化

5. Avidemux:軽量シンプル

  • カット編集+再エンコードなし(コピー圧縮)
  • VFR→CFR変換フィルタ内蔵

モバイルオフライン圧縮(Android/iOS)

Androidアプリ詳細

アプリ最大解像度バッチGPU
YouCut4K
CapCut4K
VN4K

YouCut 高度テクニック

  1. カスタム解像度:1920×1080 → 1280×720
  2. H.265エンコード:50%追加圧縮
  3. 音声除去:BGM差し替えで-30MB

画質評価の科学

客観的指標

指標計算式理想値
PSNR10*log10(MAX^2/MSE)>40dB
SSIM(2μxμy+C1)(2σxy+C2)/(μx²+μy²+C1)/(σx²+σy²+C2)>0.98
VMAFNetflix開発>93

FFmpegでVMAF測定

bash

ffmpeg -i original.mp4 -i compressed.mp4 -lavfi libvmaf="model=path=model/vmaf_v0.6.1.pkl" -f null -

実践ケーススタディ

ケース1:監視カメラ映像(30日分)

  • :720p 15fps, 1日12GB → 360GB
  • 圧縮:480p 10fps, CRF 28 → 1日1.2GB(90%減)
  • 保持期間:30日 → 300日に延長

ケース2:結婚式ムービー(4K 60fps)

  • :120GB(3時間)
  • 目標:Blu-ray 1枚(25GB)
  • 手法
    1. 1080p 30fps変換
    2. 2パスVBR(平均8Mbps)
    3. 音声AC3 5.1ch
  • 結果:22GB(81%圧縮)、プロ級画質

トラブルシューティング完全版

症状原因解決
音ズレVFR-r 30
ブロックノイズ低ビットレートCRF↓ or 2pass
緑画面古いプレーヤー-pix_fmt yuv420p
処理中断メモリ不足-threads 4
ファイル破損停電–recovery

応用テクニック

1. セグメント圧縮+マージ

bash

# 10分ごとに分割
ffmpeg -i input.mp4 -c copy -map 0 -segment_time 600 -f segment part%03d.mp4

# 並列圧縮
parallel ffmpeg -i {} -c:v libx264 -crf 23 compressed_{} ::: part*.mp4

# 再マージ
ffmpeg -f concat -i list.txt -c copy final.mp4

2. 条件付き圧縮(サイズ指定)

bash

TARGET=100M  # 100MB
SIZE=$(ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 input.mp4)
BITRATE=$(( TARGET * 8192 / SIZE ))
ffmpeg -i input.mp4 -b:v ${BITRATE}k output.mp4

将来の圧縮技術

技術圧縮率対応状況
AV1H.264の2倍FFmpeg 4.4+
VVCH.265の1.5倍実験段階
LCEVC+30%効率商用化済

結論:オフライン圧縮マスターへの道

  1. 目的定義(画質 vs サイズ)
  2. ツール選択(HandBrake → FFmpeg)
  3. テスト圧縮(10秒クリップ)
  4. 本番実行(バッチ処理)
  5. 品質検証(VMAF > 90)

オフラインMP4圧縮は、デジタルライフの必需スキルです。ストレージを節約し、共有を高速化し、プライバシーを守る——これらすべてを無料で実現できます。

今すぐHandBrakeをダウンロードし、最初の動画を圧縮してみてください。1GBが100MBになる感動を、あなたの手で体験してください。

Leave a Comment