+ 作るログイン
図を読み込んでいます…
1 / 15
Cloudflare のすべて ― 1機能ずつ、仕組みと存在理由から / 全35本

Cloudflare 31:Images と Stream ― 画像と動画を見る人に合わせて配る

発行
アニメモ公式
版
第1版
改訂
コマ
全15

写真や動画をそのまま置くと何に困るのかから、Cloudflare Images(URL での変換・AVIF/WebP への自動変換・バリアント)と Cloudflare Stream(エンコード・HLS/DASH での配信・プレイヤー・ライブ)を説明します。Worker からの指定のしかた、料金の数え方、落とし穴まで。

なぜ、画像と動画は「そのまま置く」だけではだめなのか

スマートフォンで撮った写真は、1枚で数 MB あります。幅は 4000 ピクセルを超えることも珍しくありません。これをそのまま Web ページに置くと、どうなるでしょうか。

スマホの画面の幅は、せいぜい 400 ピクセル前後です。10倍の大きさの画像を送って、ブラウザが縮めて表示することになります。通信量の多くが無駄になり、ページは遅く、利用者のデータ通信量も減っていきます。検索エンジンも、表示の遅いページを嫌います。

動画はもっと深刻です。撮ったままの動画ファイルは数百 MB から数 GB。これを1つのファイルとして置くと、見る人は大きなファイルを取りに行くことになり、回線が遅ければ途中で止まります。

必要なのは、元のファイルは1つのまま、見る人の画面と回線に合わせた形で配ることです。

この号では、画像のための Cloudflare Images と、動画のための Cloudflare Stream を見ていきます。どちらも、「元は1つ、配るときに合わせる」という同じ考え方で作られています。

※この号の内容は 2026年9月時点の情報です。料金・上限・機能は変わることが多いので、使う前に必ず公式のドキュメントで確かめてください。

  • Cloudflare のすべて 31 ― Images と Stream
  • 1 / 15
  • なぜ、画像と動画は「そのまま置く」だけではだめなのか
  • ?
  • 見る人
  • 元の画像
  • スマホ・PC
  • 大きな写真(数 MB)
  • 写真1枚で数 MB。スマホで見るには大きすぎ、遅すぎる。

自前でやると:大きさ × 形式の数だけ画像を作る

Images を使わずに、画像を見る人に合わせて配ろうとすると、どうなるでしょうか。

まず、大きさの違う版が要ります。スマホ用、PC 用、一覧のサムネイル用。次に、形式の違う版が要ります。昔ながらの JPEG に加えて、より小さくできる WebP や AVIF。新しい形式は多くのブラウザで読めますが、全部ではないので、元の形式も残しておきます。

3つの大きさ × 3つの形式で、写真1枚につき9ファイルです。アップロードのたびにこれを作る処理を書き、保存し、HTML ではブラウザに合ったものを選ばせる必要があります。デザインが変わって「幅 800 の版も欲しい」となったら、過去のすべての写真を作り直します。

動画はさらに大変です。

やること中身
エンコード1本の動画から、画質の違う版を何種類も作る。重い処理
分割数秒ずつの断片に切り分け、目次のファイルを作る
配信大量の通信をさばく CDN
プレイヤー回線に合わせて画質を切り替えながら再生する仕組み

どれも専門の知識が要る仕事です。Images と Stream は、これらを Cloudflare の側で引き受けます。

  • Cloudflare のすべて 31 ― Images と Stream
  • 2 / 15
  • 自前でやると:大きさ × 形式の数だけ画像を作る
  • スマホ 400px・JPEG
  • スマホ 400px・WebP
  • スマホ 400px・AVIF
  • PC 1200px・JPEG
  • PC 1200px・WebP
  • PC 1200px・AVIF
  • 一覧 200px・JPEG
  • 一覧 200px・WebP
  • 一覧 200px・AVIF
  • 新しい大きさが必要になったら、過去の写真を全部作り直す
  • 動画はもっと大変:画質ごとのファイル・細切れの配信・プレイヤーまで必要
  • 3つの大きさ × 3つの形式 = 9ファイル。写真が増えるたびに。

