Skip to main content
このガイドでは、オンライン動画・CTV・ストリーミングプラットフォーム向けに、AdCP が動画広告フォーマットをどのように表現するかを説明します。

動画フォーマットの特徴

動画フォーマットには次が含まれます。
  • ホスト型動画 - パブリッシャーのアドサーバーが配信する動画ファイル URL
  • VAST タグ - サードパーティアドサーバーが返す VAST/VPAID XML URL
  • インライン VAST XML - クリエイティブマニフェスト内に完全な VAST XML を記載
  • 複数解像度 - 同一クリエイティブを異なるエンコードプロファイルで用意
動画広告はコンテンツの前(プリロール)・途中(ミッドロール)・後(ポストロール)に再生されるほか、フィード内のアウトストリーム動画としても配信されます。

標準動画フォーマット

横型動画(時間別)

15 秒動画

{
  "format_id": {
    "agent_url": "https://creative.adcontextprotocol.org",
    "id": "video_15s"
  },
  "type": "video",
  "assets": [
    {
      "asset_id": "video_file",
      "asset_type": "video",
      "asset_role": "hero_video",
      "required": true,
      "requirements": {
        "duration": "15s",
        "format": ["MP4"],
        "codec": "H.264",
        "resolution": ["1920x1080", "1280x720"],
        "max_file_size_mb": 30,
        "bitrate_min": "4Mbps",
        "bitrate_max": "10Mbps",
        "audio_codec": "AAC"
      }
    }
  ]
}

30 秒動画

{
  "format_id": {
    "agent_url": "https://creative.adcontextprotocol.org",
    "id": "video_30s"
  },
  "type": "video",
  "assets": [
    {
      "asset_id": "video_file",
      "asset_type": "video",
      "asset_role": "hero_video",
      "required": true,
      "requirements": {
        "duration": "30s",
        "format": ["MP4"],
        "codec": "H.264",
        "resolution": ["1920x1080", "1280x720"],
        "max_file_size_mb": 50,
        "bitrate_min": "4Mbps",
        "bitrate_max": "10Mbps",
        "audio_codec": "AAC"
      }
    }
  ]
}

6 秒バンパー

{
  "format_id": {
    "agent_url": "https://creative.adcontextprotocol.org",
    "id": "video_6s"
  },
  "type": "video",
  "assets": [
    {
      "asset_id": "video_file",
      "asset_type": "video",
      "asset_role": "hero_video",
      "required": true,
      "requirements": {
        "duration": "6s",
        "format": ["MP4"],
        "codec": "H.264",
        "resolution": ["1920x1080", "1280x720"],
        "max_file_size_mb": 15,
        "bitrate_min": "4Mbps",
        "bitrate_max": "10Mbps"
      }
    }
  ]
}

縦型/モバイル動画

{
  "format_id": {
    "agent_url": "https://creative.adcontextprotocol.org",
    "id": "video_vertical_15s"
  },
  "type": "video",
  "assets": [
    {
      "asset_id": "video_file",
      "asset_type": "video",
      "asset_role": "hero_video",
      "required": true,
      "requirements": {
        "duration": "15s",
        "aspect_ratio": "9:16",
        "resolution": "1080x1920",
        "format": ["MP4"],
        "codec": "H.264",
        "max_file_size_mb": 30
      }
    }
  ]
}

CTV/OTT 動画

{
  "format_id": {
    "agent_url": "https://creative.adcontextprotocol.org",
    "id": "video_30s_ctv"
  },
  "type": "video",
  "assets": [
    {
      "asset_id": "video_file",
      "asset_type": "video",
      "asset_role": "hero_video",
      "required": true,
      "requirements": {
        "duration": "30s",
        "format": ["MP4"],
        "codec": "H.264",
        "resolution": "1920x1080",
        "max_file_size_mb": 35,
        "bitrate_min": "4Mbps",
        "bitrate_max": "8Mbps",
        "audio_codec": "AAC",
        "audio_channels": "stereo"
      }
    }
  ]
}

VAST タグフォーマット

