播放列表编辑器:批量管理视频、字幕与章节
三集短片手写 JSON 没问题;三十集课程、每集挂双语字幕、章节、缩略图呢?「播放列表」本质是一份结构化数据,数据量大到一定程度就必须上工具。ZWPlayer 播放列表编辑器把这件事可视化:批量导入、拖拽排序、逐条配置附属资源,导出标准 ZWMAP playlist JSON。
界面总览:三区协作
编辑器分三区:左侧分组与条目列表(分组可折叠、条目可搜索)、右侧详情面板(当前条目的全部属性)、顶部工具栏(导入导出、批量操作、撤销重做、预览)。
图 1:编辑器总览——左侧两分组五条目,右侧详情面板
第一步:把内容批量弄进来
三种导入姿势按场景选:
- JSON 导入:已有 ZWMAP 播放列表(或 ZWScan 扫描产物),「导入 → 文件」直接进;
- 文本批量导入:一行一个 URL(或「名称,URL」)粘贴进来,几十条目一次建好——课程上线前的标准动作;
- 逐条添加:「添加条目」按钮,适合补漏。
导入后条目按分组归位,搜索框可按名称快速过滤。
第二步:逐条挂资源——详情面板
选中任一条目,右侧详情面板展开它的全部可配置项:名称、URL、类型(自动识别)、海报图(带缩略图预览)、字幕轨(多行,逐轨填 URL)、配音音轨、歌词(LRC)、章节、多码率源、是否直播。
图 2:选中「第 1 课」后右侧出现它的编辑面板——海报缩略图、双语字幕轨逐行配置
这里挂好的资源会随条目切换自动挂载——观众从第 1 课点到第 2 课,字幕、章节、海报全部跟过去,不需要每集重复配置播放器。
第三步:列表级设置
工具栏的「播放列表设置」配置整体行为:标题(列表面板顶部的节目名)、ID、自动连播开关(一集播完自动下一集)。
图 3:列表级设置——标题、ID 与自动连播
导入导出与草稿
右侧 JSON 面板实时显示当前列表的 ZWMAP 结构,可直接编辑后应用(改完点「应用」即刻生效)、复制或导出文件;草稿自动保存在浏览器里,关页面不丢。
图 4:JSON 面板——所见即协议,可编辑、复制、导出
预览与播放器端效果
点「预览」进入真实 ZWPlayer 全屏预览:列表面板(快捷键 Q)展示分组与条目,点选即切、自动连播、条目资源(字幕/章节/海报)随切换挂载——观众端看到的就是这个样子。
图 5:预览——播放器列表面板与播放中的条目
接入自己的页面同样一行:
new ZWPlayer({
playerElm: 'player',
playlist: '/lists/course.json', // 编辑器导出的 ZWMAP playlist JSON
});
播放器侧得到的是完整列表体验:下一集按钮、列表面板、连播、记忆播放位置。
与 ZWScan 的组合拳
本地媒体库(NAS、教学素材库、录像归档)推荐流水线:
「几百个文件的媒体库 → 一个能直接看的网站」,全程不超过一杯咖啡的时间。
典型场景
常见问题
导入后条目顺序乱了? 拖拽排序随时调;分组内顺序即播放顺序。
海报不显示? 检查海报 URL 可达性与跨域(CORS);编辑器内缩略图预览就是第一道校验。
能直接改 JSON 吗? 能——JSON 面板就是协议本身,改完「应用」即可;大改动建议在文件里做好版本管理再导入。