Images:元の画像1枚から、必要な形をその場で作る

Cloudflare Images の中心にあるのは、「必要になったときに、エッジで作る」という考え方です。

元の画像は1枚だけ置いておきます。置き場所は、Images の中(Images に保存する方法)でも、R2(22号)や自分のサーバーでも構いません。見る人から「この画像を、幅 400 で、AVIF で」と頼まれたら、Cloudflare のエッジがその場で元の画像を変換して返します。

工程何をするか
保存元の画像を置く(Images・R2・自分のサーバー)
変換大きさの変更、切り抜き、画質の調整など
形式ブラウザに合わせて AVIF・WebP などを選ぶ
キャッシュ変換した結果を覚えておき、次からは近くの拠点から返す

一度変換した結果はキャッシュされる(02号)ので、同じ形の2回目からは変換の処理も走りません。新しい大きさが必要になっても、URL を変えるだけで済み、過去の画像を作り直す必要はありません。

Images の機能は、大きく2つの使い方に分かれます。すでにどこかにある画像を変換して配る(Transformations)と、Images に画像を保存して配る(保存と配信)です。次のページから順に見ていきます。

  • Cloudflare のすべて 31 ― Images と Stream
  • 3 / 15
  • Images:元の画像1枚から、必要な形をその場で作る
  • Cloudflare Images(エッジ)
  • 保存:Images に置く(R2・自分のサーバーでも)
  • 変換:大きさ・切り抜き・画質
  • 見る人
  • 形式:AVIF・WebP を自動で選ぶ
  • 元の画像
  • スマホ・PC
  • キャッシュして近くから配る(02)
  • 大きな写真(数 MB)
  • 400px・AVIF
  • 大きさ・形式の組み合わせを、前もって作らなくてよい。

変換:URL に「幅 400・切り抜き」と書くだけ

いちばん手軽な使い方は、URL で変換を指定する方法です。Cloudflare を通っているサイトなら、画像の URL の前に /cdn-cgi/image/ と変換の指定を足すだけです。

https://example.com/cdn-cgi/image/width=400,fit=cover,quality=80/img/photo.jpg

これで、/img/photo.jpg を幅 400 ピクセルにし、枠いっぱいに切り抜き、画質 80 で返します。主な指定は次のとおりです。

指定意味
width / height幅・高さ(ピクセル)
fit枠への収め方。scale-down(縮めるだけ)、contain、cover(切り抜いて埋める)など
quality画質。下げるほど軽くなる
format形式。auto にするとブラウザに合わせて選ぶ
gravity切り抜くときに残す位置(顔の付近を残す、など)

使う前に、管理画面の Images の項目で、そのゾーン(ドメイン)の変換を有効にする必要があります。また、別のドメインにある画像を変換したいときは、そのドメインを許可しておきます。誰の画像でも勝手に変換できてしまわないようにするためです。

HTML では、srcset に幅の違う URL を並べておけば、ブラウザが画面に合ったものを選んでくれます。

  • Cloudflare のすべて 31 ― Images と Stream
  • 4 / 15
  • 変換:URL に「幅 400・切り抜き」と書くだけ
  • Cloudflare Images(エッジ)
  • 保存:Images に置く(R2・自分のサーバーでも)
  • 変換:大きさ・切り抜き・画質
  • 見る人
  • 形式:AVIF・WebP を自動で選ぶ
  • 元の画像
  • スマホ・PC
  • キャッシュして近くから配る(02)
  • 大きな写真(数 MB)
  • width=400
  • https://example.com/cdn-cgi/image/width=400,fit=cover,quality=80/img/photo.jpg
  • 元の画像はそのまま。変換した結果はキャッシュされ、次からは近くの拠点が返す
  • /cdn-cgi/image/width=400,fit=cover/photo.jpg の形。