サードパーティアドサーバー向け:
{
  "format_id": {
    "agent_url": "https://creative.adcontextprotocol.org",
    "id": "video_30s_vast"
  },
  "type": "video",
  "assets": [
    {
      "asset_id": "vast_tag",
      "asset_type": "url",
      "asset_role": "vast_url",
      "required": true,
      "requirements": {
        "vast_version": ["3.0", "4.0", "4.1", "4.2"],
        "duration": "30s"
      }
    }
  ]
}

VPAID インタラクティブ動画

{
  "format_id": {
    "agent_url": "https://creative.adcontextprotocol.org",
    "id": "video_30s_vpaid"
  },
  "type": "video",
  "assets": [
    {
      "asset_id": "vpaid_tag",
      "asset_type": "url",
      "asset_role": "vpaid_url",
      "required": true,
      "requirements": {
        "vpaid_version": ["2.0"],
        "duration": "30s",
        "api_framework": "VPAID"
      }
    }
  ]
}

クリエイティブマニフェスト

ホスト型動画マニフェスト

{
  "format_id": {
    "agent_url": "https://creative.adcontextprotocol.org",
    "id": "video_30s"
  },
  "assets": {
    "video_file": {
      "asset_type": "video",
      "url": "https://cdn.brand.com/spring_30s.mp4",
      "duration": 30,
      "width": 1920,
      "height": 1080,
      "format": "video/mp4",
      "codec": "H.264",
      "bitrate_kbps": 8000
    },
    "impression_tracker": {
      "asset_type": "url",
      "url_type": "tracker",
      "url": "https://track.brand.com/imp?buy={MEDIA_BUY_ID}&video={VIDEO_ID}&cb={CACHEBUSTER}"
    },
    "landing_url": {
      "asset_type": "url",
      "url_type": "clickthrough",
      "url": "https://brand.com/spring-sale?campaign={MEDIA_BUY_ID}"
    }
  }
}

VAST タグマニフェスト(URL 配信)

{
  "format_id": {
    "agent_url": "https://creative.adcontextprotocol.org",
    "id": "video_30s_vast"
  },
  "assets": {
    "vast_tag": {
      "asset_type": "vast",
      "delivery_type": "url",
      "url": "https://ad-server.brand.com/vast?campaign={MEDIA_BUY_ID}&cb={CACHEBUSTER}",
      "vast_version": "4.2"
    }
  }
}

インライン VAST XML マニフェスト

{
  "format_id": {
    "agent_url": "https://creative.adcontextprotocol.org",
    "id": "video_30s_vast"
  },
  "assets": {
    "vast_xml": {
      "asset_type": "vast",
      "delivery_type": "inline",
      "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<VAST version=\"4.2\">\n  <Ad>\n    <InLine>\n      <Impression><![CDATA[https://track.brand.com/imp?buy={MEDIA_BUY_ID}&cb=[CACHEBUSTING]]]></Impression>\n      <Creatives>\n        <Creative>\n          <Linear>\n            <Duration>00:00:30</Duration>\n            <MediaFiles>\n              <MediaFile delivery=\"progressive\" type=\"video/mp4\" width=\"1920\" height=\"1080\">\n                <![CDATA[https://cdn.brand.com/spring_30s.mp4]]>\n              </MediaFile>\n            </MediaFiles>\n            <VideoClicks>\n              <ClickThrough><![CDATA[https://brand.com/spring?campaign={MEDIA_BUY_ID}]]></ClickThrough>\n            </VideoClicks>\n          </Linear>\n        </Creative>\n      </Creatives>\n    </InLine>\n  </Ad>\n</VAST>",
      "vast_version": "4.2"
    }
  }
}

マルチ解像度マニフェスト

{
  "format_id": {
    "agent_url": "https://creative.adcontextprotocol.org",
    "id": "video_30s"
  },
  "assets": {
    "video_1080p": {
      "asset_type": "video",
      "url": "https://cdn.brand.com/spring_30s_1080p.mp4",
      "duration": 30,
      "width": 1920,
      "height": 1080,
      "bitrate_kbps": 8000
    },
    "video_720p": {
      "asset_type": "video",
      "url": "https://cdn.brand.com/spring_30s_720p.mp4",
      "duration": 30,
      "width": 1280,
      "height": 720,
      "bitrate_kbps": 5000
    },
    "video_480p": {
      "asset_type": "video",
      "url": "https://cdn.brand.com/spring_30s_480p.mp4",
      "duration": 30,
      "width": 854,
      "height": 480,
      "bitrate_kbps": 2500
    }
  }
}

