零压力搭建视频站!Ubuntu 服务器 + Cloudflare Pages 全自动 DASH 视频部署教程
本方案利用 Ubuntu 服务器运行 FFmpeg 进行视频转码,解决本地电脑配置低的问题。通过 Cloudflare Pages 存储视频,使用 Wrangler 工具一键部署。流程包括安装 FFmpeg、后台转码 DASH 格式、配置 Cloudflare API 以及增量上传。最终实现浏览器流畅流式播放,不占本地内存,操作简单。
担心本地电脑配置低、跑 FFmpeg 转码卡死?不想每次新建项目折腾?这套纯服务器命令行 + 一键部署方案完美解决所有问题:全程在 Ubuntu 服务器运行,不占本地内存,转码稳定不中断;一个 Cloudflare Pages 项目存放所有视频,增量上传超快,最终实现浏览器流畅流式播放,新手也能一次搞定!
整套方案核心优势
解放本地电脑:所有转码操作在 Ubuntu 服务器完成,不占用电脑内存、不卡顿
全自动转码:一条命令后台运行,断开服务器连接也能继续转码
单项目存无限视频:无需新建 Pages 项目,按文件夹分类即可
增量上传:仅上传新增 / 修改文件,速度快、省流量
合规无忧:切片大小≤18MB,完全符合 Cloudflare 单文件 25MB 限制
一键播放:前端两行代码,浏览器直接流式播放
一、服务器准备:一键安装 FFmpeg(必备转码工具)
所有 Ubuntu 版本通用,自动集成 x264/x265 核心编码器,全程无手动配置!
打开服务器终端,逐行执行命令:
验证安装是否成功
执行以下命令,出现版本信息和编码器即为成功:

二、视频 DASH 转码:后台稳定运行(断开连接也不中断)
我们采用nohup命令后台转码,即使关闭服务器终端,转码任务也会持续执行;且自动切片大小≈18MB,完美符合 Cloudflare 限制。
1. 规划视频文件夹结构(关键!)
一个 Pages 项目存放所有视频,每个视频独立一个文件夹,结构如下:
2. 执行转码命令
进入你需要转码的视频所在目录,执行这条终极命令:

命令说明
nohup+ 末尾&:后台运行,关闭终端不中断-seg_duration 4:切片 4 秒,单个切片≈18MB,符合 CF 限制转码完成后,文件夹内会生成:
manifest.mpd+init.mp4+ 多个.m4s分片文件转码完成后,一定不要忘记删除原始.mp4,即"你要转码的视频.mp4",直接用rm命令
三、服务器部署:一键安装 Node.js + Wrangler
不用本地电脑操作,纯服务器命令行上传文件到 Cloudflare Pages,先安装依赖工具:
方法 1:官方源安装 Node.js 18(推荐,稳定无报错)
方法 2:NVM 安装(解决权限问题,服务器首选)
全局安装 Wrangler(Cloudflare 官方部署工具)
四、无界面登录 Cloudflare(服务器专用)
服务器没有浏览器,用API 令牌登录,一步配置,永久生效!一劳永逸!
1. 本地电脑获取凭证
打开 Cloudflare 控制台 → 右上角头像 → My Profile
左侧 API Tokens → Create Token
选择模板:Edit Cloudflare Workers → 继续 → 生成令牌
复制令牌(仅显示一次)+ 复制你的Account ID
点击查看大图blog image
2. 服务器配置永久登录
五、创建 Pages 项目 + 全自动增量上传
1. 第一次使用:创建 Pages 项目
进入你的视频总目录,执行命令创建项目(项目名自定义):
2. 核心:上传 / 更新视频(无限次使用)
这是你以后唯一需要执行的命令:
上传优势(重点!)
✅ 第一次:全量上传所有文件
✅ 第二次及以后:只上传新增 / 修改的文件
✅ 不变的文件:不上传、不浪费流量、速度极快
✅ 直接覆盖更新,无需手动删除旧文件
六、浏览器流式播放:两行代码搞定(使用自定义域名)
上传并绑定自定义域名后,直接用 dash.js 播放,无需播放器软件,浏览器原生支持!
引入 CDN 播放器库
在 HTML 的 <body> 中添加:
嵌入视频播放器
重要:请将 src 替换为你自己的自定义域名地址,不要使用默认的 pages.dev 地址。
播放地址规则(使用自定义域名)
https://你的自定义域名/视频文件夹名/manifest.mpd
示例:
https://video.abc123.com/travel-vlog/manifest.mpd
超简短总结(新手必看)
服务器装 FFmpeg → 一条命令后台转码视频
每个视频单独建文件夹,统一存放在总目录
装 Wrangler 登录 Cloudflare
一条命令增量上传到 Pages
前端两行代码,浏览器直接流畅播放
注:如果您的服务器内存不足以运行Wrangler上传,可以直接把整个文件夹打包(zip -r my-videos.zip ./*),下载到电脑本地后直接上传压缩包至pages(创建部署)。在视频目录下用python3 -m http.server 8888开启临时下载服务后,直接访问http://你的服务器公网IP:8888
全程不占本地电脑内存,一个 Pages 项目存无数视频,新增视频只需要:上传视频到目录→转码→新建文件夹→执行上传命令,零难度!