形式:ブラウザが読める、いちばん軽い形式で返す

画像を軽くするもう1つの方法が、形式を変えることです。

JPEG や PNG は古くからある形式で、どのブラウザでも読めます。これに対して、WebP や AVIF は新しい形式で、同じくらいの見た目なら、ファイルをかなり小さくできることが多いです。ただし、すべてのブラウザ・すべての古い端末が読めるわけではありません。

そこで使うのが format=auto です。ブラウザは画像を頼むときに、「自分はこういう形式を読める」という情報(Accept ヘッダー)を送ってきます。Cloudflare はそれを見て、読める中でいちばん軽い形式を選んで返します。AVIF が読めるなら AVIF、読めなければ WebP、それも読めなければ元の形式です。

作る側は、形式のことを考えずに1つの URL を書くだけで済みます。

なお、Cloudflare には Polish という、古くからある画像の自動最適化の機能もあります。Pro 以上のプランのゾーンで、ページの画像を自動で圧縮したり WebP にしたりするものです。大きさの変更はできないので、新しく組むなら、この号で見ている変換(Transformations)を使うのが基本です。

  • Cloudflare のすべて 31 ― Images と Stream
  • 5 / 15
  • 形式:ブラウザが読める、いちばん軽い形式で返す
  • Cloudflare Images(エッジ)
  • ← AVIF
  • 保存:Images に置く(R2・自分のサーバーでも)
  • 変換:大きさ・切り抜き・画質
  • 見る人
  • 形式:AVIF・WebP を自動で選ぶ
  • 元の画像
  • スマホ・PC
  • キャッシュして近くから配る(02)
  • 大きな写真(数 MB)
  • 同じ画質でも、AVIF や WebP は JPEG よりかなり小さくなることが多い
  • ブラウザが「読める形式」を伝えてくるので、Cloudflare がそれを見て選ぶ
  • format=auto なら、AVIF → WebP → 元の形式の順に選ばれる。

保存して配る:Images に置き、「バリアント」で呼ぶ

もう1つの使い方は、画像を Images に保存して配る方法です。利用者がアップロードした写真を置く場所として、そのまま使えます。

画像をアップロードすると、画像 ID が振られます。配るときは、次のような URL になります。

https://imagedelivery.net/{アカウントのハッシュ}/{画像ID}/thumbnail

最後の thumbnail の部分がバリアントです。バリアントは、「幅 200 で切り抜き」「幅 1200 で縮めるだけ」のような変換の設定に名前を付けたものです。管理画面で、thumbnail・public・hero のように、アプリで使う形をいくつか作っておきます。

仕組み使いどころ
バリアントアプリで使う形を決まった数だけ用意する
自由な変換設定で許せば、URL で直接大きさを指定もできる
署名付き URL限られた人だけに見せたい画像(期限付き)
直接アップロード利用者のブラウザから、あなたのサーバーを通さずにアップロード

利用者からのアップロードは、サーバーで「一度きりのアップロード URL」を発行し、ブラウザがそこへ直接送る形が使えます。大きなファイルがあなたの Worker を通らないので、処理が軽くなります。

  • Cloudflare のすべて 31 ― Images と Stream
  • 6 / 15
  • 保存して配る:Images に置き、「バリアント」で呼ぶ
  • Cloudflare Images(エッジ)
  • 保存:Images に置く(R2・自分のサーバーでも)
  • アップロード
  • 変換:大きさ・切り抜き・画質
  • 見る人
  • 形式:AVIF・WebP を自動で選ぶ
  • 元の画像
  • スマホ・PC
  • キャッシュして近くから配る(02)
  • 大きな写真(数 MB)
  • https://imagedelivery.net/{アカウントのハッシュ}/{画像ID}/thumbnail
  • バリアント=名前付きの変換の設定。署名付き URL で限られた人だけに見せることも
  • よく使う形に名前を付けておく(thumbnail・public など)。

