找回密码
 立即注册
查看: 7170|回复: 10

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

1

主题

11

回帖

0

VC币

新手上路

Rank: 1

积分
271
JellyCandy 发表于 2020-8-24 16:12:30 | 显示全部楼层 |阅读模式
本帖最后由 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 [1] 有一个Sub-biLingual
[2] , 写着功能为“Generate bilingual subtitles.”。看这个lua好像是可以合并两个srt,他选取lua文件设定好的两种结尾的srt文件合并。我放在mpv的Scripts文件夹里能运行,按快捷键有提示,不过总是提示Failed to Create。

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

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

复制代码

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

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”键。

  1. ###  ~\portable_config\input.conf

  2. ## secondary-sid 次字幕
  3. #   cycle through secondary subtitles 按“k”令次字幕循环切换至下一个字幕文件
  4. k cycle secondary-sid
  5. #   ... backwards 按“Shift+k”令次字幕循环切换至上一个字幕文件
  6. 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格式的字幕文件,自动加载动漫的弹幕,还可以搜索种子/磁链。


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



回复

使用道具 举报

1

主题

11

回帖

0

VC币

新手上路

Rank: 1

积分
271
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,mpc-hc,mpc-be,PotPlayer, Foobar2000, Kodi, mkvToolNix,MediaInfo,AegiSub,K-LiteCodecPack]全家桶都有(笑),
只是平常用mpv看视频,双字幕用pot看;一开始用mpc-be听歌,现在常用foobar2000.

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

回复

使用道具 举报

0

主题

9

回帖

0

VC币

星辰大海

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分
450799
myfreer 发表于 2020-8-24 20:10:50 | 显示全部楼层
回复

使用道具 举报

0

主题

18

回帖

14

VC币

星辰大海

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分
326910
bipy 发表于 2020-8-25 01:38:05 | 显示全部楼层
推荐基于mpv的KikoPlay

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

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

使用道具 举报

69

主题

1438

回帖

1万

VC币

星辰大海

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分
3161197

卓越贡献

tonyhsie 发表于 2020-8-25 02:24:40 | 显示全部楼层
不方便使用跳转到上一个/下一个字幕这个功能,也是我不喜欢用mpc-hc/mpc-be的原因(为什么这两个mpc的这个快捷键永远不好使?)
圖片 2020-08-25 02-22-30.png

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

使用道具 举报

10

主题

10

回帖

208

VC币

中级会员

Rank: 3Rank: 3

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

详细使用看doc
回复

使用道具 举报

1

主题

11

回帖

0

VC币

新手上路

Rank: 1

积分
271
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”键。
  1. ###  ~\portable_config\input.conf

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

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




回复

使用道具 举报

1

主题

11

回帖

0

VC币

新手上路

Rank: 1

积分
271
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”键。
  1. ###  ~\portable_config\input.conf

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

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

回复

使用道具 举报

1

主题

11

回帖

0

VC币

新手上路

Rank: 1

积分
271
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


回复

使用道具 举报

1

主题

11

回帖

0

VC币

新手上路

Rank: 1

积分
271
JellyCandy  楼主| 发表于 2020-8-25 15:15:39 | 显示全部楼层
tonyhsie 发表于 2020-8-25 02:24
MPC-HC 內建的熱鍵就有切換功能了

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

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


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表