JellyCandy 发表于 2020-8-24 16:12:30

[播放器][mpv] 请问mpv有没有支持'次字幕'的插件?

本帖最后由 JellyCandy 于 2020-11-22 20:32 编辑

前言
因为贴吧找pot配置方法 在度娘发现的vcb-s的科普blog,再到之后看到vcb-s的另一个科普blog才知道有mpv这个软件,很喜欢用。感觉mpv轻量、简洁(过度简洁(╯°v°)╯),不过主要是pot+madVR用笔记本带起来风扇声音太大(这要追溯到自我感觉良好地 没有选择 blog里较低配置的madVR快捷设置)。。。于是用了mpv,毕竟有论坛里大神cczzhh的配置分享,设置好也可以一劳(bai)永(piao)逸了。
------------------------------

因为有时除了外挂简中&英双语字幕,还会同时外挂一个B站弹幕字幕;
有时看网飞资源想把简中chi和英文eng同时挂上(压制网飞的资源我手里这个提取出的是srt字幕)
(内挂字幕可以用mkvToolNix带的mkvExtract方便地提取出来)。

可是mpv好像不能这么办 搞次字幕。于是乎要么用mpv挂单独的字幕,要么就得转而用PotPlayer挂次字幕。
我看到,mpv在github上的wiki里User-Scripts 有一个Sub-biLingual , 写着功能为“Generate bilingual subtitles.”。看这个lua好像是可以合并两个srt,他选取lua文件设定好的两种结尾的srt文件合并。我放在mpv的Scripts文件夹里能运行,按快捷键有提示,不过总是提示Failed to Create。

             --这是sub-bilingual.lua文件开头的注释和Options。
    -- Usage:
    -- Shift + B - create bilingual subtitles (and automatically select as default subtitles with visibility set to true)
    -- Note:
    -- Requires the original subtitles and translated subtitles (*.srt) alongside with the video file.
    -- Status:
    -- Experimental & not interested.

    ------- Script Options -------
    srt_original_file_extensions = {".eng.srt", ".en.srt", ".srt"}
    srt_translated_file_extensions = {".chs.srt", ".chi.srt", ".zh.srt", ".cn.srt", ".zh-cn.srt"}
    ------------------------------


----------------------------
             .
所以对于'次字幕'的功能,我觉得可以有这么几种解决办法:

1. 找到一个现成的mpv插件,能让mpv挂第二个字幕(估计是没有了,不过也许有的ui会搞一个?);

2. 对于分开的两个不同语言的字幕一起显示,可以拖到Aegisub里,存为.ass字幕文件;
    --2.1. 也许刚拖进去时各自选用两种格式,让简中chs垂直位置在上(比如90%??),英语eng在下(比如95%??),这样两行不会一会儿中文在上、一会儿英文在上地跳来跳去,再简单粗暴地用时间排序;
    --2.2. 不过时间轴差异这种问题,我觉得我不会每一次都用自动调时间轨的那个软件搞一遍(懒...),所以睁一只眼闭一只眼吧;
    --2.3. 但是有时间轴差异,就不方便使用跳转到上一个/下一个字幕这个功能了——因为按一次可能跳到这句台词时间轴有差异的的英语eng上、而不是简中chs的相邻一句台词,这也是为什么我就直接用pot了(才不是因为懒);

3. 对于双语字幕和弹幕字幕,也可以一起拖到Aegisub里;
    3.1. 同时因为双语字幕和弹幕的时间轴混在一起,就根本不方便使用跳转到上一个/下一个字幕这个功能了,虽然跳转到下一个弹幕而不一定是字幕这种操作也不是不能接受的,可是弹幕密集区域 尤其那种十几行弹幕满屏时 真心不如直接用原始而朴素的跳秒了;

4. 不用搞这些了,直接用现成的pot多好呀,而且pot跳转字幕只走主字幕时间轨不走次字幕,还是很好用的;
   虽然这再加上跟xySub放在一起,就让我对之前自定义的字号和字幕垂直位置这些完全混乱了...(ノ ̄▽ ̄)/ ;



-----------------------20200825 更新---------------------------------------

感谢 3L@Myfreer , 6L@小往422


一个解决办法:

我只想着翻mpv在github的wiki,找适合的User-Scripts了,都忘了mpv文件夹里有doc.pdf的文档这码事了。看来谷歌翻译一下“次字幕”,再搜下文档 真的是十分重要的[笑哭]

于是乎,我目前尝试了一下在"~\portable_config\input.conf"里添加这么几行,让快捷键“k”,“Shift+k”实现次字幕的功能,使用时类似于“j”键。
###~\portable_config\input.conf