使い方:Worker から変換を指定する

URL での指定と同じことを、Worker(18号)の中から行うこともできます。fetch の cf.image に変換の指定を書きます。

ts
export default {
  async fetch(req: Request): Promise<Response> {
    const url = new URL(req.url);
    // 幅は利用者に自由に決めさせず、決め打ちの数種類から選ぶ
    const width = url.searchParams.get("w") === "s" ? 400 : 1200;
    return fetch(`https://assets.example.com${url.pathname}`, {
      cf: { image: { width, fit: "scale-down", format: "avif" } },
    });
  },
};

Worker を挟むと、「ログインしている人にだけ大きな画像を見せる」「利用者の端末に合わせて幅を選ぶ」「元の画像の置き場所を隠す」といった判断を、変換の前にできます。

このほか、Worker の中で画像のデータそのものを変換する Images のバインディングもあります。R2 から読んだ画像を変換して別の場所に保存する、といった処理に向いています。書き方は公式の Images binding のページで確かめてください。

コードの中で、幅を決め打ちの数種類にしていることに注目してください。理由は料金と落とし穴のページで説明します。

  • Cloudflare のすべて 31 ― Images と Stream
  • 7 / 15
  • 使い方:Worker から変換を指定する
  • // 管理画面:Images → Transformations で、このゾーンの変換を有効にする
  • export default {
  • async fetch(req: Request): Promise<Response> {
  • const url = new URL(req.url);
  • const w = url.searchParams.get("w") === "s" ? 400 : 1200; // 幅は決め打ちの数種類に
  • return fetch(`https://assets.example.com${url.pathname}`, {
  • cf: { image: { width: w, fit: "scale-down", format: "avif" } },
  • });
  • },
  • };
  • fetch の cf.image に大きさと形式を書く。URL の形と中身は同じ。

動画は、もっと難しい

ここから図の舞台は同じまま、中身が動画の Cloudflare Stream に入れ替わります。

画像なら「大きさと形式を変えて返す」で済みました。動画では、それに加えて次のことが必要になります。

課題なぜ必要か
画質の違う版回線の速い人には高画質、遅い人には低画質を送りたい
細切れにする大きな1ファイルではなく、少しずつ取りに行けるように
途中で画質を変える電車の中で回線が遅くなっても、止めずに見続けられるように
プレイヤーこれらを理解して再生する仕組み
ライブ撮りながら、同時に大勢へ配る

自前でそろえるなら、エンコードのサーバー、動画の保存場所、配信用の CDN、プレイヤーを別々に用意し、つなぎ合わせることになります。

Stream は、この一式をまとめて引き受けるサービスです。あなたがやるのは、動画をアップロードして、ページにプレイヤーを貼ることだけです。

  • Cloudflare のすべて 31 ― Images と Stream
  • 8 / 15
  • 動画は、もっと難しい
  • Cloudflare Stream(エッジ)
  • 受け取る:アップロード・録画・ライブ
  • 元の動画
  • エンコード:画質ごとに作り直す
  • 見る人
  • 細切れにして配る(HLS・DASH)
  • 元の動画
  • 回線の速さはばらばら
  • プレイヤー:iframe を貼るだけ
  • 撮ったままのファイル
  • 同じ舞台で、今度は Stream。動画を受け取り、作り直し、細切れにして配る
  • 自前なら:エンコードのサーバー・保存・CDN・プレイヤーを全部そろえる
  • 画質ごとに作り直し、細切れにして、回線に合わせて切り替える。

エンコード:1本の動画から、画質の違う版を作る

動画を Stream にアップロードすると、Stream はまずエンコードをします。元の動画から、画質(解像度とビットレート)の違う版を何種類も作り直す処理です。

たとえば 1080p で撮った動画から、1080p・720p・480p・360p のような版を作ります。高い画質はきれいですがデータ量が多く、低い画質は粗いですが軽くなります。