動画専用マクロ

ユニバーサルマクロ に加えて、動画フォーマットでは以下をサポートします。

動画コンテンツコンテキスト

  • {VIDEO_ID} - コンテンツ動画の ID
  • {VIDEO_TITLE} - コンテンツ動画のタイトル
  • {VIDEO_DURATION} - コンテンツ長(秒)
  • {VIDEO_CATEGORY} - IAB コンテンツカテゴリ
  • {CONTENT_GENRE} - コンテンツジャンル(news, sports, comedy など)
  • {CONTENT_RATING} - コンテンツレーティング(G, PG, TV-14 など)
  • {PLAYER_WIDTH} / {PLAYER_HEIGHT} - プレーヤーのピクセル寸法

Ad Pod の位置

  • {POD_POSITION} - 広告ブレイク内の位置 (1, 2, 3, …)
  • {POD_SIZE} - ブレイク内の広告本数
  • {AD_BREAK_ID} - 広告ブレイクのユニーク ID

再生コンテキスト

  • {PLAYBACK_METHOD} - auto-play-sound-on / auto-play-sound-off / click-to-play
  • {PLAYER_SIZE} - small / medium / large / fullscreen
  • {VIDEO_PLACEMENT} - in-stream / in-banner / in-article / in-feed / interstitial

VAST マクロ

AdCP のマクロ({...})は IAB VAST 4.x マクロ[...])と併用できます。
  • [CACHEBUSTING] - キャッシュ防止のランダム値
  • [TIMESTAMP] - Unix タイムスタンプ
  • [DOMAIN] - パブリッシャードメイン
  • [IFA] - デバイス広告 ID (IDFA/AAID)
  • [REGULATIONS] - プライバシー規制シグナル(GDPR, CCPA)
  • [DEVICEUA] - デバイスの UA 文字列
両方のマクロを併用する例:
https://track.brand.com/imp?
  buy={MEDIA_BUY_ID}&
  video={VIDEO_ID}&
  device=[IFA]&
  domain=[DOMAIN]&
  cb=[CACHEBUSTING]

動画トラッキングアセット

標準トラッキングイベント

{
  "format_id": {
    "agent_url": "https://creative.adcontextprotocol.org",
    "id": "video_30s"
  },
  "assets": {
    "video_file": {
      "asset_type": "video",
      "url": "https://cdn.brand.com/video_30s.mp4"
    },
    "impression_tracker": {
      "asset_type": "url",
      "url_type": "tracker",
      "url": "https://track.brand.com/imp?buy={MEDIA_BUY_ID}&cb={CACHEBUSTER}"
    },
    "start_tracker": {
      "asset_type": "url",
      "url_type": "tracker",
      "url": "https://track.brand.com/start?buy={MEDIA_BUY_ID}&cb={CACHEBUSTER}"
    },
    "quartile_25_tracker": {
      "asset_type": "url",
      "url_type": "tracker",
      "url": "https://track.brand.com/q25?buy={MEDIA_BUY_ID}&cb={CACHEBUSTER}"
    },
    "quartile_50_tracker": {
      "asset_type": "url",
      "url_type": "tracker",
      "url": "https://track.brand.com/q50?buy={MEDIA_BUY_ID}&cb={CACHEBUSTER}"
    },
    "quartile_75_tracker": {
      "asset_type": "url",
      "url_type": "tracker",
      "url": "https://track.brand.com/q75?buy={MEDIA_BUY_ID}&cb={CACHEBUSTER}"
    },
    "complete_tracker": {
      "asset_type": "url",
      "url_type": "tracker",
      "url": "https://track.brand.com/complete?buy={MEDIA_BUY_ID}&cb={CACHEBUSTER}"
    },
    "click_tracker": {
      "asset_type": "url",
      "url_type": "tracker",
      "url": "https://track.brand.com/click?buy={MEDIA_BUY_ID}&cb={CACHEBUSTER}"
    }
  }
}

