この記事でわかること
- 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
使用可能なプロファイル: baseline、main、high
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