エンコードは、コンピューターにとってとても重い処理です。自前でやるなら、専用のサーバーや、クラウドの動画変換サービスを用意し、処理が終わるのを待つ仕組みを作ることになります。

Stream では、この処理はアップロードすれば自動で行われます。しかも、動画の取り込みとエンコードそのものには料金がかかりません。払うのは、保存している動画の長さと、見られた動画の長さです(料金のページで詳しく見ます)。

アップロードの方法は、管理画面から、API から、ほかの場所にある動画の URL を指定して取り込む、利用者のブラウザから直接、などいくつかあります。

  • Cloudflare のすべて 31 ― Images と Stream
  • 9 / 15
  • エンコード:1本の動画から、画質の違う版を作る
  • Cloudflare Stream(エッジ)
  • 受け取る:アップロード・録画・ライブ
  • エンコード:画質ごとに作り直す
  • 見る人
  • 細切れにして配る(HLS・DASH)
  • 元の動画
  • 回線の速さはばらばら
  • プレイヤー:iframe を貼るだけ
  • 撮ったままのファイル
  • 360p〜1080p
  • 速い回線には高画質、遅い回線には低画質。そのための版を何種類も用意する
  • この「作り直し」は重い処理。Stream が裏で全部やってくれる
  • 取り込みとエンコードは料金に含まれない(無料)。

配信:数秒ずつの細切れを、回線に合わせて選んで送る

エンコードした動画は、数秒ずつの断片に切り分けられ、目次(マニフェスト)と一緒に配られます。この方式を HLS(Apple が作った方式)や DASH(国際標準の方式)と呼びます。Stream はどちらにも対応しています。

見る人のプレイヤーは、まず目次を取りに行きます。目次には「この動画は何秒ずつの断片でできていて、画質ごとにこういう URL がある」と書いてあります。プレイヤーは、今の回線の速さを測りながら、ちょうどよい画質の断片を次々に取りに行きます。

状況プレイヤーの動き
回線が速い高画質の断片を取る
回線が遅くなった次の断片から低画質に切り替える
回線が戻ったまた高画質に戻す

これをアダプティブ・ビットレートと呼びます。途中で画質が変わっても、再生は止まりません。断片は Cloudflare の網から配られ、キャッシュもされるので、大勢が同時に見ても耐えられます。

ライブ配信も同じ仕組みです。配信ソフトから RTMPS や SRT、WebRTC(WHIP)で Stream に送ると、Stream がその場でエンコードして断片にし、視聴者に配ります。

  • Cloudflare のすべて 31 ― Images と Stream
  • 10 / 15
  • 配信:数秒ずつの細切れを、回線に合わせて選んで送る
  • Cloudflare Stream(エッジ)
  • ← 数秒ずつ
  • 受け取る:アップロード・録画・ライブ
  • エンコード:画質ごとに作り直す
  • 見る人
  • 細切れにして配る(HLS・DASH)
  • 元の動画
  • 回線の速さはばらばら
  • プレイヤー:iframe を貼るだけ
  • 撮ったままのファイル
  • HLS・DASH:動画を数秒の断片に分け、「目次」と一緒に配る方式
  • プレイヤーは目次を見て、今の回線に合う画質の断片を次々に取りに行く
  • 回線が遅くなったら画質を落とし、止まらずに見続けられる。

使い方:アップロードして、iframe を貼る

Stream を使う基本の流れは、次のとおりです。

順番やること
1管理画面で Stream を有効にする
2動画をアップロードする(管理画面・API・URL から取り込み・利用者から直接)
3エンコードが終わるのを待つ(完了を Webhook で受け取ることもできる)
4ページに Stream のプレイヤーを貼る

利用者がブラウザから動画を投稿するアプリなら、サーバー側で一度きりのアップロード URLを発行します。API トークンを利用者のブラウザに渡さずに済みます。

