相关资源与链接

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

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

之前分享了一篇关于使用 CloudFlare R2 托管在线视频成本优势的文章,今天来讲一下具体怎么做

https://app.justincourse.com/i/1133/

本地转换视频

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

https://github.com/justincourses/r2-hot-link-protection/blob/main/scrips/encode-hls.sh

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
  • 拖放文件

Worker 转发 + 防盗链

// 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);

引用视频

课程讨论与答疑

提问默认仅你和管理员可见;管理员精选后会作为公开讨论展示。

正在载入讨论…