封面与切片加速
把远程封面下载到本地并压缩转码;把播放分片地址替换为自建加速域名。含开启步骤、各选项含义、Nginx 示例和上线检查。
这一章讲「系统设置」里两项互相独立、但都影响图片加载与播放速度的功能:
| 功能 | 后台入口 | 解决什么问题 |
|---|---|---|
| 封面图处理配置 | 系统设置 → 封面图处理配置(/settings/coverConfig) |
采集来的封面在远程图片源上,不稳定或太慢;把它们保存到你自己的服务器,并压缩、转码 |
| 切片加速 | 系统设置 → 切片加速(/settings/sliceAcceleration) |
资源站线路慢;把播放列表里的资源站域名换成你自建的加速域名 |
步骤章节(点击跳转)
封面图下载、压缩、转码与重新下载,以及切片加速的域名映射、使用前提、Nginx 代理和上线流程。
两个页面都是「改完统一保存」:点击右上角「保存配置」才生效,「重新加载」会放弃未保存的修改。
封面图处理配置

采集的视频通常带远程封面。开启后,系统会在后台持续扫描视频,把可访问的远程封面保存为本地封面地址,前台展示时就不再依赖外部图片源。它影响视频管理中的视频卡片、详情页和播放页封面;不影响演员、合辑、发行商、广告图、区块图等你手动上传的图片。
开启步骤
- 进入 系统设置 → 封面图处理配置;
- 在「下载设置」里按下表填写,打开右上角的「启用」开关;
- 按需开启「图片压缩」「图片转码」;
- 点击「保存配置」;
- 等待一段时间,到视频列表或前台查看封面是否已变为本地地址,并抽查清晰度、尺寸和格式。
下载设置
| 配置项 | 说明 |
|---|---|
| 启用 | 封面下载任务的总开关,关闭后不再继续下载 |
| 下载频率(每张间隔) | 每下载一张封面后等待的秒数,范围 1-3600。一般从 1-3 秒起步,太快可能被远程图片源限制 |
| 失败重试次数 | 0-10 次,网络不稳定时建议 2-3 次 |
| 封面 404 处理方式 | 远程封面明确不存在(404 或 410)时怎么办:跳过(保留视频) 或 删除(软删除视频) |
| 失败自动删除视频 | 失败达到上限后是否自动软删除对应视频 |
关于两个「删除」相关选项:
| 选项 | 效果 | 适合场景 |
|---|---|---|
| 跳过(保留视频) | 保留视频记录,记录失败状态,避免反复处理同一张无效封面 | 推荐默认选择;刚接入采集源或内容源不稳定时使用 |
| 删除(软删除视频) | 视频被标记为删除,不再正常展示(不是物理删除) | 内容强依赖封面,封面失效就不想展示的站点 |
| 失败自动删除视频:关闭 | 失败达到上限后保留视频,不再重复重试 | 正式站点建议关闭,避免临时故障让大量视频下线 |
| 失败自动删除视频:开启 | 失败达到上限后自动软删除 | 确认内容源稳定后再考虑,并把重试次数设为 3 次以上 |
图片压缩与图片转码
| 配置项 | 说明 |
|---|---|
| 图片压缩:启用 | 开启后,原图宽或高超过设定值时等比缩小(不拉伸、不放大小图) |
| 最大宽度 / 最大高度 | 压缩开启时必须填写,单位 px,建议不低于 100。参考值 800 × 600;要高清大图可提高到 1280 × 720 |
| 图片转码:启用 | 开启后把下载的封面统一保存为目标格式 |
| 目标格式 | JPEG(体积小,适合大多数封面)或 PNG(保留透明、边缘清晰,体积更大)。关闭转码则尽量保留原格式 |
重新下载全部图片
点击右上角的「重新下载全部图片」,会清空下载进度和失败记录,让系统从头检查并下载全部视频封面。适用于:
- 修改了压缩尺寸或转码格式,希望已有封面按新设置重新生成;
- 之前远程图片源异常,现已恢复,需要重新下载失败的封面;
- 之前配置错误导致大量失败,修正后重新处理。
注意
- 必须先关闭封面下载总开关才能操作,否则会提示先关闭;
- 内容量大时耗时较长,会增加服务器网络、磁盘写入和远程图片源的压力,建议在访问低峰期操作。
前台效果与推荐配置
成功下载后,视频列表、详情页和用作分享图的封面都会使用本地地址;某个视频还没生成本地封面时,前台会继续使用原远程封面。
| 配置项 | 稳妥运营 | 严格内容质量 |
|---|---|---|
| 启用 | 开启 | 开启 |
| 下载频率 | 1-3 秒 | 适当放慢 |
| 失败重试次数 | 3 次 | 3-5 次 |
| 封面 404 处理方式 | 跳过(保留视频) | 删除(软删除视频) |
| 失败自动删除视频 | 关闭 | 谨慎开启 |
| 图片压缩 | 开启,800 × 600 或 1280 × 720 |
同左 |
| 图片转码 | 开启,JPEG | 同左 |
切片加速

