qiepian · config.json 配置说明
统一配置 11 个区块 · 55 个配置项 5 个模块共用 含敏感凭据

config.json统一配置文件说明

qiepian 的切片管线由这一个文件统一调度 —— main.py、qie.py、auto.py、web.py、tg.py 都从这里读取参数。改这一个文件即可,不用改代码。

本文件包含敏感凭据,请勿外传或提交到公开仓库。
涉及 mysql.password、telegram.bot_token、telegram.secret、parse_api.key。

加载方式

config.py 在启动时读取一次 config.json,把每一项转成 config.XXX 常量供各模块使用。

相对路径

如 downloads、ffmpeg/ffmpeg.exe,都按项目根目录解析成绝对路径。

注释字段

每个区块里的 _comment 只给人看,代码会忽略它。

▶

m3u8 播放器测试工具

HLS 试播

粘贴一个 playlist.m3u8 链接,直接试播切片结果。

输入链接后点击「播放」。

Chrome / Edge 通过 hls.js 播放,需要服务器对 .m3u8 与 .ts 返回 CORS 响应头(Access-Control-Allow-Origin);Safari 原生播放则无需 CORS。

01

paths路径

6 个键
键默认值说明
downloads_dirdownloads视频下载目录(下载的视频先放这里)
slices_dir_slices切片输出目录(切好的 HLS 分片放这里)
links_jsonlinks.json链接记录 JSON 文件,保存「片名 → 页面/直链/播放地址」的映射
m3u8dlbin/m3u8.exem3u8 下载器(N_m3u8DL)可执行文件路径
ffmpegffmpeg/ffmpeg.exeffmpeg 可执行文件路径
ffprobeffmpeg/ffprobe.exeffprobe 可执行文件路径
02

parse_api视频解析接口

2 个键
键说明
key解析接口的密钥(接口需要鉴权时填,留空则不传)
url解析接口地址,main.py 用它把页面链接解析成直链
03

search_api搜索接口

2 个键
键说明
url搜索接口地址(auto.py 按关键词搜片)
params固定附加的查询参数(如 { "ac": "videolist", "h": "i" })
04

upload上传

5 个键
键默认值说明
ts_url—上传单个 .ts 分片的接口地址
m3u8_url—上报 playlist.m3u8 播放列表的接口地址
fake_pngtrue是否把 .ts 伪装成 PNG 上传(在数据前塞 PNG 文件头,绕某些图床/上传限制)
ts_responseurlts 上传接口返回的 URL 字段路径。点路径如 "data.url";"@body" 表示接口直接回传 url 文本
m3u8_responseurlm3u8 接口返回的 URL 字段路径,规则同上

ts_response / m3u8_response 例子:接口返回 {"code":0,"data":{"url":"http://..."}} 就填 "data.url";接口直接回 http://... 文本就填 "@body"。

05

mysqlMySQL 数据库

7 个键

切片完成并上传后,把资源记录写入数据库。

键默认值说明
enabledfalse是否启用 MySQL 入库
host—数据库地址
port3306端口
user—用户名
password—密码
database—库名
tablels_resources写入的表名
06

download下载参数

6 个键
键默认值说明
user_agent—下载时用的 User-Agent
max_threads32下载并发线程数上限(传给 m3u8 下载器,字符串)
min_threads16下载并发线程数下限
retry_count15下载失败重试次数
time_out10下载超时时间(秒)
download_timeout1800下载停滞超时(秒):连续 N 秒 0 速度就判定卡死、跳到下一个播放器;0 表示不限时
07

slice切片参数

2 个键
键默认值说明
segment_seconds10.0每个 HLS 分片的时长(秒)
upload_threads4上传分片的并发线程数
08

watermark水印 / 片头字幕

16 个键

本项目最核心的一块,有三档工作模式,按优先级从高到低。

优先级 1 start_seconds > 0

片头出处字幕:只烧片头前 N 秒,其余分片 -c copy 流复制(最快)

优先级 2 every_n > 1

间歇水印:每 N 个分片出现 1 段水印(单遍重编码,无拼接卡顿)

优先级 3 其它(every_n 为 0 或 1)

全程水印:整条视频都烧水印

键默认值说明
enabledfalse总开关。false 则完全不加水印/字幕,直接 -c copy 快速切片
text空水印/字幕文字(如「啄木鸟影视」)
fontfileC:/Windows/Fonts/msyh.ttc字体文件路径(微软雅黑,支持中文)
fontsize26字号(像素)
fontcolorwhite文字颜色:颜色名(white/black/red…)或 #RRGGBB
alpha0.4文字透明度,0=全透明、1=不透明
xw-text_w-20文字横向位置表达式(见下方说明)
yh-text_h-20文字纵向位置表达式
borderw1描边宽度(像素),0 表示不描边
bordercolorblack描边颜色
encoderlibx264视频编码器:libx264(软件)、qsv(Intel 核显硬编)、mf(Windows 硬编)
presetveryfast编码预设(libx264 用,越快越省时但文件越大)
crf23画质(libx264/qsv 用,越小越清晰、文件越大)
bitrate3000k目标码率(mf 编码器用)
every_n0间歇水印:每 N 个分片出现 1 段;0 或 1 = 全程烧
start_seconds0片头出处字幕:>0 时只烧片头前 N 秒,其余 -c copy(优先于 every_n)

位置表达式说明(x / y)

w、h:视频的宽、高
text_w、text_h:文字本身的宽、高
例:x = "w-text_w-20"表示靠右、右边距 20px;y = "20"表示距顶部 20px;y = "h-text_h-20"表示靠下、下边距 20px
09

webWeb 服务

2 个键
键默认值说明
host0.0.0.0Flask 服务监听地址(0.0.0.0 = 允许外部访问)
port5000服务端口
10

telegram通知

6 个键

切片完成并替换后推送通知。

键默认值说明
enabledfalse是否启用通知
relay_url空香港 tg.php 转发接口地址(优先走它,免代理)
secret空tg.php 接口口令
broadcastfalsetrue = 群发给所有订阅者(/start 过的用户);false = 只发到 chat_id
bot_token空直连回退用的 Bot Token(relay 不可用时用)
chat_id空频道/聊天 ID(如 @频道名 或数字 ID)
11

video_exts视频扩展名

1 个键
键默认值说明
video_exts [".mp4", ".ts", ".mkv", ".mov", ".flv", ".avi", ".m4v"] 程序识别为「视频文件」的扩展名列表,其它扩展名的文件会被忽略
!

改配置后如何生效

改完 config.json 保存后,重启对应进程(main.py / web.py 等)即可,因为 config.py 只在启动时读一次配置。正在跑的任务不会实时刷新。