インタラクティブトラッキングイベント

インタラクション対応フォーマット向け:
{
  "pause_tracker": {
    "asset_type": "url",
    "url_type": "tracker",
    "url": "https://track.brand.com/pause?buy={MEDIA_BUY_ID}&cb={CACHEBUSTER}"
  },
  "resume_tracker": {
    "asset_type": "url",
    "url_type": "tracker",
    "url": "https://track.brand.com/resume?buy={MEDIA_BUY_ID}&cb={CACHEBUSTER}"
  },
  "skip_tracker": {
    "asset_type": "url",
    "url_type": "tracker",
    "url": "https://track.brand.com/skip?buy={MEDIA_BUY_ID}&cb={CACHEBUSTER}"
  },
  "mute_tracker": {
    "asset_type": "url",
    "url_type": "tracker",
    "url": "https://track.brand.com/mute?buy={MEDIA_BUY_ID}&cb={CACHEBUSTER}"
  },
  "unmute_tracker": {
    "asset_type": "url",
    "url_type": "tracker",
    "url": "https://track.brand.com/unmute?buy={MEDIA_BUY_ID}&cb={CACHEBUSTER}"
  }
}

よく使われるアスペクト比

  • 16:9 (1920x1080, 1280x720) - 標準的な横型動画
  • 9:16 (1080x1920) - 縦型モバイル動画
  • 4:3 (640x480) - レガシー(稀)
  • 1:1 (1080x1080) - 正方形ソーシャル動画

動画プレースメントタイプ

Pre-Roll

コンテンツ開始前に再生される最も一般的な配置。 一般的な尺: 6s, 15s, 30s

Mid-Roll

コンテンツ途中のブレイクで再生。Ad pod マクロで位置を管理。 一般的な尺: 15s, 30s

Post-Roll

コンテンツ終了後に再生。 一般的な尺: 15s, 30s

Out-Stream

ビデオプレーヤー外でフィードや記事内に再生。 一般的なフォーマット: 縦型モバイル動画、インフィード動画

VAST/VPAID 連携

VAST バージョン

AdCP はすべての VAST バージョンをサポートします。
  • VAST 2.0 - レガシー
  • VAST 3.0 - 検証とエラーハンドリング追加
  • VAST 4.0 - トラッキングとビューアビリティ改善
  • VAST 4.1 - Ad pod サポート強化
  • VAST 4.2 - 最新仕様(推奨)

VPAID サポート

VPAID (Video Player Ad-Serving Interface Definition) によりインタラクティブ動画広告を実現します。
{
  "format_id": {
    "agent_url": "https://creative.adcontextprotocol.org",
    "id": "video_30s_vpaid"
  },
  "assets": [
    {
      "asset_id": "vpaid_tag",
      "asset_type": "url",
      "asset_role": "vpaid_url",
      "requirements": {
        "vpaid_version": ["2.0"],
        "api_framework": "VPAID"
      }
    }
  ]
}

ファイル仕様

動画コーデック

  • H.264 - 最も広くサポート
  • H.265/HEVC - 圧縮効率高いが対応は限定
  • VP8/VP9 - オープンコーデック、対応拡大中

オーディオコーデック

  • AAC - MP4 で推奨
  • MP3 - レガシー対応
  • Opus - 高品質で採用拡大中

コンテナフォーマット

  • MP4 - 業界標準
  • WebM - オープンフォーマット
  • MOV - Apple 形式、パブリッシャー側でトランスコードされることが多い

ビットレート目安

  • 高品質 (1080p): 8–10 Mbps
  • 標準 (720p): 4–6 Mbps
  • モバイル最適 (480p): 2–3 Mbps
  • CTV/OTT: 4–8 Mbps(ファイルサイズ制限を考慮)

フレームレート

  • 23.976 / 24 / 25 / 29.97 / 30 / 60 fps

よく使われる解像度

16:9 横型:
  • 1920x1080 (1080p Full HD)
  • 1280x720 (720p HD)
  • 854x480 (480p SD)
9:16 縦型:
  • 1080x1920 (モバイル縦動画)
1:1 正方形:
  • 1080x1080 (ソーシャル動画)

関連ドキュメント