ningxue 发表于 2022-12-14 14:14:07

使用项目遇到点问题,由于Github关了Issue,只好来这里请教下。使用环境是docker版本。
mkvtool -c -s这样从一组文件夹获得情报并生成一组mkv,发现相关的资源名字带有_这个符号就会报Failed to create the file,这种有办法解决吗?
视频名字: Kono Subarashii Sekai ni Shukufuku wo! .mkv
字幕名字: Kono Subarashii Sekai ni Shukufuku wo! .ass
我尝试过把_这个符号从视频和字幕的名字中删除,删除完就正常子集化。

相关日志:
2022/12/13 15:28:59 Font fallback:[方正准圆_GBK^Bold] -> [方正准圆_GBK^Regular]
2022/12/13 15:28:59 Font fallback: ->
2022/12/13 15:28:59 Font fallback:[方正小标宋_GBK^Bold] -> [方正小标宋_GBK^Regular]
2022/12/13 15:28:59 Font fallback:[方正报宋_GBK^Bold] -> [方正报宋_GBK^Regular]
2022/12/13 15:28:59 Font fallback:[方正兰亭黑_GBK^Bold] -> [方正兰亭黑_GBK^Regular]
2022/12/13 15:28:59 Font bottom fallback:[萝莉体 第二版^Regular] -> [萝莉体 第二版^(Light,常规)]
2022/12/13 15:28:59 Font selected:[微软雅黑] -> "/fonts/自添加/msyhbd.ttc"
2022/12/13 15:28:59 Font selected:[方正小标宋_GBK] -> "/fonts/完整包/Founder Type(方正)/简繁/ttf/方正小标宋_GBK.ttf"
2022/12/13 15:28:59 Font selected:[方正兰亭黑_GBK] -> "/fonts/完整包/Founder Type(方正)/简繁/ttf/方正兰亭黑_GBK.ttf"
2022/12/13 15:28:59 Font selected:[萝莉体 第二版] -> "/fonts/完整包/慎用/萝莉体 第二版.ttf"
2022/12/13 15:28:59 Font selected: -> "/fonts/自添加/Kozuka Gothic Pr6N-Medium.otf"
2022/12/13 15:28:59 Font selected:[方正准圆_GBK] -> "/fonts/完整包/Founder Type(方正)/简繁/ttf/方正准圆_GBK.TTF"
2022/12/13 15:28:59 Font selected:[方正兰亭中黑_GBK] -> "/fonts/完整包/Founder Type(方正)/简繁/ttf/方正兰亭中黑_GBK.ttf"
2022/12/13 15:28:59 Font selected: -> "/fonts/完整包/DynaFont(华康)/日文/ttf/Std/丸ゴシック体(圆体)/DFMaruGothic-Md & DFPMaruGothic-Md & DFGMaruGothic-Md.ttc"
2022/12/13 15:28:59 Font selected:[方正报宋_GBK] -> "/fonts/完整包/Founder Type(方正)/简繁/ttf/方正报宋_GBK.ttf"
2022/12/13 15:29:05 Failed to create the file: "/work/为美好的世界献上祝福/d/v/ Kono Subarashii Sekai ni Shukufuku wo! .mkv".

b8b41e3c 发表于 2022-12-15 00:05:36

本帖最后由 b8b41e3c 于 2022-12-15 00:09 编辑

ningxue 发表于 2022-12-14 14:14
使用项目遇到点问题,由于Github关了Issue,只好来这里请教下。使用环境是docker版本。
mkvtool -c -s这样 ...
由于调用了第三方程序,所以文件路径不能太奇怪.比如你这个就是调用mkvmerge的时候因为文件路径导致调用失败了.

建议每次操作之前先把文件名改成比较短且没有什么特殊字符的,否则很容易出问题.

ningxue 发表于 2022-12-15 03:28:52

b8b41e3c 发表于 2022-12-15 00:05
由于调用了第三方程序,所以文件路径不能太奇怪.比如你这个就是调用mkvmerge的时候因为文件路径导致调用失 ...