POST https://api.cloudflare.com/client/v4/accounts/{account_id}/stream/direct_upload

プレイヤーは、iframe を貼るだけです。

<iframe src="https://customer-{コード}.cloudflarestream.com/{動画ID}/iframe"
  allow="autoplay; fullscreen" allowfullscreen></iframe>

自分の好きなプレイヤー(hls.js など)を使いたいときは、.../{動画ID}/manifest/video.m3u8(HLS)のような目次の URL を渡します。

会員だけに見せたい動画は、署名付き URL(期限付きのトークン)を必須にする設定にします。

  • Cloudflare のすべて 31 ― Images と Stream
  • 11 / 15
  • 使い方:アップロードして、iframe を貼る
  • # 1. アップロード(管理画面・API・URL から取り込み・利用者から直接)
  • POST /accounts/{account_id}/stream/direct_upload → 一度きりのアップロード URL
  • # 2. 埋め込み(Stream のプレイヤー)
  • <iframe src="https://customer-{コード}.cloudflarestream.com/{動画ID}/iframe"
  • allow="autoplay; fullscreen" allowfullscreen></iframe>
  • # 3. 自分のプレイヤーを使うなら、HLS / DASH の URL を渡す
  • .../{動画ID}/manifest/video.m3u8
  • # ライブ配信:RTMPS・SRT・WebRTC(WHIP)で送ると、同じ仕組みで配られる
  • 利用者からの直接アップロードは「一度きりの URL」で。

料金と制限:画像は「変換の数」、動画は「分数」

2026年9月時点の料金の骨格です。

項目内容
Images の変換月 5,000 種類までは無料(無料プランでも使える)。以降は 1,000 種類あたり $0.50
無料プランで超えるとすでにキャッシュにある変換は返るが、新しい変換はエラーになる(課金はされない)
Images の保存10 万枚あたり月 $5(Images に保存する場合)
Images の配信10 万枚の配信あたり $1(Images に保存した画像)
Stream の保存動画 1,000 分あたり月 $5
Stream の再生見られた動画 1,000 分あたり $1
Stream の取り込み・エンコード無料

Images の変換は「種類」で数えます。同じ画像の同じ指定(幅・形式など)は、何回配っても1種類です。逆に、幅が 400 と 401 なら別の種類です。

Stream の再生は、動画の長さで数えます。画質は関係ありません。10分の動画を 100 人が最後まで見れば、1,000 分です。

数字は変わることがあるので、公式の Pricing のページで確かめてください。

  • Cloudflare のすべて 31 ― Images と Stream
  • 12 / 15
  • 料金と制限:画像は「変換の数」、動画は「分数」
  • Images:変換
  • 月 5,000 種類まで無料。以降 1,000 あたり $0.50
  • Images:保存と配信
  • 保存 10 万枚 $5/月・配信 10 万枚 $1
  • Stream:保存
  • 1,000 分 あたり $5/月
  • Stream:再生
  • 1,000 分 あたり $1(取り込み・エンコードは無料)
  • Polish
  • Pro 以上のゾーンの古くからの自動最適化
  • 2026年9月時点。料金・上限は変わるので公式の Pricing で確かめること
  • Images は毎月の無料枠あり。Stream は保存と再生の分数で払う。

よくある落とし穴

Images と Stream でつまずきやすい点です。

落とし穴どうするか
幅を URL で自由に指定させている誰かが幅を 1 ずつ変えて頼むと、変換の種類が際限なく増える。幅は決め打ちの数種類にする
変換が効かないゾーンで変換を有効にしたか、元の画像のドメインを許可したかを確かめる
見られない動画にも払う保存している分数で毎月かかる。使わない動画は消す
限定の動画が URL で広まる署名付き URL を必須にする
元の画像が重いまま変換は元の画像を読むところから始まる。極端に大きい元画像は、アップロード時に上限を決める
Polish と変換の混同Polish は形式と圧縮だけ。大きさを変えたいなら変換を使う

