2026年 跨区域リモートMac M4:VideoToolbox ハードウェア並列トランスコード、メモリ帯域、キュー タイムアウトの意思決定マトリクス

2026年4月8日 · 約7分 · MacCompute テクニカルチーム · ガイド

VideoToolbox は並列無制限ではなく、ユニファイドメモリAPFS IO が同時セッションを決めます。ソースが遠いとデコード待ちが支配的です。本稿は 算力レンタル の実務マトリクス。ProRes・16/24GBリージョン・TCO を併読してください。

VideoToolbox セッション数と解像度しきい値表

下表は レンタル M4 の VT エンコード 同時本数 の保守的出発点です(h264_videotoolbox / hevc_videotoolbox)。GOP・ビットレートで必ず検証してください。

主出力ラスタ M4 16GB:初期値 M4 24GB:初期値 増やす前の兆候
1080p24–30 VT エンコード 3 並列 VT エンコード 4 並列 スワップは安定でも ディスク が常時飽和 → 1本減らすか入出力をボリューム分散。
1080p50–60 2 並列 3 並列 1分あたりエンコード時間の伸び → メモリ/帯域制約。HDR や 10bit レーンは直列化を検討。
4K24–30(8bit SDR 典型) 主1本+軽量(プロキシ/音声) フルエンコード 2 並列 セグメント時間のばらつき → 4K60 は 16GB では原則1本に。
4K50–60 または高ビットレート 4K エンコード 1 のみ 1〜2(計測で証明) 並列の CPU フィルタ が同一メモリファブリックを奪う → 解析は別キューへ。
VT 並列の目安。メモリ圧力と実素材で調整。

ffmpeg(Apple Silicon):デコード試行後 VT エンコード(ビットレートは配信に合わせる):

ffmpeg -hide_banner -hwaccel videotoolbox -i input.mov \
  -c:v h264_videotoolbox -b:v 12M -maxrate 14M -bufsize 28M \
  -pix_fmt yuv420p -c:a aac -b:a 192k output_1080p.mp4

HEVC(QuickTime 向けタグ):

ffmpeg -hwaccel videotoolbox -i input.mov \
  -c:v hevc_videotoolbox -tag:v hvc1 -b:v 20M \
  -c:a copy output_hevc.mov

CPU フィルタは -hwaccel videotoolbox の効果を相殺しがちです。

並行タスクとメモリ/ストレージ IO

16GB では 4K 2本まで許容でも、ProRes 中間が重なると遅延だけが先に膨らみます。IO は 同一高速 APFS に寄せ、空き 約15%、ディスクあたりの同時書き込み本数を制限してください。

CPU 前処理と VT は 並列上限を分離 し、前処理1キュー → VT1キューが安定しやすいです。

ノード選定(遅延/リージョン)

オブジェクトストアが遠いと 読み取り が支配的です。エンコーダより データ面の RTT を先に揃えてください。

ソースの置き場 推奨 Mac ノード VT に効く理由
東京リージョンの S3 / GCS / Azure 日本(同一メトロのピアリングが望ましい) シーケンシャル読みの停滞が デコード起動 を遅らせる。範囲読みの MP4/MOV は RTT に敏感。
米西の社内 NAS(VPN) 米国西部レンタル トンネル RTT が支配的。エンコーダより 並列リーダー数を減らす 方が効く場合がある。
シンガポール近傍 CDN シンガポールまたは最寄り APAC エッジ キャッシュヒット地域 とワーカーを揃え、ジョブごとに太平洋横断取得を避ける。
データ面にワーカーを寄せる。

取り込みと納品でノードを分けると速い場合があります。SSH 初手は SSH/VNC チェックリスト へ。

キュー タイムアウトと再試行パラメータ

HTTP タイムアウト・SSH アイドル・ジョブ TTL が重なります。期限は 尺とビットレート から決め、固定一本にしないでください。

  • 壁時計: ローカル基準の 約3倍 から。
  • 読み取り: -rw_timeout / -stimeout をプロトコルに合わせ明示。
  • 再試行: .part → リネームで冪等化。バックオフ 30秒・2分・8分、多くは3回まで。
  • 長い GOP: セグメント化で再試行コストを下げる。

GNU timeout で ffmpeg に硬い壁を付ける例:

timeout 45m ffmpeg -nostdin -hwaccel videotoolbox -i "$SRC" \
  -c:v hevc_videotoolbox -b:v 18M -c:a copy "$DST.part" \
  && mv "$DST.part" "$DST"

macOS は gtimeout またはオーケストレータの上限で代替。

FAQ

x264 混在: 可だが VT と別上限。ソフトエンコーダは帯域の取り方が異なります。

スリープ: システムスリープは効く。caffeinate 等を確認。

レンタルが有利なとき: リージョン分散・短期ピーク。判断は TCO 記事、単価は 料金 で。

まとめ

解像度表で並列を決め、CPU と VT を分離し、IO とデータ面を揃え、タイムアウトと再試行を跨区域向けに伸ばす。

購入へ