Closed sdy623 closed 5 months ago
conda环境没怎么了解过,看起来是一种虚拟py环境,vs也置于其中吧。 晚上我验证一下,不过可能不针对conda环境方面,检视代码没什么问题。同时补上最近发现的坑的修正后,发一个新的release。
这边代码刚发现一个vspipe有问题
这边代码刚发现一个vspipe有问题
是说你PR修改导致的还是我本身的
刚刚发现我这边有个问题 刚改好提交了,vspipe还有队列需要重点测试
还有 个人建议发布一个连同运行环境在一起的包 publish里的 Deploy mode 设置成 self-contained 导出100来MB单文件的那个
还有 个人建议发布一个连同运行环境在一起的包 publish里的 Deploy mode 设置成 self-contained 导出100来MB单文件的那个
这个主要是包体太大了,不利于自动更新策略,装一下net6环境也不碍事吧。 - -
OK 我自己
还有 个人建议发布一个连同运行环境在一起的包 publish里的 Deploy mode 设置成 self-contained 导出100来MB单文件的那个
这个主要是包体太大了,不利于自动更新策略,装一下net6环境也不碍事吧。 - -
确实是这样 我自己build 不含NET6的 只有2MB多 要是集成环境的话 就不单文件了 反倒是 ClickOnce的可以 一键安装到开始菜单 没有环境它会自动装
OK 我自己
还有 个人建议发布一个连同运行环境在一起的包 publish里的 Deploy mode 设置成 self-contained 导出100来MB单文件的那个
这个主要是包体太大了,不利于自动更新策略,装一下net6环境也不碍事吧。 - -
确实是这样 我自己build 不含NET6的 只有2MB多 要是集成环境的话 就不单文件了 反倒是 ClickOnce的可以 一键安装到开始菜单 没有环境它会自动装
不过如果你自己编译的话可能要把自动更新关了,或者我看看有没有办法把运行环境放到某个文件夹里面也能读取,那就也还不错
感觉改的有点乱,我明白你的需求,我会结合你的代码整体调整一下。 设计应当是整合“使用系统环境”,调整为“使用自定义环境”,然后在其内部可以直接选择切换是系统还是自定义。其余流程中的判断理论上都不需要,直接使用原有逻辑即可。
对了用自己的py环境 需要将vsedit 还有vspipe 这些都放在这个py环境的目录里,因为昨天发现不这样的话找不到库。还有原先的vspipe目录都是固定住的 都是写的内置环境,选用系统环境的肯定是自己安了一些vpy插件,而且vpy也比较特殊,用各种虚拟环境的也多,他们期待用新插件。
选完vpy加载的时候 会第一次调用preview,要是找不到库,这里就报错。
@sdy623 一开始设计之初,这个软件是主要为了提供开箱即用的功能,不过后来有人提issue说想要直接调用系统环境,我也有做支持。不过可能会有一些问题,比如preview时的一些容错处理没考虑到位,毕竟开箱即用的情况下,这些需要的软件如果没有可能就会导致报错。
在非安装到系统的环境下,也就相当于是portable环境下,路径都是依赖在同目录或子目录下,包括官方新版本R66的一键安装脚本也是如此运作,一键安装python和vapoursynth到同一个目录下。 我自己并不这样使用vapoursynth,所以需要你说明一下一些问题,以便进行开发:
关于 4 如果环境里面安装了 vsrepo 的话 执行环境内的 python -m vsrepo paths 就可以了,vsrepo没装好 处理逻辑改成环境不可用
@sdy623 OK,那整体听起来感觉没那么复杂
如果 python -m vsrepo paths 报错
那在环境根目录执行 python -m vsrepo -p paths 试试
找dll插件的代码是 写死在 vapoursynth的 vscore.cpp
的 corePluginPath
和 globalPluginPath
找脚本的是在里vsscript.dll 加载了这个python的dll 所以脚本查找顺序随python来
如果 python -m vsrepo paths 报错 那在环境根目录执行 python -m vsrepo -p paths 试试 找dll插件的代码是 写死在 vapoursynth的
vscore.cpp
的corePluginPath
和globalPluginPath
找脚本的是在里vsscript.dll 加载了这个python的dll 所以脚本查找顺序随python来
这个确实可以返回了,有一点帮助
今天我这边刚把vapoursynth的conda 安装包做出来 R65版本 python 3.11
运行 conga install vapoursynth -c sdy623
就可以安装
今天我这边刚把vapoursynth的conda 安装包做出来 R65版本 python 3.11
运行
conga install vapoursynth -c sdy623
就可以安装
我用一个特定的文件夹来放环境应该也是一样的。最近比较忙,这周末前应该能搞定
@sdy623 更新了,看看你那边环境下用起来怎么样
@sdy623 更新了,看看你那边环境下用起来怎么样
脚本目录不对 不是 Scripts目录, 这个目录是放python环境下可以用的命令行工具的,脚本目录要么是Lib 要么是环境根目录。
@YohoYang 新版的队列压制在压制完视频后 对音频进行处理的过程中 报错了
System.FormatException: Input string was not in a correct format.
at System.Number.ThrowOverflowOrFormatException(ParsingStatus status, TypeCode type)
at System.Int32.Parse(String s)
at VSGUI.API.AudioApi.MakeAudioScript(Int32 audioencoderid, String cutstr, String fpsstr, String inputstr, String delay)
at VSGUI.API.QueueApi.MakeScriptFile(String queueid)
at VSGUI.MainWindow.<>c__DisplayClass34_0.<StartQueueJob>b__1()
at System.Threading.Thread.StartHelper.Callback(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
@sdy623 更新了,看看你那边环境下用起来怎么样
脚本目录不对 不是 Scripts目录, 这个目录是放python环境下可以用的命令行工具的,脚本目录要么是Lib 要么是环境根目录。
也可以,那我直接改成根目录
@YohoYang 新版的队列压制在压制完视频后 对音频进行处理的过程中 报错了
System.FormatException: Input string was not in a correct format. at System.Number.ThrowOverflowOrFormatException(ParsingStatus status, TypeCode type) at System.Int32.Parse(String s) at VSGUI.API.AudioApi.MakeAudioScript(Int32 audioencoderid, String cutstr, String fpsstr, String inputstr, String delay) at VSGUI.API.QueueApi.MakeScriptFile(String queueid) at VSGUI.MainWindow.<>c__DisplayClass34_0.<StartQueueJob>b__1() at System.Threading.Thread.StartHelper.Callback(Object state) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) --- End of stack trace from previous location --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
我并没有复现出来,你的自定义环境目录可以打包直接给一个么,我测试一下。可以去掉一些用不到的dll和脚本。
@YohoYang 新版的队列压制在压制完视频后 对音频进行处理的过程中 报错了
System.FormatException: Input string was not in a correct format. at System.Number.ThrowOverflowOrFormatException(ParsingStatus status, TypeCode type) at System.Int32.Parse(String s) at VSGUI.API.AudioApi.MakeAudioScript(Int32 audioencoderid, String cutstr, String fpsstr, String inputstr, String delay) at VSGUI.API.QueueApi.MakeScriptFile(String queueid) at VSGUI.MainWindow.<>c__DisplayClass34_0.<StartQueueJob>b__1() at System.Threading.Thread.StartHelper.Callback(Object state) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) --- End of stack trace from previous location --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
我并没有复现出来,你的自定义环境目录可以打包直接给一个么,我测试一下。可以去掉一些用不到的dll和脚本。
我在截取帧数的时候 没有用 位置参数 而是把参数都打全了 软件识别的时候把 start 和 end 都识别进去了
音频压制的时候 vs环境应该不用了,只有视频才会用vs。
@YohoYang 新版的队列压制在压制完视频后 对音频进行处理的过程中 报错了
System.FormatException: Input string was not in a correct format. at System.Number.ThrowOverflowOrFormatException(ParsingStatus status, TypeCode type) at System.Int32.Parse(String s) at VSGUI.API.AudioApi.MakeAudioScript(Int32 audioencoderid, String cutstr, String fpsstr, String inputstr, String delay) at VSGUI.API.QueueApi.MakeScriptFile(String queueid) at VSGUI.MainWindow.<>c__DisplayClass34_0.<StartQueueJob>b__1() at System.Threading.Thread.StartHelper.Callback(Object state) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) --- End of stack trace from previous location --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
我并没有复现出来,你的自定义环境目录可以打包直接给一个么,我测试一下。可以去掉一些用不到的dll和脚本。
我在截取帧数的时候 没有用 位置参数 而是把参数都打全了 软件识别的时候把 start 和 end 都识别进去了
音频压制的时候 vs环境应该不用了,只有视频才会用vs。
是的,音频压制应该用不到vs,所以可能单纯是avs音频处理那边有别的BUG,一直都有的。 软件自动从vpy读取切割的写法写的很蠢,暂时我也没想到好的完美写法,主要是还有可能使用多个片源复合剪辑。 你可以给一下你的vpy写法,我看看针对的处理一下。顺带把音频那边的健壮性提一下
增加了自定义设置Python环境为系统环境的选项,让conda 环境用户也可以直接动用自己的环境压制,从而增加了此工具的灵活性。