字幕处理
本节介绍 mpv 的字幕加载、样式和同步功能。
字幕加载
自动加载字幕
mpv 会自动加载与视频文件同名的字幕文件:
video.mp4
video.srt
video.ass
video.sub手动加载字幕
bash
# 加载单个字幕
mpv --sub-file=subtitle.srt video.mp4
# 加载多个字幕
mpv --sub-file=sub1.srt --sub-file=sub2.srt video.mp4
# 从 URL 加载字幕
mpv --sub-file=https://example.com/subtitle.srt video.mp4字幕文件格式
mpv 支持多种字幕格式:
- SRT - SubRip Text
- ASS/SSA - Advanced SubStation Alpha
- SUB - MicroDVD
- VTT - WebVTT
- PGS - Blu-ray 字幕
- DVDSUB - DVD 字幕
字幕轨道
查看字幕轨道
bash
# 显示字幕信息
mpv --sub video.mp4
# 列出所有轨道
mpv --video --audio --sub video.mp4切换字幕轨道
bash
# 下一个字幕
j
# 上一个字幕
J
# 指定字幕轨道
mpv --sid=1 video.mp4
mpv --sid=2 video.mp4禁用字幕
bash
# 禁用所有字幕
mpv --no-sub video.mp4
# 禁用特定字幕
mpv --sid=no video.mp4字幕样式
字体设置
bash
# 字体名称
sub-font="Noto Sans CJK SC"
# 字体大小
sub-font-size=40
# 字体颜色
sub-color="#FFFFFFFF"
# 边框颜色
sub-border-color="#FF000000"
# 边框大小
sub-border-size=2
# 阴影颜色
sub-shadow-color="#80000000"
# 阴影偏移
sub-shadow-offset=2位置设置
bash
# 字幕位置(垂直)
sub-pos=100
# 字幕边距
sub-margin-x=20
sub-margin-y=40
# 字幕对齐
sub-align-x=center
sub-align-y=bottom背景设置
bash
# 字幕背景
sub-back-color="#80000000"
# 背景边距
sub-back-padding=2ASS/SSA 字幕
ASS 字幕覆盖
bash
# 启用 ASS 字幕覆盖
sub-ass-override=force
# 禁用 ASS 字幕覆盖
sub-ass-override=no
# 仅覆盖样式
sub-ass-override=stripASS 字幕配置
bash
# ASS 字幕样式
sub-ass-style-override=yes
# ASS 字幕字体
sub-ass-font="Noto Sans CJK SC"
# ASS 字幕大小
sub-ass-font-size=40字幕同步
字幕延迟
bash
# 字幕延迟(秒)
sub-delay=0.1
# 负延迟
sub-delay=-0.1
# 交互式调整
z # 延迟 -0.1 秒
Z # 延迟 +0.1 秒字幕同步模式
bash
# 字幕同步
sub-sync=yes
# 字幕同步模式
sub-sync=audio
sub-sync=video字幕时间调整
bash
# 字幕时间偏移
sub-start=10
# 字幕时间缩放
sub-speed=1.1字幕编码
字符编码
bash
# 指定编码
sub-codepage=utf-8
# 自动检测
sub-codepage=auto
# 常见编码
sub-codepage=gbk
sub-codepage=big5
sub-codepage=shift_jis强制编码
bash
# 强制使用指定编码
sub-codepage=utf-8:force字幕滤镜
字幕滤镜
bash
# 字幕缩放
vf=sub="scale=1920:1080"
# 字幕裁剪
vf=sub="crop=1280:720:0:0"字幕渲染
bash
# 字幕渲染器
sub-ass-vsfilter-blur-compat=yes
sub-ass-vsfilter-aspect-compat=yes双字幕
启用双字幕
bash
# 主字幕
sid=1
# 辅助字幕
secondary-sid=2双字幕控制
bash
# 显示/隐藏辅助字幕
Alt+v
# 切换辅助字幕
Alt+j外部字幕
字幕文件搜索
bash
# 字幕文件路径
sub-file-paths=subs;subtitles
# 字幕文件扩展名
sub-auto=fuzzy
sub-auto=exact
sub-auto=no字幕下载
bash
# 使用 OpenSubtitles
sub-auto=fuzzy
sub-file-paths=subs