在 MPV 播放器中,你可以通过以下方法同时显示多个字幕(分为两行):
方法一:使用 --sub-file
参数
在命令行启动时指定多个字幕文件:
mpv --sub-file=sub1.srt --sub-file=sub2.srt video.mp4
然后在播放时按 j
键循环切换字幕流,直到两个字幕都显示(可能需要启用 "secondary subtitles" 选项)。
方法二:使用 --secondary-sid
参数
- 首先确保你的 MPV 版本支持此功能(较新版本都支持)
- 使用以下命令:
mpv --sub-file=sub1.srt --sub-file=sub2.srt --sid=1 --secondary-sid=2 video.mp4
方法三:通过配置文件设置
- 编辑
mpv.conf
文件(通常位于 ~/.config/mpv/mpv.conf
)
- 添加以下内容:
sub-auto=all
secondary-sub-auto=yes
调整字幕显示位置
为了让两行字幕不重叠,你可以在 mpv.conf
中添加:
sub-pos=90 # 主字幕位置(从底部算起的百分比)
secondary-sub-pos=70 # 第二字幕位置
快捷键控制
j
- 循环切换主字幕
J
- 循环切换第二字幕
Ctrl+j
- 调整主字幕位置
Ctrl+J
- 调整第二字幕位置
注意事项
- 两个字幕文件需要有正确的编码和格式
- 如果字幕重叠,可以通过调整
sub-pos
和 secondary-sub-pos
来改变它们的位置
- 某些字幕格式可能不支持此功能
如果你需要更复杂的字幕布局,可以考虑使用 ASS 字幕格式,它可以精确定位每个字幕的位置。
提示:最新版本的 MPV 已经原生支持多字幕显示,如果遇到问题,建议更新到最新版本。
在 MPV 中,如果你使用 --secondary-sid
同时显示两个字幕,可以通过以下方式调整它们的位置,避免重叠:
方法 1:使用 --sub-pos
和 --secondary-sub-pos
在启动 MPV 时,直接指定两个字幕的垂直位置:
mpv --sub-file=sub1.srt --sub-file=sub2.srt --sid=1 --secondary-sid=2 --sub-pos=90 --secondary-sub-pos=70 video.mp4
--sub-pos=90
:主字幕显示在画面底部 90% 的位置(靠近底部)。
--secondary-sub-pos=70
:第二字幕显示在画面底部 70% 的位置(比主字幕高一些)。
方法 2:修改 mpv.conf
永久生效
编辑 MPV 配置文件(~/.config/mpv/mpv.conf
),添加:
# 主字幕位置(默认 100,即最底部)
sub-pos=90
# 第二字幕位置(默认 100,会与主字幕重叠)
secondary-sub-pos=70
这样每次播放时,两个字幕都会自动分开显示。
方法 3:播放时动态调整
在播放时,可以使用快捷键调整:
Ctrl + j
:调整主字幕位置(sub-pos
)。
Ctrl + Shift + j
(或 Ctrl + J
):调整第二字幕位置(secondary-sub-pos
)。
按快捷键后,再按 ↑
/ ↓
上下移动字幕位置,调整到合适位置后按 Enter
确认。
方法 4:使用 ASS 字幕精确定位
如果两个字幕仍然重叠或位置不理想,可以:
- 将 SRT 字幕转换成 ASS 格式(支持高级样式和定位)。
- 在 ASS 字幕文件里手动设置
PlayResY
和 MarginV
来控制位置。
例如:
- 主字幕(
sub1.ass
):
[Script Info]
PlayResX: 384
PlayResY: 288
[V4+ Styles]
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,1,2,10,10,20,1
[Events]
Dialogue: 0,0:00:01.00,0:00:05.00,Default,,0,0,0,,这是主字幕(底部)
- 第二字幕(
sub2.ass
):
[Script Info]
PlayResX: 384
PlayResY: 288
[V4+ Styles]
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,1,2,10,10,10,1 # MarginV=10 比主字幕高
这样两个字幕就会分别显示在不同位置。
总结
方法 | 适用场景 | 调整方式 |
--sub-pos / --secondary-sub-pos | 命令行临时调整 | 数值越小,字幕越高 |
mpv.conf 配置 | 永久生效 | 修改 sub-pos 和 secondary-sub-pos |
播放时快捷键调整 | 动态微调 | Ctrl+j / Ctrl+J + ↑ /↓ |
ASS 字幕手动定位 | 高级需求 | 修改 MarginV 或 PlayResY |
如果仍有问题,可以尝试更新 MPV 到最新版本(mpv --version
检查)。