导入视频
将内容导入 TubePress 的各种方式,以及导入队列的工作原理。
TubePress 可通过多种方式填充您的内容库 — 从手动添加单个视频到从云端批量导入数十万个现成视频。本页介绍内置的导入工具,并指引您找到其他导入方式的详细说明。
无论您选择哪种方式,最终结果相同:都是普通视频,可以像其他视频一样进行编辑、整理、管理和发布。根据您的内容量以及是否需要一次性导入或持续补充来选择合适的方式。
向 TubePress 添加内容的方式
添加视频没有唯一"正确"的方式 — 每种方式适合不同的规模和工作流程。请参考下表进行选择,然后点击链接查看详细说明。
| 方式 | 适用场景 | 您需要提供 | 可循环? | 消耗积分? |
|---|---|---|---|---|
| 手动上传 | 单个自托管视频 | 视频文件 | 否 | 否 |
| 单URL导入 | 单个嵌入视频 | 嵌入代码或视频URL | 否 | 否 |
| 批量导入 | 一次导入大量视频 | CSV 或 JSON 文件 | 否(队列处理) | 仅限AI功能 |
| 订阅源导入 | 免维护,持续增长 | 订阅源URL | 是 | 仅限AI功能 |
| 目录 | 现成内容库 | 从40万+视频中挑选 | 否 | 是 |
导入单个视频
TubePress 没有单独的"单视频"导入功能 — 要添加单个视频,请使用视频管理界面(/admin/videos)并选择添加视频。提供媒体内容有两种方式:
- 手动上传 — 上传您自行托管的视频文件。
- 单URL导入 — 粘贴
<iframe>嵌入代码或直接视频URL,以嵌入托管在其他地方的视频。
填写标题和缩略图,附加分类、标签或演员信息,然后保存为草稿或立即发布。两种方式均不消耗积分。
批量导入
批量导入位于 /admin/import 的上传文件选项卡中。它接受单个 CSV 或 JSON 文件(而非粘贴的URL列表),并将每行或每个对象转换为一个视频。
- CSV 必须有标题行,并使用逗号作为分隔符。
- JSON 必须是对象数组。
将文件拖放到上传区域(或点击浏览),TubePress 将读取列并显示预览。最简 CSV 格式如下:
title,embed_code,thumbnail,duration,tags
My clip,https://ex.com/v/123.mp4,https://ex.com/t.jpg,612,"solo,hd"接下来,通过拖放方式将列映射到 TubePress 字段。导入工具识别的字段包括:
<iframe> 嵌入代码或视频URL。开始之前,请设置重复项处理方式(跳过或更新,基于 video_id 匹配),是否下载缩略图以从您的存储空间提供服务,以及可选的AI改写或翻译功能。
导入队列的工作原理
对于较大的文件,请选择在后台启动。TubePress 创建一个任务并交由导入处理器处理,即使关闭选项卡后也会继续处理您的数据行。无需系统 crontab — 它在内置的 pseudo-cron 上运行。
处理器设计安全可靠:
- 分块处理。每次导入少量行,确保 Web worker 不会被占用;可调节的导入速度控制每块的数量。
- 异步处理。pseudo-cron 在网站有流量时接取任务,导入页面打开时也会持续推进。
- 自我修复。停滞的任务(例如运行中途服务器重启)将在约五分钟后自动重新入队,并从中断处继续。
- 去重处理。已知
video_id的行将被跳过或更新,而不会重复创建。 - 容错处理。错误行会被记录(每块的前几个错误会被采样),任务继续执行。
查看导入进度
打开 /admin/import,查看导入队列。每个活动任务实时显示计数 — 已导入、已跳过、错误数和已处理/总数 — 每隔几秒刷新一次。
在此您可以暂停、继续、取消或删除任务。最近24小时的任务将保留在列表中,以便您查看详情,包括失败行的错误消息样本。
提示与限制
- 仅接受
.csv和.json文件;其他格式将被直接拒绝。 - 每行的实际最低要求是标题加嵌入代码和缩略图。
- 上传大小受服务器的
upload_max_filesize和post_max_size限制。请拆分非常大的文件,或使用后台任务。 - 映射稳定的
video_id,以便重新运行文件时更新而非重复创建。 - 启用下载缩略图以自行托管图片,而非热链接源地址。
- AI改写和翻译消耗积分,需要关联的 tubepress.io 账户;如果余额不足,任务将停止并显示明确提示。