## secondary-sid 次字幕
#   cycle through secondary subtitles 按“k”令次字幕循环切换至下一个字幕文件
k cycle secondary-sid
#   ... backwards 按“Shift+k”令次字幕循环切换至上一个字幕文件
K cycle secondary-sid down
使用时,切换次字幕时 会自动跳过主字幕的序号;且次字幕会使用mpv设置的默认字幕字体,显示在顶端,
并去除特殊格式(此处存疑)

这样的话,同时两个字幕,比如简中chi和英语eng两个字幕并行,可使其同时存在;
主字幕自带的快捷键可调垂直位置、延迟等;
次字幕在顶端居中,使用默认字幕字体,无法显示.ass里的格式;

mpv对双字幕的支持不好,次字幕只支持srt的样式顶部居中。
部分情形下,主字幕挂弹幕转的ass,次字幕用 视频内挂的字幕(不是写到视频里的内封字幕),有时支持这个次字幕自带的格式,不是顶部居中;奇怪的是好像有时又不支持(?)。

另一个方法,

按照 github上mpv的Issue#3022,直接推荐用字幕编辑软件合在一起,在里面调字体格式/时间轴/之类的。。。[捂嘴笑] 简单粗暴,
https://github.com/mpv-player/mpv/issues/3022#issuecomment-460058021
那就拖到Aegisub里自己编辑一下字幕吧~


对于弹幕:


感谢 4L@bipy

由于mpv次字幕会自动消除格式,所以想要同时正常显示弹幕和外挂字幕,可以试用mpv其他的图形界面。
如kikoPlay:支持直接识别xml格式的字幕文件,自动加载动漫的弹幕,还可以搜索种子/磁链。

---------------------------------------------------
https://github.com/mpv-player/mpv/wiki/User-Scripts
https://github.com/kelciour/mpv-scripts/blob/master/sub-bilingual.lua



JellyCandy 发表于 2020-8-24 16:36:44

本帖最后由 JellyCandy 于 2020-8-25 15:47 编辑

PS/题外话:

不方便使用跳转到上一个/下一个字幕这个功能,也是我不喜欢用mpc-hc/mpc-be的原因(为什么这两个mpc的这个快捷键永远不好使?)

——因为我观影习惯不好,习惯直接跳转字幕+2.5倍速;
(倍速顺便自带补帧让24fps变60fps?玄学,bushi)
有时会不小心跳过没有对白的剧情,就再跳回去(一般跳下一个字幕中间换了对白场景 或时间差距大时 会跳回,比如说坐等编剧发糖^v^,或者一直是不用翻译的语气词的那种戏~~)

另,刚好找到那个插件时 发现了一个speed-transition,可以按照有无字幕调整播放速度,有字幕的时候默认速度,无字幕的时候用插件的某快捷键设置速度,详见链接里GitHub上的ReadMe介绍;(不得不说这个插件太适合我了);

PSS: 所以我就一直全家桶都有(笑),
只是平常用mpv看视频,双字幕用pot看;一开始用mpc-be听歌,现在常用foobar2000.

