คำตอบสั้น: ใช้ Stream เมื่อคุณอยากอัปโหลดวิดีโอแล้วเล่นได้เลยโดยไม่ต้องสร้าง encoding ladder เอง ใช้ Images เมื่อต้องการ resize และ optimize ภาพอัตโนมัติ ใช้ RealtimeKit เมื่อต้องการห้องประชุมหรือห้องเรียนสดที่มี UI มาให้เลย และลงไปที่ SFU กับ TURN เองก็ต่อเมื่อคุณมีทีมที่เขียน WebRTC เองได้ จุดขายที่แท้จริงคือ R2 ไม่คิด egress เลย ซึ่งเปลี่ยนโครงสร้างต้นทุนของงาน media ไปเลย แต่ถ้าสัญญาของคุณบังคับ DRM หรือต้อง workflow วิดีโอขั้นสูง Cloudflare ยังไม่ใช่คำตอบ (ราคา ณ กรกฎาคม 2026)
งาน media เป็นหมวดเดียวที่ "ค่า bandwidth" กินงบคุณจนหมด เว็บทั่วไปจะจ่ายค่า compute เป็นหลัก แต่แพลตฟอร์มวิดีโอหรืออีคอมเมิร์ซที่มีรูปสินค้าหลักหมื่นรูป ค่าส่งข้อมูลออกจะกลายเป็นบรรทัดหนึ่งของบิล นี่คือเหตุผลที่การพูดถึง Cloudflare ในบริบทนี้ต้องเริ่มที่ R2 เสมอ
Cloudflare มีชิ้นส่วนสำหรับ media อยู่ห้ากลุ่ม คือ Stream (วิดีโอ on-demand และ live), Images (ภาพ), และตระกูล Realtime ที่ประกอบด้วย RealtimeKit, SFU และ TURN ทั้งสามตัวนี้อยู่คนละชั้นของ abstraction และการเลือกผิดชั้นแปลว่าคุณจะจ่ายแพงขึ้นหลายเท่า หรือเขียนโค้ดมากขึ้นหลายเท่า
Cloudflare Stream: คิดเงินเป็นนาที ไม่ใช่กิกะไบต์
สิ่งที่ทำให้ Stream ต่างจากทุกอย่างที่คุณเคยคิดเกี่ยวกับวิดีโอ คือมันไม่สนใจขนาดไฟล์เลย มันคิดเงินสองมิติเท่านั้น คือนาทีที่เก็บ และนาทีที่ส่ง การ ingest และ encoding ฟรีเสมอ และไม่มีค่า egress แยก
นั่นแปลว่าไฟล์ 4K กับไฟล์ 480p ที่ยาวเท่ากันคิดเงินเท่ากันเป๊ะ ตรงนี้เป็นทั้งจุดแข็งและจุดอ่อน จุดแข็งคือคุณคาดการณ์บิลได้แม่นมากโดยไม่ต้องเดา bitrate จุดอ่อนคือคุณจ่ายเท่ากันหมดไม่ว่าคุณจะส่งคุณภาพสูงแค่ไหน
| บริการ | หน่วยคิดเงิน | ราคา (ก.ค. 2026) | Free tier |
|---|---|---|---|
| Stream – นาทีที่เก็บ | นาทีวิดีโอ (จ่ายล่วงหน้า) | $5 ต่อ 1,000 นาที | – |
| Stream – นาทีที่ส่ง | นาทีวิดีโอที่ deliver | $1 ต่อ 1,000 นาที | – |
| Media Transformations | unique transformation | $0.50 ต่อ 1,000 | 5,000/เดือน |
| Images – Transformed | unique transformation | $0.50 ต่อ 1,000 | 5,000/เดือน |
| Images – Stored | จำนวนภาพ | $5 ต่อ 100,000 ภาพ/เดือน | เฉพาะแผน Paid |
| Images – Delivered | จำนวนภาพที่ส่ง | $1 ต่อ 100,000 ภาพ/เดือน | เฉพาะแผน Paid |
| RealtimeKit – ผู้ร่วมภาพ+เสียง | นาทีต่อคน | $0.002 ต่อนาที | ไม่มี |
| RealtimeKit – ผู้ร่วมเสียงอย่างเดียว | นาทีต่อคน | $0.0005 ต่อนาที | ไม่มี |
| RealtimeKit – Export (อัด/RTMP/HLS) | นาที | $0.010 ต่อนาที | ไม่มี |
| Realtime SFU | egress GB | $0.05 ต่อ GB | 1,000 GB/เดือน |
| TURN | egress GB | ฟรีเมื่อใช้คู่ SFU มิเช่นนั้น $0.05 ต่อ GB | 1,000 GB/เดือน |
| R2 – storage | GB-เดือน | $0.015 ต่อ GB-เดือน | 10 GB-เดือน |
| R2 – egress | – | $0 เสมอ | – |
ข้อจำกัดของ Stream ที่ต้องรู้ก่อนเซ็นสัญญา
ไฟล์อัปโหลดได้สูงสุด 30 GB ต่อวิดีโอ และคิว encoding รองรับ 120 วิดีโอพร้อมกันโดยค่าเริ่มต้น สำหรับแพลตฟอร์มที่มี creator อัปโหลดพร้อมกันเยอะ ๆ ตัวเลข 120 นี้คือสิ่งที่ควรคุยกับ support ตั้งแต่ก่อนเปิดตัว
วิดีโอ HDR ที่อัปโหลดเข้า Stream จะถูก re-encode และส่งออกเป็น SDR เสมอ เพื่อความเข้ากันได้กับอุปกรณ์จำนวนมากที่สุด ถ้าธุรกิจคุณขายคุณภาพ HDR ตรงนี้คือ dealbreaker
การควบคุมการเข้าถึงทำผ่าน signed URL และ token โดย token มีอายุสูงสุด 24 ชั่วโมงนับจากตอนเซ็น ใส่ accessRules ได้สูงสุด 5 ข้อต่อ token กำหนดตามประเทศหรือ IP range ได้ และสร้าง signing key ได้สูงสุด 1,000 คีย์ พร้อม Allowed Origins จำกัดโดเมนที่ฝังวิดีโอได้
แต่เอกสารของ Cloudflare ไม่ได้ระบุการรองรับ DRM อย่าง Widevine, FairPlay หรือ PlayReady สำหรับ Stream กลไกควบคุมการเข้าถึงที่มีอยู่คือ signed URL, geo/IP rules และ allowed origins ถ้าสัญญา licence ของคอนเทนต์ที่คุณซื้อมาบังคับว่าต้องมี DRM Stream ใช้ไม่ได้ จบ
ใช้ Stream เมื่อไหร่ / ไม่ควรใช้เมื่อไหร่
ใช้เมื่อ: คุณอยาก "อัปโหลดไฟล์แล้วเล่นได้เลย" โดยไม่อยากจัดการ transcoding, ABR ladder, manifest, หรือ player เอง เหมาะกับแพลตฟอร์มคอร์สออนไลน์ คอนเทนต์ภายในองค์กร หรือเว็บที่มีวิดีโอจากผู้ใช้
ไม่ควรใช้เมื่อ: คุณต้องการ DRM; ต้องส่ง HDR; ต้องควบคุม encoding ladder หรือ codec เอง (เช่นอยากส่ง AV1 หรือทำ per-title encoding); หรือต้องการ workflow ซับซ้อนอย่าง server-side ad insertion, การตัดต่อคลิป, หรือเสียงหลายภาษาในไฟล์เดียว
Cloudflare Images: คิดเงินเป็น unique transformation
Images มีสองโหมดที่คนสับสนกันบ่อย โหมดแรกคือคุณเก็บภาพไว้ที่อื่น (เช่น R2) แล้วใช้ Cloudflare แค่ transform กรณีนี้คุณจ่ายเฉพาะ Images Transformed โหมดที่สองคือเก็บภาพใน Images เอง กรณีนี้คุณจ่าย Images Stored กับ Images Delivered
คำว่า "unique" สำคัญมาก การ transform thumbnail.jpg เป็น 100×100 นับเป็นหนึ่ง unique transformation ทำซ้ำภายในเดือนเดียวกันไม่คิดเพิ่ม แต่ถ้า transform เป็น 200×200 นับเป็นอีก unique transformation หนึ่ง ส่วน format=auto นับเป็นหนึ่งเท่านั้นแม้จะส่ง AVIF ให้คนหนึ่งและ WebP ให้อีกคน
ข้อยกเว้นที่คนมักพลาด: ถ้าคุณเรียกผ่าน Images binding ใน Worker ทุก ๆ call นับเป็น transformation หมด ไม่สนใจว่าภาพหรือพารามิเตอร์จะซ้ำหรือไม่ ถ้าคุณใช้ binding ใน hot path โดยไม่ cache ผลลัพธ์ บิลจะพุ่งเร็วมาก
ใช้ Images เมื่อไหร่ / ไม่ควรใช้เมื่อไหร่
ใช้เมื่อ: คุณมีภาพสินค้าหรือภาพที่ผู้ใช้อัปโหลด และต้องการหลายขนาดกับหลายฟอร์แมตโดยไม่อยากรัน ImageMagick เอง คู่กับ R2 คือคู่ที่ดีมาก เก็บต้นฉบับใน R2 แล้ว transform ผ่าน Images จ่ายเฉพาะ transformation ไม่ต้องจ่าย storage สองทอด
ไม่ควรใช้เมื่อ: คุณต้องการแก้ภาพเชิงลึก เช่น layer, mask, หรือ filter แบบ Photoshop-grade หรือคุณมีจำนวน permutation ของ transformation มหาศาลที่ cache hit ต่ำ เพราะค่า unique transformation จะพุ่ง
RealtimeKit, SFU และ TURN: สามชั้นของ real-time
สามตัวนี้ไม่ได้แข่งกัน มันซ้อนกันอยู่ RealtimeKit นั่งอยู่บน SFU อีกที และ TURN คือชั้นล่างสุดที่ทำให้การเชื่อมต่อสำเร็จเมื่อผู้ใช้อยู่หลัง NAT หรือ firewall ที่เข้มงวด
RealtimeKit: เมื่อคุณไม่อยากเขียน WebRTC เอง
RealtimeKit ให้ SDK และ UI component มาเลย พร้อม primitive ระดับสูงอย่าง Meetings, Participants, Presets (บทบาท), Stage และ Waiting Room รวมถึงฟีเจอร์อย่างการอัดเสียง, แชท, โพล, breakout room, virtual background และ transcription
คิดเงินเป็นนาทีต่อผู้เข้าร่วม ที่ $0.002 ต่อนาทีสำหรับผู้ร่วมที่มีทั้งภาพและเสียง และ $0.0005 ต่อนาทีสำหรับผู้ร่วมที่เปิดเฉพาะเสียง การ export ออกมา (อัดวิดีโอ, RTMP หรือ HLS) อยู่ที่ $0.010 ต่อนาที ส่วน transcription แบบ real-time คิดตามราคาโมเดลมาตรฐานของ Workers AI ไม่มี free tier สำหรับ RealtimeKit
SFU: เมื่อคุณอยากคุมทุกอย่างเอง
Realtime SFU คือ media server ระดับล่างที่เราท์ media ระหว่าง peer มัน unopinionated มาก จน Cloudflare ระบุเองว่าไม่มีแม้กระทั่งแนวคิดเรื่อง "ห้อง" มีแค่ Sessions (PeerConnection) กับ Tracks แบบ pub/sub ส่วนเรื่อง presence กับ roster คุณต้องเขียนเองทั้งหมด
ลิมิตที่ควรจำ: 50 API call ต่อวินาทีต่อ session, เพิ่ม track ได้สูงสุด 64 track ต่อหนึ่ง API call, track จะถูก garbage collect หลังไม่มี media packet นาน 30 วินาที และ PeerConnection ต้องอยู่ในสถานะ connected ก่อนทำ operation โดยจะ block รอสูงสุด 5 วินาที
Codec ที่รองรับ: วิดีโอคือ H264, H265, VP8, VP9, AV1 ส่วนเสียงคือ Opus และ G.711 PCM (A-law และ µ-law)
TURN: ชั้นที่คนมักลืม
TURN ทำหน้าที่เป็น relay เมื่อ client ต่อตรงไม่ได้ ใช้คู่กับ Realtime SFU ได้ฟรี หากใช้เดี่ยว ๆ คิด $0.05 ต่อ GB ที่ egress ออกจาก Cloudflare ไปยัง TURN client โดยมี free tier 1,000 GB ต่อเดือน
ที่อยู่คือ turn.cloudflare.com ผ่าน anycast เชื่อมไปยัง location ที่ใกล้ที่สุดโดยอัตโนมัติ รองรับ TURN ผ่าน UDP (3478), TCP (3478 หรือ 80) และ TLS (5349 หรือ 443) ซึ่งตัวสุดท้ายสำคัญมากสำหรับผู้ใช้ในองค์กรที่ firewall ปิดทุกอย่างยกเว้น 443
ข้อจำกัดที่สำคัญสำหรับทีมไทย: TURN ทำงานบนเครือข่ายทั่วโลกของ Cloudflare ยกเว้น China Network ถ้าผู้ใช้ของคุณมีสัดส่วนสำคัญอยู่ในจีน ต้องวางแผนเรื่องนี้ต่างหาก
นอกจากนี้ TURN มีลิมิตต่อ allocation คือ IP ใหม่มากกว่า 5 ต่อวินาที, packet rate มากกว่า 5-10 kpps และ data rate มากกว่า 50-100 Mbps จะเริ่ม drop packet ลิมิตนี้เป็นราย allocation ไม่ใช่รายบัญชี
ใช้ตัวไหน เมื่อไหร่
ใช้ RealtimeKit เมื่อ: คุณอยากห้องประชุม ห้องเรียนเสมือนจริง webinar หรือ social video chat โดยทีมไม่มีคนที่เขียน WebRTC เป็นอาชีพ ไม่ควรใช้เมื่อ: คุณต้องการ media topology ที่ผิดจากรูปแบบห้องประชุมมาตรฐาน
ใช้ SFU เมื่อ: ทีมคุณมี WebRTC expertise อยู่แล้ว และต้องการสถาปัตยกรรมที่ไม่เข้าพิมพ์กับรูปแบบห้องประชุมทั่วไป ไม่ควรใช้เมื่อ: ทีมยังไม่เคยทำ WebRTC มาก่อน เพราะคุณจะต้องสร้าง presence, signalling, roster และการอัดเสียงทั้งหมดเอง
ตัวอย่างที่หนึ่ง: แพลตฟอร์ม e-learning ไทย ส่งวิดีโอ 20 TB ต่อเดือน
สมมติแพลตฟอร์มคอร์สออนไลน์ไทยที่มีคอร์ส 500 ชั่วโมง (30,000 นาที) และส่งวิดีโอให้นักเรียนรวม 600,000 นาทีต่อเดือน ที่ bitrate แนะนำของ Cloudflare สำหรับ 720p คือ 4.8 Mbps นั่นคือประมาณ 21.6 TB หรือราว 20 TB ต่อเดือน
| ทางเลือก | การคำนวณ | ค่าใช้จ่าย/เดือน |
|---|---|---|
| A: Cloudflare Stream | ||
| นาทีที่เก็บ | 30,000 นาที x $5/1,000 | $150 |
| นาทีที่ส่ง | 600,000 นาที x $1/1,000 | $600 |
| Encoding + ingest + egress | ฟรีทั้งหมด | $0 |
| รวม Stream | $750 | |
| B: R2 + encode เอง + player เอง | ||
| R2 storage | ladder 1080p+720p+480p (8+4.8+2.4 Mbps) x 30,000 นาที = ราว 3,420 GB x $0.015 | ~$51 |
| R2 egress | 21.6 TB | $0 |
| Class B operations | segment 4 วินาที @ 2.4 MB = ราว 9,000,000 GET (ต่ำกว่า free tier 10M) | $0 |
| รวม R2 | ~$51 |
ตัวเลขต่างกันราว 15 เท่า แต่อย่าเพิ่งสรุปว่า R2 ถูกกว่า สิ่งที่ $750 ของ Stream ซื้อคือ encoder, ABR ladder, การสร้าง manifest, player ที่พร้อมใช้งาน และ analytics ถ้าคุณเลือก R2 คุณกำลังจ้างทีมมาสร้างและดูแล media pipeline ด้วยตัวเองแทน
เราจงใจไม่อ้างตัวเลขราคาของ S3 กับ CloudFront ในที่นี่ เพราะเรายืนยันตัวเลขจากหน้าเอกสารที่เราดึงมาจริงเท่านั้น ขอให้คุณเปิด AWS calculator เอง แต่ประเด็นเชิงโครงสร้างชัดเจน CloudFront คิดต่อ GB ที่ egress ออกไป ส่วน R2 คิด $0 กับทุก GB ที่ออกไป กับปริมาณ 20 TB ต่อเดือน บรรทัดนี้คือตัวตัดสิน การเปรียบสองระบบตัวต่อตัวอยู่ใน R2 กับ S3
ตัวอย่างที่สอง: ห้องเรียนออนไลน์ 31 คน
ครู 1 คนกับนักเรียน 30 คน คาบละ 60 นาที เดือนละ 20 คาบ พร้อมอัดวิดีโอทุกคาบ
RealtimeKit: นาทีผู้เข้าร่วม = 31 x 60 x 20 = 37,200 นาที x $0.002 = $74.40 บวกค่า export อัดวิดีโอ 60 x 20 = 1,200 นาที x $0.010 = $12.00 รวม $86.40 ต่อเดือน บวก Workers Paid $5
SFU ดิบ: คิดเงินเป็น egress GB สมมติว่ามีแต่ครูที่ส่งภาพที่ 1 Mbps (นี่เป็นสมมติฐานของเราเอง ไม่ใช่ตัวเลขจาก Cloudflare) นักเรียน 30 คน x 60 นาที x 60 วินาที x 1 Mbit = 13.5 GB ต่อคาบ คูณ 20 คาบ = 270 GB ซึ่งอยู่ใน free tier 1,000 GB ต่อเดือน จึงเสีย $0 ค่า egress
สรุปคือ RealtimeKit คิดเงิน $86 ต่อเดือนเพื่อซื้อ SDK, UI kit, การอัดเสียง, แชท, โพล และ breakout room ส่วน SFU ดิบที่สเกลนี้แทบฟรี แต่คุณต้องเขียน WebRTC ทั้งหมดเอง นี่คือการแลกเงินกับเวลาของทีมตรง ๆ ถ้าคุณมี dev ที่เชี่ยวชาญ WebRTC อยู่แล้ว SFU คุ้มมาก ถ้าไม่มี RealtimeKit ถูกกว่ามาก
ตารางตัดสินใจ: ถ้าคุณต้องการ X ให้ใช้ Y
| ถ้าคุณต้องการ | ให้ใช้ | เหตุผล |
|---|---|---|
| อัปโหลดวิดีโอแล้วเล่นได้เลย | Stream | encode + ABR ladder + player มาในตัว คิดตามนาที |
| เก็บวิดีโอเอง คุมทุกอย่าง จ่ายน้อยที่สุด | R2 + ทีม encode เอง | egress $0 แต่คุณสร้าง pipeline เองทั้งหมด |
| ต้องการ DRM (Widevine/FairPlay) | Mux, AWS Elemental (ไม่ใช่ Cloudflare) | เอกสาร Cloudflare ไม่ระบุ DRM สำหรับ Stream |
| resize/optimize ภาพอัตโนมัติ | Images (+ R2) | คิดตาม unique transformation ไม่คิด egress |
| ห้องประชุม/ห้องเรียน ทีมไม่เคยทำ WebRTC | RealtimeKit | SDK + UI + อัดเสียง + breakout room มาในตัว |
| media topology แปลก ๆ ที่ไม่เข้ากับห้องประชุม | Realtime SFU | pub/sub ระดับ track คุมได้หมด แต่ต้องเขียน presence เอง |
| ผู้ใช้อยู่หลัง firewall องค์กรที่เข้มงวด | TURN over TLS พอร์ต 443 | ฟรีเมื่อใช้คู่ SFU; free tier 1,000 GB/เดือน |
| state ต่อห้อง เช่น roster หรือ chat presence | Durable Objects | instance เดียวต่อ key + WebSocket hibernation ลดค่า idle |
| server-side ad insertion, clipping, เสียงหลายภาษา | Mux หรือ AWS Elemental | Stream ไม่มี workflow เหล่านี้ |
เมื่อไหร่ที่ Mux, AWS Elemental หรือ media pipeline เฉพาะทางชนะ
นี่คือส่วนที่เนื้อหาของเจ้าของผลิตภัณฑ์มักจะข้าม แต่มันคือส่วนที่ตัดสินจริง
DRM คือ dealbreaker ที่ชัดเจนที่สุด
ถ้าคุณซื้อ licence คอนเทนต์จากสตูดิโอหรือค่ายหนัง สัญญามักบังคับว่าต้องมี Widevine หรือ FairPlay เอกสารของ Cloudflare ไม่ได้ระบุการรองรับ DRM สำหรับ Stream กลไกที่มีคือ signed URL กับ geo/IP rules ซึ่งกันการแชร์ลิงก์ได้ แต่ไม่ได้เข้ารหัสสตรีมแบบ DRM จริง กรณีนี้ Mux หรือ AWS Elemental คือคำตอบ ไม่ใช่ Cloudflare
Workflow วิดีโอขั้นสูง
Server-side ad insertion, การตัดต่อคลิปจาก live เป็น VOD, เสียงหลายภาษาในไฟล์เดียว, per-title encoding, การเลือก codec เอง สิ่งเหล่านี้คือสนามของ Mux, AWS Elemental และ Bitmovin Stream จงใจออกแบบมาเรียบง่าย ความเรียบง่ายนั้นคือจุดแข็ง แต่ก็คือข้อจำกัดด้วย
คุณมีทีม WebRTC อยู่แล้ว
ถ้าคุณมี LiveKit, Janus หรือ mediasoup ที่ทำงานดีอยู่แล้ว และทีมคุ้นเคยกับมัน การย้ายมา Cloudflare SFU จะได้ anycast routing กับการไม่ต้องดูแลเซิร์ฟเวอร์ แต่คุณจะเสียฟีเจอร์ที่เขียนไว้แล้วไป คำนวณเวลา migration ให้ดีก่อนตัดสินใจ
สำหรับ state ที่ต้องเก็บต่อห้อง เช่น roster หรือสถานะการเชื่อมต่อ Durable Objects เหมาะมาก เพราะ instance หนึ่งต่อ key เป็นเจ้าของ state จริง และ WebSocket hibernation ช่วยลดค่าใช้จ่ายของ connection ที่ idle ได้มาก เราเปรียบเทียบไว้ใน Durable Objects กับ Redis และภาพรวม storage อยู่ใน บริการ Storage ของ Cloudflare
สรุปสำหรับคนที่ต้องตัดสินใจ
คำถามแรกที่ต้องตอบคือ สัญญาคอนเทนต์ของคุณบังคับ DRM หรือไม่ ถ้าบังคับ จบการสนทนาเรื่อง Stream ได้เลย ถ้าไม่บังคับ คำถามต่อไปคือคุณอยากคุม encoding ladder เองไหม ถ้าอยาก ใช้ R2 แล้วสร้าง pipeline เอง ถ้าไม่ ใช้ Stream แล้วจบ
Cipher ออกแบบและพัฒนาระบบบน Cloudflare Developer Platform ให้กับธุรกิจในประเทศไทย ถ้าคุณกำลังชั่งน้ำหนักระหว่าง Stream, R2 ที่ทำ encode เอง หรือ media platform เจ้าอื่น เรารับประเมินสถาปัตยกรรมและคำนวณต้นทุนจริงจากปริมาณงานของคุณเองได้
คำถามที่พบบ่อย
Cloudflare Stream รองรับ DRM ไหม
เอกสารของ Cloudflare ไม่ได้ระบุการรองรับ DRM อย่าง Widevine, FairPlay หรือ PlayReady สำหรับ Stream กลไกควบคุมการเข้าถึงที่มีคือ signed URL กับ token ที่กำหนด geo/IP rules ได้สูงสุด 5 ข้อ พร้อม Allowed Origins ถ้าสัญญาคอนเทนต์ของคุณบังคับ DRM ต้องใช้เครื่องมืออื่นอย่าง Mux หรือ AWS Elemental
Cloudflare Stream คิดเงินอย่างไร
คิดสองมิติเท่านั้น คือ $5 ต่อ 1,000 นาทีที่เก็บ (จ่ายล่วงหน้า) และ $1 ต่อ 1,000 นาทีที่ส่ง ขนาดไฟล์ไม่มีผล การ ingest และ encoding ฟรีเสมอ และไม่มีค่า egress แยกต่างหาก (ราคา ณ กรกฎาคม 2026)
RealtimeKit กับ Realtime SFU ต่างกันอย่างไร
RealtimeKit อยู่บน SFU อีกที ให้ SDK กับ UI component มาเลย และคิดเงินเป็นนาทีต่อผู้เข้าร่วม ($0.002 ต่อนาทีสำหรับภาพและเสียง) ส่วน SFU เป็น media server ระดับล่างที่คิด $0.05 ต่อ GB egress โดยมี free tier 1,000 GB ต่อเดือน แต่คุณต้องเขียน presence และ signalling เองทั้งหมด
TURN ของ Cloudflare คิดเงินเท่าไร
ฟรีเมื่อใช้คู่กับ Realtime SFU หากใช้เดี่ยว ๆ คิด $0.05 ต่อ GB ที่ egress ออกจาก Cloudflare ไปยัง TURN client โดยมี free tier 1,000 GB ต่อเดือน ข้อควรระวังสำหรับทีมไทยคือ TURN ทำงานบนเครือข่ายทั่วโลกของ Cloudflare ยกเว้น China Network
เก็บวิดีโอใน R2 แทน Stream ถูกกว่าจริงหรือไม่
ถูกกว่ามาก เพราะ R2 คิด $0.015 ต่อ GB-เดือน และ egress เป็น $0 เสมอ แต่คุณต้องสร้าง transcoding, ABR ladder, manifest และ player เองทั้งหมด สิ่งที่คุณจ่ายให้ Stream คือ media pipeline ที่คุณไม่ต้องสร้างและดูแลเอง

