☰
mpv 章节导航完全指南:4 个场景搞定 DVD 章节、EDL 拼接与虚拟课程
2026/10/2 16:40:37 网站建设 项目流程

mpv 章节导航完全指南:4 个场景搞定 DVD 章节、EDL 拼接与虚拟课程

【免费下载链接】mpv🎥 Command line media player项目地址: https://gitcode.com/GitHub_Trending/mp/mpv

mpv 的章节导航能处理三类常见需求:按章节跳转、把散落的分P拼成一集、直接播 DVD 或蓝光。不用写一行代码,按下面的任务清单来,每一步都给了可直接执行的命令。

🎯 任务一:播放中快速跳到指定章节

mpv 默认键位里,PGUP/PGDWN负责上一/下一章节——注意不是j/k,这两个键默认被字幕切换和暂停占了。

  • PGUP/PGDWN:上一 / 下一章节
  • Shift + PGUP/Shift + PGDWN:快进 / 快退 10 分钟
  • Shift + LEFT/Shift + RIGHT:精确微调 1 秒(不卡关键帧)
  • 右键 → 上下文菜单里的“Chapters”,或按g再按c:弹出带时间戳和标题的章节列表,选一个直接跳过去(列表脚本在 player/lua/select.lua 里)

想换成自己顺手的键位,把发行版自带的 etc/input.conf 复制一份放到~/.config/mpv/input.conf,只改你要动的那一行:

j add chapter -1 # 上一章节(j 原本是字幕切换,这里覆盖它) k add chapter 1 # 下一章节

保存后重启 mpv 即生效。

🔩 任务二:用 EDL 把分P拼成一集

EDL(Edit Decision List)就是一张告诉 mpv“按什么顺序、从哪一秒开始、播多久”的拼接清单。它生成的不是一串播放列表,而是一条虚拟时间轴——进度条、章节、截图全按一整支视频来算。

语法上 mpv 的 EDL 要求严格:首行必须是# mpv EDL v0,用 UNIX 换行,不要多余空格。但写起来很简单,每行的起始秒,时长秒都可选——省略起始即从头,省略时长即播完剩余。

以一部番剧为例,ep.edl内容:

# mpv EDL v0 p1.mkv p2.mkv,0,5400 p3.mkv

保存后运行mpv ep.edl。默认行为对你有利:每个片段自动变成一个章节,章节标题默认取文件名。想起个像样的名字,加title=:

# mpv EDL v0 p1.mkv,0,5400,title=OP + 前半段 p2.mkv,0,5400,title=正片 p3.mkv,0,240,title=ED

反例提醒:如果你只是想让三段顺序播完、不要在接缝处插章节点,在头部加一行!no_chapters即可。完整语法(含timestamps=chapters、layout=this等进阶项)见 官方文档。

💿 任务三:不折腾直接播 DVD / 蓝光

mpv 能自动识别光盘的章节结构,不用你导表。识别逻辑在 demux/demux_disc.c 里:它读取碟片的标题与 cell 结构,把每个 cell 映射为一个章节点。

两种姿势:

mpv dvd:// # 直接读光驱 mpv /path/to/bluray_folder # 蓝光 BDMV 文件夹

进片后,右键上下文菜单里就能看到章节列表;配合任务一的PGUP/PGDWN在章节间移动。只想看某一支标题时,加--title=2;想落到某个具体章节,再叠--chapter=5。

任务四:给散落三处的课程视频建一个可复习的目录

教学视频、网课分P经常分散在不同文件夹——这正是 EDL 的主场。一份清单就能把它们变成一个带目录、带元数据的“虚拟课程”。

# mpv EDL v0 !global_tags,title=Python 入门,author=老周,year=2024 01 基础/syntax.mp4,0,300,title=1 变量与类型 02 函数/functions.mp4,0,480,title=2 函数与模块 03 面向对象/oop.mp4,0,600,title=3 类与继承

!global_tags给整支虚拟视频挂全局元数据(标题、作者、年份),章节标题用每段的title=。保存为course.edl,mpv course.edl开看——章节列表里是 1、2、3 的目录,复习时直接gc选第几课。

进阶一下:如果源文件本身就有章节结构,片段行里加timestamps=chapters,起始/时长就按章节号(从 0 起)取,省去手数秒数。

收尾:写 EDL 最常踩的坑

  • 编辑器的行尾要是 UNIX(LF),Windows 记事本/VS Code 都记得切一下;
  • 文件名里带逗号、等号等特殊字符时,用%长度%内容的写法转义,或者换个不含特殊字符的存放路径;
  • 相对路径在个别场景下可能因安全策略被禁,拿不准就直接写绝对路径。

下一步可以试试:给course.edl挂上字幕文件(用!new_stream单独指向.srt),让虚拟课程也带上字幕轨;或者用--start=/--end=再配合--chapter=把某一支标题的某一章直接剪出来。

【免费下载链接】mpv🎥 Command line media player项目地址: https://gitcode.com/GitHub_Trending/mp/mpv

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询