Cloudflare Stream
用一支 API 就能在你的網站加上直播與隨選影片——不用架伺服器,也不用自己顧編碼流程。
Cloudflare Stream 是什麼?
Cloudflare Stream 是一套「全包式」影片平台:你上傳一支影片(或開一場直播),Cloudflare 會幫你編碼、儲存,並透過全球網路傳送,還附上一個只要一行就能嵌入的播放器。
編碼(又叫轉碼,transcoding)就是把你的原始影片轉成多種尺寸、以及適合串流的格式。Stream 會自動做好這件事,所以同一支上傳的影片,在訊號差的手機或快速 Wi-Fi 的筆電上都能順暢播放。
把它想成影片工廠+宅配
你只交出一卷母帶,工廠幫你製作各種畫質的版本,全球宅配再依每位觀眾的螢幕與網速,即時把最合適的版本送到他手上。
為什麼要用它?
自己經營影片基礎設施又難又貴:要有編碼伺服器、儲存空間、串流協定、播放器,還有可怕的頻寬帳單。Stream 用一支 API 取代這一整套,並採用好預估的「分鐘計費」。
內建編碼
上傳的影片會自動轉成「自適應位元率」的多畫質版本。編碼與上傳都免費。
免費播放器
附帶一個精緻、適配手機的播放器——用 iframe 就能嵌入,不用寫程式。
計費單純
只為「儲存的分鐘數」與「被觀看的分鐘數」付費,沒有突如其來的流量(egress)費用。
存取控制
用簽章網址(signed URL)保護付費或私人影片,只有獲授權的觀眾才能播放。
什麼時候該用?
線上課程
存放教學影片,讓學生在任何裝置、任何網速下都能順暢觀看。
即時直播
直播活動、研討會或遊戲實況,結束後還能保留成隨選影片。
創作者平台
用一次性網址讓使用者上傳短片,並立即可播放。
行銷與產品
嵌入產品示範或主視覺影片,又不拖慢你的網站。
怎麼開始用?
我們會上傳一支影片、等它編碼完成,然後嵌入播放器。你只需要在 Cloudflare 控制台拿到一組 API 權杖和你的 Account ID。
設定憑證
先把 API 權杖和 Account ID 設成環境變數,下面的指令才用得到。權杖就像給程式用的密碼。
export CLOUDFLARE_API_TOKEN="your-token-here" export ACCOUNT_ID="your-account-id-here"上傳影片檔
小於 200 MB 的檔案可以直接上傳,-F file=@ 就是附上本機影片檔。
curl -X POST \ https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/stream \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ -F file=@/path/to/video.mp4或從網址匯入
影片已經在網路上了?直接叫 Stream 去抓。回應裡會有一個 uid,就是這支影片的唯一代號。
curl -X POST \ https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/stream/copy \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ -d '{"url":"https://example.com/video.mp4","meta":{"name":"My first video"}}'確認編碼完成
編碼需要一點時間。當 status.state 變成 ready、readyToStream 為 true,就可以播放了。
{ "result": { "uid": "6b9e68b07dfee8cc2d116e4c51d6a957", "readyToStream": true, "status": { "state": "ready" } }, "success": true }嵌入播放器
把這段 iframe 貼到你的網頁,<CODE> 換成你的 customer code、<UID> 換成影片 uid。完成——一個完整的自適應播放器就出現了。
<iframe src="https://customer-<CODE>.cloudflarestream.com/<UID>/iframe" title="My first video" allow="accelerometer; gyroscope; autoplay; encrypted-media; picture-in-picture;" allowfullscreen="true" style="border: none; width: 100%; aspect-ratio: 16/9;"> </iframe>
大檔案?用 tus
超過 200 MB(最大 30 GB)的上傳,Stream 支援 tus 協定;它會在連線中斷時自動續傳,不用整個重來。
重點概念
Adaptive bitrate(自適應位元率)
播放器會依觀眾的網速自動切換畫質,減少「轉圈圈」卡頓。
Transcoding(轉碼)
把原始影片轉成多種解析度與串流格式(HLS/DASH)。這由 Stream 自動完成。
HLS/DASH
串流協定,把影片切成小片段,讓播放時能即時切換畫質。
Signed URL(簽章網址)
有時效的權杖,限制誰能觀看——很適合付費或私人內容。
Direct creator upload(直接上傳)
發給使用者的一次性上傳網址,讓他們直接上傳到 Stream,又看不到你的 API 權杖。
Live input(直播輸入)
一個可重複使用的端點,你用 RTMPS/SRT 推流上去做直播,還能選擇自動錄影。
小提示與計費
計費方式
每月每 1,000 分鐘「儲存」5 美元,每 1,000 分鐘「傳送(被觀看)」1 美元。上傳與編碼一律免費,也沒有額外的頻寬費。
儲存是預付制
儲存分鐘數是預先購買的。一旦用完,在你加購或刪掉舊影片之前,就無法上傳新影片或開新直播。
- 直播與隨選影片計費方式相同——都看「儲存」與「傳送」的分鐘數。
- 單檔上傳上限 30 GB;大檔請用 tus,才能斷線續傳。
- 加上字幕與縮圖,讓影片更易讀也更吸引點擊。
- 付費內容請用簽章網址,連結才不會被隨意轉傳。