zyzsdy/NegativeEncoder

压制时找不到文件或目录的报错

Closed this issue · 6 comments

vpy: VapourSynth script error.
vpy: Python exception: No attribute with the name vsf exists. Did you mistype a plugin namespace?
vpy: Traceback (most recent call last):
vpy: File "src\cython\vapoursynth.pyx", line 2244, in vapoursynth.vpy_evaluateScript
vpy: File "src\cython\vapoursynth.pyx", line 2245, in vapoursynth.vpy_evaluateScript
vpy: File "", line 4, in
vpy: File "src\cython\vapoursynth.pyx", line 1756, in vapoursynth.Core.getattr
vpy: AttributeError: No attribute with the name vsf exists. Did you mistype a plugin namespace?
failed to initialize file reader(s).
Failed to open input file.

C:\chrome\1_hardsub.mov(+alpha): No such file or directory

以上红字报错
没有安装过VapourSynth
想询问一下是哪里的设置除了问题

以下为命令行完整内容:
Active code page: 65001

C:\chrome>"C:\Program Files (x86)\NegativeEncoder\Libs\NVEncC64.exe" -i "C:\chrome\hardsub.vpy" --vpy --vbrhq 5000 --preset default -o "C:\chrome\1_hardsub.mov(+alpha)"

C:\chrome\1_hardsub.mov(+alpha)

vpy: VapourSynth script error.
vpy: Python exception: No attribute with the name vsf exists. Did you mistype a plugin namespace?
vpy: Traceback (most recent call last):
vpy: File "src\cython\vapoursynth.pyx", line 2244, in vapoursynth.vpy_evaluateScript
vpy: File "src\cython\vapoursynth.pyx", line 2245, in vapoursynth.vpy_evaluateScript
vpy: File "", line 4, in
vpy: File "src\cython\vapoursynth.pyx", line 1756, in vapoursynth.Core.getattr
vpy: AttributeError: No attribute with the name vsf exists. Did you mistype a plugin namespace?
failed to initialize file reader(s).
Failed to open input file.

C:\chrome>"C:\Users\56302\Desktop\脚本\pyTranscriber-v1.5-windows-portable\ffmpeg.exe" -i "C:\chrome\1_hardsub.mov(+alpha)" -i "C:\chrome\1.mp4" -c copy -map_chapters -1 "C:\chrome\1_hardsub_muxed.mkv"
ffmpeg version 4.1 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 8.2.1 (GCC) 20181017
configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth
libavutil 56. 22.100 / 56. 22.100
libavcodec 58. 35.100 / 58. 35.100
libavformat 58. 20.100 / 58. 20.100
libavdevice 58. 5.100 / 58. 5.100
libavfilter 7. 40.101 / 7. 40.101
libswscale 5. 3.100 / 5. 3.100
libswresample 3. 3.100 / 3. 3.100
libpostproc 55. 3.100 / 55. 3.100
C:\chrome\1_hardsub.mov(+alpha): No such file or directory

C:\chrome>del "C:\chrome\1_hardsub.mov(+alpha)"
Could Not Find C:\chrome\1_hardsub.mov(+alpha)

C:\chrome>del "C:\chrome\hardsub.vpy"

C:\chrome>start "" "C:\chrome"

C:\chrome>pause
Press any key to continue . . .

LGKKY commented

看了下压制的原视频应该是放在c盘了?。。。是不是没有权限导致没办法创建临时文件? (用管理员打开或者把视频放在其他地方试试)

