この記事でわかること

  • VideoToolboxとは何か、どのMacで使えるか
  • h264_videotoolbox および hevc_videotoolbox の基本的な使い方
  • ビットレート・品質オプションの設定方法
  • Apple Silicon固有のポイント
  • よくあるエラーと対処法

テスト済みバージョン: FFmpeg 6.1(macOS / Apple Silicon環境)
対象 OS: macOS 10.8以降(Intel/Apple Silicon共通)


VideoToolboxとは

VideoToolboxはmacOSに内蔵されているハードウェアビデオエンコード・デコードフレームワークです。MacのGPU(Intel iGPU、Apple Siliconの内蔵GPU)を使用して動画を高速にエンコードします。

Mac対応コーデック
Intel Mac(2011以降)H.264
Intel Mac(2017以降)H.264, H.265
Apple Silicon(M1/M2/M3)H.264, H.265, ProRes(一部)

前提条件

VideoToolboxはmacOSに標準で含まれているため、特別なドライバーは不要です。ただしFFmpegがVideoToolbox対応でビルドされている必要があります。

HomebrewのFFmpegは標準でVideoToolboxを有効にしています:

※ このコマンドはApple Silicon/macOS環境が必要です
brew install ffmpeg

対応エンコーダーの確認:

※ このコマンドはApple Silicon/macOS環境が必要です
ffmpeg -encoders | grep videotoolbox

h264_videotoolbox の基本コマンド

※ このコマンドはApple Silicon/macOS環境が必要です
ffmpeg -i input.mp4 -c:v h264_videotoolbox -b:v 4M -c:a aac -b:a 128k output_vt.mp4

重要: VideoToolboxはCRFモード(-cq)をサポートしておらず、ビットレート指定(-b:v)が基本です。


hevc_videotoolbox(H.265)

※ このコマンドはApple Silicon/macOS環境が必要です
ffmpeg -i input.mp4 -c:v hevc_videotoolbox -b:v 2M -c:a aac -b:a 128k output_hevc_vt.mp4

H.265はH.264と同等の品質でファイルサイズを約40〜50%削減できます。


ビットレート制御オプション

オプション説明
-b:v 4Mターゲットビットレート(4 Mbit/s)
-maxrate 6M最大ビットレート(VBRの上限)
-bufsize 8Mバッファサイズ(-maxrate と併用)

品質を優先するVBR設定例:

※ このコマンドはApple Silicon/macOS環境が必要です
ffmpeg -i input.mp4 -c:v h264_videotoolbox -b:v 5M -maxrate 8M -bufsize 10M -c:a aac output.mp4

Proファイル指定

H.264のプロファイルを指定できます:

※ このコマンドはApple Silicon/macOS環境が必要です
ffmpeg -i input.mp4 -c:v h264_videotoolbox -profile:v high -b:v 4M output.mp4

使用可能なプロファイル: baselinemainhigh


Apple Silicon (M1/M2/M3) 固有のポイント

Apple SiliconのMacではより効率的なメディアエンジンが搭載されており、FFmpegのVideoToolboxはこれを自動的に使用します。特別なオプションは不要です。

macOS 13(Ventura)以降では hevc_videotoolbox でHDR(Dolby Vision, HDR10)コンテンツも扱える場合があります:

※ このコマンドはApple Silicon/macOS環境が必要です
ffmpeg -i input_hdr.mp4 -c:v hevc_videotoolbox -b:v 8M -tag:v hvc1 output_hdr.mp4

-tag:v hvc1 はAppleデバイス(iPhone、iPad、Apple TV)での再生互換性のために推奨されます。


よくあるエラーと対処法

Encoder h264_videotoolbox not found

  • FFmpegがVideoToolbox対応でビルドされていない
  • Homebrew版 (brew install ffmpeg) を使用する
  • ffmpeg -encoders | grep videotoolbox で確認

Error: -2 (codec not currently supported in this container format)

  • H.265を.aviなどの非対応コンテナに出力しようとしている
  • 出力を .mp4 または .mov に変更する

品質が低い・ブロックノイズが出る

  • VideoToolboxはCRFモード非対応のため -b:v を高めに設定する(5M〜8M)
  • 高品質が必要な場合は libx264 / libx265 ソフトウェアエンコードを検討

ソフトウェアエンコードとの使い分け

用途推奨
高品質アーカイブlibx264 / libx265(ソフトウェア)
高速変換・バッチ処理VideoToolbox
Final Cut Pro連携VideoToolbox(hvc1 タグ)
CRF品質制御が必要ソフトウェアエンコード

関連記事


一次ソース: trac.ffmpeg.org/wiki/HWAccelIntro / developer.apple.com/documentation/videotoolbox