主要涉及内容:如何将本地视频转换为 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 转发 + 防盗链
- 使用模版创建自己的 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);
引用视频
- 直接打开(Blocked)
- 未加白名单的网站(Blocked)
- 已加白名单的网站(ok)
Comments (1)
【教程】Cloudflare R2 视频托管完整教程|HLS 转换+上传+播放器集成 - B站视频无水印解析下载哔哩哔哩视频-bilibilixz.comsays:
2025-05-17 at 16:42[…] 相关源码及链接:https://app.justincourse.com/i/1180/ […]