Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

動画を変換する

最終更新 Markdown で表示Agent セットアップ

Media Transformations を使うと、Cloudflare Stream の に保存した動画を最適化・加工できます。変換後の動画と画像は、Cloudflare 上のゾーンのいずれかから配信されます。

動画または画像を変換するには、ゾーンで 変換を有効 にする必要があります。ゾーンですでに Image Transformations が有効な場合は、Media Transformations で動画も最適化できます。

始める

Media Transformations を使うと、Cloudflare Stream の に保存した動画を動的に最適化し、静止画を生成できます。

Cloudflare は変換後の動画と画像をグローバルネットワーク上で自動キャッシュします。オリジンに保存するのは元の画像だけで済みます。

ゾーンで変換を有効にする手順は次のとおりです。

  1. Cloudflare ダッシュボードで Transformations ページを開きます。

    Transformations を開く ↗
  2. 変換を有効にしたいゾーンを探します。

  3. そのゾーンの Enable を選びます。

URL で動画を変換する

特別な形式の URL でリクエストするだけで、コードを書かずに動画の変換とリサイズができます。URL の形式は次のとおりです。

https://example.com/cdn-cgi/media/<OPTIONS>/<SOURCE-VIDEO>
  • example.com: Transformations を有効にした、Cloudflare 上のウェブサイトまたはゾーンです。
  • /cdn-cgi/media/: Cloudflare 組み込みのメディア変換サービスが扱う特別なパスを示すプレフィックスです。
  • <OPTIONS>: カンマ区切りのオプション一覧です。利用できるオプションは以下を参照してください。
  • <SOURCE-VIDEO>: リサイズ対象の元アセットの完全な URL です(https:// または http:// で始まります)。

たとえば次の URL は、R2 バケットから HD 動画を取得し、短く切り取り、正方形にクロップしてリサイズし、音声を除去します。

https://example.com/cdn-cgi/media/mode=video,time=5s,duration=5s,width=500,height=500,fit=crop,audio=false/https://pub-8613b7f94d6146408add8fefb52c52e8.r2.dev/aus-mobile-demo.mp4

結果は MP4 で、プレーヤーライブラリなしで HTML の video 要素に使えます。

オプション

mode

生成する出力の種類を指定します。

  • video: H.264/AAC で最適化した MP4 ファイルを出力します。
  • frame: 静止画を出力します。
  • spritesheet: 複数フレームを含む JPEG を出力します。
  • audio: AAC エンコードの M4A ファイルを出力します。

time

入力ファイルから出力の抽出を開始する位置を指定します。mode によって意味が変わります。

  • modespritesheetvideo、または audio の場合、出力の開始タイムスタンプを指定します。
  • modeframe の場合、静止画を抽出するタイムスタンプを指定します。
  • 時刻文字列で指定します。例: 5s、2m
  • 許容範囲: 0 ~ 10m
  • デフォルト: 0

duration

出力動画または spritesheet の長さです。mode によって意味が変わります。

  • modevideo または audio の場合、出力の長さを指定します。
  • modespritesheet の場合、フレームを選ぶ時間範囲を指定します。
  • 許容範囲: 1s ~ 60s(または 1m)
  • デフォルト: 入力の長さまたは 60 秒のうち短い方

fit

widthheight と組み合わせて、出力のリサイズとクロップ方法を指定します。リサイズする場合は常に縦横比を保ち、内容が引き伸ばされないようにします。

  • contain: 縦横比を保ち、出力寸法の内側に動画が収まるよう拡大または縮小します。
  • scale-down: contain と同じですが、縮小のみです。拡大しません。
  • cover: 縦横比を保ち、出力寸法を完全に覆うよう拡大または縮小し、余りは中央基準でクロップします。

height

出力の最大高さをピクセルで指定します。正確な挙動は fit に依存します。

  • 許容範囲: 10 ~ 2000 ピクセル

width

画像の最大幅をピクセルで指定します。正確な挙動は fit に依存します。

  • 許容範囲: 10 ~ 2000 ピクセル

audio

modevideo の場合、ソース音声を出力に含めるかどうかを指定します。

  • true: ソース音声を含めます。
  • false: 無音で出力します。
  • デフォルト: true

modeaudio の場合、audio を false にはできません。

format

modeframe の場合、画像の出力形式を指定します。

  • 指定できる値: jpgpng

modeaudio の場合、音声の出力形式を指定します。

  • 指定できる値: m4a(デフォルト)

filename

返される Content-Disposition ヘッダーで使うファイル名を指定します。指定しない場合、ファイル名はソース URL から導出します。

  • 指定できる値:
    • 長さは最大 120 文字です。
    • 使えるのは小文字(a-z)、数字(0-9)、ハイフン(-)、アンダースコア(_)、および任意の拡張子だけです。有効な名前は次の正規表現を満たします: ^[a-zA-Z0-9-_]+.?[a-zA-Z0-9-_]+$
  • 例: default.mp4shortened-clip_5s

ソース動画の要件

  • 入力動画は 100MB 未満である必要があります。
  • 入力動画は、H.264 エンコードの映像と AAC または MP3 エンコードの音声を持つ MP4 を推奨します。他の形式でも動く場合がありますが、未検証です。
  • オリジンは HTTP HEAD と range リクエストに対応し、Content-Range ヘッダーを返す必要があります。

制限事項

  • 入力ファイルサイズの上限は 100 MB です。入力動画の長さの上限は 10 分です。
  • Media Transformations は Bring Your Own IP (BYOIP) と併用できません。
  • 入力動画は、H.264 エンコードの映像と AAC または MP3 エンコードの音声を持つ MP4、またはアニメーション GIF を推奨します。他の形式でも動く場合がありますが、未検証です。

Cloudflare Worker から Media Transformations を使う場合は、bindings の利用を推奨します。そうでない場合、Worker のトリガーと同じゾーンで Media Transformations を呼び出すときは、/cdn-cgi/media パスで 404 にならないよう global_fetch_strictly_public 互換フラグを適用します。

料金

2025 年 11 月 1 日以降、Media Transformations と Image Transformations は同じサブスクリプションと利用量指標を使います。

  • 動画から静止画(1 枚の画像)を生成すると、1 変換としてカウントします。
  • 最適化した動画の生成、または音声の抽出は、出力コンテンツの 1 秒あたり 1 変換としてカウントします。
  • 入力とフラグの組み合わせで決まる一意の変換は、暦月あたり 1 回だけ課金されます。
  • Media Transformations と Image Transformations の料金は、月間の一意な変換操作 1,000 件あたり $0.50 です。毎月 5,000 件までは無料です。

役に立ちましたか?