切片加速只改写播放列表(HLS 索引)里的分片地址:把资源站域名替换为你自建的加速域名(Nginx 或 Cloudflare)。当资源站自身线路较慢时,可以在与资源站网络质量更好的服务器上部署固定上游的反向代理,播放器就通过加速域名请求分片、加密密钥和初始化文件。
使用时请遵守资源站的公开说明和采集 API 使用规则。切片加速只改变访问链路,不能用于绕过鉴权、防盗链或其它访问限制。
采集 API → HLS 地址 → 发财CMS 改写分片域名 → 你的加速代理 → 公开资源站域名映射总控
| 配置项 | 说明 |
|---|---|
| 启用 | 切片加速总开关。关闭后保留规则但不改写地址,也不再收集未拦截域名 |
| 映射规则 / 启用规则 | 已添加的规则总数 / 当前可参与匹配的规则数 |
| 替换方式 | 按域名前缀替换,保留剩余路径和查询参数 |
切片加速需要订阅有效。未订阅时总开关、添加映射和保存都不可用,页面顶部会出现「立即订阅」入口。
映射规则
| 配置项 | 说明 |
|---|---|
| 状态 | 控制单条规则是否参与替换,停用后仍保留在列表中 |
| 原始域名 | 需要被替换的资源站域名前缀,可带路径前缀,如 https://source-a.example.net/media |
| 加速域名 | 替换后的访问前缀,可带路径前缀,如 https://hls-a.example.com/hls |
| 备注 | 线路名称、资源站、适用地区等 |
| 删除 | 从当前页面移除,点击「保存配置」后生效 |
效果示例:
https://source-a.example.net/video/a/001.ts?token=demo
→ https://hls-a.example.com/video/a/001.ts?token=demo会被替换的是播放列表里的绝对 HTTP/HTTPS 地址:分片或子播放列表、加密密钥地址、初始化文件。相对地址、协议/域名/端口与规则不一致、路径不在规则范围内、已停用的规则都不会被替换。
填写要点:
- 都要写完整的
http://或https://;保存时自动去除首尾空格和末尾的/; - 协议、域名、非默认端口都是匹配条件,
http://与https://不互相匹配; - 总开关开启时,至少要有一条完整规则才能保存;
- 多条规则同时匹配时列表中第一条生效,所以把更具体的路径规则放前面;
- 带路径前缀的映射(
/media→/hls),要求代理端也把/hls/固定转发到资源站的/media/; - 有多个资源站时,建议各分配独立的加速子域名,线路、超时和缓存策略可以分别调整,单个资源站故障也不影响其它入口。
使用前提
| 场景 | 条件 |
|---|---|
| 点播视频 | 订阅有效、采集源使用默认播放器,并在「订阅管理 → 订阅功能」中开启「HLS 索引缓存」 |
| 短视频 / 短剧 | 默认播放器 + 本地 HLS 处理 + 满足点播的 HLS 索引缓存要求 |
| 直播 | 订阅有效并启用切片加速(不依赖点播的 HLS 索引缓存开关) |
| 后台视频预览 | 使用后台本地 HLS 预览时同样应用规则 |
页面提示「点播加速未生效」时,先去开启「HLS 索引缓存」。它只保存处理后的播放列表,不缓存分片本身;要缓存分片,请在 Nginx、Cloudflare 等 CDN 里单独配置。
未拦截域名
总开关开启后,页面会记录「出现在播放列表里、但还没有配置映射」的资源站域名,帮你发现采集接口返回的备用线路或遗漏线路:
| 展示项 | 说明 |
|---|---|
| 来源域名 | 协议、域名和非默认端口,不含路径和参数 |
| 首次发现 / 最近发现 | 服务运行期间第一次 / 最近一次观察到的时间 |
| 发现次数 | 在不同播放列表处理中出现的次数 |
最多保留 100 个域名,超过后移除最久未出现的;服务重启后需要重新收集。「刷新记录」只更新这份记录,不会覆盖你尚未保存的规则;「清空记录」需要确认;保存新规则后,已被覆盖的域名会自动从列表消失。
推荐上线流程
- 确认资源站免费公开、提供正式采集接口,并了解它的使用规则;
- 为每个资源站准备独立的加速子域名;
- 配置并验证 Nginx 到资源站的固定上游反向代理(见下),按需设置缓存;
- 需要 Cloudflare 时,等 Nginx 验证正常后再开启橙色云和缓存规则;
- 在后台添加映射规则,先只启用一条;
- 打开总开关,点击「保存配置」;
- 播放一个点播视频或直播,用浏览器开发者工具确认分片请求已经走到加速域名,并检查返回状态、Range、跨域和缓存命中;
- 刷新「未拦截域名」,确认没有遗漏主要资源站,再逐步添加其它规则。
Nginx 反向代理示例
在加速域名的服务器上用 Nginx 固定转发到资源站(注意:proxy_pass 必须写固定上游,不要用请求参数拼接上游地址,否则会形成开放代理):
server {
listen 80;
server_name hls-a.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name hls-a.example.com;
ssl_certificate /etc/nginx/ssl/hls-a.example.com/fullchain.pem;
ssl_certificate_key /etc/nginx/ssl/hls-a.example.com/privkey.pem;
location / {
if ($request_method = OPTIONS) {
add_header Access-Control-Allow-Origin "https://www.example.com" always;
add_header Access-Control-Allow-Methods "GET, HEAD, OPTIONS" always;
add_header Access-Control-Allow-Headers "Range, If-Range, Origin, Accept" always;
add_header Access-Control-Max-Age 86400 always;
return 204;
}
limit_except GET HEAD OPTIONS { deny all; }
proxy_pass https://source-a.example.net;
proxy_http_version 1.1;
proxy_ssl_server_name on;
proxy_ssl_name source-a.example.net;
proxy_ssl_verify on;
proxy_ssl_trusted_certificate /etc/ssl/certs/ca-certificates.crt;
proxy_set_header Host source-a.example.net;
}
}需要替换:加速域名、资源站域名、证书路径、允许跨域的正式前台域名。Nginx 分片缓存、Cloudflare Cache Rules(静态分片可缓存、携带 Cookie/Authorization 的敏感请求绕过缓存)等进阶做法,请参考软件自带帮助文档的「切片加速」章节;配置后在前台实际播放一个视频,并用浏览器开发者工具确认分片请求已经走到加速域名。
常见问题
| 问题 | 排查 |
|---|---|
| 封面不显示或大量封面失败 | 看下载间隔是否过快、重试次数是否合理、远程源是否 404。不要轻易开启「失败自动删除视频」。修正后用「重新下载全部图片」(需先关闭总开关) |
| 修改了压缩/转码后旧封面没变 | 使用「重新下载全部图片」 |
| 提示「点播加速未生效」 | 订阅是否有效、采集源是否使用默认播放器、是否已开启「HLS 索引缓存」 |
| 点播地址没有被替换 | 检查总开关、规则状态、协议/域名/端口是否与播放列表里的完全一致,以及规则顺序 |
| 保存时报错 | 总开关开启时至少要有一条完整规则;未订阅时无法保存 |