Press ESC to close

使用 CloudFlare R2 + Workers 托管在线视频

主要涉及内容:如何将本地视频转换为 HLS 格式并上传到 Cloudflare R2,实现低成本的在线点播播放


🎓 想继续深入学习?完整实战课程请访问 https://justincourse.com 获取!

之前分享了一篇关于使用 CloudFlare R2 托管在线视频成本优势的文章

今天来讲一下具体怎么做

本地转换视频

ffmpeg 的安装:https://ffmpeg.org/download.html

转换脚本源码:https://github.com/justincourses/r2-hot-link-protection/blob/main/scrips/encode-hls.sh

Bash
ffmpeg -i ../[your-video].mp4 \
  -c:v libx264 -profile:v high -level 4.1 -preset slow \
  -crf 20 -g 48 -sc_threshold 0 \
  -c:a aac -b:a 128k \
  -vf "scale=w=1920:h=1080:force_original_aspect_ratio=decrease" \
  -hls_time 6 -hls_playlist_type vod \
  -hls_segment_filename "out_%03d.ts" \
  [your-video].m3u8

上传到 R2

  • 登录 Cloudflare
  • 创建 R2 Bucket
  • 拖放文件夹(300M 以内)

Worker 转发 + 防盗链

JavaScript
// https://github.com/justincourses/r2-hot-link-protection/blob/main/src/index.ts#L1

const ALLOWED = new Set([
	// 这里可以加上自己的 domain 白名单
]);


// https://github.com/justincourses/r2-hot-link-protection/blob/main/src/index.ts#L57
// 如果 worker 与目标网站在同一个根 domain 下可以取消下面这一行的注释,进一步提升安全性
// h.set('Cross-Origin-Resource-Policy', CORP);

引用视频

发表回复

✨ 2025 年 12 月结束前(12.31),购买「AI Web 全栈编程(一次买断)」课程(折后 ¥388.8):👉 点此购买,支持支付宝、银行卡