Replies: 3 comments 22 replies
-
这样弄在单独使用python时是不是有问题,便携版python不止vapoursynth需要用到, |
Beta Was this translation helpful? Give feedback.
6 replies
-
我用的安装版python,只要确保python和VSScript所在路径在PATH环境变量里,vapoursynth.cp312-win_amd64.pyd所在路径在PYTHONPATH环境变量里就足够了吧 |
Beta Was this translation helpful? Give feedback.
2 replies
-
can make this file to be in portable_config? and the VapourSynth folder there as well? |
Beta Was this translation helpful? Give feedback.
14 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
一般来说mpv使用vapoursynth都需要把VapourSynth Portable版解压到mpv.exe的同一目录里,并且还常搭配便携版python一起使用。这么一来mpv文件夹中就变得相当混乱了,对于有洁癖的用户可能难以忍受。
我的方法:将下面压缩包里的VSScript.dll放在mpv.exe旁边,新建一个
VapourSynth
文件夹,把VapourSynth还有便携版Python都放在这个文件夹里,按照VapourSynth文档的说明安装。已在windows 10/11 64位系统 + mpv 64位 + VapourSynth R69 64位 + 便携版python 3.12 上测试使用svp 4,至少stats上显示正常,mpv没有报错退出VSScript.zip
ps:我此处提供的VSScript.dll是64位的,32位系统的就不要试了。
效果如图:
![image](https://private-user-images.githubusercontent.com/11155705/348772990-eb8f296b-7cec-424b-addd-898481e5a24f.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk4OTU0MzIsIm5iZiI6MTczOTg5NTEzMiwicGF0aCI6Ii8xMTE1NTcwNS8zNDg3NzI5OTAtZWI4ZjI5NmItN2NlYy00MjRiLWFkZGQtODk4NDgxZTVhMjRmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE4VDE2MTIxMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTNjYmJlOGMwZTY1NzBmMGI3Yjk0OGFkOGM5NTc1ZjBjOWQxNDc1M2E1YTZiYmE3MWUyMTE4ZjdkMGQ2YWZlZjEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.A_aPZoV9lPgT1Ekf9jLqPmujWyBRYV0AtoVglI5NSiI)
![image](https://private-user-images.githubusercontent.com/11155705/348774813-58630493-9eca-4e8b-9c4f-a721f3cf7e65.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk4OTU0MzIsIm5iZiI6MTczOTg5NTEzMiwicGF0aCI6Ii8xMTE1NTcwNS8zNDg3NzQ4MTMtNTg2MzA0OTMtOWVjYS00ZThiLTljNGYtYTcyMWYzY2Y3ZTY1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE4VDE2MTIxMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTQ5NWQ1YTI0NWZkNzBmMjUzNzcxMzkzM2MwMTQzZTMxODQ3ZTFmNDE0YTVlM2Y3MGY2NmQ4N2M2ODNlMWNhMWImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.6i5ssNna1HENYCXPQHHyn7BeY6jd9oPof0nMXke8vB4)
我从dll劫持的相关文章中发现可以使用转发的方法来实现:在Windows目前版本的mpv中(基于shinchiro/mpv-winbuild-cmake的编译工具链),当mpv需要使用VapourSynth功能时,会先在同一目录下寻找VSScript.dll,通过这个dll来调用VapourSynth,而VapourSynth再去寻找python运行环境。我从dll劫持的相关文章中发现可以使用转发的方法来实现:让mpv调用一个定制的VSScript.dll,这个定制的VSScript.dll再从我们想要的位置调用真正的VSScript.dll。
由于我不会这些,所以借助了现成的项目 https://github.com/itisluiz/DLLForward , 略作修改,使生成的VSScript.dll会转发到相对路径
./VapourSynth/
里的VSScript.dll源码: VSScript-source.zip
使用visual studio 2022编译。如果想要修改成其他路径的,自行修改VSScript.h的188行
Beta Was this translation helpful? Give feedback.
All reactions