---原始邮件--- 发件人: @.> 发送时间: 2021年3月29日(周一) 下午4:17 收件人: @.>; 抄送: @.***>; 主题: [zyzsdy/NegativeEncoder] 压制时找不到文件或目录的报错 (#42) vpy: VapourSynth script error. vpy: Python exception: No attribute with the name vsf exists. Did you mistype a plugin namespace? vpy: Traceback (most recent call last): vpy: File "src\cython\vapoursynth.pyx", line 2244, in vapoursynth.vpy_evaluateScript vpy: File "src\cython\vapoursynth.pyx", line 2245, in vapoursynth.vpy_evaluateScript vpy: File "", line 4, in vpy: File "src\cython\vapoursynth.pyx", line 1756, in vapoursynth.Core.getattr vpy: AttributeError: No attribute with the name vsf exists. Did you mistype a plugin namespace? failed to initialize file reader(s). Failed to open input file. C:\chrome\1_hardsub.mov(+alpha): No such file or directory 以上红字报错 没有安装过VapourSynth 想询问一下是哪里的设置除了问题 以下为命令行完整内容: Active code page: 65001 C:\chrome>"C:\Program Files (x86)\NegativeEncoder\Libs\NVEncC64.exe" -i "C:\chrome\hardsub.vpy" --vpy --vbrhq 5000 --preset default -o "C:\chrome\1_hardsub.mov(+alpha)" C:\chrome\1_hardsub.mov(+alpha) vpy: VapourSynth script error. vpy: Python exception: No attribute with the name vsf exists. Did you mistype a plugin namespace? vpy: Traceback (most recent call last): vpy: File "src\cython\vapoursynth.pyx", line 2244, in vapoursynth.vpy_evaluateScript vpy: File "src\cython\vapoursynth.pyx", line 2245, in vapoursynth.vpy_evaluateScript vpy: File "", line 4, in vpy: File "src\cython\vapoursynth.pyx", line 1756, in vapoursynth.Core.getattr vpy: AttributeError: No attribute with the name vsf exists. Did you mistype a plugin namespace? failed to initialize file reader(s). Failed to open input file. C:\chrome>"C:\Users\56302\Desktop\脚本\pyTranscriber-v1.5-windows-portable\ffmpeg.exe" -i "C:\chrome\1_hardsub.mov(+alpha)" -i "C:\chrome\1.mp4" -c copy -map_chapters -1 "C:\chrome\1_hardsub_muxed.mkv" ffmpeg version 4.1 Copyright (c) 2000-2018 the FFmpeg developers built with gcc 8.2.1 (GCC) 20181017 configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth libavutil 56. 22.100 / 56. 22.100 libavcodec 58. 35.100 / 58. 35.100 libavformat 58. 20.100 / 58. 20.100 libavdevice 58. 5.100 / 58. 5.100 libavfilter 7. 40.101 / 7. 40.101 libswscale 5. 3.100 / 5. 3.100 libswresample 3. 3.100 / 3. 3.100 libpostproc 55. 3.100 / 55. 3.100 C:\chrome\1_hardsub.mov(+alpha): No such file or directory C:\chrome>del "C:\chrome\1_hardsub.mov(+alpha)" Could Not Find C:\chrome\1_hardsub.mov(+alpha) C:\chrome>del "C:\chrome\hardsub.vpy" C:\chrome>start "" "C:\chrome" C:\chrome>pause Press any key to continue . . . — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.

试了一下,找了一下发现potplayer自带VapourSynth,卸载potplayer后将nega的文件,源文件都移动到其他盘里,报错内容还是一样...

vpy: Python exception: No attribute with the name vsf exists. Did you mistype a plugin namespace?

看起来是vsfilter这个插件不存在,你可以找下相关插件目录下是否有vsfilter的dll存在

对于Negative Encoder来说,虽然它会在你的计算机上部署一套VapourSynth,但是它并不会安装VS相关的东西,只是把需要的依赖组件放在Libs目录里(potplayer也是类似的)。

我们并不推荐你使用 --vpy 来输入写好的vpy文件,因为nvencc可能会偏向于查找已安装的VapourSynth。这里我还是建议将vpy文件的内容复制粘贴到VS选项卡中的编辑栏,然后用NegativeEncoder GUI进行压制。

对于Negative Encoder来说,虽然它会在你的计算机上部署一套VapourSynth,但是它并不会安装VS相关的东西,只是把需要的依赖组件放在Libs目录里(potplayer也是类似的)。

我们并不推荐你使用 --vpy 来输入写好的vpy文件,因为nvencc可能会偏向于查找已安装的VapourSynth。这里我还是建议将vpy文件的内容复制粘贴到VS选项卡中的编辑栏,然后用NegativeEncoder GUI进行压制。

经过折腾,解决了问题。
解决方案:vpy脚本不使用vsfilter使用vsfiltermod,无法理解为什么vsfilter会导致脚本出错,尝试过换vsfilter没解决,但瞎试发现能压特效轴,遂发现问题出在这句上。还有个问题就是压制alpha通道-o xxx.mov(+alpha)的(+alpha)后缀会导致报错,ffmpeg无法根据后缀识别输出文件应使用的格式,删去后可运行。

VS选项卡中的编辑栏是在哪里...我就是看不懂这句话指导做什么,能不能用更白痴的说明方法让我明白该作做什么呢= =

我的意思是,你既然把问题发在NegativeEncoder的issue下面,为什么不看看NegativeEncoder自己是怎么做的呢?
NegativeEncoder可不会把vpy脚本直接塞到nvencc的-i里面,而是用vspipe的。

一个重要的原因就是我可以无视你系统中是不是已经安装过VS,它始终会调用它自己Libs里的那一套。这样不会因为插件安装位置、插件版本等不一致产生的错误,另外在NegativeEncoder执行的任务中,它会对nvencc加上-f选项来限定它的格式,这样就无所谓后缀名了,你愿意把输出文件命名为xxx.txt都行。

在NegativeEncoder的VS选项卡中输入vpy脚本后,NegativeEncoder实际会生成并执行的命令类似于下面这样:

vspipe.exe --y4m "temp.vpy" - | nvencc64.exe --y4m -i - -f mp4 -o "output.txt"

在你vs插件版本确保互相兼容的情况下,你的这些问题是可以避免的。

image

鉴于该问题已解决,本issue关闭。如果仍有问题可以继续留言或者重新打开。