qwe7989199 / aegisub_scripts

Some scripts might be useful for fansub
MIT License
92 stars 10 forks source link

此分支 VSFilterMod 无法同 VapourSynth 使用 #9

Closed CL-Jeremy closed 3 years ago

CL-Jeremy commented 3 years ago

D03871C8D3371EE0389F9EAC1E25F3A9 还是使用 https://github.com/rigaya/VCEEnc 尝试调用 是否必须使用 AviSynth 呢?先多谢

qwe7989199 commented 3 years ago

本仓库的vsfiltermod二进制文件为aegisub(avisynth)用 不保证vs兼容性,因为我不用vs

BingLingGroup commented 3 years ago

我测试是可以由 Vapoursynth R52 使用的,其中使用插件自动生成的vpy文件如下

import vapoursynth as vs
core=vs.get_core()
clip=core.lsmas.LWLibavSource(r"xxx.mkv")
clip=core.vsf.TextSub(clip,r"xxx.ass")

clip.set_output()
qwe7989199 commented 3 years ago

如楼上,可以试试新版本的vapoursynth

CL-Jeremy commented 3 years ago

主要是因为 README.md 中与 https://github.com/sorayuki/VSFilterMod 比较,所以产生了一些误解 我现在的理解是,本分支并没有取自上述代码库,所以并没有任何 VapourSynth 支持,core.vsf 引用的是自带的 VapourSynth 版 VSFilter,并非 VSFilterMod 无论如何,感谢回复,以及分享新的标签。SSA/ASS 生态过于复杂,个人其实主要使用 macOS,而 libass 项目极为保守,实在十分不便

BingLingGroup commented 3 years ago

@CL-Jeremy 啊,抱歉,是我选错了,在Primary subs中选择vsfiltermod时产生的脚本如下。

import vapoursynth as vs
core=vs.get_core()
clip=core.lsmas.LWLibavSource(r"xxx.mkv")
clip=core.vsfm.TextSubMod(clip,r"xxx.ass")
clip.set_output()

其实也就是代码 https://github.com/qwe7989199/aegisub_scripts/blob/master/autoload/enc-hsub-VS.lua#L294-L295 中所写的那样。

经测试,可以使用 VSFilterMod_bin 中相应的vsfiltermod版本。但注意一定要根据你使用的vapoursynth版本来选择相应的版本,如64位对应x64,32位对应Win32,否则无法正常使用。

像我平时使用的aegisub就是32位的,就得使用32位的vsfiltermod,但vapoursynth是64位的,所以在vapoursynth的插件文件夹里放置的就是64位的vsfiltermod。

另外vapoursynth是可以兼容不少avisynth的插件的。我已经比对过vapoursynth插件文件夹里的相应dll的hash值了,就是 VSFilterMod_bin 中的,不会有错。