明白了,感谢你的回复。
但是有点好奇在调用mkvmerge的参数后面,特殊符号是否存在转义的可能性,比如通过单引号或者\。
我在https://mkvtoolnix.download/doc/mkvmerge.html看到里面的[(这些特殊符号都有用''进行包括,
由于个人不懂go,不知道子集化工具里面调用mkvmerge的具体参数是什么,无法尝试这个疑问。

b8b41e3c 发表于 2022-12-15 11:22:07

本帖最后由 b8b41e3c 于 2022-12-15 19:47 编辑

ningxue 发表于 2022-12-15 03:28
明白了,感谢你的回复。
但是有点好奇在调用mkvmerge的参数后面,特殊符号是否存在转义的可能性,比如通 ...
哦,我想起来了,因为"_"是在我这个程序里,用来分割字幕语言和标题的,如果是非法的参数mkvmerge会报错(主要是语言代码),所以为了保险还是预先处理一下文件名吧.

详情在这里:https://github.com/MkvAutoSubset ... E%E7%A2%8E%E5%BF%B5


ningxue 发表于 2022-12-15 16:40:15

b8b41e3c 发表于 2022-12-15 11:22
哦,我想起来了,因为"_"是在我这个程序里,用来分割字幕语言和标题的,如果是非法的参数mkvmerge会报错(主要 ...

这样是否可以通过在程序通过"_"分割后,对里面的内容进行校验,不属于语言代码表里面的内容就添加回标题字符串里面。
以上属于有点异想天开,不知道能不能具体实现。
请问作者是否有意尝试改进,由于个人VCB的资源接触得比较多,VCB的命名基本带有这个符号。
虽然重命名也挺快的,不过能从程序本身上面优化感觉是比较好的,从问题的根源上解决。

b8b41e3c 发表于 2022-12-15 19:46:45

ningxue 发表于 2022-12-15 16:40
这样是否可以通过在程序通过"_"分割后,对里面的内容进行校验,不属于语言代码表里面的内容就添加回标题 ...

感觉还是重命名比较好点,本身那个原来的命名就挺长的了.感觉这个没必要特地去改程序的实现方式.

ningxue 发表于 2022-12-15 21:06:59

b8b41e3c 发表于 2022-12-15 19:46
感觉还是重命名比较好点,本身那个原来的命名就挺长的了.感觉这个没必要特地去改程序的实现方式.

...
好的,明白了。
感谢作者的回答和项目。
希望作者在GitHub的README上面写一下这个问题,避免他人再次踩到同样的坑。
新人刚开始测试该项目使用的资源是带有这个下划线的命名导致子集化不成功,让新人直接放弃还是挺可惜的。

b8b41e3c 发表于 2022-12-15 21:55:19

ningxue 发表于 2022-12-15 21:06
好的,明白了。
感谢作者的回答和项目。
希望作者在GitHub的README上面写一下这个问题,避免他人再次踩到 ...

已编辑本帖正文

ningxue 发表于 2022-12-15 22:01:10

本帖最后由 ningxue 于 2022-12-15 22:02 编辑

b8b41e3c 发表于 2022-12-15 21:55
已编辑本帖正文
建议GitHub上面在下次Coommits顺便也把这个说明一下,有些人是直接GitHub上面找到该项目。{:4_681:}

b8b41e3c 发表于 2022-12-16 00:45:36

本帖最后由 b8b41e3c 于 2022-12-16 11:12 编辑

ningxue 发表于 2022-12-15 22:01
建议GitHub上面在下次Coommits顺便也把这个说明一下,有些人是直接GitHub上面找到该项目。
...
已彻底解决此问题,不需要再重命名文件.
页: 1 2 3 4 5 6 7 8 9 10 [11] 12 13 14 15 16 17 18 19 20
查看完整版本: mkvtool:一个ass字幕子集化/mkv文件处理一条龙工具