とくに最初の点は、料金にも、キャッシュの効き具合にも響きます。キャッシュは同じ URL にしか当たらないので、幅の種類が多いほど、変換の処理も増えます。

  • Cloudflare のすべて 31 ― Images と Stream
  • 13 / 15
  • よくある落とし穴
  • 幅を URL で自由に指定させる → 変換の種類が増え、料金も増える
  • 変換を有効にし忘れる・他のドメインの画像を許可し忘れる
  • 見られていない動画も、保存している分数ぶん払い続ける
  • 限定公開の動画を普通の URL で配る → 署名付き URL を使う
  • 幅は数種類に決め打ち。元の画像は R2 に置く(22)
  • 幅を自由に受け付けると、変換の数が無限に増える。

他の機能とのつながり

画像と動画の配信は、いくつもの機能の組み合わせです。

機能つながり号
R2元の画像や動画の置き場所。外へ出す通信料がかからない22
Workers変換の指定、ログインの確認、アップロード URL の発行18
CDN とキャッシュ変換した画像を近くの拠点から返す02
Workers AI画像の説明文(代替テキスト)を作る、音声を文字にする28
ルール画像の URL の書き換えや、変換の URL への振り分け09
分析とログ配信量や、よく見られている画像・動画を調べる32

よくある組み合わせは、「利用者の写真は R2 に置き、表示するときは変換の URL で幅と形式を合わせる」という形です。R2 は置く場所、Images は配るときの形を整える場所、と役割を分けて考えると分かりやすくなります。

  • Cloudflare のすべて 31 ― Images と Stream
  • 14 / 15
  • 他の機能とのつながり
  • Cloudflare Images(エッジ)
  • R2:元の画像・動画を置く(22)
  • Workers:変換の指定・認可(18)
  • 見る人
  • CDN:変換結果をキャッシュ(02)
  • 元の画像
  • スマホ・PC
  • Workers AI:画像の説明文を作る(28)
  • 大きな写真(数 MB)
  • 分析とログ:配信量を見る(32)
  • 元の画像は R2、変換の指定は Workers、配るのは CDN。

まとめ:元は1つ、配るときに見る人に合わせる

この号で見たことをまとめます。

項目ImagesStream
何のため画像を画面に合った大きさ・形式で配る動画を回線に合った画質で、止まらずに配る
仕組みエッジでその場で変換してキャッシュエンコード → 細切れ(HLS/DASH)→ 画質を切り替えながら再生
使い方/cdn-cgi/image/ の URL、Worker の cf.image、バリアントアップロードして iframe を貼る
料金の数え方変換の種類(月 5,000 まで無料)、保存・配信の枚数保存と再生の分数。エンコードは無料
注意幅は決め打ち。変換を有効にし、元のドメインを許可使わない動画は消す。限定公開は署名付き URL

どちらも、「元のファイルは1つ、配るときに合わせる」という同じ考え方です。次の32号では、こうして配ったものがどれだけ見られているのか、何が起きているのかを知るための 分析とログ を見ていきます。

  • Cloudflare のすべて 31 ― Images と Stream
  • 15 / 15
  • まとめ:元は1つ、配るときに見る人に合わせる
  • Cloudflare Stream(エッジ)
  • ← 合う形
  • 受け取る:アップロード・録画・ライブ
  • エンコード:画質ごとに作り直す
  • 見る人
  • 細切れにして配る(HLS・DASH)
  • 元の動画
  • 回線の速さはばらばら
  • プレイヤー:iframe を貼るだけ
  • 撮ったままのファイル
  • Images:/cdn-cgi/image/width=…,format=auto/… で大きさ・形式をその場で
  • Stream:アップロード → 自動エンコード → HLS/DASH → iframe のプレイヤー
  • 画像は URL で変換、動画は Stream に任せて細切れで配る。

0 件のコメント

読み込み中…

権利侵害・不適切な内容の連絡: [email protected]