stafly 发表于 2022-4-20 11:26:40

为什么有些字幕 mpv打不开potplayer可以呢

本帖最后由 stafly 于 2022-4-20 12:29 编辑

最近下载了一些电视剧来看,
但是发现有些影片在apple tv使用infuse观看没有字幕
遂在电脑上看了下,mpv也无法加载,但是potplayer可以正常观看

百度了半天也不知道是啥原因

前面字幕压缩错了... 看不了的是新上传的这个。
然后我用的是论坛里的mpv.net

appletv上是infuse 6

现在实验了一下,ipad上的infuse也看不了,nplayer可以看

mitsukaze 发表于 2022-4-20 11:41:43



mpv可以啊

shadows 发表于 2022-4-20 12:03:26

我也测试过了,没问题

你最好也发一下你的mpv配置与log

stafly 发表于 2022-4-20 12:28:26

mitsukaze 发表于 2022-4-20 11:41
mpv可以啊

错了,错了,不好意思,压缩错了字幕,是这个

stafly 发表于 2022-4-20 12:35:51

{:4_675:} 好了,自己搞明白了,是因为这字幕的编码是UTF16

自己改成UTF8之后可以看了.

但是另一个问题又来了,为啥我这个mpv打不开UTF16的字幕

苏辰汐 发表于 2022-4-20 15:34:11

本帖最后由 苏辰汐 于 2022-4-21 16:05 编辑

测试了下,UTF-16编码的字幕文件在mpv上打不开的问题可以复现。

应该是libass的bug,它对各种字符编码的支持还不够好。

edit:经libass确认此为mpv的字幕编码识别的相关问题

FwQBZ8ay 发表于 2022-4-20 16:35:50

ass文件编写不规范的 MPV就打不开,我也遇到过,我的解决方法是:1.转SRT!2.自己改改规范(一般是开头几行有问题)

苏辰汐 发表于 2022-4-20 21:30:13

本帖最后由 苏辰汐 于 2022-4-22 21:08 编辑

针对此类问题的临时解决方案:可以选择使用python脚本批量修改文件编码为utf-8

以下为相应python脚本文件






苏辰汐 发表于 2022-4-21 15:59:37

本帖最后由 苏辰汐 于 2022-4-21 16:03 编辑

经过再次使用mpv对各种编码的字幕文件进行测试,发现问题不只在非utf-8编码上。

使用其他utf-16、big5、gb2312字幕文件测试可以正常加载,所以问题应该还是和特定的字幕文件有关。

mpv默认使用--sub-codepage=auto来猜测字幕文件使用的编码格式,见:https://mpv.io/manual/master/#options-sub-codepage

所以我怀疑这类mpv无法加载的字幕是检测编码失败导致的,手动指定为相应编码也无法加载。
很可能是这类字幕制作时使用了其声明的编码格式中不存在的字符导致的,仅针对楼主的字幕的话可能是无间断空格之类字符的原因
而字幕转换为utf-8后所有字符都被处理,因此mpv可以正确检测其编码并加载。

mpc-hc/mpc-be可以加载此类问题字幕只能说兼容性更好,事实上mpc-be也会报错


页: [1]
查看完整版本: 为什么有些字幕 mpv打不开potplayer可以呢