之前我觉得弹弹play好像只支持番剧的弹幕(疑),就没再打开了。。。
因为我平常都是手动用jiji下.xml和.ass;
再用niconvert把.xml转成.ass,这样弹幕会集中在上面几行而非满屏跑;
      个人习惯,因为喜欢把字幕放到中间大概mpv显示的60%-75%之间、即画面中央偏下一点的位置上。虽然太靠画面中央了,但是我发现这样盯着字幕看的时候可以兼顾人物表情、画面等等细节。毕竟只盯着字幕会忽略制作者精心的制作的画面(给自己看番剧盯字幕找借口('▽'#)

myfreer 发表于 2020-8-24 20:10:50

这个吗?https://mpv.io/manual/stable/#options-secondary-sid

bipy 发表于 2020-8-25 01:38:05

推荐基于mpv的KikoPlay

非要用mpv的话,24帧的弹幕真的瞎眼,config加上这一行变60帧

vf=lavfi="fps=fps=60:round=down"

tonyhsie 发表于 2020-8-25 02:24:40

不方便使用跳转到上一个/下一个字幕这个功能,也是我不喜欢用mpc-hc/mpc-be的原因(为什么这两个mpc的这个快捷键永远不好使?)


MPC-HC 內建的熱鍵就有切換功能了

小往422 发表于 2020-8-25 11:41:31

mpv本身就支持次字幕
conf里加上这行就行
secondary-sid=2 #后面数字是字幕轨 不用的时候就注释掉

详细使用看dochttps://i.loli.net/2020/08/25/r63FI2eCoEGagzN.png

JellyCandy 发表于 2020-8-25 14:51:41

myfreer 发表于 2020-8-24 20:10
这个吗?https://mpv.io/manual/stable/#options-secondary-sid

哇啊啊啊,,,感谢!
真的是,
踏破铁鞋无觅处,蓦然回首,那人却在灯火阑珊处。我只想着翻mpv在github的wiki,找适合的User-Scripts了,都忘了mpv文件夹里有doc.pdf的文档这码事了。看来谷歌翻译一下“次字幕”,再搜下文档 真的是十分重要的[笑哭]

于是乎,我目前尝试了一下在"~\portable_config\input.conf"里添加这么几行,让快捷键“k”,“Shift+k”实现次字幕的功能,使用时类似于“j”键。
###~\portable_config\input.conf

## secondary-sid 次字幕
#   cycle through secondary subtitles 按“k”令次字幕循环切换至下一个字幕
k cycle secondary-sid
#   ... backwards 按“Shift+k”令次字幕循环切换至上一个字幕
K cycle secondary-sid down
使用时,切换次字幕时 会自动跳过主字幕的序号;
且次字幕会使用mpv设置的默认字幕字体,显示在顶端,
并去除特殊格式(此处存疑)

这样的话,同时两个字幕,比如简中chi和英语eng两个字幕并行,可使其同时存在;
主字幕自带的快捷键可调垂直位置、延迟等;
次字幕在顶端居中,使用默认字幕字体;




JellyCandy 发表于 2020-8-25 14:53:31

小往422 发表于 2020-8-25 11:41
mpv本身就支持次字幕
conf里加上这行就行
secondary-sid=2 #后面数字是字幕轨 不用的时候就注释掉


哇啊啊啊,,,感谢!
真的是,
踏破铁鞋无觅处,蓦然回首,那人却在灯火阑珊处。我只想着翻mpv在github的wiki,找适合的User-Scripts了,都忘了mpv文件夹里有doc.pdf的文档这码事了。看来谷歌翻译一下“次字幕”,再搜下文档 真的是十分重要的[笑哭]

于是乎,我目前尝试了一下在"~\portable_config\input.conf"里添加这么几行,让快捷键“k”,“Shift+k”实现次字幕的功能,使用时类似于“j”键。
###~\portable_config\input.conf

## secondary-sid 次字幕
#   cycle through secondary subtitles 按“k”令次字幕循环切换至下一个字幕
k cycle secondary-sid
#   ... backwards 按“Shift+k”令次字幕循环切换至上一个字幕
K cycle secondary-sid down
使用时,切换次字幕时 会自动跳过主字幕的序号;
且次字幕会使用mpv设置的默认字幕字体,显示在顶端,
并去除特殊格式(此处存疑)

这样的话,同时两个字幕,比如简中chi和英语eng两个字幕并行,可使其同时存在;
主字幕自带的快捷键可调垂直位置、延迟等;
次字幕在顶端居中,使用默认字幕字体;

JellyCandy 发表于 2020-8-25 14:56:57

bipy 发表于 2020-8-25 01:38
推荐基于mpv的KikoPlay

非要用mpv的话,24帧的弹幕真的瞎眼,config加上这一行变60帧


咦,忽然发现我下过KikoPlay,就在我下的一大片mpv的图形界面之间吃灰(雾),我估计是下载下来打开一下 就没再用过了。。。
然后我打开看竟然还自带找bt资源和下载(吃鲸.jpg),还有弹幕功能?!
我要好好看一看辣,谢谢安利~~~

PSS:这个“vf=lavfi=....”这一串我得好好看看什么意思,O(^v^)O


JellyCandy 发表于 2020-8-25 15:15:39

tonyhsie 发表于 2020-8-25 02:24
MPC-HC 內建的熱鍵就有切換功能了

天哪,看来我表达有点误解,
我这里意思其实说的不是这个功能,不是切换到另一个字幕;而是切换到 同一个字幕上 按时间轨顺序的 下一条字幕,也就是跳转到同一个字幕的下一句话,不换到别的字母。

这个功能我个人常用,不过mpc上快捷键设置里这个功能对应的快捷键,即使设置好了也无效。。。也有可能是版本的问题,后来就不管这个了,不过还是不舍的(雾),


页: [1] 2
查看完整版本: [播放器][mpv] 请问mpv有没有支持'次字幕'的插件?