找回密码
 立即注册
查看: 4204|回复: 8

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

1

主题

6

回帖

8

VC币

注册会员

Rank: 2

积分
550
stafly 发表于 2022-4-20 11:26:40 | 显示全部楼层 |阅读模式
本帖最后由 stafly 于 2022-4-20 12:29 编辑

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

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

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

appletv上是infuse 6

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

字幕01.zip

61.69 KB, 下载次数: 110

回复

使用道具 举报

14

主题

85

回帖

0

VC币

中级会员

Rank: 3Rank: 3

积分
3387
mitsukaze 发表于 2022-4-20 11:41:43 | 显示全部楼层
mpv-shot0001.jpg

mpv可以啊
回复

使用道具 举报

3

主题

406

回帖

42

VC币

至尊会员

Rank: 16Rank: 16Rank: 16Rank: 16

积分
205625

活跃达人

shadows 发表于 2022-4-20 12:03:26 | 显示全部楼层
我也测试过了,没问题

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

使用道具 举报

1

主题

6

回帖

8

VC币

注册会员

Rank: 2

积分
550
stafly  楼主| 发表于 2022-4-20 12:28:26 | 显示全部楼层

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

字幕01.zip

61.69 KB, 下载次数: 115

回复

使用道具 举报

1

主题

6

回帖

8

VC币

注册会员

Rank: 2

积分
550
stafly  楼主| 发表于 2022-4-20 12:35:51 | 显示全部楼层
好了,自己搞明白了,是因为这字幕的编码是UTF16

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

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

使用道具 举报

5

主题

492

回帖

215

VC币

星辰大海

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

积分
368961
苏辰汐 发表于 2022-4-20 15:34:11 | 显示全部楼层
本帖最后由 苏辰汐 于 2022-4-21 16:05 编辑

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

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

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

回复

使用道具 举报

5

主题

155

回帖

8

VC币

高级会员

Rank: 4

积分
21084

崭露头角活跃达人

FwQBZ8ay 发表于 2022-4-20 16:35:50 | 显示全部楼层
ass文件编写不规范的 MPV就打不开,我也遇到过,我的解决方法是:1.转SRT!  2.自己改改规范(一般是开头几行有问题)
回复

使用道具 举报

5

主题

492

回帖

215

VC币

星辰大海

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

积分
368961
苏辰汐 发表于 2022-4-20 21:30:13 | 显示全部楼层
本帖最后由 苏辰汐 于 2022-4-22 21:08 编辑

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

以下为相应python脚本文件

Subconvert.zip (987 Bytes, 下载次数: 129)




回复

使用道具 举报

5

主题

492

回帖

215

VC币

星辰大海

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

积分
368961
苏辰汐 发表于 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也会报错


回复

使用道具 举报

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

本版积分规则

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