View Full Version : VapourSynth Editor
Mystery Keeper
31st July 2014, 15:37
I present you a cross-platform editor for VapourSynth scripts.
VapourSynth Editor r19 64bit (https://bitbucket.org/mystery_keeper/vapoursynth-editor/downloads/VapourSynthEditor-r19-64bit.7z)
Source code (https://bitbucket.org/mystery_keeper/vapoursynth-editor)
OSX distribution by l33tmeatwad (https://bitbucket.org/l33tmeatwad/vapoursynth-editor/downloads)
I would really appreciate if you contribute icons for the project. That includes application icon (SVG which scales well to 16x16) and buttons/menu icons (16x16 PNG).
I also encourage users to explore the settings. If you keep plugins in non-standard paths - add the paths to have syntax highlighting and autocompletion. Take a look at the settable hotkeys, adjust them as you like and use them - they're really handy for switching preview modes and such.
zerowalker
31st July 2014, 18:05
Wow, just searched for this like 2 days ago or something, will try it out, thanks
Mystery Keeper
4th August 2014, 16:17
R2 is out, fixing some minor files handling issues.
lansing
4th August 2014, 21:56
I played around with it a little, the design seem pretty neat, it's good to have handy functions as a buttons.
A few requests I can think of right now, can you add a bookmark function on the timeline, as well as a live feedback of the color value of the pixel where the mouse cursor points to. And the font size on the timeline is too small. The seeking cursor is too small too.
jmac698
4th August 2014, 22:02
Totally second that, I requested the same feature for AvsP and it was implemented. Basically, AvsP represents all the common requested features so I'd copy that.
Mystery Keeper
4th August 2014, 22:10
I played around with it a little, the design seem pretty neat, it's good to have handy functions as a buttons.
A few requests I can think of right now, can you add a bookmark function on the timeline, as well as a live feedback of the color value of the pixel where the mouse cursor points to. And the font size on the timeline is too small. The seeking cursor is too small too.
I'll think about bookmarks, but likely not before I implement some other features. Timeline font size will be customizable in future. As will be editor styles. Seeking cursor is too small for what? You don't need to aim for it to drag it. You can just click anywhere on the timeline. You won't jump to another frame until you release the mouse key. Now color under cursor is something I don't know how to approach. Most times the video you're working on is YUV with chroma subsampled. So, what value should be displayed?
Myrsloik
4th August 2014, 23:10
Here are two screenshots of the awesomeness:
http://www.vapoursynth.com/wp-content/uploads/2014/08/vsedit1.png
http://www.vapoursynth.com/wp-content/uploads/2014/08/vsedit2.png
Mystery Keeper
4th August 2014, 23:28
I also encourage users to explore the settings. If you keep plugins in non-standard paths - add the paths to have syntax highlighting and autocompletion. Take a look at the settable hotkeys, adjust them as you like and use them - they're really handy for switching preview modes and such.
jmac698
5th August 2014, 04:27
This was solved in AvsP with customizable tags that output to a status area, %rgb to convert anything to rgb, %auto to display in the native values of whatever colourspace the video is in, and %yuv to display as yuv values. Conversion is a bit of a problem so you could use the convention Avisynth does, like pc.601 or pc.709 etc.
But if you could do just one thing now - I'd say auto would work for me. If I need to see a value in rgb, I can convert the video itself temporarily.
Mr Alpha
5th August 2014, 10:31
Looks nice!
Bug report: If you drag the window from one screen to the other it crashes.
Mystery Keeper
5th August 2014, 12:04
Looks nice!
Bug report: If you drag the window from one screen to the other it crashes.
It shouldn't, and it doesn't for me. What is your OS? Your video drivers? Are you using any GPU filters?
Mr Alpha
5th August 2014, 13:17
It shouldn't, and it doesn't for me. What is your OS? Your video drivers? Are you using any GPU filters?
Windows 8.1 Pro 64bit
GeForce 340.52
No filters.
Mystery Keeper
5th August 2014, 14:12
Windows 8.1 Pro 64bit
GeForce 340.52
No filters.
My specs are the same, I have two monitors, and can't reproduce it. Please describe all your steps from the start of program to the crash and give me your script.
Update: Works perfectly well on dual-screen clean virtual machine too.
Mr Alpha
5th August 2014, 17:46
Steps to reproduce:
Double-click vsedit.exe to start the editor
Drag to secondary screen
Crash
The only script I have are the two lines it starts with.
EDIT: I am also using the 64 bit version of the editor if that makes a difference.
Mystery Keeper
5th August 2014, 18:26
Sorry, but I can not reproduce it.
Mystery Keeper
6th August 2014, 14:04
R3 is out:
-Fixed zoom ratio changed to real number.
-New line autoindentation.
RTW47
6th August 2014, 17:01
auto-indentation don't seem to work in r3 (maybe it is also possible to show white spaces and TAB's)
Mystery Keeper
6th August 2014, 17:07
auto-indentation don't seem to work in r3 (maybe it is also possible to show white spaces and TAB's)Autoindentation only indents new line to match the previous. It won't really indent lines on its own according to Python syntax. Are new lines inserted with the same indentation as previous one for you?
Dear users, please understand that this editor will not have any serious Python code analysis in near future.
RTW47
6th August 2014, 17:39
#EDIT:. Confirmed. Auto-indentation works, but in a manner user did not initially expected (blush)
digitall.h
9th August 2014, 17:19
Sorry me for these very basic questione.
:o
Binaries are just for windows systems, aren't they?.
Can VS Editor be built under Linux?. Dependencies?.
As it is using QT5 I hope it is cross platform, isn't it?.
In source I don't find any make file.
There's an VS version in src folder, does VS Editor installation also install VS?.
:)
Mystery Keeper
9th August 2014, 17:42
Sorry me for these very basic questione.
:o
Binaries are just for windows systems, aren't they?.
Can VS Editor be built under Linux?. Dependencies?.
As it is using QT5 I hope it is cross platform, isn't it?.
In source I don't find any make file.
There's an VS version in src folder, does VS Editor installation also install VS?.
:)
Yes, you can build it in Linux with installed developer's packages of Qt5. You simply do:
cd <pro directory>
qmake
make
The program will be built in "build" directory.
You do need to build and install VapourSynth before that. The editor itself doesn't require installation.
The directory "src/vapoursynth" IS NOT VapourSynth source code, but collection of classes in the editor used for direct interaction with VapourSynth. So no, the editor does not build or install VapourSynth.
digitall.h
9th August 2014, 19:55
:thanks:
I'm not very good in working with source, I prefer binaries...
:eek::rolleyes:
With the help of users in this forum I managed to install Vapoursynth.
I'll try with VS Editor.
lansing
11th August 2014, 22:20
I'll think about bookmarks, but likely not before I implement some other features. Timeline font size will be customizable in future. As will be editor styles. Seeking cursor is too small for what? You don't need to aim for it to drag it. You can just click anywhere on the timeline. You won't jump to another frame until you release the mouse key. Now color under cursor is something I don't know how to approach. Most times the video you're working on is YUV with chroma subsampled. So, what value should be displayed?
the color value format to be display can be rgb like "rgb(20,128,40)" and in hex like "#ccccc".
As for the seek bar, right now you have to click inside that tiny white bar in order to trigger the seek, in which 2 out of 5 times I would miss it.
Mystery Keeper
11th August 2014, 22:31
the color value format to be display can be rgb like "rgb(20,128,40)" and in hex like "#ccccc".
As for the seek bar, right now you have to click inside that tiny white bar in order to trigger the seek, in which 2 out of 5 times I would miss it.
Click on the preview area. It effectively steals the focus from any widget that hijacks the keyboard input and allows seeking.
The color question is not how to display it, but "how would you retrieve the pixel color when chroma is subsampled?"
Myrsloik
11th August 2014, 22:38
Click on the preview area. It effectively steals the focus from any widget that hijacks the keyboard input and allows seeking.
The color question is not how to display it, but "how would you retrieve the pixel color when chroma is subsampled?"
Grab it from the clip converted to the closest not subsampled format? Very easy to do and then show both raw and rgb values.
Mystery Keeper
11th August 2014, 22:40
Grab it from the clip converted to the closest not subsampled format? Very easy to do and then show both raw and rgb values.
Oh. That would do. Thanks for idea.
dontrythisathome
17th August 2014, 20:07
Hi all,
i've been looking for an alternative to Avisynth on Linux so, i run into vapoursynth.
I've immediately searched for a suitable editor and here i am.
I've tried to build vapoursynth-editor with the instruction above: cd <pro directory>
qmake
make
but after typing make, the command output stop at this:
/usr/lib/x86_64-linux-gnu/qt5/bin/uic ../src/settings/settingsdialog.ui -o ../generated/ui/ui_settingsdialog.h
/usr/lib/x86_64-linux-gnu/qt5/bin/uic ../src/preview/previewdialog.ui -o ../generated/ui/ui_previewdialog.h
/usr/lib/x86_64-linux-gnu/qt5/bin/uic ../src/mainwindow.ui -o ../generated/ui/ui_mainwindow.h
g++ -c -m64 -pipe -O2 -fexpensive-optimizations -funit-at-a-time -std=c++11 -O2 -w -D_REENTRANT -fPIE -DNDEBUG -DQT_NO_DEBUG
-DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/share/qt5/mkspecs/linux-g++-64 -I. -I/usr/include/qt5 -I/usr/include/qt5/QtWidgets
-I/usr/include/qt5/QtGui -I/usr/include/qt5/QtCore -I../generated/moc -I../generated/ui -o ../generated/obj/helpers.o
../src/common/helpers.cpp
g++ -c -m64 -pipe -O2 -fexpensive-optimizations -funit-at-a-time -std=c++11 -O2 -w -D_REENTRANT -fPIE -DNDEBUG -DQT_NO_DEBUG
-DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/share/qt5/mkspecs/linux-g++-64 -I. -I/usr/include/qt5 -I/usr/include/qt5/QtWidgets
-I/usr/include/qt5/QtGui -I/usr/include/qt5/QtCore -I../generated/moc -I../generated/ui -o ../generated/obj/settingsmanager.o
../src/settings/settingsmanager.cpp
../src/settings/settingsmanager.cpp: In constructor ‘SettingsManager::SettingsManager(QObject*)’:
../src/settings/settingsmanager.cpp:101:4: error: ‘GenericConfigLocation’ is not a member of ‘QStandardPaths’
QStandardPaths::GenericConfigLocation) + SETTINGS_FILE_NAME;
^
../src/settings/settingsmanager.cpp: In member function ‘bool SettingsManager::setPortableMode(bool)’:
../src/settings/settingsmanager.cpp:132:3: error: ‘GenericConfigLocation’ is not a member of ‘QStandardPaths’
QStandardPaths::GenericConfigLocation);
^
make: *** [../generated/obj/settingsmanager.o] Errore 1
Mystery Keeper
17th August 2014, 20:17
Weird. Maybe "GenericConfigLocation" was introduced in newer Qt5 version than the one you've got? Can you upgrade it? If not - replace "GenericConfigLocation" with "ConfigLocation".
dontrythisathome
17th August 2014, 20:54
Weird. Maybe "GenericConfigLocation" was introduced in newer Qt5 version than the one you've got? Can you upgrade it? If not - replace "GenericConfigLocation" with "ConfigLocation".
i used this ppa to install Qt5 on my Ubuntu 12.04 LTS because there is no official repository for Qt5 library on 12.04 LTS. I didn't find it on synaptic.
https://launchpad.net/~ubuntu-sdk-team/+archive/ubuntu/ppa
and they say Qt5 is partially supported in version 12.04 LTS. Could be this the problem ?
Anyway i've change what you tell me to change and now it prompt me this:
../src/settings/itemdelegateforhotkey.cpp:1:28: fatal error: QKeySequenceEdit: File o directory non esistente
#include <QKeySequenceEdit>
^
compilation terminated.
make: *** [../generated/obj/itemdelegateforhotkey.o] Errore 1
Could this also be a problem because Qt5 is not fully supported on 12.04 LTS so they've change some include directories ?
Mystery Keeper
17th August 2014, 21:12
No idea, honestly. To me it seems that your version of Qt5 is incomplete. You could try and build it from the sources. What "Qt5 is partially supported in version 12.04 LTS" means is a mystery to me. QKeySequenceEdit was introduced in Qt5.2.
dontrythisathome
17th August 2014, 22:05
No idea, honestly. To me it seems that your version of Qt5 is incomplete. You could try and build it from the sources. What "Qt5 is partially supported in version 12.04 LTS" means is a mystery to me. QKeySequenceEdit was introduced in Qt5.2.
I'll try to compile QT5 from source then and remove the ppa, that, after all, i discover install Qt 5.0.2 only on Ubuntu 12.04 LTS and not Qt 5.2 and later.
EDIT [18.08.2014]: I've manage to build vapoursynth-editor. Now, i run it and it prompt me this error: VapourSynth plugins manager: Failed to load vapoursynth library!
Please set up the library search paths in settings.
http://111.imagebam.com/download/ioSujP8COMlRA2wW6G-e6Q/34585/345844428/snap-1.png
and when i do not use any plugin it prompt me this:
Failed to initialize VapourSynth
I don't understand where i fail.
I followed this post to build vapoursynth and FFMS2: LINK (https://forum.doom9.org/showpost.php?p=1643069&postcount=947)
Then i build vapoursynth-editor.
Since from vapoursynth ./waf configure the PREFIX is set to " /usr/local/ ", LIBDIR to " PREFIX/lib " and PLUGINDIR to "LIBDIR/vapoursynth", i don't understand why it can't load them. I also set the vapoursynth.conf file as it explain here: LINK (http://www.vapoursynth.com/doc/autoloading.html) since XDG_CONFIG_HOME is not defined.
Any suggestion ?
foxyshadis
18th August 2014, 23:20
Can you test 14.04 LTS, perhaps in a VM? It might be time to transition toward that, if it works.
Mystery Keeper
18th August 2014, 23:31
I'll try. I tested it in Mint 17 so far.
Are_
18th August 2014, 23:48
Any suggestion ?
The search path for "vapoursynth library" is wrong in the screenshot you posted, it should be "/usr/local/lib".
dontrythisathome
19th August 2014, 15:29
The search path for "vapoursynth library" is wrong in the screenshot you posted, it should be "/usr/local/lib".
oh, yes, my mistake.
Here's the change, but it still doesn't recognize the vapoursynth plugin path.
http://109.imagebam.com/download/ny5RW5yN5baBw3BZXVeWoA/34603/346028068/snap-2.png
Mystery Keeper
19th August 2014, 15:46
You mean you don't get syntax highlighting and autocompletion for the plugins you've got in the path?
dontrythisathome
19th August 2014, 15:59
You mean you don't get syntax highlighting and autocompletion for the plugins you've got in the path?
yes.
This is the output it gives me
VapourSynth plugins manager: Failed to load vapoursynth library!
Please set up the library search paths in settings.
Although i set the correct path, didn't I ?
Mystery Keeper
19th August 2014, 16:04
The truth is you shouldn't need to set the library search path in Linux at all. In Windows too since I've added autodetection. For some reason vsedit can not find VapourSynth library. What name does it have in your build?
dontrythisathome
19th August 2014, 16:24
The truth is you shouldn't need to set the library search path in Linux at all. In Windows too since I've added autodetection. For some reason vsedit can not find VapourSynth library. What name does it have in your build?
This is the build name of vapoursynth
vapoursynth_24R-r1079-1_amd64
Is this what you're talking about, isn't it ?
Mystery Keeper
19th August 2014, 16:28
Woah! No wonder it can not find the library. Its name in Linux is expected to be libvapoursynth.so. Must be some of Myrsloik's recent changes.
Myrsloik
19th August 2014, 16:29
Woah! No wonder it can not find the library. Its name in Linux is expected to be libvapoursynth.so. Must be some of Myrsloik's recent changes.
I didn't change anything. That sounds more like a package name.
dontrythisathome
19th August 2014, 16:32
Woah! No wonder it can not find the library. Its name in Linux is expected to be libvapoursynth.so. Must be some of Myrsloik's recent changes.
Wait, you mean the build name of the package or the name of the library .so ; because if it is .so file what you are intending, is the same as you said, that is libvapoursynth.so
EDIT: i tried to launch vspipe from terminal and prompt me this: vspipe: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /usr/local/lib/libvapoursynth.so)
Could be this the problem ?
Mystery Keeper
19th August 2014, 17:09
i tried to launch vspipe from terminal and prompt me this: vspipe: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /usr/local/lib/libvapoursynth.so)
Could be this the problem ?
Yes, definitely.
dontrythisathome
19th August 2014, 17:32
Yes, definitely.
ok. correct LD_LIBRARY_PATH and now vspipe works from terminal and i also rebuilt vapoursynth-editor but it still not working.
Should i rebuild vapoursynth too ?
Mystery Keeper
19th August 2014, 17:34
What exactly is not working?
dontrythisathome
19th August 2014, 17:40
What exactly is not working?
I just write down in the editor this simple script:
import vapoursynth as vs
core = vs.get_core()
print(c.version())
and it prompt me this again:
VapourSynth plugins manager: Failed to load vapoursynth library!
Please set up the library search paths in settings.
Mystery Keeper
19th August 2014, 17:48
It still can't load the library. Do try to rebuild VapourSynth. There's an error in your script. No variable c. It should be "print(core.version())". It still will not print you anything. The editor doesn't redirect stdout. It expects the script to have ouput video node.
dontrythisathome
19th August 2014, 17:52
It still can't load the library. Do try to rebuild VapourSynth. There's an error in your script. No variable c. It should be "print(core.version())". It still will not print you anything. The editor doesn't redirect stdout. It expects the script to have ouput video node.
I rebulit VapourSynth and then i rebuilt vapoursynth-editor.
Still don't load the library and syntax highlighting and autocompletion works only with existing variable though.
Mystery Keeper
19th August 2014, 18:03
If syntax highlighting works with "std" namespace plugins - then library is successfully loaded. Does it still give you the message that it couldn't be loaded?
dontrythisathome
19th August 2014, 18:21
If syntax highlighting works with "std" namespace plugins - then library is successfully loaded. Does it still give you the message that it couldn't be loaded?
Yes, i discover another personal issue.
To correct this error: vspipe: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /usr/local/lib/libvapoursynth.so)
I had to update LD_LIBRARY_PATH with the PATH where is located GCC library since i've installed latest GCC.
After updated the LD_LIBRARY_PATH, trough the terminal vspipe worked.
But when i close the terminal and open a new one, it's like the previous command was cancelled; so, i re-exported the PATH and launched vsedit from terminal, trying to run the simple script, but a new error prompted in vseditor
Failed to get the script output node.
This instead, is what i had from ubuntu terminal
QWidget::insertAction: Attempt to insert null action [ WHEN I OPEN VSEDIT FROM TERMINAL ]
VapourSynth Video Processing Library
Copyright (c) 2012-2014 Fredrik Mellbin
Core r24
API r3 [WHEN I TRIED TO RUN THE SCRIPT]
Mystery Keeper
19th August 2014, 18:45
"Failed to get the script output node." - this is an expected error, which I described before. Your script has no output node.
"QWidget::insertAction: Attempt to insert null action" - this is more interesting. Probably a harmless bug in recent files management. I'll look into it.
dontrythisathome
19th August 2014, 18:50
"Failed to get the script output node." - this is an expected error, which I described before. Your script has no output node.
"QWidget::insertAction: Attempt to insert null action" - this is more interesting. Probably a harmless bug in recent files management. I'll look into it.
So, what can i do for now ?
Mystery Keeper
19th August 2014, 18:56
Write a script that actually outputs something?
dontrythisathome
19th August 2014, 19:15
YEAHHHHH !!! FINALLY WORKED !!!
THANKS FOR THE HUGE SUPPORT !!!
Here the snapshot:
<removed>
lansing
25th September 2014, 22:16
requesting a drag and drop to open file function, right now the drag and drop function only act as if the user is adding the file to the script.
Mystery Keeper
25th September 2014, 22:19
Ugh. I didn't even know drag and drop worked with files. I'm planning to implement a snippets system. There will be snippets for files dropping too. But what kind of drag and drop do you mean?
lansing
25th September 2014, 22:26
Ugh. I didn't even know drag and drop worked with files. I'm planning to implement a snippets system. There will be snippets for files dropping too. But what kind of drag and drop do you mean?
Like drag and drop to open a new vpy file
Mystery Keeper
25th September 2014, 22:29
Sure. Though double-clicking is faster. But considering how we have to use two versions for now, I see how it can be useful.
Are_
24th October 2014, 18:30
Hi there,
Could you please add a shortcut for comment/uncomment lines and make it accessible through Hotkeys page to this awesome editor? :)
Mystery Keeper
24th October 2014, 18:35
Yes, sure. Also, we need a line duplication hotkey.
But not until I finally solve the chroma upsampling issues >_< *bangs his head on the table*
Meanwhile everyone feel free to suggest code editing features. It might the the next thing I concentrate on.
Mystery Keeper
25th October 2014, 08:07
Could you please make the editor show the call tips as well when the users type any character within the filter's parenthesis?
:thanks:
Yes, I can. Just realized that's the way I should have done it from the beginning. Autocompletion for function name only and a tooltip for the arguments.
Mystery Keeper
8th December 2014, 15:07
r4 is finally out with few fundamental changes.
Custom font is not embedded.
Preview is now done completely internally. ALL formats recognized by VapourSynth are supported.
Chroma upsampling is done using zimg (http://forum.doom9.org/showthread.php?t=171334) library, which adds some little quirks.
Make sure you explore the new settings in preview window and use the right colorspace conversion matrix for each script.
Also, I think this thread deserves to be sticky.
lansing
8th December 2014, 19:09
the 32bit version crash on start, and where should we install the zimg library? The original post didn't say anything.
Mystery Keeper
8th December 2014, 19:13
the 32bit version crash on start, and where should we install the zimg library? The original post didn't say anything.
zimg library code is integrated, so you don't need to install it for the editor. It doesn't crash for me. I'll test 32bit version in virtual machine again.
Upd: Test works perfectly fine. Try to download and install VapourSynth R25 again. There were versions that made the editor crash.
lansing
8th December 2014, 19:30
zimg library code is integrated, so you don't need to install it for the editor. It doesn't crash for me. I'll test 32bit version in virtual machine again.
Upd: Test works perfectly fine. Try to download and install VapourSynth R25 again. There were versions that made the editor crash.
Yup I just found that out, installed r25 and the problems went away. You may want to modify the error message to inform the users to use the correct vapoursynth version.
Mystery Keeper
8th December 2014, 19:41
Modify which error message? It doesn't really care for what VS library it uses as long as API is compatible. The crash was caused by "tcmalloc" library that VS now uses overriding standard functions.
lansing
8th December 2014, 19:57
When I was using the outdated vapoursynth version before, there's a warning message saying that I need to set up the library folder path.
Mystery Keeper
8th December 2014, 20:04
That happened because it couldn't load vapoursynth.dll, which used dynamically linked tcmalloc. That breaks autocompletion and syntax highlighting, but not preview. That error means "I could not find an instance of vapoursynth.dll that I could load".
Myrsloik
8th December 2014, 20:05
When I was using the outdated vapoursynth version before, there's a warning message saying that I need to set up the library folder path.
The experimental builds don't get their own version so it can't be detected. Experimental versions are so because they may be very broken.
Are_
21st December 2014, 23:37
Ok, now I have kind of a problem and I don't know exactly who is the culprit, so I'm going to throw it here.
Whenever I try to preview a script with finesharp on vsedit, it tells me something like:
Failed to evaluate the script:
Python exception: Expr: Failed to convert '9.9' to float
Traceback (most recent call last):
File "vapoursynth.pyx", line 1480, in vapoursynth.vpy_evaluateScript (src/cython/vapoursynth.c:25191)
File "/home/dani/rule6/stuff/_stuff.py", line 21, in <module>
f = finesharp.sharpen(clip=src, mode=1, sstr=2)
File "/usr/lib64/python3.4/site-packages/finesharp.py", line 153, in sharpen
xyshrp = core.std.Expr(clips=[shrp, core.rgvs.RemoveGrain(clip=shrp, mode=[20])], expr=expr)
File "vapoursynth.pyx", line 1379, in vapoursynth.Function.__call__ (src/cython/vapoursynth.c:23686)
vapoursynth.Error: Expr: Failed to convert '9.9' to float
But I can't see why the code is wrong.
This only happens when Expr is used, it looks like strings get screwed somehow.
vspipe/mpv don't complain about anything, only vsedit does.
Does this make any sense? :/
Mystery Keeper
21st December 2014, 23:39
That's a Python error. Something with your expression.
Are_
21st December 2014, 23:42
Tell me how this is wrong:
expr = 'x x y - 9.9 * +'
xyshrp = core.std.Expr(clips=[shrp, core.rgvs.RemoveGrain(clip=shrp, mode=[20])], expr=expr)
Also, I have already said it, vspipe and mpv don't throw any error and proces de video correctly.
Mystery Keeper
21st December 2014, 23:48
Sorry, missed the part about vspipe not complaining. I really don't know. I'll try to test expr with vsedit.
Are_
21st December 2014, 23:49
import vapoursynth as vs
core = vs.get_core()
src = core.std.BlankClip()
def stuff(clip):
r = core.std.Expr(clips=clip, expr='x 9.9 +')
return r
r = stuff(src)
r.set_output()
This will fail in vsedit.
Mystery Keeper
21st December 2014, 23:51
It doesn't fail for me.
Are_
21st December 2014, 23:55
Mmh... then it has something to do with my box (make sure the thing you tested ended with "r.set_output()" because I ninja edited that part ^^U). :/
Are_
22nd December 2014, 00:05
Well, don't worry, it also works for me on windows, something should be wrong in my end.
sl1pkn07
22nd December 2014, 00:10
import vapoursynth as vs
core = vs.get_core()
src = core.std.BlankClip()
def stuff(clip):
r = core.std.Expr(clips=clip, expr='x 9.9 +')
return r
r = stuff(src)
r.set_output()
This will fail in vsedit.
fail for me in linux 64bits, VS 54b97e1
Failed to evaluate the script:
Python exception: Expr: Failed to convert '9.9' to float
Traceback (most recent call last):
File "vapoursynth.pyx", line 1480, in vapoursynth.vpy_evaluateScript (src/cython/vapoursynth.c:25089)
File "", line 11, in <module>
File "", line 8, in stuff
File "vapoursynth.pyx", line 1379, in vapoursynth.Function.__call__ (src/cython/vapoursynth.c:23584)
vapoursynth.Error: Expr: Failed to convert '9.9' to float
Myrsloik
22nd December 2014, 01:22
Are you using a locale where the decimal separator isn't a point?
sl1pkn07
22nd December 2014, 01:35
I believe is a ','
edit:
oh, yes, change 9.9 with 9,9 now works
thanks for the point
greetings
Myrsloik
22nd December 2014, 01:57
It's a bug in vapoursynth. I forgot that stof() is locale dependent. The next version will correctly always use a point as the decimal separator.
Are_
22nd December 2014, 02:01
Are you using a locale where the decimal separator isn't a point?
Ouch, yes sir. Launching it with "LANG=C vsedit" makes it work as expected.
But should be a better workaround for this, right? :/
EDIT: Ok, you beat me to it, nice to know. :)
Myrsloik
17th May 2015, 13:09
Here are updated binaries (https://www.dropbox.com/s/n3svolmpvqogwiy/vsedit_R27_fix.7z?dl=1) with a small fix to work with VapourSynth R27.
Simply overwrite the exe files in the official packages.
metyo
19th May 2015, 18:22
vsedit :
VapourSynth plugins manager: Failed to get pointer to the plugin Plugin1!
problem solved with recompile the latest git
ArchLinux 64bit
thanks Myrsloik sl1pkn07 and everyone
metyo
~ VEGETA ~
11th August 2015, 11:57
I have this issue for quite a long time:
Failed to evaluate the script:
Python exception: No attribute with the name ffms2 exists. Did you mistype a plugin namespace?
Traceback (most recent call last):
File "vapoursynth.pyx", line 1467, in vapoursynth.vpy_evaluateScript (src\cython\vapoursynth.c:24719)
File "C:/Users/VEGETA/Desktop/Untitled.vpy", line 5, in <module>
File "vapoursynth.pyx", line 1088, in vapoursynth.Core.__getattr__ (src\cython\vapoursynth.c:18921)
AttributeError: No attribute with the name ffms2 exists. Did you mistype a plugin namespace?
I am using Windows 7 x64 on a dedi server. I installed VS-R27 from the official binaries. Looks like it doesn't auto-load anything.
I've put ffms2.dll (and index..) in plugins32 and in core32/plugins but still doesn't get it. I also tried loading it manually but didn't work! it says it can not load it.
However, before that... I tried to print the version but didn't work on the editor while worked well in the shell itself. it wrote that it couldn't detect plugins1,2,3,4... I guess this is the main problem.
I tried putting the plugins' directory manually into the editor but still no use.
I hope you can help.
thanks
sneaker_ger
11th August 2015, 14:59
Are you using the 32 bit versions of everything, including the editor, player, etc.? Which ffms2 version are you using? (Try this one (http://forum.doom9.org/showpost.php?p=1724748&postcount=2088).)
~ VEGETA ~
11th August 2015, 15:03
I am using 32 bit of everything including ffms2. I tried the one you posted but no use. maybe it is a python issue.
~ VEGETA ~
11th August 2015, 17:38
Just tried it on my laptop, Windows 7 x86... Same issue.
I use this script:
import vapoursynth as vs
core = vs.get_core()
a= core.std.blankclip()
a.set_output()
This is the result:
Failed to evaluate the script:
Python exception: There is no function named blankclip
Traceback (most recent call last):
File "vapoursynth.pyx", line 1467, in vapoursynth.vpy_evaluateScript (src\cython\vapoursynth.c:24719)
File "", line 3, in <module>
File "vapoursynth.pyx", line 1247, in vapoursynth.Plugin.__getattr__ (src\cython\vapoursynth.c:21557)
AttributeError: There is no function named blankclip
when using the Python shell IDE itself, all goes right until I write:
a=core.std.blankclip()
it outputs:
Traceback (most recent call last):
File "<pyshell#9>", line 1, in <module>
a = core.std.blankclip()
File "vapoursynth.pyx", line 1247, in vapoursynth.Plugin.__getattr__ (src\cython\vapoursynth.c:21557)
AttributeError: There is no function named blankclip
Now, when I put this in the editor:
import vapoursynth as vs
core = vs.get_core()
print(core.version())
I get:
Failed to get the script output node.
___
Observing that, my guess is:
1- It doesn't recognize/use the .std stuff, only core. (no libs loaded)?
2- Something is wrong with the editor as it can not even show the version (while the python IDE can).
looking forward to your help.
colours
11th August 2015, 19:01
core.std.BlankClip
~ VEGETA ~
11th August 2015, 19:17
I downloaded the fixed exe from previous post and it works now.
Still, another issue... which is: it doesn't load any native plugins like ffms2 and flash3kyuu. what to do?
here is my script:
import sys
import vapoursynth as vs
core = vs.get_core()
core.std.LoadPlugin('D:\\plugins32\\ffms2.dll')
core.std.LoadPlugin('D:\\plugins32\\flash3kyuu_deband.dll')
last = core.std.BlankClip()
last = core.f3kdb.F3kdb(last, y=49, output_depth=10, dither_algo=2)[:10]
last.set_output()
Are_
11th August 2015, 20:27
last = core.f3kdb.Deband(last, y=49, output_depth=10, dither_algo=2)[:10]
Maybe you should read the documentation more carefully.
~ VEGETA ~
11th August 2015, 20:35
last = core.f3kdb.Deband(last, y=49, output_depth=10, dither_algo=2)[:10]
Maybe you should read the documentation more carefully.
OK, but this is not really an issue as the plugin itself can not be loaded as a native plugin. If it is about syntacs, it would be easy.
TL;DR: I have a problem of loading native plugins such as ffms2 and f3kdb. They work nice when loading them as avs plugins not native.
foxyshadis
12th August 2015, 08:20
Your script shows you loading them natively, though; avisynth loading is core.avs.LoadPlugin(). Ohhhh, I get it, you assume you're loading an avisynth plugin... both of those plugins include both avisynth and vapoursynth in one dll. You're already done!
Just remember that VapourSynth is case sensitive from here out and you'll be ok.
~ VEGETA ~
12th August 2015, 21:06
Your script shows you loading them natively, though; avisynth loading is core.avs.LoadPlugin(). Ohhhh, I get it, you assume you're loading an avisynth plugin... both of those plugins include both avisynth and vapoursynth in one dll. You're already done!
Just remember that VapourSynth is case sensitive from here out and you'll be ok.
I know how to load natively and load them as avs. I know too that they are the same dll. I just stated that loading them natively fails while loading them as avs succeeds.
dontrythisathome
23rd August 2015, 20:11
I'm using Manjaro Linux 3.18.20-1, vapoursynth from git and just after the last update of Manjaro it prompts me this error when I try to check or preview the script. Sometimes it doesn't do anything at all and sometimes does only one of the two operation above ( check or preview ), otherwise it crashes with any sort of script, from the simplest to the one more complex.
Here is what gdb prompted me ( i'm not a computer programmer so I surely didn't debug it correctly )
(gdb) start
Temporary breakpoint 1 at 0x415610
Starting program: /home/Vapoursynth/vap-editor/build/release-64bit-gcc/vsedit
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Temporary breakpoint 1, 0x0000000000415610 in main ()
(gdb) continue
Continuing.
QWidget::insertAction: Attempt to insert null action
[New Thread 0x7fffea8e1700 (LWP 6738)]
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7de4045 in do_lookup_x () from /lib64/ld-linux-x86-64.so.2
(gdb) continue
Continuing.
[Thread 0x7fffea8e1700 (LWP 6738) exited]
Program terminated with signal SIGSEGV, Segmentation fault.
The program no longer exists
Should I report the problem to Manjaro devs also ?
jackoneill
23rd August 2015, 20:32
Compile a debug build and then try to reproduce the crash with that. After the segmentation fault, type 'bt full' and paste the output.
dontrythisathome
23rd August 2015, 21:43
Sorry for being late, the debug version was built in another directory and I couldn't find it at first ! So stupid I am.
Anyway, here is the output.
gdb vs*
Excess command line arguments ignored. (vsedit.svg)
GNU gdb (GDB) 7.9.1
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-unknown-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from vsedit-debug-64bit-gcc...done.
"/home/Vapoursynth/vap-editor/build/debug-64bit-gcc/vsedit.ico" is not a core dump: File format not recognized
(gdb) start
Temporary breakpoint 1 at 0x46bab2: file ../src/main.cpp, line 7.
Starting program: /home/Vapoursynth/vap-editor/build/debug-64bit-gcc/vsedit-debug-64bit-gcc
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Temporary breakpoint 1, main (argc=1, argv=0x7fffffffe768) at ../src/main.cpp:7
7 QApplication application(argc, argv);
(gdb) continue
Continuing.
QWidget::insertAction: Attempt to insert null action
[New Thread 0x7fffea8e1700 (LWP 11972)]
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7de4045 in do_lookup_x () from /lib64/ld-linux-x86-64.so.2
(gdb) bt full
#0 0x00007ffff7de4045 in do_lookup_x () from /lib64/ld-linux-x86-64.so.2
No symbol table info available.
#1 0x00007ffff7de4d3f in _dl_lookup_symbol_x ()
from /lib64/ld-linux-x86-64.so.2
No symbol table info available.
#2 0x00007ffff7de5213 in _dl_lookup_symbol_x ()
from /lib64/ld-linux-x86-64.so.2
No symbol table info available.
#3 0x00007ffff7de5213 in _dl_lookup_symbol_x ()
from /lib64/ld-linux-x86-64.so.2
No symbol table info available.
#4 0x00007ffff7de5213 in _dl_lookup_symbol_x ()
from /lib64/ld-linux-x86-64.so.2
No symbol table info available.
#5 0x00007ffff7de5213 in _dl_lookup_symbol_x ()
from /lib64/ld-linux-x86-64.so.2
No symbol table info available.
#6 0x00007ffff7de5213 in _dl_lookup_symbol_x ()
from /lib64/ld-linux-x86-64.so.2
No symbol table info available.
#7 0x00007ffff7de5213 in _dl_lookup_symbol_x ()
from /lib64/ld-linux-x86-64.so.2
No symbol table info available.
---Type <return> to continue, or q <return> to quit---
#8 0x00007ffff7de5213 in _dl_lookup_symbol_x ()
from /lib64/ld-linux-x86-64.so.2
No symbol table info available.
#9 0x00007ffff7de5213 in _dl_lookup_symbol_x ()
from /lib64/ld-linux-x86-64.so.2
No symbol table info available.
#10 0x00007ffff7de5213 in _dl_lookup_symbol_x ()
from /lib64/ld-linux-x86-64.so.2
No symbol table info available.
#11 0x00007ffff7de5213 in _dl_lookup_symbol_x ()
from /lib64/ld-linux-x86-64.so.2
No symbol table info available.
#12 0x00007ffff7de5213 in _dl_lookup_symbol_x ()
from /lib64/ld-linux-x86-64.so.2
No symbol table info available.
#13 0x00007ffff7de5213 in _dl_lookup_symbol_x ()
from /lib64/ld-linux-x86-64.so.2
No symbol table info available.
#14 0x00007ffff7de5213 in _dl_lookup_symbol_x ()
from /lib64/ld-linux-x86-64.so.2
No symbol table info available.
#15 0x00007ffff7de5213 in _dl_lookup_symbol_x ()
from /lib64/ld-linux-x86-64.so.2
---Type <return> to continue, or q <return> to quit---
No symbol table info available.
#16 0x00007ffff7de5213 in _dl_lookup_symbol_x ()
from /lib64/ld-linux-x86-64.so.2
No symbol table info available.
#17 0x00007ffff7de5213 in _dl_lookup_symbol_x ()
from /lib64/ld-linux-x86-64.so.2
No symbol table info available.
#18 0x00007ffff7de5213 in _dl_lookup_symbol_x ()
from /lib64/ld-linux-x86-64.so.2
No symbol table info available.
#19 0x00007ffff7de5213 in _dl_lookup_symbol_x ()
from /lib64/ld-linux-x86-64.so.2
No symbol table info available.
#20 0x00007ffff7de5213 in _dl_lookup_symbol_x ()
from /lib64/ld-linux-x86-64.so.2
No symbol table info available.
#21 0x00007ffff7de5213 in _dl_lookup_symbol_x ()
from /lib64/ld-linux-x86-64.so.2
No symbol table info available.
#22 0x00007ffff7de5213 in _dl_lookup_symbol_x ()
from /lib64/ld-linux-x86-64.so.2
No symbol table info available.
#23 0x00007ffff7de5213 in _dl_lookup_symbol_x ()
---Type <return> to continue, or q <return> to quit---
from /lib64/ld-linux-x86-64.so.2
No symbol table info available.
#24 0x00007ffff7de5213 in _dl_lookup_symbol_x ()
from /lib64/ld-linux-x86-64.so.2
No symbol table info available.
#25 0x00007ffff7de5213 in _dl_lookup_symbol_x ()
from /lib64/ld-linux-x86-64.so.2
No symbol table info available.
#26 0x00007ffff7de5213 in _dl_lookup_symbol_x ()
from /lib64/ld-linux-x86-64.so.2
No symbol table info available.
#27 0x00007ffff7de5213 in _dl_lookup_symbol_x ()
from /lib64/ld-linux-x86-64.so.2
No symbol table info available.
#28 0x00007ffff7de5213 in _dl_lookup_symbol_x ()
from /lib64/ld-linux-x86-64.so.2
No symbol table info available.
#29 0x00007ffff7de5213 in _dl_lookup_symbol_x ()
from /lib64/ld-linux-x86-64.so.2
No symbol table info available.
#30 0x00007ffff7de5213 in _dl_lookup_symbol_x ()
from /lib64/ld-linux-x86-64.so.2
No symbol table info available.
---Type <return> to continue, or q <return> to quit---q
Quit
(gdb) continue
Continuing.
[Thread 0x7fffea8e1700 (LWP 11972) exited]
Program terminated with signal SIGSEGV, Segmentation fault.
The program no longer exists.
Typeing <return> seemed to have no end and prompt the same error, so i cut short the output.
jackoneill
24th August 2015, 09:53
Typeing <return> seemed to have no end and prompt the same error, so i cut short the output.
You should probably keep at it until it stops asking.
dontrythisathome
25th August 2015, 01:53
Sorry, could check again only at this time of day.
The output was too long for Doom9's text box.
Here's the link on pastebin: link (http://pastebin.com/kymA4Kyr)
foxyshadis
25th August 2015, 02:09
Looking for that error I found one copy-paste bug in previewdialog.cpp:869 (m_pPreviewContextMenu->addAction(m_pActionSaveSnapshot); should be m_pPreviewContextMenu->addAction(m_pActionFrameToClipboard);). Try changing that and see if it works.
dontrythisathome
25th August 2015, 03:22
with m_m_pActionFrameToClipboard generates this output
../src/preview/previewdialog.cpp: In member function ‘void PreviewDialog::createActionsAndMenus()’:
../src/preview/previewdialog.cpp:869:35: error: ‘m_m_pActionFrameToClipboard’ was not declared in this scope
m_pPreviewContextMenu->addAction(m_m_pActionFrameToClipboard);
jackoneill
25th August 2015, 11:51
Sorry, could check again only at this time of day.
The output was too long for Doom9's text box.
Here's the link on pastebin: link (http://pastebin.com/kymA4Kyr)
I see. It crashes while autoloading the plugins. Does the same thing happen if you use vspipe?
Did you create ~/.config/vapoursynth/vapoursynth.conf ? If yes, what does it contain? What did you pass to the configure script when you compiled VapourSynth?
Maybe you should compile VapourSynth with --enable-debug and repeat this experiment.
foxyshadis probably added an extra "m_" at the beginning of that name.
foxyshadis
25th August 2015, 13:47
Well, that was dumb. Edited my post to edit out the extraneous m_
Mystery Keeper
25th August 2015, 13:55
Ouch. What a stupid mistake. Sorry for not working on the viewer. I've been rather busy. I'll fix this bug and make new fix release as soon as I can.
dontrythisathome
25th August 2015, 17:39
This morning, a few minutes ago, I recompiled vapoursynth with
./configure --prefix=/usr --enable-debug
and recompiled vapoursynth editor again and seems to work now with no errors at all.
( Changing the variabile name and recompiling vapoursynth should solve the problem I think )
I'll keep you update if anything bad comes up.
Mystery Keeper
25th August 2015, 20:14
Released r5 with fixes to VS r27 compatibility and the action bug. Please test if distributions work properly. Virtual machines are not working for me right now.
dontrythisathome
25th August 2015, 22:50
Both debug and release build work for me with no problem at all.
Mystery Keeper
28th August 2015, 06:05
Because Myrsloik compiled with Visual Studio and I with MinGW. Those warning mean that someone forgot a certain assembler call after using MMX instructions in their plugin.
Mystery Keeper
28th August 2015, 12:47
Maybe Myrsloik forgot to put that call into some of the core functions? It is probable.
Myrsloik
28th August 2015, 14:16
Maybe Myrsloik forgot to put that call into some of the core functions? It is probable.
No. Different compilers default to different control register flags. Gcc for some inexplicable reason defaults to something different sometimes.
It's the host application that sets it on startup and that's it. Vapoursynth only checks if it's sane.
The warning is printed before anything else is done by VS.
Btw, VS simply need the windows default fpu state when threads and processes are created.
Mystery Keeper
28th August 2015, 14:18
So, what do I do about it?
Myrsloik
28th August 2015, 14:20
So, what do I do about it?
Set the fpu state to the default before loading VS. There are intrinsics for that.
Or simply join the dark visual studio side for the windows builds. Maybe mingw has an option for it too. No idea.
Boulder
20th September 2015, 09:26
While trying to convert the HD mod of contrasharpening to VS-compatible code, I found out that this code crashes the preview:
import vapoursynth as vs
core = vs.get_core()
clp = core.ffms2.Source('c:/x265/hotfuzz.vc1')
superclip = core.mv.Super(clp,pel=2,rfilter=4)
bv1 = core.mv.Analyse(superclip, blksize=16, overlap=8, search=5, searchparam=4, pelsearch=3, isb=True, delta=1)
fv1 = core.mv.Analyse(superclip, blksize=16, overlap=8, search=5, searchparam=4, pelsearch=3, isb=False, delta=1)
original = core.std.ShufflePlanes(clp, planes=[0], colorfamily=vs.GRAY)
cb1 = core.mv.Compensate(original,superclip,bv1,thscd1=300,thscd2=80)
cb1.set_output()If "clp" is fed into mv.Compensate, there's no problem. Also the clip "original" can be opened in the preview window. Using "Check script" doesn't crash.
Boulder
20th September 2015, 18:40
I'd expect "Check script" to shout out loud :) Or does it just check the syntax and doesn't check the actual output?
Mystery Keeper
21st September 2015, 18:46
I'd expect "Check script" to shout out loud :) Or does it just check the syntax and doesn't check the actual output?
It checks if the graphs is successfully built, but requests no frames.
lansing
21st January 2016, 00:18
Any update on working with R30 portable?
Myrsloik
21st January 2016, 00:50
Any update on working with R30 portable?
What is there to update about? R5 already works with it if you stuff everything in the same directory.
Mystery Keeper
21st January 2016, 00:54
Probably can make it work with the portable version from anywhere. When I get to it >_>
lansing
21st January 2016, 02:16
What is there to update about? R5 already works with it if you stuff everything in the same directory.
That's the one thing I don't want to do. I wanted Vapoursynth and the editor to have their own folder instead of stuffing 30 files into one. It would be one big mess if you're to update/remove any one of them after.
Tormaid
28th January 2016, 20:42
First, I want to thank you for developing this program; it's made transitioning to Vapoursynth much easier for me.
I wanted to inquire, if I may, about your future plans for the VS Editor. Specifically, I'm interested in macro support like that found in AvsPmod. This makes a huge difference in efficiency when I have to scene-filter something. For example, I can use something like this to re-create static fades to black when they are corrupted with compression artifacts at the press of a key:
frame = avsp.GetFrameNumber()
count = avsp.GetVideoFramecount()
avsp.InsertText('\nReplaceFramesSimple(Overlay(last, last.trim(0, %i)++last.FreezeFrame(%i,%i,%i) \
.trim(%i, %i).FadeOut2(%i, color=$000000, fps=23.976)++last.trim(%i, %i)), mappings="[%i %i]")' \
% (x-1, x, frame, x, x, frame, frame-x, frame+1, count, x, frame))
avsp.ShowVideoFrame(forceRefresh=True)
This is especially useful when combined with the ability to bookmark frames and import scene-change metrics as bookmarks, so you can easily jump from one affected section to the next.
I'm interested in hearing your thoughts on this. Thank you in advance for your time.
Mystery Keeper
28th January 2016, 20:45
I'm working on it very slowly right now. Next release will have theme settings. I'm also aiming for better portable VS support soon.
littlepox
29th January 2016, 02:43
Has anyone requested the feature of displaying YUV/RGB info? If not, I'd like to request for it:
When you preview the video, the information bar shall automatically display the YUV/RGB info (in 8bit scale) for the pixel your cursor is on.
This is featured in the AVSpMod. I hope there is the same one in VS which shall simplify our life a lot.
Kindly excuse me and get me informed if this feature is already there, just not turned on by default.
shader
12th February 2016, 16:15
Does anybody know how to print to log window. I just want to show some statistics. When using vspipe stderr works well.
I already check stdout and stderr, both of them don't work.
Mystery Keeper
12th February 2016, 16:17
Might add a logging feautre someday.
jackoneill
12th February 2016, 16:23
Does anybody know how to print to log window. I just want to show some statistics. When using vspipe stderr works well.
I already check stdout and stderr, both of them don't work.
VapourSynth R30 introduced VSAPI::logMessage (http://www.vapoursynth.com/doc/api/vapoursynth.h.html#logmessage). I believe messages sent through that are displayed in vsedit's log window. If you want to call it from Python, maybe you can figure something out with ctypes. You can get the VSAPI pointer from vsscript (again, ctypes).
lansing
13th February 2016, 00:25
I would like to request a feature to quick switch to show all separate plane, like RGB and YUV. I'm using the BM3D for denoising and I wanted to adjust the denoise strength of each plane, so I need a quick way to actually see the plane.
Mystery Keeper
13th February 2016, 00:27
No. Do that with VS functions.
lansing
3rd March 2016, 03:35
No. Do that with VS functions.
That's not going to help when you're to repeat the same process 20/30 times
LexSfX
5th March 2016, 20:33
I feel like I might be missing something. I can preview still frames and this is cool and all, but I can't seem to actually play the clip in the "Preview" mode, so that it animates and plays sound. I'm looking for a "playback" type of thingy. Is this feature missing or am I failing to find it?
Mystery Keeper
5th March 2016, 20:37
You can playback by holding right or left keys while preview window is focused. I believe it is quite enough for fast scripts, and you wouldn't want to "play" a slow script. There will be no sound because VapourSynth isn't supposed to work with sound in the first place.
jackoneill
5th March 2016, 21:47
If you want to play a video, use a video player. mpv (mpv.io) can even filter the video using a VapourSynth script.
LexSfX
5th March 2016, 23:33
You can playback by holding right or left keys while preview window is focused. I believe it is quite enough for fast scripts, and you wouldn't want to "play" a slow script. There will be no sound because VapourSynth isn't supposed to work with sound in the first place.
Oh, so VapourSynth can't manipulate sound, is super slow (due to Python or due to reassigning the clip every step?), and doesn't have a DirectShow source function to avoid ffms2 bugs such as incorrect color channel order in RGB H264 (LAV Video Decoder and VLC load the video properly). I guess it's not a viable AVISynth replacement yet for me.
For comparison, I wrote this script which simply loads the video and works around the ffms2 H264 RGB color bug:
import vapoursynth as vs
core = vs.get_core()
clip = core.std.ShufflePlanes(clips=core.ffms2.Source(source='B:\\media\\video\\capture\\ystas-lossless-rgb.mkv'), planes=[2, 0, 1], colorfamily=vs.RGB)
clip.set_output()
and it still can't play at anywhere near 60 fps while holding the right arrowkey despite my 4GHz Sandy Bridge CPU. AVISynth has no problem playing it back at full speed with sound and plenty of modifications I throw at it.
I am just interested in a quick edit->play at full speed with sound to test my changes->edit cycle, like I can do with AVISynth already, so I'll be dropping VapourSynth for now and keeping tabs on whether its performance improves in the future. Thank you for your cool script editor program and both of you for the info.
sl1pkn07
5th March 2016, 23:36
why not report the bug in the ffms2 bugtracker?
Mystery Keeper
5th March 2016, 23:38
LexSfx, the editor doesn't play fast because there are many things going on internally in it. The processing is actually much faster. Try running the encoding with vspipe.
LexSfX
5th March 2016, 23:51
LexSfx, the editor doesn't play fast because there are many things going on internally in it. The processing is actually much faster. Try running the encoding with vspipe.
Oh, that's interesting, but the lack of sound manipulation still makes it a no-go for me for now. I need to be able to add audio cross-fades timed programmatically and suchlike, like I've done in AVISynth. I'm sorry to bother you in your editor thread. I have only the utmost respect for the work you've done, especially since this was the most convenient program I could easily use to try VapourSynth after its time-consuming problematic installation (long story).
LexSfX
5th March 2016, 23:55
why not report the bug in the ffms2 bugtracker?I have done so in the past and it was fixed in some special build of ffms2 in 2011 when RGB in H264 was bleeding edge, but that fix wasn't pushed into the main branch or something, then I asked the ffms2 people a bit more in IRC about a year later and they told me they weren't interested in fixing it (or something to that effect), so I gave up. It was fixed in mainline ffmpeg and libav, so I figured it would eventually show up fixed in ffms2, but it's still not. I just don't want to deal with all that drama too much. I would fix it myself and I've looked at the source to try to figure out what to do, but it was way over my head.
Edit: It turns out that the ffms2 that comes with VapourSynth is outdated in some way and that downloading the ffms2 release from github and overwriting ffms2.dll, ffms2.lib, and ffmsindex.exe with those fixes the problem. It seems there was a regression and it was fixed in this change:
"vapoursource: Fix swapped RGB channels bug introduced in 2.21 (Myrsloik)"
I have the utmost respect for all these devs! :) Thanks to Myrsloik in particular!
TheFluff
6th March 2016, 04:58
if you want to say something is shit, you can say it's shit
no need to pussyfoot around with the utmost respect here and thankyous there
LexSfX
6th March 2016, 13:20
I don't think it's shit though, and saying "it's shit" is not productive. I'm not "pussyfooting" around. I clearly made a mistake. I was using a previous version of ffms2 that had a regression and I didn't realize VapourSynth was much faster elsewhere than in VapourSynth Editor.
foxyshadis
9th March 2016, 08:57
You can playback by holding right or left keys while preview window is focused. I believe it is quite enough for fast scripts, and you wouldn't want to "play" a slow script. There will be no sound because VapourSynth isn't supposed to work with sound in the first place.
VSEdit uses the standard windows key-repeat, the same as when you hold down a letter in this text box, which defaults to about 20/sec and goes up to about 30/sec. That's obviously not possible to use anywhere near real-time for 60fps, and even if you maxed it out, that's changing a global setting to solve a local problem. I think asking for a play/pause button is a perfectly good enhancement request.
Mystery Keeper
9th March 2016, 09:00
VSEdit uses the standard windows key-repeat, the same as when you hold down a letter in this text box, which defaults to about 20/sec and goes up to about 30/sec.Didn't know that. Shall consider.
Mystery Keeper
9th April 2016, 05:04
R6 is here with few overdue changes:
-Added some theme settings.
-Switched preview to use the internal resizer instead of zimg. Requires VapourSynth R29+.
-Support for building under MacOS X (not tested).
l33tmeatwad
9th April 2016, 05:14
R6 is here with few overdue changes:
-Added some theme settings.
-Switched preview to use the internal resizer instead of zimg. Requires VapourSynth R29+.
-Support for building under MacOS X (not tested).
Just tested R6 in OSX and it compiles and runs great! Thanks for the update!
Boulder
9th April 2016, 09:21
Thanks a lot!
l33tmeatwad
10th April 2016, 00:11
Just tried r6 on Ubuntu and Fedora today, both give the "Failed to initialize VapourSynth" error, both still work with r5 and process scripts fine.
Mystery Keeper
10th April 2016, 00:13
There are problems with Win32 build too. And it is working too. Trying to figure it out.
Boulder
10th April 2016, 11:22
I installed the new version yesterday, and tested the ResampleHQ port from here:
https://gist.github.com/4re/64642122e359c37543fe
It's giving me a washed out picture compared to a standard Vapoursynth resize. R4 doesn't have this issue.
Mystery Keeper
10th April 2016, 12:10
I installed the new version yesterday, and tested the ResampleHQ port from here:
https://gist.github.com/4re/64642122e359c37543fe
It's giving me a washed out picture compared to a standard Vapoursynth resize. R4 doesn't have this issue.
R5 used earlier version or zimg library for chroma resampling and had internal (likely wrong) colorspace conversion. R6 uses the resize plugin bundled with VapourSynth. Try playing with the preview settings. Also try encoding and see if the picture is different from the editor's preview.
Boulder
10th April 2016, 14:38
It doesn't seem to affect encoding at all so it's preview only. The funny thing is that you can use ResampleHQ and the internal resampling methods in the same script and interleave them, and the RHQ version of the frame is washed out. I've managed to find out that the part which causes the issue is the call of fmtc.transfer.
Mystery Keeper
10th April 2016, 14:42
Can you make screenshots for comparison? To see how exactly it is "washed out".
Boulder
10th April 2016, 14:48
Sure, here they are:
https://drive.google.com/open?id=0BzeF_1syecQwdjZvclBPM0lVYTA (ResampleHQ)
https://drive.google.com/open?id=0BzeF_1syecQwRDRfcVdVYTdtd1k (internal resampler)
To me it looks like the difference between a full and limited range.
Mystery Keeper
10th April 2016, 15:46
Ah, not washed out. Difference in YUV to RGB conversion. Well, the "problem" is in the script. Personally I don't understand the YUV to RGB conversion, so can't help you.
Boulder
10th April 2016, 15:50
But why does it show correctly in R4, and has no effect in encoding?
Mystery Keeper
10th April 2016, 15:58
Your video is in YUV format. To display it on your monitor in preview frames must be converted to RGB. In R4 it was done internally. In R6 it is done using VapourSynth's plugin "resize". It doesn't affect the encoding because preview doesn't alter the script.
Boulder
10th April 2016, 16:04
The script where I got the screenshots is basically
clp2 = core.resize.Bicubic(clp, width=1280, height=536)
clp = rhq.resamplehq(clp, width=1280, height=536)
clp = core.std.Interleave(clips=[clp2,clp])
Shouldn't the issue affect both clp and clp2?
Mystery Keeper
10th April 2016, 16:06
You're using two different resamplers. They produce two different outputs.
Boulder
10th April 2016, 16:14
But should output almost the exact same luma levels, and also both clips output the same colorspace. Otherwise it wouldn't be possible to output them interleaved. This is what confuses me.
Mystery Keeper
10th April 2016, 16:16
I honestly don't know. Both are previewed the same way. Probably something done internally in resize plugin.
jackoneill
10th April 2016, 17:04
You can see the levels with the Histogram or Videoscope plugins.
Are_
10th April 2016, 18:11
OK my bad, there was indeed a bug in the script, now it should output correct results.
Why encodes were OK and in r4 it was OK too, remains a mystery to me (gist was updated). :(
Mystery Keeper
10th April 2016, 22:25
Just tried r6 on Ubuntu and Fedora today, both give the "Failed to initialize VapourSynth" error, both still work with r5 and process scripts fine.
What I have found out so far: This fails. (https://github.com/vapoursynth/vapoursynth/blob/master/include/cython/vapoursynth_api.h#L123)
Looks like VapourSynth installation quirk.
http://www.vapoursynth.com/doc/installation.html#compilation
l33tmeatwad
11th April 2016, 14:39
What I have found out so far: This fails. (https://github.com/vapoursynth/vapoursynth/blob/master/include/cython/vapoursynth_api.h#L123)
Looks like VapourSynth installation quirk.
http://www.vapoursynth.com/doc/installation.html#compilation
I'm familiar with that issue and how to fix it. The OS installs I tested it on have had that issue fixed and worked fine with r5.
Mystery Keeper
11th April 2016, 14:59
Still, it is an issue of Python not loading "vapoursynth" module. We need to find out why and how to fix it.
jackoneill
11th April 2016, 15:28
diff --git a/src/vapoursynth/vapoursynthscriptprocessor.cpp b/src/vapoursynth/vapoursynthscriptprocessor.cpp
index f60950c..93a7e42 100644
--- a/src/vapoursynth/vapoursynthscriptprocessor.cpp
+++ b/src/vapoursynth/vapoursynthscriptprocessor.cpp
@@ -477,6 +477,7 @@ bool VapourSynthScriptProcessor::initLibrary()
QString libraryFullPath;
m_vsScriptLibrary.setFileName(libraryName);
+ m_vsScriptLibrary.setLoadHints(QLibrary::ExportExternalSymbolsHint);
bool loaded = m_vsScriptLibrary.load();
#ifdef Q_OS_WIN
Found here: https://riverbankcomputing.com/pipermail/pyqt/2007-January/015313.html
l33tmeatwad
11th April 2016, 17:14
diff --git a/src/vapoursynth/vapoursynthscriptprocessor.cpp b/src/vapoursynth/vapoursynthscriptprocessor.cpp
index f60950c..93a7e42 100644
--- a/src/vapoursynth/vapoursynthscriptprocessor.cpp
+++ b/src/vapoursynth/vapoursynthscriptprocessor.cpp
@@ -477,6 +477,7 @@ bool VapourSynthScriptProcessor::initLibrary()
QString libraryFullPath;
m_vsScriptLibrary.setFileName(libraryName);
+ m_vsScriptLibrary.setLoadHints(QLibrary::ExportExternalSymbolsHint);
bool loaded = m_vsScriptLibrary.load();
#ifdef Q_OS_WIN
Found here: https://riverbankcomputing.com/pipermail/pyqt/2007-January/015313.html
Nice find, that fixed it.
Mystery Keeper
11th April 2016, 20:48
jackoneill, thank you very much!
mawen1250
13th April 2016, 14:35
Is there memory leak issue with vsedit?
Every time I refresh preview with F5, the memory used previously won't be released.
Mystery Keeper
13th April 2016, 14:39
Not released at all? Weird. I tested it extensively for the leaks. It did leak due to Python, but not critically. But that was long ago. Is it the same with R5?
mawen1250
13th April 2016, 15:03
R5 is OK. R6 doesn't release at all.
Mystery Keeper
13th April 2016, 15:07
Another question, are we talking R6, or latest commits in git repository?
mawen1250
13th April 2016, 15:27
Just R6, not latest commit.
Mystery Keeper
13th April 2016, 18:00
R7 is here with bugfixes and awesomeness:
-BUGFIX: Bt.601 YUV to RGB conversion matrix. Not sure if it works correctly, but it works.
-BUGFIX: Massive memory leak.
-Late linking to vsscript library. Can start with no VapourSynth installed.
-Better detection of VapourSynth installation on Windows.
-Experimental color picker. Shows values under cursor in preview window. Not thoroughly tested.
Had to rush this release due to huge memory leak in R6. Thus, the color picker many of you wanted so much has not been thoroughly tested. Please report any quirks in its work. Also feel free to give suggestions on improving its usability. However, please do not ask me to also display RGB values on non-RGB video.
Update: Added a link to OSX distribution in the first post.
mawen1250
14th April 2016, 03:56
Wow, thanks for the quick update!
Boulder
22nd April 2016, 17:04
I'm having a small problem with the preview display, it gets distorted if I crop a BD source by 4 pixels of the left or right side. It doesn't affect the encoding at all, the picture's normal in both cases.
Non-cropped: https://drive.google.com/open?id=0BzeF_1syecQwWUZUTk83dF9MMTg
Cropped by 4 pixels off the left side: https://drive.google.com/open?id=0BzeF_1syecQweTRBaEdqZkU2aTQ
Mystery Keeper
22nd April 2016, 20:05
R8 is out with a quick fix for preview stride.
Boulder
22nd April 2016, 20:09
Thanks a lot :)
l33tmeatwad
23rd April 2016, 01:13
I'll update the Mac version Monday.
Sent from my SM-N910V using Tapatalk
~SimpleX~
12th July 2016, 17:00
Added some features to VapourSynth Editor:
Multiline tabs and backtabs (shift + tab). Not smart at all, but useful.
Last viewed frame number save and restore.
Add option to use spaces instead of tabs and option to set tab/spaces length.
Moved portable mode description to portable mode checkbox tooltip.
Some build enhancements.
Take the test build here (http://www.mediafire.com/download/74f2b6v311yyiz6/release-64bit-msvc.rar).
Sent PR to upstream repo (https://bitbucket.org/mystery_keeper/vapoursynth-editor/pull-requests/).
Mystery Keeper
12th July 2016, 17:34
Thank you for your improvements. I have received notifications for your pull requests. I'll get to them. Right now I'm working on the asynchronous (multithreaded) frame requests branch. Expect play, benchmark and CLI encoding features. Though I can not promise when.
~SimpleX~
13th July 2016, 10:05
Yup, okay. I've posted it here because I need some feedback on tab/backtab feature. I've made it work in any position at line (if you select a word and press tab, it'll insert a tab/spaces before that word). Qt Creator in such situation would remove that word.
jackoneill
13th July 2016, 11:24
Pls just pretend the tab character doesn't exist and always indent with spaces.
Mystery Keeper
13th July 2016, 11:41
Yup, okay. I've posted it here because I need some feedback on tab/backtab feature. I've made it work in any position at line (if you select a word and press tab, it'll insert a tab/spaces before that word). Qt Creator in such situation would remove that word.
I actually planned tab to work like that if more than one line is selected. And Shift+Tab for backtabbing.
Are_
13th July 2016, 12:50
Pls just pretend the tab character doesn't exist and always indent with spaces.
Please
Also have a shortcut to convert tabs to spaces.
(And a shortcut to coment/uncoment)
Mystery Keeper
13th July 2016, 13:17
Yeah. I know. I wanted to work on editing features before I made the preview fixes. But had little time back then. It is still high on my list.
~SimpleX~
14th July 2016, 01:01
Pls just pretend the tab character doesn't exist and always indent with spaces.
I always use 4-space indentation everywhere instead of tabs. PEP8 also says to use it. But VS Editor had tab indentation for almost two years! So I won't break it only because I don't like it, thus tabulation with spaces is optional. At least for now. ;)
Please
Also have a shortcut to convert tabs to spaces.
(And a shortcut to coment/uncoment)
Done and done! Multiline comment/uncomment (ctrl + /), "smart home button" (HOME now moves cursor to the start of the non-whitespace text block instead of line start, like in Qt Creator), shortcut to convert tabs to spaces (edit -> convert tabs to spaces).
But well, how would you know script has tabs? Maybe add option to make the conversion on script loading?
Here's the new test version (http://www.mediafire.com/download/b19w448fwk58w1m/release-64bit-msvc-rev2.rar).
Are_
14th July 2016, 11:43
Thank you!
I don't use Windows so I will try it when it gets merged into the main branch.
But well, how would you know script has tabs?
The text editors I have, use visual marks where there are tabs. This is how it looks for
2_TAB
2_TAB
4_SPACES 1_TAB
http://imgur.com/P4eTtE1.png
lansing
15th August 2016, 15:21
I like to request an option to be able to add custom template heading, so that I don't have to add it myself every time I start a new script.
AzraelNewtype
15th August 2016, 23:34
While that would be nice, if you're on windows you can in the interim just edit template.vpy in your vapoursynth install directory, and create the files via the shell extension on right click in explorer. It'll generate copies of template.vpy instead of blank files for you. It's pretty neat. I'm sure the file exists in all installs, but I'm not sure whether there's a similar hook for OSX/linux to make it this trivial.
Mug Funky
16th August 2016, 13:32
Osx and nix have bash scripting. You can do some amazing things using ffprobe and cat'ing some template scripts, replacing a keyword with the filename.
AzraelNewtype
16th August 2016, 22:45
Osx and nix have bash scripting. You can do some amazing things using ffprobe and cat'ing some template scripts, replacing a keyword with the filename.
I mean, sure. Windows has a (much uglier) equivalent too, if that's what you're looking for. It's not really a good replacement for Right Click->Create New VapourSynth Script in terms of being utterly trivial.
lansing
17th August 2016, 00:35
While that would be nice, if you're on windows you can in the interim just edit template.vpy in your vapoursynth install directory, and create the files via the shell extension on right click in explorer. It'll generate copies of template.vpy instead of blank files for you. It's pretty neat. I'm sure the file exists in all installs, but I'm not sure whether there's a similar hook for OSX/linux to make it this trivial.
noo, I'm talking about the template when you click File->new script within the program
AzraelNewtype
17th August 2016, 03:47
noo, I'm talking about the template when you click File->new script within the program
...yes. I know. I was giving you an option for a temporary workaround until it's implemented (assuming Mystery Keeper is even interested).
Selur
3rd September 2016, 14:00
Would be nice if VapourSynth Editor could have any command line switches to:
a. allow to directly open a script inside the preview
b. start with a specific paths for library and plugin paths.
c. not save the settings at all
also if Vapoursynth editor could be controlled over a localsocket (http://pastebin.com/iYiMpP83) would be the bomb. :)
Background: I'm looking into adding a preview of VapourSynth scripts into my tool (Hybrid) and thought about writing a simple viewer, but since Vapoursynth Editor already can do so much, I thought I should ask whether it could get some extensions,..
Mystery Keeper
3rd September 2016, 15:49
Maybe sometime in the future. Could you please elaborate how you would use such features? Especially the localsocket control.
Selur
3rd September 2016, 18:39
In a first step I would send updates from Hybrid to the editor whenever Hybrid generated another script. :)
Wrote that today, see: http://pastebin.com/Ssg4h6tt, there I modified the source to
compile in Qt Creator with current VS C++ version
to accept two parameters which tell to whom it should listen via a localsocket
to interpret a command "changeTo## PATH_TO_NEW_VPY_INPUT" in a way that it would load the specified source and preview it (instead of sending a simple string one should probably send some sort of specified xml/json formatted string)
to accept a parameter which tells it to preview-only a source (this also tells the program to hide the main window)
The next steps I plan to add to the sources are:
modify the changeTo interpretation in a way that only when the preview is already open the new file will also be previewed
send any errors that occurred during the script over the socket connection (to Hybrid or whoever is at the other end)
to use the cropping help inside the Preview and feed the cropping settings back over the socket connection (to Hybrid or whoever is at the other end)
put the whole thing up on github so others can use the code
(side note: the code above it mainly meant for testing whether I could really use the Vapoursynth Editor source as I planned)
The main goal would be to have some way for other tool developers to interact with the Vapoursynth Editor.
Cu Selur
Ps.: uploaded the initial modified version (see patch above) to https://github.com/Selur/vapoursynth-editor
Mug Funky
7th September 2016, 04:21
maybe this has been asked already (too lazy to read the thread back), but i've a weird problem with vsedit in ubuntu.
if i run it, i don't get the option to f5 or f6 or even ctrl+s to save, preview, check etc.
if i run it with sudo, the menu bar appears on the dialog rather than the top of the screen (as unity loves to do), and the shortcut keys work.
i have no idea what's going on there and it's likely not strictly a vsedit issue (and it's certainly not a show stopper), but i'd be interested to know if there's anything that could be done to make vsedit and unity get along a little better so i don't have to use sudo to get shortcut keys.
Mystery Keeper
7th September 2016, 14:35
Never heard of such thing. I would guess broken Qt.
Selur
10th September 2016, 15:00
wild guess: when not running as root there is another application running with higher rights that is capturing the signal,...
Mystery Keeper
16th September 2016, 00:18
Windows 64-bit build with play feature and more responsive GUI. (https://bitbucket.org/mystery_keeper/vapoursynth-editor/downloads/vapoursynth-editor-64bit-play.7z)
Feel free to try, give feedback and suggestions.
Selur
16th September 2016, 04:15
some small general glitches I noticed:
* The YUV component indication of the color picker should get a fixed size to avoid a wiggling when colors change.
* When switching to 'crop view' the preview zoom isn't kept. (annoying on a high resolution screen)
* Normal zoom control should be disabled during 'crop view' since only the zoom inside the crop pane has any effect.
* option to increase the text size of the numbers over the timeline would be nice. (annoying small on a high resolution screen
Mystery Keeper
16th September 2016, 05:34
* The YUV component indication of the color picker should get a fixed size to avoid a wiggling when colors change.I'll think about it. Problem is: it can get long on high bitdepth.
* When switching to 'crop view' the preview zoom isn't kept. (annoying on a high resolution screen)Done with my own workflow in mind. I usually go x1 on preview, but use zoom when cropping. Would you like an option to synchronize preview fixed zoom with crop zoom?
* Normal zoom control should be disabled during 'crop view' since only the zoom inside the crop pane has any effect.Can do.
* option to increase the text size of the numbers over the timeline would be nice. (annoying small on a high resolution screenYou can do that in the theme settings. Edit "Timeline labels".
Any thoughts about the play functionality and changed GUI responsiveness?
Selur
16th September 2016, 15:55
Would you like an option to synchronize preview fixed zoom with crop zoom?
Yes, that would be nice. (since my main machine is on a 5k monitor, cropping SD and HD content always requires to zoom in)
Any thoughts about the play functionality and changed GUI responsiveness?
Didn't have any problems with the responsiveness before, so I didn't really see a change there. ;)
Playback worked nice so far. Took me a while to find that I had to press on 'Show timeline panel'-button to find the 'play'-button. :)
feisty2
17th September 2016, 08:15
5k, iMac then
Selur
17th September 2016, 08:19
Nope, using a HP Z27q 5k as monitor on my main machine which is a Win10/Linux dual-boot system (I also got an mac mini, but that one is hooked up to a normal HD Eizo display).
Mystery Keeper
20th September 2016, 17:24
Another treat for you, Windows users. (https://bitbucket.org/mystery_keeper/vapoursynth-editor/downloads/vapoursynth-editor-64bit-play-benchmark-encode.7z)
A much more stable build with implemented benchmarking and somewhat working CLI encoding. Encoding is just a draft. Expect bugs on a slightest mistake in arguments or frame format. Release version will have encoding profiles management.
The build comes with predefined settings for ProRes 422 encoding via ffmpeg. Video must be in YUV422P10 for it to work.
trip_let
20th September 2016, 20:05
Cool, thanks.
btw that is quite a number of digits reported on the benchmark FPS.
http://i.imgur.com/9ZE8uyT.png
brucethemoose
22nd September 2016, 03:04
I like the new benchmark.
Small feature request: could you add a button that lets us compare the original frame to the processed one in the preview window?
Press button: original frame is show.
Press button again: processed frame is shown.
Example of that in action:
http://www.screenshotcomparison.com/comparison/185123
This would be immensely helpful for tuning VS filters. I do it manually now, but it's rather clunky.
Some AS editors have a more complicated version of that, but honestly I like the simplicity of a comparison button.
Mystery Keeper
22nd September 2016, 03:16
I like the new benchmark.
Small feature request: could you add a button that lets us compare the original frame to the processed one?
Press button: original frame is show.
Press button again: processed frame is shown.
This would be immensely helpful for tuning VS filters. I do it manually now, but it's rather clunky.
Some AS editors have a more complicated version of that, but honestly I like the simplicity of a comparison button.
No, I can't. Script processor only knows the output clip. Which clip is "original"? There can be several of them. I use few helper functions to arrange clips in a quartet: 1) original clip 2) processed clip 3) difference between the two 4) processed clip with enhanced local contrast (helps to see artifacts). So I always see them in comparison. Script in attachment. Rename to .py and import.
brucethemoose
22nd September 2016, 03:29
No, I can't. Script processor only knows the output clip. Which clip is "original"? There can be several of them. I use few helper functions to arrange clips in a quartet: 1) original clip 2) processed clip 3) difference between the two 4) processed clip with enhanced local contrast (helps to see artifacts). So I always see them in comparison. Script in attachment. Rename to .py and import.
Oh, right, I forgot that VS Editor isn't the thing importing the video.
I guess you could compare the same frames in 2 seperate scripts, but that's complicated to implement (as VS Editor would have to handle another script).
Thanks for the helper script.
shekh
22nd September 2016, 12:04
It is quite funny to compare things in my latest VD build (hope this adds to subject)
http://s14.postimg.org/6ini754s1/compare.png
How it works:
1) open script
2) add filter (fflayer) with source video
3) close filter config and open filter blending
withing filter blending you have preview, color picker and blending options:
Apply opacity curve by coincidence acts as on/off toggle (because default state for curve is all off)
Another option is to move left/top etc. margin, this behaves as "onion skinning"
Mystery Keeper
22nd September 2016, 16:36
GUI filter sounds nice. Though requires a lot of preprocessor magic to code in cross-platform way.
Upd: It happens that VapourSynth supports multiple outputs. I could use it to implement different comparison techniques.
Mystery Keeper
23rd September 2016, 11:48
New Windows build (https://bitbucket.org/mystery_keeper/vapoursynth-editor/downloads/vapoursynth-editor-64bit-encoding.7z) with supposedly completely handled encoding. Please test extensively while I'm implementing profiles. It also has a bug in playback fixed.
groucho86
23rd September 2016, 20:02
On both l33tmeatwad OSX's installer and manually compiling the latest version, I'm getting the following issue:
I cannot get an image preview unless the preview size is set to x0.75 or 0.25 Bilinear (edit: actually it's currently working at 0.5).
Fit to Frame works well as long as (I think) the image is under x1.0
Anything else returns either a black image or a corrupt rendered image:
http://forum.doom9.org/attachment.php?attachmentid=15593&stc=1&d=1474657307
Mystery Keeper
23rd September 2016, 20:44
On both l33tmeatwad OSX's installer and manually compiling the latest version, I'm getting the following issue:
I cannot get an image preview unless the preview size is set to x0.75 or 0.25 Bilinear (edit: actually it's currently working at 0.5).
Fit to Frame works well as long as (I think) the image is under x1.0
Anything else returns either a black image or a corrupt rendered image:
http://forum.doom9.org/attachment.php?attachmentid=15593&stc=1&d=1474657307Sounds like a Qt bug. Try updating Qt?
groucho86
23rd September 2016, 22:00
I had compiled it with 5.6.0. Just tried with 5.6.1 and I have the same issue.
Mystery Keeper
23rd September 2016, 22:02
And what if you set zooming to "No zoom"?
groucho86
23rd September 2016, 22:32
And what if you set zooming to "No zoom"?
The preview looks corrupt.
It appears that only 0.25, 0.50 and 0.75 work (bilinear, not nearest).
My graphics card is by no means impressive (ATI Radeon HD 5770) but I am able to successfully render using vspipe and ffmpeg.
I wonder if it is a graphics card limitation... (Hoping to get a new one relatively soon)
brucethemoose
24th September 2016, 03:03
The preview looks corrupt.
It appears that only 0.25, 0.50 and 0.75 work (bilinear, not nearest).
My graphics card is by no means impressive (ATI Radeon HD 5770) but I am able to successfully render using vspipe and ffmpeg.
I wonder if it is a graphics card limitation... (Hoping to get a new one relatively soon)
It works on my 6620G IGP, which is the same generation as your 5770.
Maybe try a fresh graphics driver install, just to rule it out? Uninstall normally, run DDU, install your driver.
Mystery Keeper
24th September 2016, 03:11
It shouldn't have anything to do with graphic driver.
jackoneill
24th September 2016, 17:58
It may be helpful to show that same frame when it's not corrupted.
Mystery Keeper
25th September 2016, 03:56
VapourSynth Editor r⑨ is here with new awesome features:
-Asynchronous frames processing. More responsive GUI.
-Preview video playback.
-Script processing benchmarking.
-Encoding video with CLI tools.
Links are in the first post.
It is called r⑨ for a reason. Barely tested. Colour picking is broken in play mode. It will be fixed in next release along with more internal changes.
To moderators: may this thread be made sticky please?
trip_let
25th September 2016, 04:34
Nice update. Asynchronous frames processing now too.
So nice I have a feature request now. Do you think you could have an encoding video preset/option that reads the parameters from the script itself? That is, you leave a special commented line in the .vpy and it grabs this.
Something like this in the script:
# ;Executable; x265-10b
# ;Arguments; --input - --input-res %wx%h --fps %fpsn/%fpsd --input-depth %bits --preset slower --deblock 1:0 --crf 18 --qcomp 0.65 -o %sd/%sn.hevc
import vapoursynth as vs
core = vs.get_core()
blah
and then it would search the script for the ;Executable; and ;Arguments; lines and use those. This way the encoding parameters you use are documented in the script. If nobody else thinks this might be useful, then don't bother. It would take some kind of documentation, and regardless you can always just paste into the box.
Mystery Keeper
25th September 2016, 08:39
trip_let, I gave it a thought and decided against it. It doesn't sit well with the jobs schedule feature I want to implement. It is meant for multi-pass encoding. And you might want to encode your script with different encoders and compare. So why let the script decide how it should be encoded? You've got presets now, so you don't need to copy-paste all that much.
Upd: Though what I do want to implement is conditional functions in arguments that change the string depending on user provided condition. That would also let us put special tags into script to set special parameters that do belong to the script, but can not be evaluated otherwise. For example - DAR.
groucho86
26th September 2016, 17:18
It may be helpful to show that same frame when it's not corrupted.
Sorry this won't be very useful... On Friday things looked really funky, right now it just looks black.
At x0.75:
http://forum.doom9.org/attachment.php?attachmentid=15601&stc=1&d=1474906676
At x1.00:
http://forum.doom9.org/attachment.php?attachmentid=15602&stc=1&d=1474906676
Despite it looking black, the YUV picker is detecting colors...
Mystery Keeper
26th September 2016, 17:23
Colour picker reads values from the frame itself, not from its converted pixmap representation. Your problem is with QPixmap, not the editor code.
Selur
7th October 2016, 10:19
What files is vsedit looking for when it's complaining about:
VapourSynth script processor: Failed to load vapoursynth script library!
Please set up the library search paths in settings.
Mystery Keeper
7th October 2016, 12:10
What files is vsedit looking for when it's complaining about:"vsscript.dll" on Windows or "vapoursynth-script.so" on Linux.
Boulder
16th October 2016, 15:47
Hitting F6 to refresh the preview also moves the preview display back to the default position (upper left corner). The previous versions remembered where I had zoomed in to inspect the preview.
Mystery Keeper
16th October 2016, 15:51
Hitting F6 to refresh the preview also moves the preview display back to the default position (upper left corner). The previous versions remembered where I had zoomed in to inspect the preview.I believe you meant F5. Interesting. I shall look into that.
Boulder
16th October 2016, 15:55
No, F6 is the preview while F5 just parses the script. I just noticed this odd behaviour today although I've used the latest version for some time now :)
Mystery Keeper
16th October 2016, 16:00
No, F6 is the preview while F5 just parses the script. I just noticed this odd behaviour today although I've used the latest version for some time now :)Your hotkeys look swapped. Check your hotkey settings, unless you deliberately swapped them. However, reposition bug is indeed occurring.
Boulder
16th October 2016, 16:39
Your hotkeys look swapped. Check your hotkey settings, unless you deliberately swapped them. However, reposition bug is indeed occurring.Oh yes, I probably did that a long time ago. Checking the script and then previewing the output goes more logically from a smaller function key to larger :)
Good that you can also see the odd behaviour.
Mystery Keeper
16th October 2016, 16:43
Oh yes, I probably did that a long time ago. Checking the script and then previewing the output goes more logically from a smaller function key to larger :)
Good that you can also see the odd behaviour.It is not really an odd behaviour. It is safe behaviour. I'm trying to make the preview dialog to remember position again while properly handling errors. If it makes the code too complicated - I might ditch the idea and keep new behaviour.
Upadate: And fixed! Now preview scrolling and frame number are kept for the same script file and reset for the new one. Have a nice test build with bug fixes and editor improvements, everyone. But I'm not done yet. Want to implement snippets before releasing r10.
VapourSynth Editor 64bit 2016-10-16 (https://bitbucket.org/mystery_keeper/vapoursynth-editor/downloads/vapoursynth-editor-64bit-2016-10-16.7z)
sl1pkn07
18th October 2016, 18:18
wen save screenshot from preview window
Qt warning: Invalid URL: QUrl("1080p.vpy - 44757.png")
the image is saved without problem. but the warning is show in the vsedit log
Boulder
18th October 2016, 18:19
Upadate: And fixed! Now preview scrolling and frame number are kept for the same script file and reset for the new one. Have a nice test build with bug fixes and editor improvements, everyone. But I'm not done yet. Want to implement snippets before releasing r10.
VapourSynth Editor 64bit 2016-10-16 (https://bitbucket.org/mystery_keeper/vapoursynth-editor/downloads/vapoursynth-editor-64bit-2016-10-16.7z)Thanks, I'll give the new version a shot right after I get all the numerous index files ready :)
Mystery Keeper
18th October 2016, 18:26
wen save screenshot from preview window
Qt warning: Invalid URL: QUrl("1080p.vpy - 44757.png")
the image is saved without problem. but the warning is show in the vsedit logSuper weird, considering there's no URLs involved in saving a snapshot. Can only be a Qt bug.
Are_
18th October 2016, 19:17
This is happening to me too, it happens not when you save but when the text for the filename in the save menu is created. If you start typing every time yo push a key a new message is created.
http://i.imgur.com/2pTGE9G.png
I'm using latest git with Qt-5.6.2 (Linux).
Mystery Keeper
19th October 2016, 03:24
This is happening to me too, it happens not when you save but when the text for the filename in the save menu is created. If you start typing every time yo push a key a new message is created.
http://i.imgur.com/2pTGE9G.png
I'm using latest git with Qt-5.6.2 (Linux).
There's nothing I can do about it. But out of curiosity. Does the same happen when you're saving new script?
sl1pkn07
19th October 2016, 06:23
yes. the same problem when the script is saved
my Qt5 is 5.7.0
Mystery Keeper
19th October 2016, 14:04
Reported the bug to Qt team. That's all I can do about this issue.
Update: Could not reproduce this on Linux Mint 18, Qt 5.5.1.
Mystery Keeper
20th October 2016, 22:03
Have a new test build. (https://bitbucket.org/mystery_keeper/vapoursynth-editor/downloads/vapoursynth-editor-64bit-2016-10-20.7z)
New templates dialog with:
- Code snippets to quickly paste into your script.
- New script template.
- File drop templates. Now you can define categories of files with a list of wildcards like "*.mpg;*.mkv;*.mp4" and set a template for each category. When you drop files into your script editor - corresponding templates will be pasted into your script. Dropping multiple files is supported. If you drop a single .vpy file - the editor will prompt you to save your script and open that file.
This is very close to r10, so please give it a thorough testing and report any and all quirks in its work.
WolframRhodium
21st October 2016, 05:03
In the latest bulid, "Theme elements - Common script text, Text background color" seems do not work in "Scrip templates - Code snippets".
Mystery Keeper
21st October 2016, 10:24
In the latest bulid, "Theme elements - Common script text, Text background color" seems do not work in "Scrip templates - Code snippets".Ugh. Indeed. It is not working in the main window either. Shall fix.
Update: Recompiled, and now it does work in the main window, but not in snippets. Super weird, considering all script editors are treated evenly. Still on it.
Update 2: Fixed in Git.
Mystery Keeper
23rd October 2016, 02:12
New test build. (https://bitbucket.org/mystery_keeper/vapoursynth-editor/downloads/vapoursynth-editor-64bit-2016-10-23.7z)
-Optional highlighting of selection matches in script editor.
-Timeline bookmarks with auto-saving/loading bookmarks files along with the script file. Timeline has new operation mode. With CTRL key pressed mouse navigation on timeline snaps to the closest bookmarks.
-Various bugs and usability fixes.
-Some default hotkeys have been changed. You may need to revise your hotkey settings.
And that's it with new features for r10. I shall only be refining the code and fixing bugs. Please give this build a super-thorough testing and expect a release soon.
dipje
23rd October 2016, 12:29
If QUrl reports 'invalid url' isn't that simply because you aren't given it an URL or url-scheme, but just a file name?
Use the file:/ url scheme (so instead of 'test.png' use 'file:test.png') or use the staticd QUrl::fromLocalFile() to generate the QUrl object if you're working with local files.
Not knowing your source but is there a reason you seem to using QUrl everywhere where file opening / saving is involved and not regular QFile's or something similar? You want everything to be internet-remote-ready or something?
Mystery Keeper
23rd October 2016, 14:10
If QUrl reports 'invalid url' isn't that simply because you aren't given it an URL or url-scheme, but just a file name?
Use the file:/ url scheme (so instead of 'test.png' use 'file:test.png') or use the staticd QUrl::fromLocalFile() to generate the QUrl object if you're working with local files.
Not knowing your source but is there a reason you seem to using QUrl everywhere where file opening / saving is involved and not regular QFile's or something similar? You want everything to be internet-remote-ready or something?What you're saying is right. Thing is: I have nothing to do with it. I just use QFileDialog::getSaveFileName() function, and it does the QUrl manipulations inside.
I made my program display all messages from Qt, and it is good. It does help finding bugs. So it will stay this way.
trugulum78
23rd October 2016, 16:20
Hi, first of all. thanks for your work and sorry for my bad english.
I usually work with vspipe from cli, but I'm trying to do it from the editor. How do I tell input? Does the executable and arguments are x264?
I'm in ArchLinux,and all is working fine.
Thanks in advance.
Are_
23rd October 2016, 17:22
Hi, first of all. thanks for your work and sorry for my bad english.
I usually work with vspipe from cli, but I'm trying to do it from the editor. How do I tell input? Does the executable and arguments are x264?
I'm in ArchLinux,and all is working fine.
Thanks in advance.
vseditor outputs raw frames, so an example for x264 would be:
Executable:
x264
Arguments:
--crf 15
--demuxer raw
--colormatrix bt709
--input-depth %bits
--input-range tv
--output-csp i444
--input-csp i444
--input-res %wx%h
--fps %fpsn/%fpsd
--output %sn.mkv
-
That's for YUV444P10 video, use x264 --fullhelp for more info on what to put in "--input-csp" and "--output-csp".
It would be nice if there was a variable for "total frames" so the encoder could provide ETA estimations.
Mystery Keeper
23rd October 2016, 17:28
It would be nice if there was a variable for "total frames" so the encoder could provide ETA estimations.Shall do!
trugulum78
23rd October 2016, 17:42
"vseditor outputs raw frames"
That was the point!
Thanks Are_ ,all working now.
Regards.
Mystery Keeper
24th October 2016, 20:59
And finally r10 is out.
VapourSynth Editor r10 32bit (https://bitbucket.org/mystery_keeper/vapoursynth-editor/downloads/VapourSynthEditor-r10-32bit.7z)
VapourSynth Editor r10 64bit (https://bitbucket.org/mystery_keeper/vapoursynth-editor/downloads/VapourSynthEditor-r10-64bit.7z)
Tons of improvements:
-BUGFIX: Colour picking.
-BUGFIX: VapourSynth messages handling.
-BUGFIX: Frame processing errors handling in different modes.
-BUGFIX: Pasting crop snippet into the last script line.
-BUGFIX: Benchmark and encode dialogs forward initialization error to main window log and hide on error if open.
-Crashlog on VapourSynth fatal errors.
-Keep preview scrolling and frame number on refreshing the same script.
Reset on previewing new script. Unsaved script preview is always reset.
-Editor: selected text/current line duplication action.
-Editor: comment/uncomment selected lines actions.
-Editor: multiline tab and backtab.
-Options to use spaces as Tab and set Tab size.
-Editor: Replace Tab characters with spaces action.
-Editor: smart Home key behaviour.
-An option to remember and restore the last previewed frame between sessions.
-New script template setting.
-Code snippets.
-File drop templates.
-Option to highlight selection matches in script editor.
-Timeline bookmarks with auto-saving/loading bookmarks file along the script file.
-Remember timeline panel visibility.
-Most timeline colours are bound to OS theme.
-Changes in default standard hotkeys. Many default hotkeys are now OS-dependent. CTRL + arrows in preview window now move between bookmarks and CTRL + SHIFT + arrows jump time intervals.
-Frames number and subsampling string tokens in encoder.
-Estimated finish time output in benchmark and encoder.
-Encoder argument tokens format changed into more readable one.
-Colour picker moved into status bar.
-Paste shown frame number into script action.
Might be a long time till next major release. Rather complex features planned. Enjoy!
WolframRhodium
25th October 2016, 05:42
"-Keep preview scrolling and frame number on refreshing the same script."
It does not work on my computer. I'm using Windows10 64bit, VapourSynth Editor r10.
On r9, only frame number is succesfully kept now.
On r10, none of them is kept.
Mystery Keeper
25th October 2016, 12:20
"-Keep preview scrolling and frame number on refreshing the same script."
It does not work on my computer. I'm using Windows10 64bit, VapourSynth Editor r10.
On r9, only frame number is succesfully kept now.
On r10, none of them is kept.Let me guess. You haven't saved your script. Nothing is ever saved for a script that has no name. No frame number, no scrolling, no bookmarks.
Frame number and scrolling are kept if either the script name or the whole script text is the same on refresh. Bookmarks are copied on "Save as".
WolframRhodium
25th October 2016, 17:59
Let me guess. You haven't saved your script. Nothing is ever saved for a script that has no name. No frame number, no scrolling, no bookmarks.
Frame number and scrolling are kept if either the script name or the whole script text is the same on refresh. Bookmarks are copied on "Save as".
I'm sure that my script is saved, and even when I open an old script, it still doesn't work.
The name of the script only consists of ascii characters.
Mystery Keeper
25th October 2016, 19:46
I'm sure that my script is saved, and even when I open an old script, it still doesn't work.
The name of the script only consists of ascii characters.
Refreshing the script is working alright for me. "Remember the last previewed frame on exit" seems broken though. Shall look into it.
Update: I looked into my settings and found a "General" section, which shouldn't be there at all. Deleted it - and last previewed frame remembering worked again. Don't know what has happened, but you might want to flush your config file. If you open it and see "General" section - delete that section.
WolframRhodium
26th October 2016, 06:08
Refreshing the script is working alright for me. "Remember the last previewed frame on exit" seems broken though. Shall look into it.
Update: I looked into my settings and found a "General" section, which shouldn't be there at all. Deleted it - and last previewed frame remembering worked again. Don't know what has happened, but you might want to flush your config file. If you open it and see "General" section - delete that section.
I checked the config file and there is no "General" section, just "common", "hotkeys", "theme" and "code_snippets" section.
And I also tried to delete the config file and use the new config file generated by the VS Editor, tick off "Remember the last previewed frame on exit", however, it still doesn't work.
This time I notice that, when I open the setting window, the log window displays
"Qt warning: QWindowsWindow::setGeometry: Unable to set geometry 421x467+750+307 on QWidgetWindow/'SettingsDialogWindow'. Resulting geometry: 421x483+750+307 (frame: 9, 38, 9, 9, custom margin: 0, 0, 0, 0, minimum size: 421x467, maximum size: 16777215x16777215)." Is there anything wrong?
Update:
This time, if I close a preview window (the editor program is still running) and reopen it, only scrolling is kept. Additionaly, if I close the editor window when previewing, then open the editor again and start previewing, only frame number is kept if I'm using r10, and nothing is kept if I'm using r9.
Update2:
Is "vsedit.config" located at %USERPROFILE%\AppData\Local ?
I notice that "last_preview_frame" in section "common" remembers last preview frame number as soon as I close the preview window, but when I try to preview again without any other operation, the value is set to 0, and I'm previewing frame 0 with remembered scrolling.
Mystery Keeper
26th October 2016, 13:09
This time I notice that, when I open the setting window, the log window displays
"Qt warning: QWindowsWindow::setGeometry: Unable to set geometry 421x467+750+307 on QWidgetWindow/'SettingsDialogWindow'. Resulting geometry: 421x483+750+307 (frame: 9, 38, 9, 9, custom margin: 0, 0, 0, 0, minimum size: 421x467, maximum size: 16777215x16777215)." Is there anything wrong?
No. There's nothing wrong. With your system metrics the minimum window size becomes larger than the initial size set by the application. Qt is notifying about it. Maybe I should only display Qt messages in debug build.
Is "vsedit.config" located at %USERPROFILE%\AppData\Local ?
Yes, if you're not working in portable mode.
This time, if I close a preview window (the editor program is still running) and reopen it, only scrolling is kept. Additionaly, if I close the editor window when previewing, then open the editor again and start previewing, only frame number is kept if I'm using r10, and nothing is kept if I'm using r9.
I notice that "last_preview_frame" in section "common" remembers last preview frame number as soon as I close the preview window, but when I try to preview again without any other operation, the value is set to 0, and I'm previewing frame 0 with remembered scrolling.
Scrolling is not really remembered. It is just not reset. Vsedit remembers last script you worked with. If on the start you're trying to preview the script with the same path - it restores the last remembered previewed frame. When refreshing preview it checks if either the script name (path) or the script text is the same as the one you previewed before. Then it keeps the current frame and scrolling. If both are different - current frame and scrolling are reset.
WolframRhodium
26th October 2016, 13:22
No. There's nothing wrong. With your system metrics the minimum window size becomes larger than the initial size set by the application. Qt is notifying about it. Maybe I should only display Qt messages in debug build.
Yes, if you're not working in portable mode.
Scrolling is not really remembered. It is just not reset. Vsedit remembers last script you worked with. If on the start you're trying to preview the script with the same path - it restores the last remembered previewed frame. When refreshing preview it checks if either the script name (path) or the script text is the same as the one you previewed before. Then it keeps the current frame and scrolling. If both are different - current frame and scrolling are reset.
So is there any suggestions that can make vsedit on my computer keeps the current frame when refreshing preview now?
Mystery Keeper
26th October 2016, 13:36
So is there any suggestions that can make vsedit on my computer keeps the current frame when refreshing preview now?Save new scripts before previewing them. If you save script with different name - refresh your preview before making any changes in it. Loading other script does reset current frame by design. I might add an option to keep the current frame unconditionally in future release.
WolframRhodium
26th October 2016, 13:40
Save new scripts before previewing them. If you save script with different name - refresh your preview before making any changes in it. Loading other script does reset current frame by design. I might add an option to keep the current frame unconditionally in future release.
It doesn't work, still
Thank you for your help. I'm looking for future release.
TalasNetrag
6th November 2016, 15:27
I'm trying to use 'Encode Video' functionality of VSEdit, but I get this error message.
Command line:
"H:/x264-10b-r2694-3b70645.exe" --frames 34567 --preset veryslow --tune animation --crf 18 --demuxer raw --output-csp i420 --input-csp i420 --input-depth 10 --input-res 1920x1080 --fps 24000/1001 --output "H:/test.h264"
Checking the encoder sanity.
x264 [error]: No input file. Run x264 --help for a list of options.
Encoder seems sane. Starting.
Encoder started. Beginning encoding.
x264 [error]: No input file. Run x264 --help for a list of options.
Encoder has suddenly stopped accepting data. Aborting.
Encoder has finished working while it shouldn't be running at all. Ignoring.
Executable:
H:/x264-10b-r2694-3b70645.exe
Arguments:
--frames {f}
--preset veryslow
--tune animation
--crf 18
--demuxer raw
--output-csp i{ss}
--input-csp i{ss}
--input-depth {bits}
--input-res {w}x{h}
--fps {fpsn}/{fpsd}
--output "H:/test.h264"
Using the generated command line with VSPipe works fine:
"H:\Videocoding\VapourSynth\VSPipe.exe" "H:\Videocoding\VapourSynth\scripts\Untitled.vpy" - | "H:/x264-10b-r2694-3b70645.exe" --frames 34567 --preset veryslow --tune animation --crf 18 --demuxer raw --output-csp i420 --input-csp i420 --input-depth 10 --input-res 1920x1080 --fps 24000/1001 --output "H:/test.h264" -
Mystery Keeper
6th November 2016, 15:39
I'm trying to use 'Encode Video' functionality of VSEdit, but I get this error message.
Command line:
"H:/x264-10b-r2694-3b70645.exe" --frames 34567 --preset veryslow --tune animation --crf 18 --demuxer raw --output-csp i420 --input-csp i420 --input-depth 10 --input-res 1920x1080 --fps 24000/1001 --output "H:/test.h264"
Checking the encoder sanity.
x264 [error]: No input file. Run x264 --help for a list of options.
Encoder seems sane. Starting.
Encoder started. Beginning encoding.
x264 [error]: No input file. Run x264 --help for a list of options.
Encoder has suddenly stopped accepting data. Aborting.
Encoder has finished working while it shouldn't be running at all. Ignoring.
Executable:
H:/x264-10b-r2694-3b70645.exe
Arguments:
--frames {f}
--preset veryslow
--tune animation
--crf 18
--demuxer raw
--output-csp i{ss}
--input-csp i{ss}
--input-depth {bits}
--input-res {w}x{h}
--fps {fpsn}/{fpsd}
--output "H:/test.h264"
Using the generated command line with VSPipe works fine:
"H:\Videocoding\VapourSynth\VSPipe.exe" "H:\Videocoding\VapourSynth\scripts\Untitled.vpy" - | "H:/x264-10b-r2694-3b70645.exe" --frames 34567 --preset veryslow --tune animation --crf 18 --demuxer raw --output-csp i420 --input-csp i420 --input-depth 10 --input-res 1920x1080 --fps 24000/1001 --output "H:/test.h264" -
You're missing the last "-" in arguments.
TalasNetrag
6th November 2016, 15:44
You're missing the last "-" in arguments.
OK. Now its working xD
dipje
6th November 2016, 21:10
For what it's worth, I also noticed a few releases back that when you press F5 for the preview it takes the current preview away. The window stays open, but the image disappears and reappears after the new one is done rendering.
In previous versions the old image would stay there until the new one was displayed. Made it very easy to compare the changes you did. Drag the editor window to the side but keep it focused, press F5 while staring at the preview window and you could spot your differences. Newer versions remove and then repop the image. A-Bing is more difficult now :).
Mystery Keeper
6th November 2016, 22:14
For what it's worth, I also noticed a few releases back that when you press F5 for the preview it takes the current preview away. The window stays open, but the image disappears and reappears after the new one is done rendering.
In previous versions the old image would stay there until the new one was displayed. Made it very easy to compare the changes you did. Drag the editor window to the side but keep it focused, press F5 while staring at the preview window and you could spot your differences. Newer versions remove and then repop the image. A-Bing is more difficult now :).That's a part of new errors handling logic. You can use snapshots if you need instant A-B'ing or use VapourSynth internal means like stacking and interleaving. Sliding shutter comparison is planned for future.
TalasNetrag
6th November 2016, 23:35
Is it possible to autocomplete only the functionname?
video = core.text.Text()
instead of
video = core.text.Text(clip, text, alignment)
Mystery Keeper
7th November 2016, 00:11
Is it possible to autocomplete only the functionname?
video = core.text.Text()
instead of
video = core.text.Text(clip, text, alignment)
Right now - no. But such improvements are planned too.
l33tmeatwad
8th November 2016, 16:01
Sorry for the lack of updates to the OSX dist, uploaded r10 to the downloads.
ChaosKing
14th November 2016, 20:32
The editor (r10) crashes sometimes then I refresh the preview window (aka press F5). It happens sometimes then I add or remove a new filter. No error msg is shown.
The same script works then I restart the editor and it also never crashes if I close the preview window before I press F5.
I'm using vp x64 R35 portable on Window 10 x64
I have visual studio installed and the debugger showed me this (don't know if it helps).
Exception error at 0x00007FFFEF1E8D80 (VapourSynth.dll) in vsedit.exe: 0xC0000005: Access violation at reading 0x00000000000000
p.s. I get also this msg in Log: Core freed but 729600 bytes still allocated in framebuffers
pp.s. Could You add a text search -> STRG+F? :)
poisondeathray
15th November 2016, 04:01
Anyone else having difficulty previewing RGB ? YUV formats work , but the preview pops up but is greyed out (empty, not black) with RGB formats
It doesn't matter what type of RGB source, image , etc.. even BlankClip
error message is
Error on frame 0 request:
Resize error 1026: RGB color family cannot be YUV
VapourSynth Editor r10 x64 , VapourSynth r35 installed x64, Windows 8.1 x64
import vapoursynth as vs
core = vs.get_core()
#video = core.std.BlankClip(format=vs.YUV444P8) #this one works
video = core.std.BlankClip(format=vs.RGB24)
video.set_output()
poisondeathray
15th November 2016, 06:44
No, I can't. Script processor only knows the output clip. Which clip is "original"? There can be several of them. I use few helper functions to arrange clips in a quartet: 1) original clip 2) processed clip 3) difference between the two 4) processed clip with enhanced local contrast (helps to see artifacts). So I always see them in comparison. Script in attachment. Rename to .py and import.
Thanks for this
Sort of related request, is the avspmod function of having separate "sheets" or tabs where you can use the number keys to flip between versions of scripts . I don't know anything about programming or internals or if it's possible in VapourSynth Editor, or if it's been requested before (I couldn't find it with search)
The reason I find this helpful is alignment - both temporal (same frame number between same base videos) and spatial (easier to compare details when flipping in the same preview space, instead of stacked horizontally or vertically) , and speed (pushing number keys) . Interleave(a,b,c...) works, but not as elegant and can be clunky if you have more than a few versions
Mystery Keeper
15th November 2016, 14:35
Thanks for this
Sort of related request, is the avspmod function of having separate "sheets" or tabs where you can use the number keys to flip between versions of scripts . I don't know anything about programming or internals or if it's possible in VapourSynth Editor, or if it's been requested before (I couldn't find it with search)
The reason I find this helpful is alignment - both temporal (same frame number between same base videos) and spatial (easier to compare details when flipping in the same preview space, instead of stacked horizontally or vertically) , and speed (pushing number keys) . Interleave(a,b,c...) works, but not as elegant and can be clunky if you have more than a few versions
If you're talking about comparing several nodes in the script - that was requested and will be implemented eventually. If you're talking about using tabs to work with several scripts - I shall not do that. It is convenient indeed. But it makes several scripts share the same memory. If one script makes the editor crash - you lose your work on all of open scripts.
Bug with previewing RGB confirmed. Fixing.
Mystery Keeper
16th November 2016, 20:30
Since preview bug was kind of critical - I'm making a fix release r11.
-BUGFIX: Default file drop template.
-BUGFIX: Preview non-YUV clips.
-An option to keep the currently previewed frame number on previewing different script.
Mystery Keeper
23rd November 2016, 16:52
Test build (https://bitbucket.org/mystery_keeper/vapoursynth-editor/downloads/vapoursynth-editor-64bit-2016-11-23.7z) with improved log.
Lets you filter the displayed message types and save the log to HTML file.
Please test and tell me what you think of it.
shader
23rd November 2016, 19:58
First: VapourSynthEditor is a great tool and I like it :)
But unfortunatelly I can't run VapourSynthEditor-r11-32bit, because I get an error (0x000007b)(see attachment) at startup.
In the past I already updated the editor several times (just extract), therefore I do not believe, that I did something wrong this time.
Does anybody know how to fix that problem?
Thanks!
Mystery Keeper
23rd November 2016, 21:21
First: VapourSynthEditor is a great tool and I like it :)
But unfortunatelly I can't run VapourSynthEditor-r11-32bit, because I get an error (0x000007b)(see attachment) at startup.
In the past I already updated the editor several times (just extract), therefore I do not believe, that I did something wrong this time.
Does anybody know how to fix that problem?
Thanks!Try this. (http://www.gadgetsupersite.com/0xc00007b-error-fix/) Also, reinstall Visual Studio 2015 runtimes.
More info. (http://stackoverflow.com/questions/10492037/the-application-was-unable-to-start-correctly-0xc000007b)
Mystery Keeper
29th November 2016, 21:02
r12 is out with improved log.
It supports filtering and settings of styles and saving to HTML file.
shader
30th November 2016, 15:52
Try this. (http://www.gadgetsupersite.com/0xc00007b-error-fix/) Also, reinstall Visual Studio 2015 runtimes.
More info. (http://stackoverflow.com/questions/10492037/the-application-was-unable-to-start-correctly-0xc000007b)
Thanks for your help but unfortunatelly it did not work. I tried a lot and looked for other hints on the web later. Maybe Win10 is the reason,I do not know.
But it's not important any more. R12 works again !!!!!
cylx
5th December 2016, 13:59
r12 is out with improved log.
It supports filtering and settings of styles and saving to HTML file.
colorful log is wonderful. But I encountered a bug when transcoding directly from vsedit's encode window. Several minutes after starting encode, the speed became very slow and x265's cpu load was also at a low level. Everything would be ok if I encoded the same script with the same arguments by using vspipe. My environment was windows 10 1607 64bit.
Also, the encode log window became not scrollable under r12 version, could you fix it at next versions?
Mystery Keeper
5th December 2016, 16:25
colorful log is wonderful. But I encountered a bug when transcoding directly from vsedit's encode window. Several minutes after starting encode, the speed became very slow and x265's cpu load was also at a low level. Everything would be ok if I encoded the same script with the same arguments by using vspipe. My environment was windows 10 1607 64bit.
Also, the encode log window became not scrollable under r12 version, could you fix it at next versions?
Please tell me parameters of your video and your encoding preset.
As for not scrollable log - most likely your encoder is continuously outputting info, and log gets scrolled to the end. It should be scrolling alright when encoding has stopped.
And if you think the log is responsible for the performance drop (it is possible) - try to configure your encoder not constantly output unneeded feedback. Vsedit shows the encoding progress and framerate on its own.
cylx
6th December 2016, 07:45
Please tell me parameters of your video and your encoding preset.
As for not scrollable log - most likely your encoder is continuously outputting info, and log gets scrolled to the end. It should be scrolling alright when encoding has stopped.
And if you think the log is responsible for the performance drop (it is possible) - try to configure your encoder not constantly output unneeded feedback. Vsedit shows the encoding progress and framerate on its own.
Yes, log should be responsible for the performance drop. Adding "--no-progress" to x265's arguments fixed this problem.
juhok
12th December 2016, 09:24
Thank you for making this software available.
I can confirm gradual log/slowdown with r12 and x264 with Win10/64. "--no-progress" helped.
Mystery Keeper
12th December 2016, 16:52
Yes, new log can be slow. Use the encoder settings to suppress the progress output. Clear logs with context menu if necessary.
Mystery Keeper
22nd December 2016, 16:13
r13 is out with y4m header for video encoding.
Sample presets:
ffmpeg - FFV1:
-y
-nostats
-i -
-c:v ffv1
"{sd}/{sn}.mkv"
x264:
--demuxer y4m
--pass 1
--bitrate 3000
--stats "{sd}/{sn}.stats"
--slow-firstpass
--min-keyint 1
--b-adapt 2
--ref 5
--vbv-init 1.0
--ratetol 20.0
--cplxblur 5
--rc-lookahead 250
--aq-mode 1
--merange 64
--me tesa
--subme 11
--partitions all
--trellis 2
--no-dct-decimate
--no-fast-pskip
--stitchable
--direct auto
--no-psy
--no-progress
-
-o "{sd}/{sn}.mkv"
x265:
--y4m
--stats "{sd}/{sn}.stats"
--pass 1
--bitrate 3000
--no-progress
--rd 6
--rd-refine
--cu-lossless
--max-merge 5
--ref 16
--me full
--subme 7
--merange 64
--no-open-gop
--allow-non-conformance
-
-o "{sd}/{sn}.h265"
ChaosKing
24th December 2016, 21:53
The editor (r10) crashes sometimes then I refresh the preview window (aka press F5). It happens sometimes then I add or remove a new filter. No error msg is shown.
The same script works then I restart the editor and it also never crashes if I close the preview window before I press F5.
It seems like that this is no longer the case in R13. No crashes so far! :D
Edit: or maybe not ... but it happens less often now.
Sm3n
30th December 2016, 15:55
I found the way to use Interleave. Now I would like to know the nature of each frame (P, B and so) to make comparison.
How do I do that? Is that possible?
Also, does VSE support multi tab? I'm pretty sure I didn't see this option. There must be a reason why ^^
Thx in advance.
Mystery Keeper
30th December 2016, 16:05
I found the way to use Interleave. Now I would like to know the nature of each frame (P, B and so) to make comparison.
How do I do that? Is that possible?
Also, does VSE support multi tab? I'm pretty sure I didn't see this option. There must be a reason why ^^
Thx in advance.It is not possible. Frame type only makes sense in context of encoding. In VapourSynth they all become equal uncompressed frames.
There are no tabs in VSE, and I am against adding them. Previewing multiple tabs would be confusing. And the main reason for not using tabs is that crash in one script processing would kill your work on other scripts as well.
Myrsloik
30th December 2016, 16:17
It is not possible. Frame type only makes sense in context of encoding. In VapourSynth they all become equal uncompressed frames.
There are no tabs in VSE, and I am against adding them. Previewing multiple tabs would be confusing. And the main reason for not using tabs is that crash in one script processing would kill your work on other scripts as well.
Print the frame properties. FFMS2 attaches the decoded frame type if you use that. I don't think any other decoder does it though.
Sm3n
30th December 2016, 20:19
It is not possible. Frame type only makes sense in context of encoding. In VapourSynth they all become equal uncompressed frames.
Even if I load the source and the encode?
My goal is precisely to compare my encode to the source. Let say I load in "a=" the source then in "b=" the encode. If the frame are "lossless" can't I still comparing it?
There are no tabs in VSE, and I am against adding them. Previewing multiple tabs would be confusing. And the main reason for not using tabs is that crash in one script processing would kill your work on other scripts as well.
I understand.
Print the frame properties. FFMS2 attaches the decoded frame type if you use that. I don't think any other decoder does it though.
It was my first idea in fact.^^ Loading the videos and using the avisynth ffinfo to display these informations.
@Mystery Keeper @Myrsloik Can't I use ffinfo the same way in VS than in avs? What would be the option to add to the script?
Myrsloik
30th December 2016, 20:20
...
@Mystery Keeper @Myrsloik Can't I use ffinfo the same way in VS than in avs?
It's attached as a frame property. Simpy use FrameProps() to print it all.
Sm3n
30th December 2016, 20:33
It's attached as a frame property. Simpy use FrameProps() to print it all.
Very nice. There is even FrameNum() that could help.
Cheers
Mystery Keeper
16th January 2017, 20:43
r14 is out with few new features and fixes.
-BUGFIX: Encoding logic.
-Core buffer usage display.
-Relative paths are resolved from the application directory, not CWD.
-Benchmark and encoding progress in window title.
-MS Windows: taskbar button progress for benchmark and encoding.
-Script dialogs status bar reorganized.
-WebP snapshots support.
Izuchi
23rd January 2017, 10:01
Is it possible to change the handling on commenting/uncommenting lines? I think it would be a lot more convenient if there was just one hotkey that toggles commenting on/off for a particular line which is how AvsPmod implements it.
Mystery Keeper
23rd January 2017, 10:04
Is it possible to change the handling on commenting/uncommenting lines? I think it would be a lot more convenient if there was just one hotkey that toggles commenting on/off for a particular line which is how AvsPmod implements it.Subjective. I like it the way it is now. Would you like one more hotkey for it? Which?
l33tmeatwad
23rd January 2017, 16:07
Uploaded r14 to the OSX distribution page, sorry for the lack of updates as I have been working on my own project here recently.
Izuchi
24th January 2017, 14:22
Subjective. I like it the way it is now. Would you like one more hotkey for it? Which?
Would be nice to have in my opinion. Maybe Ctrl+E?
sl1pkn07
24th January 2017, 14:25
Why not configurable?
ChaosKing
28th January 2017, 12:25
I just wanted to report that after updating to vp R36 I hadn't any editor crashes since then!
Mystery Keeper
28th January 2017, 12:59
I just wanted to report that after updating to vp R36 I hadn't any editor crashes since then!Thank you for good news.
ChaosKing
28th January 2017, 14:23
And I have a potential bug...
When I start the editor the first time and hit F5, the preview loads with no problems. Then I close the preview window and hit F5 again. Now this msg is shown in the Log:
File "mylogo.py", line 16, in Logo
cut + \
File "src\cython\vapoursynth.pyx", line 1126, in vapoursynth.VideoNode.__add__ (src\cython\vapoursynth.c:24935)
File "src\cython\vapoursynth.pyx", line 1604, in vapoursynth.Function.__call__ (src\cython\vapoursynth.c:33131)
vapoursynth.Error: Splice: nodes foreign to this core passed as input, improper api usage detected
So this happens only in the second preview window call.
I also have no errors with encoding via vspipe etc.
//EDIT
No issues when I copy the import code to my main script.
----------------
I have an import that looks like this:
import vapoursynth as vs
#import havsfunc as haf
core = vs.get_core()
def Logo(clip, start):
logo = core.ffms2.Source(source= "mylogo.mkv")
end = start + logo.num_frames - 1
#cut = clip.std.Trim(start,end)
cut = logo
clip = clip.std.Trim(0,start-1)+ \
cut + \
clip.std.Trim(end+1)
#clip = clip.std.Trim(0,start-1) + cut + clip.std.Trim(end+1) # makes no difference
return clip
And my script:
import mylogo as db
def insertLogos(clip):
clip = db.Logo(clip, 118)
# etc
return clip
clip = core.ffms2.Source(source=myvideo)
clip = insertLogos(clip)
clip.set_output()
Mystery Keeper
29th January 2017, 17:12
r15 is out:
-BUGFIX: crash on colour picking while refreshing preview.
-BUGFIX: random junk instead of black frame on preview refresh.
-BUGFIX: wrong hours displayed in estimated finish time for benchmark and encoding.
-Buildable with Qt version lower than 5.4.
-Float formats support in yuv4mpeg video header for encoding.
VS_Fan
29th January 2017, 18:52
And I have a potential bug... When I start the editor the first time and hit F5, the preview loads with no problems. Then I close the preview window and hit F5 again.
Your problem has nothing to do with VS-editor. It´s the way you call get_core() (http://www.vapoursynth.com/doc/apireference.html#vsscript-python)
Mystery Keeper
29th January 2017, 18:56
Indeed. You should put core = vs.get_core() in the beginning of your function instead of module.
Boulder
30th January 2017, 05:15
I've got an HEVC file I'm trying to open with ffms2 but the preview gives me an error "Resize error 3074: unrecognized transfer characteristics". Is this a Vapoursynth issue or related to the editor?
Mystery Keeper
30th January 2017, 06:33
I've got an HEVC file I'm trying to open with ffms2 but the preview gives me an error "Resize error 3074: unrecognized transfer characteristics". Is this a Vapoursynth issue or related to the editor?It is the VapourSynth resize plugin issue. Your HEVC file has transfer characteristics that resize doesn't know, so it can not properly convert the video to RGB for preview.
What you can do:
1) manually set the transfer characteristics property to one resize recognizes; that's a hack, not proper solution;
2) add a resize line in your script that converts the output to CompatRGB format and specify the input transfer characteristics; before encoding - comment out that line;
l33tmeatwad
30th January 2017, 15:35
Garbled output in the preview window on OSX is still happening. Last working revision is r10 :-\...
Boulder
4th February 2017, 13:33
I tried removing the hotkeys for previous and next bookmark (CTRL + Left, Right) by emptying the field. After clicking on Apply, the program freezes for some time and then after clicking OK, it seems to forget the changes I made.
Mystery Keeper
4th February 2017, 14:09
I tried removing the hotkeys for previous and next bookmark (CTRL + Left, Right) by emptying the field. After clicking on Apply, the program freezes for some time and then after clicking OK, it seems to forget the changes I made.The freeze is the result of every setting being saved one by one. But not remembering is a bug. I'll get on that.
Sm3n
8th February 2017, 18:17
Now I could make an update of VS, VSE won't load library:
Failed to load vapoursynth script library!
Please set up the library search paths in settings.
I checked but I don't remember what path I used before (if I added any)
Can you please help me to fix it?
Mystery Keeper
8th February 2017, 18:53
Now I could make an update of VS, VSE won't load library:
Failed to load vapoursynth script library!
Please set up the library search paths in settings.
I checked but I don't remember what path I used before (if I added any)
Can you please help me to fix it?
Update Python to 3.6, then re-install VS.
Sm3n
8th February 2017, 20:12
Update Python to 3.6, then re-install VS.
thx. I did update, re-install VS and VSE and I still get those lines:
Failed to load vapoursynth script library!
Please set up the library search paths in settings.
Failed to evaluate the script.
Why the hell I tried to install HAvsFunc and update VS? I should never touched anything at something working! :/ Especially when linux and english is not your friend...
Edit: after doing "python3.6 setup.py install" I get
Traceback (most recent call last):
File "setup.py", line 7, in <module>
from Cython.Distutils import Extension, build_ext
ModuleNotFoundError: No module named 'Cython'
Can't work, right?
Are_
8th February 2017, 20:24
I don't know but, what about the output of these commands?
$ which vspipe
# updatedb & locate libvapoursynth-script.so.0.0.0
Because maybe something is installed in a really wired place, or something is not installed or only god knows what you did there.
Sm3n
8th February 2017, 20:32
Cython wasn't install. It is now. Previous version of vapoursynth didn't need it I guess...
I could run "python3.6 setup.py install" properly. and still same error in VSE.
"which vspipe" returns:
/usr/local/bin/vspipe
"updatedb & locate libvapoursynth-script.so.0.0.0" returns:
[1] 57873
/root/vapoursynth/.libs/libvapoursynth-script.so.0.0.0
/usr/local/lib/libvapoursynth-script.so.0.0.0
Is there any path I must add to VSE path settings? under plugins and/or library?
Are_
8th February 2017, 21:03
Give it a try with /usr/local/lib/
I never installed vapoursynth to local so I don't know if you need something special set up.
Mystery Keeper
8th February 2017, 23:20
thx. I did update, re-install VS and VSE and I still get those lines:
Failed to load vapoursynth script library!
Please set up the library search paths in settings.
Failed to evaluate the script.
Why the hell I tried to install HAvsFunc and update VS? I should never touched anything at something working! :/ Especially when linux and english is not your friend...
Edit: after doing "python3.6 setup.py install" I get
Traceback (most recent call last):
File "setup.py", line 7, in <module>
from Cython.Distutils import Extension, build_ext
ModuleNotFoundError: No module named 'Cython'
Can't work, right?
You should have said you were on Linux.
Have you tried this instruction (http://www.l33tmeatwad.com/vapoursynth101/software-setup)?
jackoneill
9th February 2017, 12:43
Cython is only needed when compiling VapourSynth.
You have no need to use setup.py in Linux or OS X. "./autogen.sh; ./configure; make; make install" will compile and install everything. (Add parameters to each step as needed.)
Sm3n
9th February 2017, 15:47
Cython is only needed when compiling VapourSynth.
You have no need to use setup.py in Linux or OS X. "./autogen.sh; ./configure; make; make install" will compile and install everything. (Add parameters to each step as needed.)
You should have said you were on Linux.
Have you tried this instruction (http://www.l33tmeatwad.com/vapoursynth101/software-setup)?
Thx guys! Your link helped me a lot.
I've only reinstalled VS & VSE.
By the way, have you a tuto and/or a more recent link for installing this? https://forum.doom9.org/showthread.php?p=1753688#post1753688
Mystery Keeper
9th February 2017, 18:21
Thx guys! Your link helped me a lot.
I've only reinstalled VS & VSE.
By the way, have you a tuto and/or a more recent link for installing this? https://forum.doom9.org/showthread.php?p=1753688#post1753688Ask questions in appropriate thread please.
thetrueavatar
2nd March 2017, 14:06
Hello,
I'm trying to build vapoursynth-editor on my ubuntu 14.0.4LT 32bit.
I have followed the steps defined here:
http://www.l33tmeatwad.com/vapoursynth101/software-setup
I had some problems but achieved to the editor compilation.
However I keep having failure while building the editor:
../src/preview/preview_dialog.cpp: In member function ‘void PreviewDialog::slotPreviewAreaMouseOverPoint(float, float)’:
../src/preview/preview_dialog.cpp:1063:6: warning: declaration of ‘width’ shadows a member of 'this' [-Wshadow]
int width = m_cpVSAPI->getFrameWidth(m_cpFrameRef, 0);
^
../src/preview/preview_dialog.cpp:1064:6: warning: declaration of ‘height’ shadows a member of 'this' [-Wshadow]
int height = m_cpVSAPI->getFrameHeight(m_cpFrameRef, 0);
^
../src/preview/preview_dialog.cpp:1082:10: warning: declaration of ‘x’ shadows a member of 'this' [-Wshadow]
size_t x = frameX >> 1;
^
../src/preview/preview_dialog.cpp: In member function ‘void PreviewDialog::slotProcessPlayQueue()’:
../src/preview/preview_dialog.cpp:1270:25: error: no matching function for call to ‘std::list<Frame>::erase(std::list<Frame>::const_iterator&)’
m_framesCache.erase(it);
^
../src/preview/preview_dialog.cpp:1270:25: note: candidates are:
In file included from /usr/include/c++/4.8/list:64:0,
from /opt/qt-everywhere-opensource-src-5.8.0/qtbase/include/QtCore/../../src/corelib/tools/qlist.h:50,
from /opt/qt-everywhere-opensource-src-5.8.0/qtbase/include/QtCore/qlist.h:1,
from /opt/qt-everywhere-opensource-src-5.8.0/qtbase/include/QtCore/../../src/corelib/kernel/qvariant.h:45,
from /opt/qt-everywhere-opensource-src-5.8.0/qtbase/include/QtCore/qvariant.h:1,
from /opt/qt-everywhere-opensource-src-5.8.0/qtbase/include/QtCore/QVariant:1,
from ../generated/ui/ui_preview_dialog.h:12,
from ../src/preview/preview_dialog.h:4,
from ../src/preview/preview_dialog.cpp:1:
/usr/include/c++/4.8/bits/list.tcc:108:5: note: std::list<_Tp, _Alloc>::iterator std::list<_Tp, _Alloc>::erase(std::list<_Tp, _Alloc>::iterator) [with _Tp = Frame; _Alloc = std::allocator<Frame>; std::list<_Tp, _Alloc>::iterator = std::_List_iterator<Frame>]
list<_Tp, _Alloc>::
^
/usr/include/c++/4.8/bits/list.tcc:108:5: note: no known conversion for argument 1 from ‘std::list<Frame>::const_iterator {aka std::_List_const_iterator<Frame>}’ to ‘std::list<Frame>::iterator {aka std::_List_iterator<Frame>}’
In file included from /usr/include/c++/4.8/list:63:0,
from /opt/qt-everywhere-opensource-src-5.8.0/qtbase/include/QtCore/../../src/corelib/tools/qlist.h:50,
from /opt/qt-everywhere-opensource-src-5.8.0/qtbase/include/QtCore/qlist.h:1,
from /opt/qt-everywhere-opensource-src-5.8.0/qtbase/include/QtCore/../../src/corelib/kernel/qvariant.h:45,
from /opt/qt-everywhere-opensource-src-5.8.0/qtbase/include/QtCore/qvariant.h:1,
from /opt/qt-everywhere-opensource-src-5.8.0/qtbase/include/QtCore/QVariant:1,
from ../generated/ui/ui_preview_dialog.h:12,
from ../src/preview/preview_dialog.h:4,
from ../src/preview/preview_dialog.cpp:1:
/usr/include/c++/4.8/bits/stl_list.h:1193:7: note: std::list<_Tp, _Alloc>::iterator std::list<_Tp, _Alloc>::erase(std::list<_Tp, _Alloc>::iterator, std::list<_Tp, _Alloc>::iterator) [with _Tp = Frame; _Alloc = std::allocator<Frame>; std::list<_Tp, _Alloc>::iterator = std::_List_iterator<Frame>]
erase(iterator __first, iterator __last)
^
/usr/include/c++/4.8/bits/stl_list.h:1193:7: note: candidate expects 2 arguments, 1 provided
../src/preview/preview_dialog.cpp: In member function ‘void PreviewDialog::slotClearBookmarks()’:
../src/preview/preview_dialog.cpp:1297:30: warning: declaration of ‘result’ shadows a member of 'this' [-Wshadow]
QMessageBox::StandardButton result = QMessageBox::question(this,
^
../src/preview/preview_dialog.cpp: In member function ‘double PreviewDialog::valueAtPoint(size_t, size_t, int)’:
../src/preview/preview_dialog.cpp:1904:9: warning: declaration of ‘x’ shadows a member of 'this' [-Wshadow]
size_t x = a_x;
^
../src/preview/preview_dialog.cpp:1905:9: warning: declaration of ‘y’ shadows a member of 'this' [-Wshadow]
size_t y = a_y;
^
../src/preview/preview_dialog.cpp: In member function ‘QPixmap PreviewDialog::pixmapFromCompatBGR32(const VSFrameRef*)’:
../src/preview/preview_dialog.cpp:1964:6: warning: declaration of ‘width’ shadows a member of 'this' [-Wshadow]
int width = m_cpVSAPI->getFrameWidth(a_cpFrameRef, 0);
^
../src/preview/preview_dialog.cpp:1965:6: warning: declaration of ‘height’ shadows a member of 'this' [-Wshadow]
int height = m_cpVSAPI->getFrameHeight(a_cpFrameRef, 0);
^
make: *** [../generated/obj-release-32bit-gcc/preview_dialog.o] Erreur 1
I'm using Qt 5.8 that I had to build from source. I'm not sure qt is backwardcompatible so maybe it's just a question of version but which one ?
Any help please ? Feel free to ask me any configuration I could provide you.
I have taken source from the git repository and try to build either master or the tag r15
sl1pkn07
2nd March 2017, 22:05
Try with GCC 6.x.x
thetrueavatar
3rd March 2017, 10:55
Ok thanks that fixed the problem. I'm a java developper so not used to read c++ compiler version problem :p
Hourra. Will be able to use avsfilter like plugin with editor+preview !
thetrueavatar
3rd March 2017, 12:59
I have a question that might already been asked but didn't find any response in the search. Is there to open multiple preview so I can compare the result with and without a filter been applied ?
Are_
3rd March 2017, 13:00
Nope, use std.Interleave or std.StackXXX in your script.
blaze077
20th March 2017, 00:39
Is there a setting to enable/disable call tips? It does not seem to provide them on my end. (http://i.imgur.com/6WbDhKn.png)
Thank you.
Mystery Keeper
20th March 2017, 01:46
Is there a setting to enable/disable call tips? It does not seem to provide them on my end. (http://i.imgur.com/6WbDhKn.png)
Thank you.Call tips work when you type the function name. You can force the tip by pressing CTRL+SPACE. I know the call tips are awkward and barely useful now. I'll get to them right after I finish a larger and more important feature. Not very soon, sadly.
blaze077
20th March 2017, 03:47
Call tips work when you type the function name. You can force the tip by pressing CTRL+SPACE. I know the call tips are awkward and barely useful now. I'll get to them right after I finish a larger and more important feature. Not very soon, sadly.
Ah, I see. I thought the call tips were supposed to be something like in IDLE or AvsPMod. Will be waiting for that release.
Thank you.
ChaosKing
20th March 2017, 14:25
Instant crash with vapoursynth R37 when I click on preview. "check script" F6 and benchmarks works.
EDIT
Myrsloik:
The R37 binaries have now been updated. The released ones were unfortunately miscompiled which caused a pile of issues.
works now
l33tmeatwad
30th March 2017, 16:06
Still having issues with the latest builds of both this and VapourSynth displaying hte preview window correctly. Anything past VapourSynth r33 output all screenshots with a shade of blue, and any version of VapourSynth Editor past r10 includes visual artifacts in the live previous (however the output screenshots are fine except for being blue...). What can I do to further test this to see exactly what conflict is going on to cause these issues?
Edit: Actual scripts that are encoded from the latest VapourSynth revisions are fine and look normal, I am ONLY experiencing issues with VapourSynth editor.
Mystery Keeper
30th March 2017, 18:28
Still having issues with the latest builds of both this and VapourSynth displaying hte preview window correctly. Anything past VapourSynth r33 output all screenshots with a shade of blue, and any version of VapourSynth Editor past r10 includes visual artifacts in the live previous (however the output screenshots are fine except for being blue...). What can I do to further test this to see exactly what conflict is going on to cause these issues?
Edit: Actual scripts that are encoded from the latest VapourSynth revisions are fine and look normal, I am ONLY experiencing issues with VapourSynth editor.Preview image forming is done internally in VapourSynth by invoking "resize" plugin. I set it up to respect colorimetry information in output clip. And that's all I can do about it.
Myrsloik
30th March 2017, 18:35
Still having issues with the latest builds of both this and VapourSynth displaying hte preview window correctly. Anything past VapourSynth r33 output all screenshots with a shade of blue, and any version of VapourSynth Editor past r10 includes visual artifacts in the live previous (however the output screenshots are fine except for being blue...). What can I do to further test this to see exactly what conflict is going on to cause these issues?
Edit: Actual scripts that are encoded from the latest VapourSynth revisions are fine and look normal, I am ONLY experiencing issues with VapourSynth editor.
"Being blue"? How blue are we talking about? A light tint or really, really blue?
l33tmeatwad
30th March 2017, 19:47
"Being blue"? How blue are we talking about? A light tint or really, really blue?
Really, really blue.
Edit: Images added, the r10 image is what r10 looks like AND is what screenshots output as in later versions too. The r15 image is what the screen looks like in the preview window with r12+
Images: r10 (http://imgur.com/PB9ZUVH) & r15 (http://imgur.com/LVKe4po)
l33tmeatwad
17th April 2017, 17:43
Just checking back to see if there is anything I can do or test to possibly get this working again on OSX. I'm not really sure where to start.
jackoneill
17th April 2017, 18:27
Just checking back to see if there is anything I can do or test to possibly get this working again on OSX. I'm not really sure where to start.
Start with a simple script containing only BlankClip with a known colour.
l33tmeatwad
17th April 2017, 21:13
Start with a simple script containing only BlankClip with a known colour.
I supposed I could have shared that too...solid black comes out royal blue (basically every color comes out with a shade of blue over it, although white is white).
jackoneill
18th April 2017, 12:15
I supposed I could have shared that too...solid black comes out royal blue (basically every color comes out with a shade of blue over it, although white is white).
Does it make a difference if the black BlankClip is RGB or YUV?
l33tmeatwad
18th April 2017, 14:08
Does it make a difference if the black BlankClip is RGB or YUV?
Depends on the color, but black shows up as blue for both (some other colors vary drastically, for example, 194,40,60 is light blue for RGB and bright pink for YUV).
Edit: I'm using r10 to see the colors, r12+ still have a weird issue on top of the color problem all of them have since VapourSynth r34+.
jackoneill
18th April 2017, 17:17
By the way, what happens if you save one of these blue frames as png? Is the png blue as well?
l33tmeatwad
18th April 2017, 21:30
By the way, what happens if you save one of these blue frames as png? Is the png blue as well?
Yes, for versions r10 and lower, they preview blue and save as PNG as blue. For versions r12 and above (r11 never compiled, known issue that was patched with r12 iirc) it will preview garbled but export frames blue.
Edit: Side note that i've mentioned before, scripts encode fine through vspipe and ffmpeg, just VSE is doing wonky stuff.
Mystery Keeper
19th April 2017, 00:30
Zimg problem. Every preview problem is zimg problem.
l33tmeatwad
19th April 2017, 05:19
Zimg problem. Every preview problem is zimg problem.
I'm going to look back at VapourSynth revisions and see what broke the older versions (by checking each revision to find the last working one and look at changes).
Edit: I've found some revisions in VS that have drastically changed how zimg is working and it does relate to the visual problems in past versions. I'm going to move over to that thread to see if that can get resolve and hopefully if it is, it may also resolve the weird issues that later versions of VSE are having as well.
Myrsloik
25th April 2017, 22:13
I'm going to look back at VapourSynth revisions and see what broke the older versions (by checking each revision to find the last working one and look at changes).
Edit: I've found some revisions in VS that have drastically changed how zimg is working and it does relate to the visual problems in past versions. I'm going to move over to that thread to see if that can get resolve and hopefully if it is, it may also resolve the weird issues that later versions of VSE are having as well.
Can't reproduce on osx. I used grey blankclip and it looked good.
l33tmeatwad
28th April 2017, 14:49
Can't reproduce on osx. I used grey blankclip and it looked good.
So weird, I have 2x Macbook Pros I've tried it on (2010 & 2011), one with OSX 10.12 and the other with 10.11 and both do it. It's clear after testing that the revision after VapourSynth r35 broke everything for these two Macbooks. I have updated zimg to the latest revison and have also tried using the VapourSynth revision through brew as well as doing compiles myself.
Myrsloik
28th April 2017, 14:51
So weird, I have 2x Macbooks I've tried it on (2010 & 2011), one with OSX 10.12 and the other with 10.11 and both do it.
Tested on a macbook air 2012 with 10.12. Compiled everything myself when testing.
l33tmeatwad
28th April 2017, 14:57
Tested on a macbook air 2012 with 10.12. Compiled everything myself when testing.
Well, I suppose it's about time I formatted one of these machines to see if the problem still persists after that...
l33tmeatwad
28th April 2017, 16:21
Update: While working on rebuilding the other machine, I started looking around and testing some things, looks like the monitor display profiles affect with the previews look, particular ones will show the image appear with the blue shade, but others will cause random corruption in the preview.
cwk
30th April 2017, 20:01
I'm getting the following message 4 times when loading vsedit on Ubuntu 16.04, which prevents me from using the preview, check script, etc.:
Failed to load vapoursynth script library!
Please set up the library search path in settings.
Based on previous conversations in this thread, my settings are:
VapourSynth library search paths:
/usr/lib/x86_64-linux-gnu
/usr/lib/python3/dist-packages
VapourSynth plugins paths:
/usr/lib/x86_64-linux-gnu/vapoursynth
/usr/share/vsscripts
based on the following:
$ locate vapoursynth
/usr/lib/python3/dist-packages/vapoursynth.so
/usr/lib/x86_64-linux-gnu/libvapoursynth-script.so.0
/usr/lib/x86_64-linux-gnu/libvapoursynth-script.so.0.0.0
/usr/lib/x86_64-linux-gnu/libvapoursynth.so
/usr/lib/x86_64-linux-gnu/vapoursynth
$ locate temporalsoften
/usr/lib/x86_64-linux-gnu/vapoursynth/temporalsoften.so
/usr/lib/x86_64-linux-gnu/vapoursynth/temporalsoften2.so
/usr/share/vsscripts/temporalsoften2.py
I installed using the ppa over the last week.
$ vspipe -v
VapourSynth Video Processing Library
Copyright (c) 2012-2017 Fredrik Mellbin
Core R37
API R3.4
Options: -
Do you have any suggestions for where my config is wrong?
Mystery Keeper
30th April 2017, 20:18
I'm getting the following message 4 times when loading vsedit on Ubuntu 16.04, which prevents me from using the preview, check script, etc.:
Failed to load vapoursynth script library!
Please set up the library search path in settings.
Based on previous conversations in this thread, my settings are:
VapourSynth library search paths:
/usr/lib/x86_64-linux-gnu
/usr/lib/python3/dist-packages
VapourSynth plugins paths:
/usr/lib/x86_64-linux-gnu/vapoursynth
/usr/share/vsscripts
based on the following:
$ locate vapoursynth
/usr/lib/python3/dist-packages/vapoursynth.so
/usr/lib/x86_64-linux-gnu/libvapoursynth-script.so.0
/usr/lib/x86_64-linux-gnu/libvapoursynth-script.so.0.0.0
/usr/lib/x86_64-linux-gnu/libvapoursynth.so
/usr/lib/x86_64-linux-gnu/vapoursynth
$ locate temporalsoften
/usr/lib/x86_64-linux-gnu/vapoursynth/temporalsoften.so
/usr/lib/x86_64-linux-gnu/vapoursynth/temporalsoften2.so
/usr/share/vsscripts/temporalsoften2.py
I installed using the ppa over the last week.
$ vspipe -v
VapourSynth Video Processing Library
Copyright (c) 2012-2017 Fredrik Mellbin
Core R37
API R3.4
Options: -
Do you have any suggestions for where my config is wrong?
Try this. (http://www.l33tmeatwad.com/vapoursynth101/software-setup)
l33tmeatwad
1st May 2017, 19:38
Okay, so since I only have a few machines to test with and others have been unable to replicate my issue, I figured the easiest way would just to create a framework that can easily be tested. In the zip file (link below) is a copy of vsedit.app, VapourSynth.framework, setuplinks, undolinks, 8bit Sample.mp4, 8bit Sample.vpy, and copies of all the source codes. Place VapourSynth.framework in /Library/Frameworks and run setuplinks in terminal (or run the commands manually if you like ;)!). Then try running vsedit and open the script provided and try to preview the sample. I will point out that this does have the issues for me on my 15" Macbook Pros (2010 running 10.12 & 2011 running 10.11). If this works for other hardware then apparently it is specific to those hardware models.
Error Image (http://imgur.com/n7KwLhu)
Framework & Sample Download (http://www.mediafire.com/file/ep4ib8ugm1j538y/VStest.zip)
Is there a particular section you want me to try or is the general idea that I should build from source?
Have others had success using vsedit on Ubuntu when installing from the PPAs?
cwk
l33tmeatwad
1st May 2017, 20:20
Is there a particular section you want me to try or is the general idea that I should build from source?
Have others had success using vsedit on Ubuntu when installing from the PPAs?
cwk
vsedit tends to want to find things in the usual library paths of /usr/local/lib or /usr/lib so creating symbolic links to libvapoursynth & libvapoursynth-script (as well as vspipe) to one of those may fix your issues.
Mystery Keeper
2nd May 2017, 00:13
vsedit tends to want to find things in the usual library paths of /usr/local/lib or /usr/lib so creating symbolic links to libvapoursynth & libvapoursynth-script (as well as vspipe) to one of those may fix your issues.There's more to it. You can tell vsedit where libvapoursynth-script is, but on Ubuntu and derivatives like Mint it would still fail to initialize Python environment. Something in your instruction fixes it.
Joachim Buambeki
5th May 2017, 14:16
Thanks for the VS editor, Mystery Keeper!
I tried to find this in the thread, so please excuse if it has been asked before but is there a chance to get user sliders functionality in the editor like AVSP (http://www.avisynth.nl/users/qwerpoi/UserSliders.html) has?
TIA!
Mystery Keeper
5th May 2017, 19:31
Thanks for the VS editor, Mystery Keeper!
I tried to find this in the thread, so please excuse if it has been asked before but is there a chance to get user sliders functionality in the editor like AVSP (http://www.avisynth.nl/users/qwerpoi/UserSliders.html) has?
TIA!You're welcome.
So far I'm not planning to add sliders. Plugins don't expose their valid argument values.
I think interactive preview with sliders is a generally bad idea. With a slow script you'll have to wait on each update. With a fast script such frequent updating would make VS leak memory.
jackoneill
5th May 2017, 20:25
With a fast script such frequent updating would make VS leak memory.
How? Where?
Joachim Buambeki
5th May 2017, 21:38
So far I'm not planning to add sliders. Plugins don't expose their valid argument values.
I think interactive preview with sliders is a generally bad idea. With a slow script you'll have to wait on each update. With a fast script such frequent updating would make VS leak memory.Got it, makes sense. Thanks nevertheless.
Mystery Keeper
6th May 2017, 05:46
How? Where?It always leaks a tiny amount on preview update. Been like that forever. Python, probably.
Mystery Keeper
21st May 2017, 16:49
R16 is out with a new major feature - jobs queue.
-BUGFIX: Default hotkey forced when trying to save an empty hotkey.
-BUGFIX: Inactive actions in the log context menu.
-Jobs queue with dependencies tracking.
-Adjustable jobs table.
-Pausable CLI encoding jobs.
-Pausable process run jobs.
-Shell command execute jobs.
-Removed framebuffer monitoring.
-Move text block up action.
-Move text block down action.
-Toggle comment action.
It is still a bit crude. Please report any unexpected behavior and improvement suggestions.
Be very careful to not run jobs from two simultaneously running instances of vsedit.
It won't be an issue in the next release. I'm planning to move the jobs to a separate server, accessible both locally and through the network.
Running jobs in parallel is technically possible, but I need to conceive a proper management logic for that.
To admins: does this thread deserve a sticky status yet?
ChaosKing
21st May 2017, 17:03
I get this msg on start with R16: VapourSynth plugins manager: Failed to get VapourSynth API!
The editor is in its own folder in a portable python/vapoursynth "installation".
I have set Lib search path to ../
and plugins path to ../vapoursynth64/plugins
Preview and everything else ist working, but I get this message in R16. No msg in R15 with the same settings.
Edit: could you please add a simple search functionality? STRG+F ?
Mystery Keeper
21st May 2017, 17:51
I get this msg on start with R16: VapourSynth plugins manager: Failed to get VapourSynth API!
The editor is in its own folder in a portable python/vapoursynth "installation".
I have set Lib search path to ../
and plugins path to ../vapoursynth64/plugins
Preview and everything else ist working, but I get this message in R16. No msg in R15 with the same settings.That's strange. Last changes in libraries loading were made in R14.
Edit: could you please add a simple search functionality? STRG+F ?Eventually. Not a high priority.
Boulder
21st May 2017, 18:58
I get the same error as ChaosKing.
I also get this after opening the settings menu:
Qt warning: QWindowsWindow::setGeometry: Unable to set geometry 411x517+435+240 on QWidgetWindow/'SettingsDialogWindow'. Resulting geometry: 411x542+435+240 (frame: 4, 23, 4, 4, custom margin: 0, 0, 0, 0, minimum size: 291x364, maximum size: 16777215x16777215).
Qt warning: QWindowsWindow::setGeometry: Unable to set geometry 411x517+435+240 on QWidgetWindow/'SettingsDialogWindow'. Resulting geometry: 411x542+435+240 (frame: 4, 23, 4, 4, custom margin: 0, 0, 0, 0, minimum size: 291x364, maximum size: 16777215x16777215).
Mystery Keeper
21st May 2017, 21:26
Aha. It is happening because R16 was built using VS R38 header, which has higher API version defined. vsedit R16 is requesting VS API of version that VS R37 can't provide. I'll look into proper solution.
Mystery Keeper
21st May 2017, 22:02
Fixed. Re-download R16.
ChaosKing
21st May 2017, 22:30
Yep, working now. Thx!
TalasNetrag
9th June 2017, 16:03
Is there a way to start the encoding with a different priority? (/Idle etc.)
Mystery Keeper
9th June 2017, 16:57
Is there a way to start the encoding with a different priority? (/Idle etc.)
No. Might do it in the next release. Or not.
TalasNetrag
10th June 2017, 16:33
I get these warnings with R16 and I dont know what they mean:
Qt warning: QObject::connect: No such signal vsedit::Job::signalCoreInfoChanged()
Qt warning: QObject::connect: No such signal VapourSynthScriptProcessor::signalCoreFramebufferUsedBytes(int64_t)
Also (maybe related to that?) the new Job feature seems to slow down the encoding. The encoding FPS keep on decreasing and the ETA stays the same. The Jobs window is getting more unresponsive over time. The CPU utilisation also seems to drop over time.
I tested the same script using vspipe, whithout VSEdit, and the encoding finished after 3h20m with around 3fps, while with VSEdit after 2h the ETA still says 3h to go and the fps dropped below 2.
I didnt get this behavior with R10 (the version I hab before). Using the latest Python, VapourSynth and VSEdit as portable installation.
Mystery Keeper
10th June 2017, 17:00
I get these warnings with R16 and I dont know what they mean:
Also (maybe related to that?) the new Job feature seems to slow down the encoding. The encoding FPS keep on decreasing and the ETA stays the same. The Jobs window is getting more unresponsive over time. The CPU utilisation also seems to drop over time.
I tested the same script using vspipe, whithout VSEdit, and the encoding finished after 3h20m with around 3fps, while with VSEdit after 2h the ETA still says 3h to go and the fps dropped below 2.
I didnt get this behavior with R10 (the version I hab before). Using the latest Python, VapourSynth and VSEdit as portable installation.
Don't mind these messages. They are harmless. Strange that I don't get them. The slowdown is also strange. Do you use encoding settings that print out progress? That can slow down the encoding and bloat the log. Next release should be faster due to separation of worker and GUI.
TalasNetrag
10th June 2017, 21:06
... Do you use encoding settings that print out progress? That can slow down the encoding and bloat the log. Next release should be faster due to separation of worker and GUI.
Yes I did. Disabling the progress output solved this issue.
lansing
10th June 2017, 21:36
Hi for the zooming control, can you add a setting for user custom interval control? Clicking zoom out on 100% will give me 0% view, which makes no sense.
Mystery Keeper
10th June 2017, 21:52
Hi for the zooming control, can you add a setting for user custom interval control? Clicking zoom out on 100% will give me 0% view, which makes no sense.I can, but it is tricky. Might do in future. You still can edit the value with keyboard.
l33tmeatwad
15th June 2017, 03:37
All of the macOS versions that were not compiled and uploaded before have now been added to the Mac download site.
Mystery Keeper
15th June 2017, 05:21
All of the macOS versions that were not compiled and uploaded before have now been added to the Mac download site.Thank you!
l33tmeatwad
15th June 2017, 19:22
Quick update, after looking through the compiles from last night I noticed R9 (that I had not compiled before) was giving the same artifacts bug as R11+ gave me...turns out I had upgraded Qt since I had compiled R10 and that was causing the bug (thank goodness I document just about everything...). Compiling and using Qt 5.8 or 5.9 will not display the preview properly, however I used 5.6 and it works just fine (I did not test 5.7). I have recompiled them all and they should be working properly now. If you could add to the documentation to use Qt 5.6 on macOS that would be great!
Side Note: This fix for VapourSynth Editor does NOT fix the blue screen bug I had mentioned before, I will continue to see what I can find out about that.
feisty2
21st June 2017, 14:41
I recently updated my vsedit to r16 and... I can no longer preview my videos
http://i.imgur.com/6MCLLuI.png
can you make a new option to ignore transfer and primaries checking?
Mystery Keeper
21st June 2017, 15:01
I recently updated my vsedit to r16 and... I can no longer preview my videos
http://i.imgur.com/6MCLLuI.png
can you make a new option to ignore transfer and primaries checking?
It is not me doing the checking, but core.std.resize. I set it up to prioritize the clip properties. Try erasing the matrix and transfer characteristics properties from your grayscale clip.
feisty2
21st June 2017, 15:07
maybe...
we could do
clp = core.std.SetFrameProp(clp,prop="_Matrix",delete=True)
clp = core.std.SetFrameProp(clp,prop="_Transfer",delete=True)
clp = core.std.SetFrameProp(clp,prop="_Primaries",delete=True)
implicitly for previewing...
george84
11th July 2017, 06:06
When using Color Panel one would expect it to show the values of the actual colors displayed in preview.
But it seems that Matrix of video is not used. In a code snippet as:
...
x = core.std.SetFrameProp(x, prop="_Matrix", intval=5)
x.set_output()
you can vary the Matrix value, but Color Panel will always show the same YUV values. It would be nice to show also actual color value.
Mystery Keeper
11th July 2017, 07:31
When using Color Panel one would expect it to show the values of the actual colors displayed in preview.
But it seems that Matrix of video is not used. In a code snippet as:
...
x = core.std.SetFrameProp(x, prop="_Matrix", intval=5)
x.set_output()
you can vary the Matrix value, but Color Panel will always show the same YUV values. It would be nice to show also actual color value.The colour panel shows the actual values from the video. To show the displayed colour I would need to convert. I'll see about adding the converted colour output.
george84
16th July 2017, 11:42
The error log doesn't correctly log the source statement. See attachment.
In the saved source code on line 24 there was referenced a jpeg file "2013...". Then the source code was modfied to what it shows in source, and a preview was done (without save script)
But in log this change isn't reflected.
george84
21st July 2017, 15:03
Is there a particular section you want me to try or is the general idea that I should build from source?
Have others had success using vsedit on Ubuntu when installing from the PPAs?
cwk
Have you ever had success? I also installed from ppa and vsedit doesn't find libraries.
Mystery Keeper
21st July 2017, 15:36
Have you ever had success? I also installed from ppa and vsedit doesn't find libraries.Never installed from repos. Used this instruction (http://www.l33tmeatwad.com/vapoursynth101/software-setup).
george84
21st July 2017, 18:44
Never installed from repos. Used this instruction (http://www.l33tmeatwad.com/vapoursynth101/software-setup).
Thank you. This instruction is outdated, my system has no python3.4. Also I am not willing to use software I have to build myself (as long as there are alternatives). I fear that this will only result in more problems..
l33tmeatwad
21st July 2017, 19:25
Thank you. This instruction is outdated, my system has no python3.4. Also I am not willing to use software I have to build myself (as long as there are alternatives). I fear that this will only result in more problems..
You can just change the 3.4 to whatever version you have or want to install...that said, in terms of compiling vsedit that part shouldn't even matter as long as VapourSynth itself works. Compiling yourself will not lead to more problems, if it compiles at all it will work fine.
george84
21st July 2017, 20:00
Vapoursynth itself seems to work. Starting python and doing import vapoursynth .... gives no error message. Only vsedit complains about missing script library.
Maybe the problem is because there are at least 4 python versions in system.
Also I have 32 bit ubuntu and instructions are only for 64 bit ubuntu.
l33tmeatwad
21st July 2017, 21:42
Vapoursynth itself seems to work. Starting python and doing import vapoursynth .... gives no error message. Only vsedit complains about missing script library.
Maybe the problem is because there are at least 4 python versions in system.
Also I have 32 bit ubuntu and instructions are only for 64 bit ubuntu.
The instructions should work the same for both x86 and x64 Ubuntu.
george84
22nd July 2017, 08:39
I think that in Linux Software setup instructions there is missing a cd $HOME/.installs in PART A. Dependencies
By the way: make of zimg from sources failed (confirms my fear) in
resize_impl_avx512.cpp:589:27: error: invalid conversion from int to _MM_PERM_ENUM....
I have xenial 16.1.
l33tmeatwad
27th July 2017, 15:40
I think that in Linux Software setup instructions there is missing a cd $HOME/.installs in PART A. Dependencies
By the way: make of zimg from sources failed (confirms my fear) in
resize_impl_avx512.cpp:589:27: error: invalid conversion from int to _MM_PERM_ENUM....
I have xenial 16.1.
Try using one of the releases if you are using the most recent changes in the repository.
Hi George,
Have you ever had success? I also installed from ppa and vsedit doesn't find libraries.
Sorry for the late reply. Yes, I was able to get the editor to work using PPAs by adding the following link:
$ sudo ln -s /usr/lib/x86_64-linux-gnu/libvapoursynth-script.so.0.0.0 /usr/lib/x86_64-linux-gnu/libvapoursynth-script.so
george84
29th July 2017, 15:10
Hi cwk
Thank you. I will try.
I should mention that I'm using Ubuntu 16.04. Let me know if you run into any issues.
george84
31st July 2017, 11:04
I should mention that I'm using Ubuntu 16.04. Let me know if you run into any issues.
Excellent advice for setting symbolic link. I have 32 bit system so I had to use i386-linux-gnu instead of x64.
Now vsedit works (inclusive script preview) loaded only from ppa
Maybe I should also mention that in settings paths are set to /usr/lib/i386-linux-gnu and /usr/lib/i386-linux-gnu/vapoursynth
blaze077
1st August 2017, 01:36
When I try to preview a clip with variable frame dimensions, the preview simply gives me a blank screen:
http://i.imgur.com/ngB7zbP.png
I've tried r14-16 and all of them create the same problem.
import vapoursynth as vs
core = vs.core
src = core.std.BlankClip()
src2 = core.std.BlankClip(width=480, height=360)
final = core.std.Splice([src, src2], True)
final.set_output()
Also, clips with varying formats make VSEdit crash when previewing. The script check works fine.
Mystery Keeper
1st August 2017, 05:20
When I try to preview a clip with variable frame dimensions, the preview simply gives me a blank screen:
http://i.imgur.com/ngB7zbP.png
I've tried r14-16 and all of them create the same problem.
import vapoursynth as vs
core = vs.core
src = core.std.BlankClip()
src2 = core.std.BlankClip(width=480, height=360)
final = core.std.Splice([src, src2], True)
final.set_output()
Also, clips with varying formats make VSEdit crash when previewing. The script check works fine.
Could you please upload your video so I could debug with it?
blaze077
1st August 2017, 06:10
The piece of code included in my post is what I'm using. It happens with all clips with varying dimensions. I'm pretty sure it is a problem on my side as I was able to view everything correctly a few weeks back. Sorry for not being clear.
EDIT: Fixed it. My fault. Zoom was at fixed ratio.
The variable format clip, however, still crashes it.
src = core.std.Splice([core.std.BlankClip(format=vs.YUV420P8), core.std.BlankClip(format=vs.YUV444P8)], True)
src.set_output()
lansing
7th August 2017, 02:29
Hi I ran into a bug, when I highlight a word and right click, it deselect the selection instead of letting me copy/cut.
Mystery Keeper
7th August 2017, 05:19
Hi I ran into a bug, when I highlight a word and right click, it deselect the selection instead of letting me copy/cut. Partially confirmed. I do get the wrong menu. No deselection though.
lansing
7th August 2017, 23:30
Hi can you add an option to export the video as image sequence? Because I made my video with changing resolution but Virtualdub couldn't open it
VS_Fan
8th August 2017, 04:34
Hi can you add an option to export the video as image sequence? Because I made my video with changing resolution but Virtualdub couldn't open it
To export image sequences you could try VapourSynth's ImageMagick Writer (http://www.vapoursynth.com/doc/plugins/imwri.html).
Also, instead of VirtualDub, have you tried VirtualDub FilterMod (https://forum.doom9.org/showthread.php?t=172021)?
Mystery Keeper
8th August 2017, 05:17
Hi can you add an option to export the video as image sequence? Because I made my video with changing resolution but Virtualdub couldn't open it Exporting video is a work of encoder. Ffmpeg can encode as APNG or animated GIF. Don't know about image sequence. But yes, imwri plugin is an option.
I'll look into variable size preview not working.
lansing
8th August 2017, 05:51
@VS_Fan
I am using Virtualdub FilterMod, it doesn't support changing resolution, it just returns an error.
And for the imwri filter, the program just tell me that it doesn't exist, I check the vapousynth site and it said it should be included.
@Mystery Keeper
My sole purpose is to make a video with changing resolution and output it as image sequence, I don't want to encode it or make a gif.
VS_Fan
8th August 2017, 06:02
I think this (https://forum.doom9.org/showthread.php?p=1807833#post1807833) is the latest IMWRI test build available from Myrsloik
lansing
8th August 2017, 06:21
I downloaded them and put them into the "core/plugins" folder, but still it said the namespace doesn't exist.
imw = core.imwri.Write(clip, imgformat="PNG", filename=r"F:\temp_img_w\image%06d.png", firstnum=1)
UPDATE:
Okay it works now, don't know why it took a few minutes before it start working.
lansing
8th August 2017, 06:55
I saw another bug, I turned "character typed to start autocompletion" to 0, but it gives me a selection even on a blank space, and there's only the "core" selection to choose from, which is unnecessary.
lansing
10th August 2017, 18:33
Hi, when I use the scxvid (https://github.com/dubhater/vapoursynth-scxvid)plugin the program just load for a while and terminated.
clip = core.scxvid.Scxvid(clip, use_slices=True)
for i in range (len(clip)):
frame = clip.get_frame(i)
if frame.props._SceneChangePrev == 1:
b = 8
clip.set_output()
lansing
11th August 2017, 16:58
Reporting on another bug, when I create a new script and click save, nothing happened instead of having the save dialog box popping up.
Mystery Keeper
11th August 2017, 18:42
Reporting on another bug, when I create a new script and click save, nothing happened instead of having the save dialog box popping up.Noted.
blaze077
23rd August 2017, 23:52
Could you add a feature to import bookmarks from a file? It would help with adding bookmarks at scenechanges or something of that sort.
Mystery Keeper
24th August 2017, 05:20
Could you add a feature to import bookmarks from a file? It would help with adding bookmarks at scenechanges or something of that sort.I'll think about. Bookmarks are written into a text (.bookmarks) file along the script. You can just edit that file and reload preview.
blaze077
24th August 2017, 06:21
I'll think about. Bookmarks are written into a text (.bookmarks) file along the script. You can just edit that file and reload preview.
That works out for me. Thanks.
lansing
2nd September 2017, 08:22
Hi I would like a request a "find" function, it's giving me headaches trying to delete/rename something through a long script.
Mystery Keeper
2nd September 2017, 15:46
Hi I would like a request a "find" function, it's giving me headaches trying to delete/rename something through a long script.Planned. Sorry, but the progress is slow right now. My work takes most of my energy and time.
lansing
8th September 2017, 13:53
My workflow requires me to load in two videos and compare them side by side on every frame, and after a while the memory usage piled up reaching my max memory, but then closing the preview window didn't flush it, I have to close the program entirely and reopen it in order to continue.
george84
17th September 2017, 08:19
The following script will crash Editor. Newest version.
import vapoursynth as vs
core = vs.get_core()
clipsRGB = core.imwrif.Read("C:/Users/Walter/Documents/SMIL/BSG23/testsuite/OLED/vapoursynth/colorcheckerchart4k.tif")
clipsRGB = clipsRGB.text.ClipInfo()
clipRec2020 = core.imwrif.Read("C:/Users/Walter/Documents/SMIL/BSG23/testsuite/OLED/vapoursynth/colorcheckerchart4kElleV4Big2.tif")
clipsRGB = core.resize.Bicubic(clipsRGB, format=vs.RGB24, primaries_s="709", transfer_in_s="601")
clipRec2020 = core.resize.Bicubic(clipRec2020, format=vs.RGB24, primaries_s="2020", transfer_in_s="2020_10")
d = core.std.MakeDiff(clipsRGB, clipRec2020)
da = core.std.Levels(d, min_in=126, max_in=130, gamma=1, min_out=64, max_out=192, planes=[0,1,2])
da.set_output()
It seems to happen in first resize.
Mystery Keeper
22nd September 2017, 11:52
R17 is couple of bugs (context menu related) away from release. The jobs queue is now handled by server, which comes with a controlling "watcher" and supports whitelist based remote control. Now you don't need to keep editor windows open while your jobs are processed. And less GUI overhead means even more processing speed. Instant encoding is back too.
Those of you who build it from source - please test.
Linux Mint users might experience problems with Watcher tray icon. The problem does not appear if you run Watcher as root. If anyone knows how to fix it - please tell.
If you closed Watcher into tray and can't get it back - run it again. Instead of running new instance, the existing window will show.
And here is a Windows build. (https://bitbucket.org/mystery_keeper/vapoursynth-editor/downloads/VapourSynthEditor-64bit-2017-09-22.7z)
Are_
22nd September 2017, 12:26
It's not yet tagged in the main repo.
Mystery Keeper
22nd September 2017, 12:56
It's not yet tagged in the main repo.
Because it is not released yet. Since changes are big, I'd like users to test.
I've just stomped out the context menu bugs and updated the test build.
Are_
22nd September 2017, 18:50
Oh yep, I missread you.
lansing
22nd September 2017, 20:36
The right click control still feel kind of weird. When I highlight the selection and right click, the selection in the background should remain highlighted. And the context menu for the selection should only be selectable if I right click on top of the selection, it shouldn't be available if I right click on anywhere else in the editor.
Another issue with selection I found, when I double click on a word and drag very fast to the right, the highlight always misses the last character of the line, for example
core = vs.get_core(accept_lowercase=True)
It always missed the ")" at the end.
Mystery Keeper
22nd September 2017, 22:02
The right click control still feel kind of weird. When I highlight the selection and right click, the selection in the background should remain highlighted. And the context menu for the selection should only be selectable if I right click on top of the selection, it shouldn't be available if I right click on anywhere else in the editor.
Another issue with selection I found, when I double click on a word and drag very fast to the right, the highlight always misses the last character of the line, for example
core = vs.get_core(accept_lowercase=True)
It always missed the ")" at the end.
The text doesn't get deselected. Just the background colour seems to change on the editor loosing focus. But I checked with other editors, and some of them do what Qt's editor doesn't. They reset cursor if right click is made outside the selection. I don't know if I should adopt that behavior.
Your second problem I can't reproduce.
lansing
22nd September 2017, 23:34
The text doesn't get deselected. Just the background colour seems to change on the editor loosing focus. But I checked with other editors, and some of them do what Qt's editor doesn't. They reset cursor if right click is made outside the selection. I don't know if I should adopt that behavior.
That's what every editor do, including the browser.
Your second problem I can't reproduce.
Double click on the first word, hold on the left button, then drag very quickly to the right to highlight the line, the selection will always break before the last character that wasn't a part of a word.
# this works normally
core = vs.get_core(accept_lowercase=True
# this will break before ")"
core = vs.get_core(accept_lowercase=True)
# this will break before "."
core = vs.get_core(accept_lowercase=True.
Are_
22nd September 2017, 23:35
I finally got to test it on Gentoo Linux (KDE Plasma desktop) and nothing related to the jobs works. What can I do to help you debug it?
2017-09-23 00:30:43.613
Could not start job server watcher.
Mystery Keeper
23rd September 2017, 00:26
That's what every editor do, including the browser.
Firefox edit boxes don't. I might try to fix it in vsedit, but that's a Qt control limitation, not a bug.
Double click on the first word, hold on the left button, then drag very quickly to the right to highlight the line, the selection will always break before the last character that wasn't a part of a word.
# this works normally
core = vs.get_core(accept_lowercase=True
# this will break before ")"
core = vs.get_core(accept_lowercase=True)
# this will break before "."
core = vs.get_core(accept_lowercase=True.
Reproduced it. Once again, that's a Qt control limitation. Might call it a bug. I probably can't fight it at all without committing to Qt code. Also, it's a very minor and avoidable nuisance. I'm inclined to ignore it.
I finally got to test it on Gentoo Linux (KDE Plasma desktop) and nothing related to the jobs works. What can I do to help you debug it?
2017-09-23 00:30:43.613
Could not start job server watcher.
Have you built the job server and the watcher? You need to build the whole parent project, not just vsedit. Also note that you need QtNetwork and QtWebSocket components to build it now.
Mystery Keeper
23rd September 2017, 16:40
R17 is out:
-BUGFIX: Blank preview on variable size video with fixed zoom ratio.
-BUGFIX: Saving new script.
-BUGFIX: Invalid context menu for editor.
-BUGFIX: Context menu behavior in preview.
-New multi-app architecture: editor, job server, server watcher.
You can now encode your script with a familiar dialog or enqueue an encoding job on job server.
Server Watcher acts both like a GUI frontend to server and as a bridge between the editor and various servers.
Server itself has no GUI, which makes it process the jobs faster.
Only one watcher instance can run at time, and you can connect it to remote server.
By default watcher starts or connects to local server.
Remote server only lets to edit jobs from whitelisted addresses.
Same goes for editing the white list. Initially only local watcher can do that.
JOBS CAN BE USED TO RUN ARBITRARY PROCESSES AND SHELL COMMANDS ON YOUR PC. ALLOWING REMOTE CONNECTIONS PUTS YOUR PC IN DANGER.
VS_Fan
11th October 2017, 02:07
The 32bit version gives me: "The application was unable to start correctly (0xc000007b). Click OK to close the application", both with installed and portable versions of VapourSynth R39.
V16 works fine with VS R39, installed and portable
Web search results coincide on "0xc000007b error usually comes from mixing up 32bit environment with 64bit one. For example 32bit application loads a 64bit dll causing 0xc000007b error (http://www.tomshardware.com/answers/id-1991597/windows-bit-error-0xc000007b.html).
Could the cause be that some 64bit libs were erroneously included in the 32bit package ?
Mystery Keeper
11th October 2017, 05:21
The 32bit version gives me: "The application was unable to start correctly (0xc000007b). Click OK to close the application", both with installed and portable versions of VapourSynth R39.
V16 works fine with VS R39, installed and portable
Web search results coincide on "0xc000007b error usually comes from mixing up 32bit environment with 64bit one. For example 32bit application loads a 64bit dll causing 0xc000007b error (http://www.tomshardware.com/answers/id-1991597/windows-bit-error-0xc000007b.html).
Could the cause be that some 64bit libs were erroneously included in the 32bit package ?
Indeed. Qt seems to has deployed wrong distribution. I'll fix it later today.
Update: Fixed.
VS_Fan
12th October 2017, 04:42
Thank you. It's working fine
ale_x
13th October 2017, 10:16
Hey guys!
First of all this steps I did it in my laptop (Win 8.1 64) and everything working perfectly , but When I did that in my Server (wind server 2012 - 64) I got an error
Fisrt I installed "python-3.6.2-amd64-webinstall" after that "python-3.6.2-amd64-webinstall_run_after_installed" + py scripts
Path : C:\Users\xxxxxxx\AppData\Local\Programs\Python\Python36
my py scripts : https://i.imgur.com/YhZLWam.png
following VapourSynth-R38 + dll files
Path: C:\Program Files (x86)\VapourSynth
my dll files : https://i.imgur.com/Tc9R7Qg.png
When I opened my script with vsedit.exe program I got this three message
https://i.imgur.com/5zN69nn.png
https://i.imgur.com/ETC0pt7.png
https://i.imgur.com/aBjirhe.png
ٍI ignored all this messages and opened my vpy script with vsedit
from vapoursynth import core
import vapoursynth as vs
core = vs.get_core()
#core.std.LoadPlugin(path=r'C:\Program Files (x86)\VapourSynth\plugins64\KNLMeansCL.dll')
#core.std.LoadPlugin(path=r'C:\Program Files (x86)\VapourSynth\plugins64\KNLMeansCL.dll')
#core.std.LoadPlugin(path=r'C:\Program Files (x86)\VapourSynth\plugins64\eedi3.dll')
import fvsfunc as fvf
import mvsfunc as mvf
import havsfunc as hvf
src = core.ffms2.Source("")
src = src.std.AssumeFPS(fpsnum=24000,fpsden=1001)
src = mvf.Depth(src, 16)
merged = merged.std.Trim(3855,3860)
merged.set_output()
This is the error that I got
Failed to evaluate the script:
Python exception: No attribute with the name <<knlm>> exists. Did you mistype a plugin namespace?
Traceback (most recent call last):
File "src\cython\vapoursynth.pyx", line 1810, in vapoursynth.vpy_evaluateScript (src\cython\vapoursynth.c:36455)
File "C:/Users/xxxxx/Desktop/xxxxx/DC_loslss.vpy", line 17, in
File "C:\Users\xxxxx\AppData\Local\Programs\Python\Python36\lib\site-packages\kagefunc.py", line 383, in hybriddenoise
for plane in planes[1:]]
File "C:\Users\alkoon\AppData\Local\Programs\Python\Python36\lib\site-packages\kagefunc.py", line 383, in
for plane in planes[1:]]
File "src\cython\vapoursynth.pyx", line 1524, in vapoursynth._CoreProxy.__getattr__ (src\cython\vapoursynth.c:31934)
File "src\cython\vapoursynth.pyx", line 1379, in vapoursynth.Core.__getattr__ (src\cython\vapoursynth.c:29142)
AttributeError: No attribute with the name knlm exists. Did you mistype a plugin namespace?
So I used
core.std.LoadPlugin('C:\Program Files (x86)\VapourSynth\plugins64\KNLMeansCL.dll')
But I got error again
Failed to evaluate the script:
Python exception: Failed to load C:\Program Files (x86)\VapourSynth\plugins64\KNLMeansCL.dll. GetLastError() returned 127.
Traceback (most recent call last):
File "src\cython\vapoursynth.pyx", line 1810, in vapoursynth.vpy_evaluateScript (src\cython\vapoursynth.c:36455)
File "C:/Users/xxxxx/Desktop/xxxxx/DC_loslss.vpy", line 5, in
#core.std.LoadPlugin('C:\Program Files (x86)\VapourSynth\plugins64\KNLMeansCL.dll')
File "src\cython\vapoursynth.pyx", line 1702, in vapoursynth.Function.__call__ (src\cython\vapoursynth.c:34595)
vapoursynth.Error: Failed to load C:\Program Files (x86)\VapourSynth\plugins64\KNLMeansCL.dll. GetLastError() returned 127.
its works in my laptop, but not in server I don't know why !_!
Thanks in advance.
(Excuse my poor eng).
Are_
13th October 2017, 14:50
Something wrong with your opencl install, either the minimum required version for this plug-ins to work is not supported by your car or bad driver install. Try reinstalling your graphic drivers and checking opencl versions.
ale_x
15th October 2017, 20:34
Something wrong with your opencl install, either the minimum required version for this plug-ins to work is not supported by your car or bad driver install. Try reinstalling your graphic drivers and checking opencl versions.
Actually my server don't have graphic drivers >_<
anyway many thanks for the prompt reply.
:thanks:
Mystery Keeper
28th October 2017, 21:06
R18 is out:
-BUGFIX: Crash on encode dialog initialization error.
-BUGFIX: No error in log on encode dialog initialization error.
-Import chapter files as preview bookmarks (by brainvlad@gmail.com).
I'm sick of fighting with Qt auto-distribution, so no more 32 bit builds.
lansing
28th November 2017, 08:29
Hi I requesting a feature to save bookmarks to text. I trying to record all key frames of a clip, so having a feature to do it without manually typing out every single key frames would save me tons of time.
Mystery Keeper
28th November 2017, 12:22
Hi I requesting a feature to save bookmarks to text. I trying to record all key frames of a clip, so having a feature to do it without manually typing out every single key frames would save me tons of time.
Bookmarks ARE in a text file.
<path to your script>.bookmarks
lansing
28th November 2017, 16:14
Bookmarks ARE in a text file.
<path to your script>.bookmarks
Oh I saw it now, didn't notice that it auto saves a bookmark file in the same location as the script.
Can you also add a couple of seconds of feedback in the status bar like "frame 123 bookmarked" after an action? Because I'm doing it with hotkey, and when I do it for a long period of time, I would start to lose concentration on whether I hit the right hotkey.
ChaosKing
28th November 2017, 17:20
Why don't you automate the key frame extraction? You could save all I-frames to a txt file, see FrameProps http://www.vapoursynth.com/doc/functions/frameprops.html
lansing
28th November 2017, 17:38
Why don't you automate the key frame extraction? You could save all I-frames to a txt file, see FrameProps http://www.vapoursynth.com/doc/functions/frameprops.html
Because all the scene change detection filter sucks.
Mystery Keeper
28th November 2017, 17:53
Because all the scene change detection filter sucks.
Keyframes and scene changes are different things.
lansing
28th November 2017, 19:07
Keyframes and scene changes are different things.
Either way, they're not accurate enough. FrameProps will miss I-frame on blending transitions or scenes with similar color on the corner of the frames. So the best way to get all the key frames is manually recording them.
DJATOM
28th November 2017, 19:48
lansing
bookmarks file consists from comma-separated numeric values (frame numbers), just parse them with, say, python and do your stuff :)
lansing
3rd December 2017, 18:06
Aside from the action feedback status bar, I would also like to request an option to display all bookmarks in a list so I can jump around between them. It's not navigable when I have hundreds of them.
https://i.imgur.com/zRnNxSE.png
Mystery Keeper
3rd December 2017, 19:22
Aside from the action feedback status bar, I would also like to request an option to display all bookmarks in a list so I can jump around between them. It's not navigable when I have hundreds of them.
https://i.imgur.com/zRnNxSE.png
You can jump around between the bookmarks. Either by CTRL+clicking the timeline, or by CTRL+arrows while in the preview dialog. And you don't need to keep every panel open in the preview dialog. Some of the buttons hide/show them.
lansing
3rd December 2017, 20:40
You can jump around between the bookmarks. Either by CTRL+clicking the timeline, or by CTRL+arrows while in the preview dialog. And you don't need to keep every panel open in the preview dialog. Some of the buttons hide/show them.
It's hard to click on the right spot on that tiny time bar...
And ctrl+left and right are overlapped by another shortcut action, I got warning message "Qt warning: QAction::eventFilter: Ambiguous shortcut overload: Ctrl+Left".
Mystery Keeper
3rd December 2017, 20:48
It's hard to click on the right spot on that tiny time bar...
And ctrl+left and right are overlapped by another shortcut action, I got warning message "Qt warning: QAction::eventFilter: Ambiguous shortcut overload: Ctrl+Left". That means you have two actions bound to Ctrl+left shortcut. Go into your hotkey settings and fix it.
lansing
3rd December 2017, 21:46
That means you have two actions bound to Ctrl+left shortcut. Go into your hotkey settings and fix it.
I checked it, it was conflicting with the "time: step forward/back" action, but I'm pretty sure that I haven't touch these settings before. It should be settings of the older version that got carry over when I upgraded the program and got merged with the new settings, therefore the conflict.
How do I reset default for the hotkey?
Mystery Keeper
3rd December 2017, 23:55
I checked it, it was conflicting with the "time: step forward/back" action, but I'm pretty sure that I haven't touch these settings before. It should be settings of the older version that got carry over when I upgraded the program and got merged with the new settings, therefore the conflict.
How do I reset default for the hotkey?
That's right. I changed few hotkeys, and you had old settings carry over. I should put reset to default options in few sections. For now you can edit "vsedit.config" file and simply erase the "hotkeys" section. It is either in the application folder or in C:\Users\<your user>\AppData\Local\ on Windows. Somewhere in the home folder on Linux.
lansing
6th December 2017, 17:59
Is there an option to save and load bookmarks? I don't want to copying and pasting every time I make a change to a bookmark text that is not the default bookmark file.
Mystery Keeper
6th December 2017, 20:24
Is there an option to save and load bookmarks? I don't want to copying and pasting every time I make a change to a bookmark text that is not the default bookmark file.There isn't. I'll add it in future.
lansing
7th December 2017, 06:07
I was saving a snap shot of the same frame from both adobe premiere and vs editor, both to png. The premiere one was in 32-bit, and the vs editor one was 24-bit. But the vs editor one is more than 2 times bigger in filesize, why is there a big difference?
poisondeathray
7th December 2017, 07:16
I was saving a snap shot of the same frame from both adobe premiere and vs editor, both to png. The premiere one was in 32-bit, and the vs editor one was 24-bit. But the vs editor one is more than 2 times bigger in filesize, why is there a big difference?
1) maybe some process differences contributing . e.g. different chroma upscaling method
2) maybe poor png compression algorithm. I tested avspmod png and it was 5x smaller. The vsedit produced png could be reduced in less than half by running it through ffmpeg to recompress as png . Using pngcrush or other optimized png compressors could probably reduce it more
Mystery Keeper
7th December 2017, 07:51
vsedit saves the preview frame (after conversion) to PNG with Qt standard method. This fact won't change. You can save as WebP if you want.
lansing
8th December 2017, 06:09
Hi is there any update on this problem (https://forum.doom9.org/showthread.php?p=1817822#post1817822)?
My editing requires me to reload the script and preview so often, and the program is not flushing memory, so after 10+ reloads the program piled up to 10+G of ram and ran out of memory.
Mystery Keeper
8th December 2017, 07:35
Hi is there any update on this problem (https://forum.doom9.org/showthread.php?p=1817822#post1817822)?
My editing requires me to reload the script and preview so often, and the program is not flushing memory, so after 10+ reloads the program piled up to 10+G of ram and ran out of memory.
Me and Myrsloik tried to root out that problem, but it doesn't seem to be in vsedit or VapourSynth. Probably some plugins don't free memory properly. There's nothing we can do about it.
Boulder
8th December 2017, 08:46
Hi is there any update on this problem (https://forum.doom9.org/showthread.php?p=1817822#post1817822)?
My editing requires me to reload the script and preview so often, and the program is not flushing memory, so after 10+ reloads the program piled up to 10+G of ram and ran out of memory.
I found out a similar memory leak in mvtools, it's probably required to simplify things until you find the filter or plugin which causes it.
lansing
8th December 2017, 09:08
Ok I think I found it.
def set_frame_number(n, f):
fout = f.copy()
fout.props.FrameNumber = n
return fout
def ShowFrameNumber(n,f,clip):
frame_num = f.props.FrameNumber
return core.sub.Subtitle(clip, text=str(frame_num))
ref_clip = core.std.ModifyFrame(clip=ref_clip, clips=ref_clip, selector=set_frame_number)
ref_clip = core.std.FrameEval(ref_clip, partial(ShowFrameNumber, clip=ref_clip), prop_src=ref_clip)
This code is in the middle of my script adding frame number to the frame. When I commented them out the last 2 lines the memory will always flushes to 40MB when I closed preview. If I left them there the memory will pile up and will not flush on preview close.
lansing
12th December 2017, 06:08
Reporting a bug, when I open a preview and start a new script, the preview window will still be running
Mystery Keeper
12th December 2017, 07:02
Reporting a bug, when I open a preview and start a new script, the preview window will still be runningNot a bug. Works as intended. Preview window is once initialized with the script in editor and then no longer bound to it.
lansing
12th December 2017, 07:30
Not a bug. Works as intended. Preview window is once initialized with the script in editor and then no longer bound to it.
I can hardly find a reason to keep the preview open if I'm starting a new script.
Mystery Keeper
12th December 2017, 08:12
I can hardly find a reason to keep the preview open if I'm starting a new script.It's the least intrusive way. You can just close it. If vsedit forced it close when people didn't want to close it - it would be worse. I might add an option to close preview window on new script. It won't be enabled by default.
kriNon
14th December 2017, 17:09
I am trying to use a 32-bit avisynth plugin that will not work with vapoursynth x64, I've got both vapoursynth 32-bit and 64-bit installed.
How would I go about making vsedit use 32-bit python, and 32-bit vapoursynth?
poisondeathray
14th December 2017, 17:14
I am trying to use a 32-bit avisynth plugin that will not work with vapoursynth x64, I've got both vapoursynth 32-bit and 64-bit installed.
How would I go about making vsedit use 32-bit python, and 32-bit vapoursynth?
Did you try 32bit python and 32bit vsedit ?
There doesn't seem to be 32bit R18 compiled , so try R17
https://bitbucket.org/mystery_keeper/vapoursynth-editor/downloads/
kriNon
14th December 2017, 17:25
Did you try 32bit python and 32bit vsedit ?
There doesn't seem to be 32bit R18 compiled , so try R17
https://bitbucket.org/mystery_keeper/vapoursynth-editor/downloads/
Thanks! That worked perfectly
poisondeathray
16th December 2017, 18:04
How do you comment out a whole section or bunch of lines ?
In avspmod, I could enclose the section with /* and */ , but it doesn't seem to work here
Mystery Keeper
16th December 2017, 18:12
How do you comment out a whole section or bunch of lines ?
In avspmod, I could enclose the section with /* and */ , but it doesn't seem to work hereVapourSynth uses Python language. You comment individual lines with # symbol. In the VS Editor you use hotkeys to:
-comment selected lines: Ctrl+Shift+C
-uncomment selected lines: Ctrl+Shift+X
-toggles selected lines comment: Ctrl+/
You can set your own hotkeys for these actions in settings.
poisondeathray
16th December 2017, 18:18
VapourSynth uses Python language. You comment individual lines with # symbol. In the VS Editor you use hotkeys to:
-comment selected lines: Ctrl+Shift+C
-uncomment selected lines: Ctrl+Shift+X
-toggles selected lines comment: Ctrl+/
You can set your own hotkeys for these actions in settings.
Yes, I knew about the "#" that's the same as avisynth.
But the CTRL+Shift+C / CTRL+Shift+X is awesome
In hindsight, sorry it's a dumb question because listed it's in the edit menu. DUH ....(13 strikes under the old regime :D)
There probably is a bunch of other useful stuff I haven't found yet
Thanks
K3
29th December 2017, 20:52
Hey, I wanted scene filtering in vapoursynth similar to avisynth (http://tp7.github.io/articles/scenefiltering/) where you can apply a filter to a section between two bookmarks with hotkeys.
The first step to this was finding a way to import scxvid keyframes into vsedit. After a bit of digging, I found that vsedit .bookmarks files were really just a plaintext file with nothing but frame numbers stored and separated by a space and a comma. I then looked into avspmod's source code to see how it preformed the action. After a couple hours of banging my head against the keyboard, I achieved importing scxvid keyframes into vsedit by getting the avspmod code that made the frame numbers then modifying it to print out a separate file.
A buddy of mine completely rewrote that code and turned it into a CLI script which you can find here. (https://hastebin.com/ewesocaput.py)
To use it, first make the scxvid keyframes and then just run the Python3 script using the given syntax when you run the script. After that, open up your video in vsedit, place any random bookmark in the video and it will create a .bookmarks file of the same name as your script and in the same directory, then open said file in notepad++ or similar and replace the contents with the contexts of the file created by the script above. Afterwards, close vsedit and reopen it and reload your video and you'll see your scxvid keyframes are loaded as bookmarks which you can skip between with ctrl+left/right arrow key.
The keyframes aren't entirely accurate and may insert false keyframes, but it's what people have done in avspmod for years and it's worked just fine.
The next course of action would be:
1. implement the option to import a .bookmarks file with vsedit's simple format of frame numbers separated by a comma and a space to make that step of the progress easier,
2. implementing/creating macros to apply your desired filter to the frame selection indicated by the bookmarks just like you can with avspmod.
Wobbly implements a way to do #2 but you can't view your filtering in real time with wobbly's preview window. The way wobbly does this is by making a python def in what it calls a "pattern" such as clip = taa.TAAmbk(clip, aatype='Nnedi3') with the def being def aa(clip):
clip = taa.TAAmbk(clip, aatype='Nnedi3')
return clip
A full script scene filtered with wobbly looks like this (https://hastebin.com/icusovapeh.py) (a couple things added by me by hand because there didn't seem to be a way to do dithering in wobby or apply a filter to the final output) Perhaps someone could make something from modified wobbly code?
Would making macros like we can with avspmod be doable? I don't have the programming knowledge to do this myself but I tried looking into everything to make it as easy and straight forward as I could for someone who does.
EDIT: here's a sample scxvid keyframes file https://pastebin.com/47GayXEZ save the paste as whatever .log or .txt.
poisondeathray
19th January 2018, 07:01
feature request: add x= , y= position readout for the eyedropper
Mystery Keeper
19th January 2018, 07:21
feature request: add x= , y= position readout for the eyedropperCan do.
Life's been hectic, but probably will have more free time soon.
ChaosKing
6th February 2018, 16:55
Is it possible to set the header type to y4m as default? When I open [Encode video] it's always set to "no header" and I need to reselect my preset or change it manually.
And yes the preset has header_type=1 in vsedit.config.
fAy01
6th February 2018, 18:51
Feature request: is it possible to have multiple tabs for comparing sources e.g. Tab1: Source Tab2: Filtered. Would you be able to implement that? Similar to avspmod.
Mystery Keeper
8th February 2018, 08:22
Feature request: is it possible to have multiple tabs for comparing sources e.g. Tab1: Source Tab2: Filtered. Would you be able to implement that? Similar to avspmod.Comparison of output clips in the same script is planned.
kkka
16th February 2018, 11:32
I am confused about it booting up with "Failed to load vapoursynth script library! Please set up the library search path in settings". This occurs for me from installing it from the ubuntu ppa's and when building both vapoursynth and vsedit from source. What settings should I have for the script library? Vapoursynth works fine outside of vsedit btw.
Ubuntu 16.04
Mystery Keeper
16th February 2018, 11:39
I am confused about it booting up with "Failed to load vapoursynth script library! Please set up the library search path in settings". This occurs for me from installing it from the ubuntu ppa's and when building both vapoursynth and vsedit from source. What settings should I have for the script library? Vapoursynth works fine outside of vsedit btw.
Ubuntu 16.04
Use this instruction (http://www.l33tmeatwad.com/vapoursynth101/software-setup).
kkka
16th February 2018, 12:18
Use this instruction (http://www.l33tmeatwad.com/vapoursynth101/software-setup).
Yup, the new instruction worked once I forced it to python 3.5 before compling vapoursynth & vsedit. on 3.6 I got a new error. Before I was going off the BUILD file. Thanks.
l33tmeatwad
24th February 2018, 02:23
Revisions 17 and 18 have be added to the OSX downloads page.
fAy01
20th April 2018, 00:01
Feature request: Could you have the timestamp of the current frame and frame number appear at the bottom of the preview screen in vsedit (that can be turned on or off accordingly)? In other words, make it possible for the user to customize the information displayed at the bottom of the preview window.
Example:
https://i.imgur.com/GqwNly0.png
Mystery Keeper
20th April 2018, 14:10
Feature request: Could you have the timestamp of the current frame and frame number appear at the bottom of the preview screen in vsedit (that can be turned on or off accordingly)? In other words, make it possible for the user to customize the information displayed at the bottom of the preview window.
Example:
https://i.imgur.com/GqwNly0.png
That's a good idea, thank you.
Sorry for lack of improvements.
My life has been hectic lately.
fAy01
22nd April 2018, 19:02
That's a good idea, thank you.
Sorry for lack of improvements.
My life has been hectic lately.
could you also add a shortcut and feature 'copy current timestamp to clipboard' for creating chapters?
DJATOM
26th April 2018, 10:07
could you also add a shortcut and feature 'copy current timestamp to clipboard' for creating chapters?
I think it should be better to implement "Export bookmarks as chapters" :)
fAy01
26th April 2018, 10:17
I think it should be better to implement "Export bookmarks as chapters" :)
Automated chapters yay, but should offer different formats i.e. txt, xml, etc.
Mystery Keeper
27th April 2018, 16:07
Okay, before it gets out of hand. There are many improvements in VapourSynth Editor I hope to get around to implementing. Chapters is not among them. Bookmarks were never intended as a chaptering tool, neither was vsedit. If you absolutely must - you can convert bookmark files to whatever you need with Python scripts. I am intending to implement formatted frame properties pasting though.
fAy01
28th April 2018, 04:09
Okay, before it gets out of hand. There are many improvements in VapourSynth Editor I hope to get around to implementing. Chapters is not among them. Bookmarks were never intended as a chaptering tool, neither was vsedit. If you absolutely must - you can convert bookmark files to whatever you need with Python scripts. I am intending to implement formatted frame properties pasting though.
Right, you don't necessarily have to implement if you don't want to but it really is a useful feature to have. Using bookmarks in that way may not be the way you intended but don't the users have the freedom to use the tool you kindly provided for their own purposes?
foxyshadis
3rd May 2018, 05:21
You might be better off posting a ticket to bitbucket as an enhancement, then if anyone feels like picking it up they can. Once in a very rare while someone else contributes. I think a decent chapter editor would be a better addition, but someone might be willing to make a quick hack of a chapter exporter from the current bookmarks, who knows.
You might be better off posting a ticket to bitbucket as an enhancement, then if anyone feels like picking it up they can. Once in a very rare while someone else contributes. I think a decent chapter editor would be a better addition, but someone might be willing to make a quick hack of a chapter exporter from the current bookmarks, who knows.
Done.
https://bitbucket.org/mystery_keeper/vapoursynth-editor/issues/34/chapter-editor
ChaosKing
8th June 2018, 16:04
Is a true portable mode possible?
It seems that vs editor checks for installed VS installations via registry. https://bitbucket.org/mystery_keeper/vapoursynth-editor/src/6d2142eada5229df7ea766d33f923c7b555f01d7/common-src/vapoursynth/vs_script_library.cpp?at=master&fileviewer=file-view-default#vs_script_library.cpp-218
Is there a way to ignore a locally installad Vapoursynh installation in vseditor? With some batch script magic maybe?
Or can this VS check be ignored if the "portable mode" checkbox is set to true? (now it only saves the config in its own folder)
This way one can still use/test different VS version within this editor.
p.s. I tried to set plugin and lib search paths in the config file, but the editor uses always the installed VS version.
Mystery Keeper
8th June 2018, 16:20
Is a true portable mode possible?
It seems that vs editor checks for installed VS installations via registry. https://bitbucket.org/mystery_keeper/vapoursynth-editor/src/6d2142eada5229df7ea766d33f923c7b555f01d7/common-src/vapoursynth/vs_script_library.cpp?at=master&fileviewer=file-view-default#vs_script_library.cpp-218
Is there a way to ignore a locally installad Vapoursynh installation in vseditor? With some batch script magic maybe?
Or can this VS check be ignored if the "portable mode" checkbox is set to true? (now it only saves the config in its own folder)
This way one can still use/test different VS version within this editor.
p.s. I tried to set plugin and lib search paths in the config file, but the editor uses always the installed VS version.
Oh, right. It prefers the registry over provided paths.
If I manage to get my build environment up on Windows - I might add an option to give priority to the provided paths or the application directory. What you can do now is to rename the registry branch, so vsedit wouldn't find it.
lansing
31st July 2018, 00:51
I'm just installed Qt5 and downloaded the vs editor source, how do I load the entire project with Qt Creator so all the files are connected?
Mystery Keeper
31st July 2018, 05:12
I'm just installed Qt5 and downloaded the vs editor source, how do I load the entire project with Qt Creator so all the files are connected?
Load pro/pro.pro file.
lansing
2nd August 2018, 10:28
Load pro/pro.pro file.
How do I add new file in the project tree in qt creator? For example, I want to add a new header file in the preview folder "pro\vsedit\Headers\my local preview folder\'vsedit\src'\preview". But after I added it, it was located under the pro folder instead, "pro\Headers\my local preview folder", and I got all the "file not found" errors by the program when I try to call any library in that header file.
#include <QtWidgets> 'QtWidgets' file not found
Mystery Keeper
2nd August 2018, 10:52
How do I add new file in the project tree in qt creator? For example, I want to add a new header file in the preview folder "pro\vsedit\Headers\my local preview folder\'vsedit\src'\preview". But after I added it, it was located under the pro folder instead, "pro\Headers\my local preview folder", and I got all the "file not found" errors by the program when I try to call any library in that header file.
#include <QtWidgets> 'QtWidgets' file not found
Manually edit the .pro files of the projects you want to add it too.
Mind the directory variables.
Please keep consistency with the project files if you want to make your changes public.
lansing
5th August 2018, 03:00
Manually edit the .pro files of the projects you want to add it too.
Mind the directory variables.
Please keep consistency with the project files if you want to make your changes public.
I'm trying to submit changes, I cloned the repository to my sourcetree program, but when I tried to push it, it said I'm not authorized. I must be doing something wrong.
Mystery Keeper
5th August 2018, 03:04
I'm trying to submit changes, I cloned the repository to my sourcetree program, but when I tried to push it, it said I'm not authorized. I must be doing something wrong.Yup, you're not authorized. It's my repository you're trying to push to. Usually people go about it by forking the whole repository, pushing changes into their fork, then sending a pull request to me or submitting a patch.
lansing
5th August 2018, 03:33
Yup, you're not authorized. It's my repository you're trying to push to. Usually people go about it by forking the whole repository, pushing changes into their fork, then sending a pull request to me or submitting a patch.
Thanks I think I got it now. I sent pull request.
lansing
8th August 2018, 15:24
I found a display bug in the timeline slider with the latest committed version. When mouse click inside the slider and drag straight left or right, there will be a few flashes of a big black tooltip. If I click and do a quick drag to both side first, the bug will not trigger. The released version doesn't have this problem.
Mystery Keeper
8th August 2018, 16:02
I found a display bug in the timeline slider with the latest committed version. When mouse click inside the slider and drag straight left or right, there will be a few flashes of a big black tooltip. If I click and do a quick drag to both side first, the bug will not trigger. The released version doesn't have this problem.I've got no idea what you're talking about. Can't reproduce. Try to find vsedit config file and delete the [theme] section.
lansing
8th August 2018, 18:42
I've got no idea what you're talking about. Can't reproduce. Try to find vsedit config file and delete the [theme] section.
I deleted the whole config file at AppData\local\ but the problem is still there.
Mystery Keeper
8th August 2018, 19:25
Could you please record a video of your screen when you do that? Because I really don't know what you're talking about.
lansing
8th August 2018, 20:00
Could you please record a video of your screen when you do that? Because I really don't know what you're talking about.
Here (http://www.mediafire.com/file/n2xzt76zra9dpdt/tooltip_issue.mp4)
At the end I show where it wasn't trigger.
Mystery Keeper
8th August 2018, 20:38
Sorry, but nope. Can't reproduce.
~ VEGETA ~
18th August 2018, 03:56
Video is always detached in this editor, can't it be the other way around? like avspmod?
lansing
18th August 2018, 04:59
I'm going to tap into implementing the multi view comparison feature. I have studied the design of avspmod and avsedit plus and I think the multi tab preview of avspmod is definitely the most ideal design for video comparing . The split view of avsedit looks pretty cool when making snapshot, but it quickly became useless when comparing more than two videos.
What I'm thinking is to have a tab window for scripts and another tab window for the previews, each tab in the script window will tie to the corresponding tab in the preview window. Avspmod has this layout too but I doubt many people knew about it because it's not default. I didn't know it until today. The default combined layout of avspmod looks good until you maximize the window, where you have tons of white spaces wasted.
What are the other thought about this?
Mystery Keeper
18th August 2018, 09:56
I'm going to tap into implementing the multi view comparison feature. I have studied the design of avspmod and avsedit plus and I think the multi tab preview of avspmod is definitely the most ideal design for video comparing . The split view of avsedit looks pretty cool when making snapshot, but it quickly became useless when comparing more than two videos.
What I'm thinking is to have a tab window for scripts and another tab window for the previews, each tab in the script window will tie to the corresponding tab in the preview window. Avspmod has this layout too but I doubt many people knew about it because it's not default. I didn't know it until today. The default combined layout of avspmod looks good until you maximize the window, where you have tons of white spaces wasted.
What are the other thought about this?
I decided against allowing tabs for stability reasons. Don't want to lose all my work if previewing one script crashes the editor.
I am going to implement comparison eventually. But among several output nodes rather than several scripts.
Mystery Keeper
18th August 2018, 09:59
Video is always detached in this editor, can't it be the other way around? like avspmod?
If I try to make preview embedable - that would severely complicate the code and possibly introduce bugs. I personally find separately managing screen space of text and video preview more convenient.
lansing
18th August 2018, 13:28
I decided against allowing tabs for stability reasons. Don't want to lose all my work if previewing one script crashes the editor.
I am going to implement comparison eventually. But among several output nodes rather than several scripts.
How are you going to organize the scripts without tab? For example, if I have three scripts that I wanted to compare, the original, denoised and denoised2, how would the layout look like. And what's your view on the layout for the preview windows?
Mystery Keeper
18th August 2018, 13:42
How are you going to organize the scripts without tab? For example, if I have three scripts that I wanted to compare, the original, denoised and denoised2, how would the layout look like. And what's your view on the layout for the preview windows?
Instead of 3 scripts you make one script with 3 output nodes - each with their own processing.
Comparison will have several options. Vertical, horizontal and rectangular alignment and some kind of switching for 3 and more nodes, plus swipeline for just 2 nodes.
lansing
18th August 2018, 14:35
Instead of 3 scripts you make one script with 3 output nodes - each with their own processing.
Comparison will have several options. Vertical, horizontal and rectangular alignment and some kind of switching for 3 and more nodes, plus swipeline for just 2 nodes.
How are they organize? Are they going to be managed by one main window like tab or all in their own windows?
As an experienced user, I found that all the split view comparison mode very little use, because that's not how people do video comparison. The images have to be stack on top of each other in order to better spot differences.
Mystery Keeper
18th August 2018, 15:30
How are they organize? Are they going to be managed by one main window like tab or all in their own windows?
As an experienced user, I found that all the split view comparison mode very little use, because that's not how people do video comparison. The images have to be stack on top of each other in order to better spot differences.That's why there will be several options. You'll see when it's done. I can't promise any timeframe for it to be done.
tuanden0
22nd October 2018, 10:13
VSEditor crashed when call nnedi3_resample
I use nnedi3_resample here: https://github.com/mawen1250/VapourSynth-script
Here's my *.vpy:
import vapoursynth as vs
import fvsfunc as fvf
import nnedi3_resample as nnrs
core = vs.core
clip = core.ffms2.Source(r"E:\Download\Source\zzz\test.mkv")
clip = core.std.AssumeFPS(clip, fpsnum=24000, fpsden=1001)
clip = fvf.Depth(clip, bits=16)
clip = nnrs.nnedi3_resample(clip, 1280, 720)
clip.set_output()
First I checked and no error: https://i.imgur.com/KTbKRjd.png
But when I preview, VSEditor crashed: https://i.imgur.com/gAZMaUO.png
Then I tried to port this script to Avisynth to preview: https://i.imgur.com/rUNCJRf.png
And It's work: https://i.imgur.com/XE6fgOD.png
So, I think this is VSeditor problem.
Myrsloik
22nd October 2018, 11:20
VSEditor crashed when call nnedi3_resample
I use nnedi3_resample here: https://github.com/mawen1250/VapourSynth-script
Here's my *.vpy:
First I checked and no error: https://i.imgur.com/KTbKRjd.png
But when I preview, VSEditor crashed: https://i.imgur.com/gAZMaUO.png
Then I tried to port this script to Avisynth to preview: https://i.imgur.com/rUNCJRf.png
And It's work: https://i.imgur.com/XE6fgOD.png
So, I think this is VSeditor problem.
Does it crash when you use vspipe?
tuanden0
22nd October 2018, 11:58
Does it crash when you use vspipe?
No, it doesn't
I can encode with it but can't preview on VSEditor
no1d
15th November 2018, 17:15
VSEditor crashed when call nnedi3_resample
Had the same issue, it seems that fmtc.resample is the culprit. Works fine with internal resizers.
Does it crash when you use vspipe?
It does for me, but only sometimes..
_Al_
27th December 2018, 01:59
Using Ubuntu 18.04 and its Python 3.6, using opencv version3 and
simple:
import cv2
silently crashes VapourSynth Editor, not sure what's going on, other moduls are imported fine, like numpy and others and also opencv import and functions work fine using IDLE3 or Terminal. Vapoursynth 45 works also.
lansing
19th January 2019, 08:38
For some reason the textarea in my vs editor turns all black, the texts are still there when I highlight them. It was working normal before and I don't know how I triggered it. How do I restore the default display?
Mystery Keeper
19th January 2019, 12:14
For some reason the textarea in my vs editor turns all black, the texts are still there when I highlight them. It was working normal before and I don't know how I triggered it. How do I restore the default display?That's a bug in job server settings handling. You can fix it by finding the vsedit.config file (user/AppData/local on Windows, or vsedit path if in portable mode) and erasing the "theme" section. The bug is fixed in the repo, but with all I've been going through, it never made it into release. I'll try to make a release soon.
lansing
19th January 2019, 21:55
That's a bug in job server settings handling. You can fix it by finding the vsedit.config file (user/AppData/local on Windows, or vsedit path if in portable mode) and erasing the "theme" section. The bug is fixed in the repo, but with all I've been going through, it never made it into release. I'll try to make a release soon.
Thanks I got it.
Mystery Keeper
20th January 2019, 16:03
R19 is out. Not much, mostly bug fixes. Life's been hectic. Development is slow.
-BUGFIX: Rapid settings updating on windows geometry change.
-BUGFIX: Theme settings corruption when using job server.
-Color picker update with a still mouse cursor in play mode.
-Benchmark dialog remembers first and last frame for current script.
lansing
20th January 2019, 17:08
I found a bug in the preview window, if I click and hold on a spot in the timeline, the tool tip box will turn into a black box and keep on flashing.
There's a problem with benchmark too that it doesn't exit the script when it was done. I was doing benchmarks on short clips that output a log on time use to finish. The log wasn't created until I closed the benchmark window and the time being idle after the benchmark finished had also been counted toward the timing in the log.
Mystery Keeper
20th January 2019, 17:25
I found a bug in the preview window, if I click and hold on a spot in the timeline, the tool tip box will turn into a black box and keep on flashing. Can't reproduce. What system you're on and what user environment (GNOME, KDE, Cinnamon, etc) you're using?
There's a problem with benchmark too that it doesn't exit the script when it was done. I was doing benchmarks on short clips that output a log on time use to finish. The log wasn't created until I closed the benchmark window and the time being idle after the benchmark finished had also been counted toward the timing in the log.There are other problems with benchmark window too. I'll work on it. But if you wrote the plugins you use for logging - you might want to change their logic to do what you want more reliably. VapourSynth Editor is not made with individual plugins in mind.
lansing
20th January 2019, 17:32
Can't reproduce. What system you're on and what user environment (GNOME, KDE, Cinnamon, etc) you're using?
Windows 7
Mystery Keeper
20th January 2019, 21:04
Windows 7
Are you using Aero (the transparent glass windows)?
lansing
20th January 2019, 23:35
Are you using Aero (the transparent glass windows)?
Yes. r18 doesn't have this problem.
F1nkster
21st January 2019, 16:11
I'm on Win10 running vsedit r19.
I add a custom library search path into vsedit Settings. It works fine (meaning I can import library files in that path) when I run vsedit as Admin. It does not work when I run as my normal user account.
I also added the path to PYTHONPATH and it works fine at the Python CLI, as one would expect. Just not from within vsedit.
Running vsedit as my normal user account works fine for library files that I add to ..\Python37\Lib\site-packages\vapoursynth. So it is just failing on custom paths that I add into vsedit Settings.
Also, I gave my user account full rights to Python37 and everything in it, plus the VapourSynth install directory (and everything in it), and the VapourSynth Editor directory (and everything in it). None of that made any difference.
I also deleted the config file that shows up in my AppData\Local directory. That resets all settings, but it did not change behavior.
I'm out of ideas!
Mystery Keeper
22nd January 2019, 05:12
I'm on Win10 running vsedit r19.
I add a custom library search path into vsedit Settings. It works fine (meaning I can import library files in that path) when I run vsedit as Admin. It does not work when I run as my normal user account.
I also added the path to PYTHONPATH and it works fine at the Python CLI, as one would expect. Just not from within vsedit.
Running vsedit as my normal user account works fine for library files that I add to ..\Python37\Lib\site-packages\vapoursynth. So it is just failing on custom paths that I add into vsedit Settings.
Also, I gave my user account full rights to Python37 and everything in it, plus the VapourSynth install directory (and everything in it), and the VapourSynth Editor directory (and everything in it). None of that made any difference.
I also deleted the config file that shows up in my AppData\Local directory. That resets all settings, but it did not change behavior.
I'm out of ideas!The only thing that comes to mind is registry. One of the things on my TODO list is to make custom paths take priority over registry. Maybe that would help. For now, try to reinstall Python "for all users".
I'm sorry to say that, but I'm NOT going to test on Windows 10. It's shit and should be avoided at any cost.
F1nkster
22nd January 2019, 13:54
That was a good thought, but it didn't work. It's not a showstopper. I'm back to using the Python37\Lib\site-packages directory. I'll cope! Anyhow, thanks for writing this software. I am in the process of moving from Win10 to Ubuntu. And this is why I am starting to use VapourSynth. It will be a bit longer though before I can make the jump. I am starting with VS in the meantime on Windows.
Btw, this may not be a VSEdit issue. I found I have the same problem when I load a VPY script into VDub2. I have to run VDub2 as Admin when using the custom path. So it's a bother all around which is why I just went back to using the standard site-packages dir.
ChaosKing
22nd January 2019, 14:26
On my windows 10 it is just in the PATH (for system, not user) var c:\python37 and everything works fine.
l33tmeatwad
24th January 2019, 15:16
Little behind on this, I'll get the new ones compiled for OSX as soon as I can.
l33tmeatwad
26th January 2019, 15:26
r19 is now on uploaded for macOS
asarian
4th February 2019, 05:53
I'm loving this piece of software! :) Found it very useful, recently, to get a quick preview of a movie I wanted to burn subs into.
One bit of annoyance, though. Whenever I start the preview (F5), I get a fatal error; something about fftw_make_planner_thread_safe entry point not found in the fft3dfilter library. The latter is actually, indeed, not present on my system, as I replaced it with libdfttest.dll recently (from another author). For the test, of course, I temporarily put fft3dfilter.dll back inside the plugins64 directory, but the same error still occured, oddly enough.
When I said 'fatal error', it's not actually so fatal, as I can just click it away, and the VapourSynth Editor will just continue as if nothing happened. Any particular reason, though, fft3dfilter is needed per se to start up the editor?!
Mystery Keeper
4th February 2019, 17:36
I'm loving this piece of software! :) Found it very useful, recently, to get a quick preview of a movie I wanted to burn subs into.
One bit of annoyance, though. Whenever I start the preview (F5), I get a fatal error; something about fftw_make_planner_thread_safe entry point not found in the fft3dfilter library. The latter is actually, indeed, not present on my system, as I replaced it with libdfttest.dll recently (from another author). For the test, of course, I temporarily put fft3dfilter.dll back inside the plugins64 directory, but the same error still occured, oddly enough.
When I said 'fatal error', it's not actually so fatal, as I can just click it away, and the VapourSynth Editor will just continue as if nothing happened. Any particular reason, though, fft3dfilter is needed per se to start up the editor?!
That's weird, because VapourSynth is supposed to report a fatal error right before it crashes.
It's happening somewhere in your script. Something is trying to load fft3dfilter.
fftw_make_planner_thread_safe is a function of FFTW library. It shouldn't be in fft3dfilter, unless FFTW was linked statically. But in that case the error should not occur.
So, all in all - no idea.
It is not related to the editor in any way. Editor just logs the errors VapourSynth reports.
Myrsloik
4th February 2019, 19:27
That's weird, because VapourSynth is supposed to report a fatal error right before it crashes.
It's happening somewhere in your script. Something is trying to load fft3dfilter.
fftw_make_planner_thread_safe is a function of FFTW library. It shouldn't be in fft3dfilter, unless FFTW was linked statically. But in that case the error should not occur.
So, all in all - no idea.
It is not related to the editor in any way. Editor just logs the errors VapourSynth reports.
Too old FFTW dll. The end. Not related to anything else.
asarian
4th February 2019, 20:15
That's weird, because VapourSynth is supposed to report a fatal error right before it crashes.
It's happening somewhere in your script. Something is trying to load fft3dfilter.
Except I'm not even using a script. :) Just the 2 default lines trigger it (upon pressing F5). See: VSEditor Error (https://1drv.ms/u/s!AhSxhQ9g_mrMlgYBgLsePzNAABr_)
fftw_make_planner_thread_safe is a function of FFTW library. It shouldn't be in fft3dfilter, unless FFTW was linked statically. But in that case the error should not occur.
That was my poiny exactly when I asked! I couldn't figure why the VS Editor would need fft3dfilter at startup to begin with.
asarian
5th February 2019, 03:00
^^ Turns out I had some very old .dll files, from a VS R32 install, copied over to the VS plugins64 directory once (not overwriting the ones already present from the new install: just extra old ones). Once I removed/updated those, VS Editor ran fine again. :) Guess all VS Editor did, was visualize the errors from the older 64-bit plugins initializing (which you normally don't see).
Lypheo
3rd April 2019, 02:28
My VSEdit suddenly stopped rendering the preview and shows this warning in the log whenever I open the preview or try to seek in it: Qt warning: QImage: out of memory, returning null image
It happens with every script (even just a BlankClip) I’ve tried. I already tried reinstalling and downgrading, but it still shows the warning and refuses to render in every version. Any idea what I could be doing wrong?
Mystery Keeper
3rd April 2019, 05:33
My VSEdit suddenly stopped rendering the preview and shows this warning in the log whenever I open the preview or try to seek in it: Qt warning: QImage: out of memory, returning null image
It happens with every script (even just a BlankClip) I’ve tried. I already tried reinstalling and downgrading, but it still shows the warning and refuses to render in every version. Any idea what I could be doing wrong?
Never had it. Are you running some processes that hog the memory? Images need large continuous chunks of memory.
kypec
10th May 2019, 20:19
Hi guys,
I tried to build this VapourSynth Editor from sources but didn't succeed on my Linux Mint 19.1 (Cinnamon)
Here are the steps I've done so far:
Fetched the latest source code
git clone https://bitbucket.org/mystery_keeper/vapoursynth-editor.git
Installed prerequisites
sudo apt install qt5-default qtbase5-dev qtbase5-private-dev libqt5websockets5-dev
Configured & compiled source files
cd vapoursynth-editor/pro/
qmake -norecursive pro.pro CONFIG+=release
make
which ends with error Project ERROR: Unknown module(s) in QT: websockets
Makefile:71: recipe for target 'sub-vsedit-job-server-vsedit-job-server-pro-make_first' failed
make: *** [sub-vsedit-job-server-vsedit-job-server-pro-make_first] Error 3
EDIT: I resolved the building by manually compiling QtWebSockets (https://github.com/qt/qtwebsockets). I used specific release 5.9.5 (https://github.com/qt/qtwebsockets/archive/v5.9.5.tar.gz) because this version matched with all other Qt components that were installed on my system from official repositories.
In order to build and install that component I had to install few more Qt packages from official repo (added in step 2 already). Once done VS Editor building finished successfully as well. Is there any way to make install it to system-wide path? I couldn't find anything in the BUILDING notes about that... ;)
Mystery Keeper
11th May 2019, 11:44
Hi guys,
I tried to build this VapourSynth Editor from sources but didn't succeed on my Linux Mint 19.1 (Cinnamon)
Here are the steps I've done so far:
Fetched the latest source code
git clone https://bitbucket.org/mystery_keeper/vapoursynth-editor.git
Installed prerequisites
sudo apt install qtbase5-dev qt5-default libqt5websockets5-dev
Configured & compiled source files
cd vapoursynth-editor/pro/
qmake -norecursive pro.pro CONFIG+=release
make
which ends with error Project ERROR: Unknown module(s) in QT: websockets
Makefile:71: recipe for target 'sub-vsedit-job-server-vsedit-job-server-pro-make_first' failed
make: *** [sub-vsedit-job-server-vsedit-job-server-pro-make_first] Error 3
Any ideas how to proceed further and eliminate that error? Obviously, sudo make install fails as well. :stupid:
Are there any .pro.user files from the QtCreator among the files? Try deleting those.
kypec
13th May 2019, 09:02
Are there any .pro.user files from the QtCreator among the files? Try deleting those.
Nope, but I managed to resolve the issue - see my edit in the post above. :thanks:
Keiyakusha
14th May 2019, 02:23
kypec
Any chance this build can be shared somehow?
Is there something compiled version depends on that Mint doesn't have by default? (Thinking off appimage)
kypec
15th May 2019, 06:08
Sure, here is my build (https://drive.google.com/file/d/1Fm4vTfTPzT73q7hK4G2l-76WxRkiFlPx/view?usp=drivesdk) but I would recommend to have it built on your own Mint system. I don't think there are any special non-default dependencies needed, just follow my instructions (https://forum.doom9.org/showthread.php?p=1874118#post1874118) and install any missing packages from official repositories.
Keiyakusha
19th May 2019, 01:19
kypec
Thanks. I probably should, but since I am using exact same OS I thought I'll try to go with easier route. I'll look into compiling it myself at some point.
Edit: on the other hand I think it would be best do make Travis build and share VapourSynth Editor, Including version for linux. Maybe even with the same appimage. But I have no idea how hard that would be.
Mystery Keeper
19th May 2019, 11:26
It would be the best to have it maintained in a Mint repository. Some repositories already do that. I've also found this.
https://www.deb-multimedia.org/dists/testing/main/binary-amd64/package/vapoursynth-editor
Keiyakusha
20th May 2019, 00:30
It would be the best to have it maintained in a Mint repository. Some repositories already do that. I've also found this.
https://www.deb-multimedia.org/dists/testing/main/binary-amd64/package/vapoursynth-editor
I think in the end this would be more work and people on other distributions would have to add mint's ppa and try their luck... appimage, on the other hand, is a portable version with all the dependencies included that works on any os with the same or newer kernel as the one software was compiled with. It might need some time investment to set up but it hardly needs any maintenance after that. Projects like mkvtoolnix, inkscape, avidemux use this method (though I am not sure they use travis specifically). Mkvtoolnix is also on QT so there should be no issues.
~ VEGETA ~
12th July 2019, 00:47
I installed vapoursynth version 46 the x64 bit on windows 10 pro, and I have latest x64 version of vs editor. However I get this:
Failed to load vapoursynth script library!
Please set up the library search paths in settings.
Failed to load vapoursynth script library!
Please set up the library search paths in settings.
I used VS repo GUI to get the path for scripts and plugins and put it in vs edit but still no use. Here are the paths:
C:\Users\myuser\AppData\Roaming\VapourSynth\plugins64
C:\Users\myuser\AppData\Roaming\Python\Python37\site-packages
first one for plugins and the other for scripts.
anything to solve it?
thanks!
UPDATE: I solved it by installing python in C:\ and for all users then installing VS for all users and in C.
Mystery Keeper
15th July 2019, 17:41
Probably broken by VapourSynth storing its settings in new registry paths.
RTW47
16th July 2019, 14:45
always getting Qt warning message that QPixmap::scaled: Pixmap is a null pixmap then previewing script. (r19 and r18),
for me r19 also do not highlight syntax, compared to r18. (but autocompletion and selection highlighting is working)
ps:. I have noticed the same preview problem (https://forum.doom9.org/showthread.php?p=1863341#post1863341) as lansing too. (r19 on windows 7)
ChaosKing
16th July 2019, 14:54
Have you tried resetting your config? I had some problems too bcs I kept my config from r18.
RTW47
16th July 2019, 15:42
Have you tried resetting your config? I had some problems too bcs I kept my config from r18.
thanks, I was not aware of config file.
resetting vsedit.config solved Syntax highlighting and Qt warning;
cyaoeu
24th August 2019, 03:35
Is VSEdit broken for newer VS versions when using per user installs for python and VS?
Selur
24th August 2019, 09:45
@cyaoeu: my guess is that "_vsscript_getVSApi@0" needs to be replaced with "_vsscript_getVSApi" for VSEdit to properly work with R47 (had to do this for vsViewer which is based on an older vsedit version)
Myrsloik
24th August 2019, 11:31
@cyaoeu: my guess is that "_vsscript_getVSApi@0" needs to be replaced with "_vsscript_getVSApi" for VSEdit to properly work with R47 (had to do this for vsViewer which is based on an older vsedit version)
Is this something that happened between R46 and R47? Nothing should have changed at all.
cyaoeu
24th August 2019, 17:19
@cyaoeu: my guess is that "_vsscript_getVSApi@0" needs to be replaced with "_vsscript_getVSApi" for VSEdit to properly work with R47 (had to do this for vsViewer which is based on an older vsedit version)
Thanks, it worked. :)
edit: actually the older one started working too (!) so may have been something else, missing reboot or something. Anyway it's working now again.
Selur
26th August 2019, 16:24
Is this something that happened between R46 and R47? Nothing should have changed at all.
messagehandler api changed and broke stuff, at least for me
m_cpVSAPI->setMessageHandler(::vsMessageHandler, static_cast<void *>(this));
which worked with with R36 doesn't work anymore,..
funny thing is, it does seem to work when using
m_cpVSAPI->setMessageHandler(::vsMessageHandler, (void)(this));
instead,...
Myrsloik
26th August 2019, 17:11
messagehandler api changed and broke stuff, at least for me
m_cpVSAPI->setMessageHandler(::vsMessageHandler, static_cast<void *>(this));
which worked with with R36 doesn't work anymore,..
funny thing is, it does seem to work when using
m_cpVSAPI->setMessageHandler(::vsMessageHandler, (void)(this));
instead,...
What do you mean by doesn't work? DESCRIBE WHAT HAPPENS. PASTE COMPILER ERRORS IF ANY.
VSEdit definitely needs to be updated for R47 as a lot of the registry entries were moved around as well but the logging should be completely backwards compatible.
Selur
26th August 2019, 17:44
I now installed Python and Vapoursynth for all users and now the behavior is different,...
no clue what changed, going back to R45
I'll report back once I'm sure what happens exactly.
Selur
27th August 2019, 16:23
replacing:
setMessageHandler(::vsMessageHandler, (void *)(this));
with
addMessageHandler(::vsMessageHandler, nullptr, (void *)(this));
in vsViewer/vsedit seems to fix the issue for me. (haven't seem any problems with this so far)
-> without searching through the Vapoursynth source code, my guess is that:
Deprecated as of API 3.6 (VapourSynth R47) source: http://www.vapoursynth.com/doc/api/vapoursynth.h.html#setmessagehandler
should better be replaced with 'Broken as of API 3.6 (VapourSynth R47)', since 'deprecated' usually means that old code using the method would still work, which isn't the case.
Cu Selur
Myrsloik
27th August 2019, 17:12
replacing:
setMessageHandler(::vsMessageHandler, (void *)(this));
with
addMessageHandler(::vsMessageHandler, nullptr, (void *)(this));
in vsViewer/vsedit seems to fix the issue for me. (haven't seem any problems with this so far)
-> without searching through the Vapoursynth source code, my guess is that:
source: http://www.vapoursynth.com/doc/api/vapoursynth.h.html#setmessagehandler
should better be replaced with 'Broken as of API 3.6 (VapourSynth R47)', since 'deprecated' usually means that old code using the method would still work, which isn't the case.
Cu Selur
setMessageHandler should still work, I believe I even tested it with vsedit
Myrsloik
6th September 2019, 22:27
Tested and verified to work AGAIN! I really have no idea why you think it's not working.
PRAGMA
9th September 2019, 12:59
https://i.imgur.com/d6Fv6Ok.png
Im having this really weird issue, the source is a mkv mpeg2 from a DVD exported via MakeMKV.
Its glitchy and always this gray blocky kind of glitchy. It happens almost every time I first open the previewer, then happens occasionally when I seek around.
Source is d2v, which was created using Inviska to extract the mpg and d2vwitch to create a d2v of the mpg.
My OS is arch linux.
VapourSynth Package List (installed via yay, sourced from Arch Linux AUR):
vapoursynth R47.2-1
vapoursynth-editor R19-1
vapoursynth-plugin-d2vsource-git v1.2.0.g4535f7c-1
vapoursynth-plugin-fluxsmooth-git v2.1.gf1c22a4-1
vapoursynth-plugin-fmtconv-git r20.0.g394a360-1
vapoursynth-plugin-hqdn3d-git r10.eb820cb-1
vapoursynth-plugin-knlmeanscl-git 1.1.1.r551.fbb60ec-1
vapoursynth-plugin-nnedi3-git v12.0.g8c35822-1
vapoursynth-plugin-nnedi3cl-git r7.3.3.g9e7dead-1
vapoursynth-plugin-sangnom-git r41.1.g44b0341-1
vapoursynth-plugin-ttempsmooth-git r3.1.1.g776e140-1
vapoursynth-plugin-znedi3-git r1.9.gacb7cc3-1
Turned out to be a bug with d2vwitch:
https://github.com/dubhater/D2VWitch/issues/4
l33tmeatwad
9th September 2019, 15:05
Turned out to be a bug with d2vwitch:
https://github.com/dubhater/D2VWitch/issues/4
While it would be nice if they get that working, it's best to index the original VOB instead. You can get the VOB off the disc using the stream option (the fourth icon at the top left after the disc scan is complete).
lansing
5th October 2019, 23:32
I played around with it a little, the design seem pretty neat, it's good to have handy functions as a buttons.
A few requests I can think of right now, can you add a bookmark function on the timeline, as well as a live feedback of the color value of the pixel where the mouse cursor points to. And the font size on the timeline is too small. The seeking cursor is too small too.
The eyedropper is there, just click on the eyedropper icon on the right of the preview window.
The timeline sure need a total rework. I tried changing it to scroll bar last year in my fork, but the user experience was still not good, it still didn't really solve any difficulty I have had with it.
The proper timeline should look something like the one from Adobe Premiere, a zoomable timeline that solves every seeking and viewing issue.
poisondeathray
5th October 2019, 23:51
@lansing - it's a bot that copies & pastes from previous posts , then eventually posts the advertisement
https://forum.doom9.org/showthread.php?p=1886670#post1886670
lansing
6th October 2019, 05:41
@lansing - it's a bot that copies & pastes from previous posts , then eventually posts the advertisement
https://forum.doom9.org/showthread.php?p=1886670#post1886670
Ok I see, he posted 3 posts in 1 minute
tebasuna51
6th October 2019, 11:35
weitiks banned.
PRAGMA
16th October 2019, 20:42
How does one print debugging messages into the Log window?
`logging` module never prints anything regardless of level.
_Al_
17th October 2019, 01:18
I use couple of methods , maybe there is something within vsedit to allow it, someone might add something, or you can do couple of workarounds:
First workaround, you name your script as *.py and instead of clip.set_output() (although you can leave it there in your script), you add:
for frame in range(0, len(clip)):
clip.get_frame(frame)
this will just make quick request for frames and script will go thru, much faster then actual previewing. You can request a specific frames , one frame or different range. You do not use vsedit, but your favorite python console.
So you do not use vsedit at all
SECOND, you can use *.py and code your previewer, it is not that difficult as you'd think, you just need to pick up a modul - openCV, PIL (using with tkinter) or PyQt (Qt in python). I use openCV or PyQt. vsedit uses Qt.
THIRD, you re-direct sys.stdout.
I use openCV and this script: outputwindow.py. All you do is just import it in your vapoursynth scrip:
import outputwindow
and your print (sys.stdout) is automatically redirected to extra tkinter GUI window. I found it a while ago on web and adjusted some lines so it even works with vsedit. So this is most comfortable method I guess.
#Python 3
"""
named errorwindow originally
Import this module into graphical Python apps to provide a
sys.stderr. No functions to call, just import it. It uses
only facilities in the Python standard distribution.
If nothing is ever written to stderr, then the module just
sits there and stays out of your face. Upon write to stderr,
it launches a new process, piping it error stream. The new
process throws up a window showing the error messages.
Code derived from Bryan Olson's source posted in this related Usenet discussion:
https://groups.google.com/d/msg/comp.lang.python/HWPhLhXKUos/TpFeWxEE9nsJ
https://groups.google.com/d/msg/comp.lang.python/HWPhLhXKUos/eEHYAl4dH9YJ
martineau - Modified to use subprocess.Popen instead of the os.popen
which has been deprecated since Py 2.6. Changed so it
redirects both stdout and stderr. Also inserted double quotes around paths
in case they have embedded space characters in them, as
they did on my Windows system.
to use it with Preview() for openCV player:
-changed subprocess.Popen command to list instead of string , so it works under linux
-added exception to catch window canceled by user and deleting pipe, so new GUI is automatically constructed again if needed,
-added st.ScrolledText instead of Text
-made sure that subprocess.Popen executable is python executable (or pythonw under windows),
under windows, running it from Mystery Keeper's vsedit, sys.executable returned 'vsedit',
"""
import subprocess
import sys
import _thread as thread
import os
ERROR_FILENAME_LOG = 'error_printing_to_gui.txt'
if __name__ == '__main__': # When spawned as separate process.
# create window in which to display output
# then copy stdin to the window until EOF
# will happen when output is sent to each OutputPipe created
import tkinter as tk
import tkinter.scrolledtext as st
from tkinter import BOTH, END, Frame, TOP, YES
import tkinter.font as tkFont
import queue as Queue
Q_EMPTY = Queue.Empty # An exception class.
queue = Queue.Queue(1000) # FIFO, first put first get
def read_stdin(app, bufsize=4096):
while True:
queue.put(os.read(sys.stdin.fileno(), bufsize))
class Application(Frame):
def __init__(self, master, font_size=10, family='Courier', text_color='#0000AA', rows=25, cols=128):
super().__init__(master)
self.master = master
if len(sys.argv) < 2:
title = "Output stream from unknown source"
elif len(sys.argv) < 3:
title = "Output stream from {}".format(sys.argv[1])
else: # Assume it's a least 3.
title = "Output stream '{}' from {}".format(sys.argv[2], sys.argv[1])
self.master.title(title)
self.pack(fill=BOTH, expand=YES)
font = tkFont.Font(family=family, size=font_size)
width = font.measure(' ' * (cols+1))
height = font.metrics('linespace') * (rows+1)
self.configure(width=width, height=height)
self.pack_propagate(0) # Force frame to be configured size.
self.logwidget = st.ScrolledText(self, font=font)
self.logwidget.pack(side=TOP, fill=BOTH, expand=YES)
self.logwidget.configure(foreground=text_color)
self.after(200, self.start_thread, ()) # Start polling thread.
def start_thread(self, _):
thread.start_new_thread(read_stdin, (self,))
self.after(200, self.check_q, ())
def check_q(self, _):
go = True
while go:
try:
data = queue.get_nowait().decode()
if not data:
data = '[EOF]'
go = False
self.logwidget.insert(END, data)
self.logwidget.see(END)
except Q_EMPTY:
self.after(200, self.check_q, ())
go = False
root = tk.Tk(baseName='whatever_name')
app = Application(master=root)
app.mainloop()
else: # when module is first imported
import traceback
class OutputPipe(object):
def __init__(self, name=''):
self.lock = thread.allocate_lock()
self.name = name
def flush(self): # NO-OP.
pass
def __getattr__(self, attr):
if attr == 'pipe': # Attribute doesn't exist, so create it.
# Launch this module as a separate process to display any output it receives
executable = sys.executable
try:
basename = os.path.basename(executable)
name, _ = os.path.splitext(basename)
if not name.lower().startswith('python'):
executable = self.get_executable()
except:
executable = self.get_executable()
argv1 = __file__
try:
argv2 = os.path.basename(sys.argv[0])
except:
argv2 = ''
argv3 = self.name
command = [executable]
for arg in [argv1, argv2, argv3]:
if arg:
command.append(arg)
try:
# Had to also make stdout and stderr PIPEs too, to work with pythonw.exe
self.pipe = subprocess.Popen(command,
bufsize=0,
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE).stdin
except Exception:
# Output exception info to a file since this module isn't working.
exc_type, exc_value, exc_traceback = sys.exc_info()
msg = '{} exception in {}\n'.format(exc_type.__name__, os.path.basename(__file__))
with open(ERROR_FILENAME_LOG, 'wt') as info:
info.write('fatal error occurred spawning output process')
info.write('exeception info:' + msg)
traceback.print_exc(file=info)
sys.exit('fatal error occurred')
return super(OutputPipe, self).__getattribute__(attr)
def get_executable(self):
#if running this within vsedit under windows sys.executable name is 'vsedit'
return 'pythonw'
def write(self, data):
with self.lock:
try:
data = data.encode()
self.pipe.write(data) # First reference to pipe attr will cause an
# OutputPipe process for the stream to be created.
except Exception:
#gui was canceled by user, piping would cause error
#pipe attr can be deleted so new is constructed with __getattr__() and therefore new GUI pops up if needed
del self.pipe
#pass
try:
os.remove(EXC_INFO_FILENAME) # Delete previous file, if any.
except Exception:
pass
# Redirect standard output streams in the process that imported this module.
sys.stderr = OutputPipe('stderr')
sys.stdout = OutputPipe('stdout')
PRAGMA
17th October 2019, 16:02
I use couple of methods , maybe there is something within vsedit to allow it, someone might add something, or you can do couple of workarounds:
First workaround, you name your script as *.py and instead of clip.set_output() (although you can leave it there in your script), you add:
for frame in range(0, len(clip)):
clip.get_frame(frame)
this will just make quick request for frames and script will go thru, much faster then actual previewing. You can request a specific frames , one frame or different range. You do not use vsedit, but your favorite python console.
So you do not use vsedit at all
SECOND, you can use *.py and code your previewer, it is not that difficult as you'd think, you just need to pick up a modul - openCV, PIL (using with tkinter) or PyQt (Qt in python). I use openCV or PyQt. vsedit uses Qt.
THIRD, you re-direct sys.stdout.
I use openCV and this script: outputwindow.py. All you do is just import it in your vapoursynth scrip:
import outputwindow
and your print (sys.stdout) is automatically redirected to extra tkinter GUI window. I found it a while ago on web and adjusted some lines so it even works with vsedit. So this is most comfortable method I guess.
#Python 3
"""
named errorwindow originally
Import this module into graphical Python apps to provide a
sys.stderr. No functions to call, just import it. It uses
only facilities in the Python standard distribution.
If nothing is ever written to stderr, then the module just
sits there and stays out of your face. Upon write to stderr,
it launches a new process, piping it error stream. The new
process throws up a window showing the error messages.
Code derived from Bryan Olson's source posted in this related Usenet discussion:
https://groups.google.com/d/msg/comp.lang.python/HWPhLhXKUos/TpFeWxEE9nsJ
https://groups.google.com/d/msg/comp.lang.python/HWPhLhXKUos/eEHYAl4dH9YJ
martineau - Modified to use subprocess.Popen instead of the os.popen
which has been deprecated since Py 2.6. Changed so it
redirects both stdout and stderr. Also inserted double quotes around paths
in case they have embedded space characters in them, as
they did on my Windows system.
to use it with Preview() for openCV player:
-changed subprocess.Popen command to list instead of string , so it works under linux
-added exception to catch window canceled by user and deleting pipe, so new GUI is automatically constructed again if needed,
-added st.ScrolledText instead of Text
-made sure that subprocess.Popen executable is python executable (or pythonw under windows),
under windows, running it from Mystery Keeper's vsedit, sys.executable returned 'vsedit',
"""
import subprocess
import sys
import _thread as thread
import os
ERROR_FILENAME_LOG = 'error_printing_to_gui.txt'
if __name__ == '__main__': # When spawned as separate process.
# create window in which to display output
# then copy stdin to the window until EOF
# will happen when output is sent to each OutputPipe created
import tkinter as tk
import tkinter.scrolledtext as st
from tkinter import BOTH, END, Frame, TOP, YES
import tkinter.font as tkFont
import queue as Queue
Q_EMPTY = Queue.Empty # An exception class.
queue = Queue.Queue(1000) # FIFO, first put first get
def read_stdin(app, bufsize=4096):
while True:
queue.put(os.read(sys.stdin.fileno(), bufsize))
class Application(Frame):
def __init__(self, master, font_size=10, family='Courier', text_color='#0000AA', rows=25, cols=128):
super().__init__(master)
self.master = master
if len(sys.argv) < 2:
title = "Output stream from unknown source"
elif len(sys.argv) < 3:
title = "Output stream from {}".format(sys.argv[1])
else: # Assume it's a least 3.
title = "Output stream '{}' from {}".format(sys.argv[2], sys.argv[1])
self.master.title(title)
self.pack(fill=BOTH, expand=YES)
font = tkFont.Font(family=family, size=font_size)
width = font.measure(' ' * (cols+1))
height = font.metrics('linespace') * (rows+1)
self.configure(width=width, height=height)
self.pack_propagate(0) # Force frame to be configured size.
self.logwidget = st.ScrolledText(self, font=font)
self.logwidget.pack(side=TOP, fill=BOTH, expand=YES)
self.logwidget.configure(foreground=text_color)
self.after(200, self.start_thread, ()) # Start polling thread.
def start_thread(self, _):
thread.start_new_thread(read_stdin, (self,))
self.after(200, self.check_q, ())
def check_q(self, _):
go = True
while go:
try:
data = queue.get_nowait().decode()
if not data:
data = '[EOF]'
go = False
self.logwidget.insert(END, data)
self.logwidget.see(END)
except Q_EMPTY:
self.after(200, self.check_q, ())
go = False
root = tk.Tk(baseName='whatever_name')
app = Application(master=root)
app.mainloop()
else: # when module is first imported
import traceback
class OutputPipe(object):
def __init__(self, name=''):
self.lock = thread.allocate_lock()
self.name = name
def flush(self): # NO-OP.
pass
def __getattr__(self, attr):
if attr == 'pipe': # Attribute doesn't exist, so create it.
# Launch this module as a separate process to display any output it receives
executable = sys.executable
try:
basename = os.path.basename(executable)
name, _ = os.path.splitext(basename)
if not name.lower().startswith('python'):
executable = self.get_executable()
except:
executable = self.get_executable()
argv1 = __file__
try:
argv2 = os.path.basename(sys.argv[0])
except:
argv2 = ''
argv3 = self.name
command = [executable]
for arg in [argv1, argv2, argv3]:
if arg:
command.append(arg)
try:
# Had to also make stdout and stderr PIPEs too, to work with pythonw.exe
self.pipe = subprocess.Popen(command,
bufsize=0,
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE).stdin
except Exception:
# Output exception info to a file since this module isn't working.
exc_type, exc_value, exc_traceback = sys.exc_info()
msg = '{} exception in {}\n'.format(exc_type.__name__, os.path.basename(__file__))
with open(ERROR_FILENAME_LOG, 'wt') as info:
info.write('fatal error occurred spawning output process')
info.write('exeception info:' + msg)
traceback.print_exc(file=info)
sys.exit('fatal error occurred')
return super(OutputPipe, self).__getattribute__(attr)
def get_executable(self):
#if running this within vsedit under windows sys.executable name is 'vsedit'
return 'pythonw'
def write(self, data):
with self.lock:
try:
data = data.encode()
self.pipe.write(data) # First reference to pipe attr will cause an
# OutputPipe process for the stream to be created.
except Exception:
#gui was canceled by user, piping would cause error
#pipe attr can be deleted so new is constructed with __getattr__() and therefore new GUI pops up if needed
del self.pipe
#pass
try:
os.remove(EXC_INFO_FILENAME) # Delete previous file, if any.
except Exception:
pass
# Redirect standard output streams in the process that imported this module.
sys.stderr = OutputPipe('stderr')
sys.stdout = OutputPipe('stdout')
I cant get this to work on my end, when I do import outputwindow and then print("Test", file=sys.stdout) or stderror, nothing at all happens.
_Al_
17th October 2019, 18:50
that outputwindow.py takes care of it all, there is only import of that script needed and then just using print(), no arguments needed
from vapoursynth import core
import outputwindow
clip = core.std.BlankClip()
print('width for that blank clip is:', clip.width)
PRAGMA
21st October 2019, 12:40
that outputwindow.py takes care of it all, there is only import of that script needed and then just using print(), no arguments needed
from vapoursynth import core
import outputwindow
clip = core.std.BlankClip()
print('width for that blank clip is:', clip.width)
Yeah when I use that even, it doesn't work, it literally does nothing, no errors or anything.
Im on KDE Plasma (Linux), perhaps there's something to do with that?
_Al_
21st October 2019, 16:11
Possible, I tested it on Win7 and Ubuntu 18.04 though.
If pipe is not created it should write error into "error_printing_to_gui.txt".
I'd check it with just some simple *.py file first, like example above, not using vsedit. Then you can go further and try to write all variables into that error txt log as well thru out that outputwindow.py like for example for executable variable:
with open(ERROR_FILENAME_LOG, 'a') as info:
info.write('sys.executable:')
info.write(executable) #executable should be 'python' or 'pythonw' for windows
etc, because this is the only way to find out values when sys.stdout is redirected, or try to get rid of that:
sys.stderr = OutputPipe('stderr')
at the end of outputwindow script, it might start print errors into python consol, IDLE etc.
edit: corrected 'wt' into 'a' so it just adds to log
PRAGMA
21st October 2019, 17:39
Possible, I tested it on Win7 and Ubuntu 18.04 though.
If pipe is not created it should write error into "error_printing_to_gui.txt".
I'd check it with just some simple *.py file first, like example above, not using vsedit. Then you can go further and try to write all variables into that error txt log as well thru out that outputwindow.py like for example for executable variable:
with open(ERROR_FILENAME_LOG, 'a') as info:
info.write('sys.executable:')
info.write(executable) #executable should be 'python' or 'pythonw' for windows
etc, because this is the only way to find out values when sys.stdout is redirected, or try to get rid of that:
sys.stderr = OutputPipe('stderr')
at the end of outputwindow script, it might start print errors into python consol, IDLE etc.
edit: corrected 'wt' into 'a' so it just adds to log
No idea why, but it only works if its not in the site-packages directory and loaded elsewhere, I got it working by doing the following inside VS-Editor script:
sys.path.append(os.path.dirname(os.path.realpath(__file__)))
import outputwindow
Which will add the directory of the vpy file to temporary PATH, allowing it to import outputwindow.py if I put it next to my vpy script.
Thanks a ton!
Wish there was a built in way to do this.
P.S. I was doing raise Exception("BlaBla") as a logger but of course it would end the script so it wasnt perfect. Is there perhaps a way we can figure out how raise Exception works and just pony up a similar thing except raise Log("Msg") that doesnt exit()?
_Al_
21st October 2019, 18:59
I'm so sorry, I forgot about that already, adding that dir to sys.path, I'm not using vsedit now. vsedit needed that. If importing it just from some other *.py running script it was fine having that in site-packages dir.
That outputwindow.py works with any python app so it is usable elsewhere. Printing, sys.stdout.write(str(some value)) or just print(...), into tkinter gui, which is python standard library. And even that app crashes that windows stays on to report error.
lansing
9th November 2019, 08:09
I'm trying to build the project in Qt Creator in Windows 10 and I'm getting the error "vapoursynth/VapourSynth.h file not found" from the #include lines. It worked without a problem the last time I ran it in Windows 7. Had the path changed?
Selur
9th November 2019, 09:13
You probably need to adjust
INCLUDEPATH += 'C:/Program Files (x86)/VapourSynth/sdk/include/'
to match where Vapoursynth is located on your system.
lansing
9th November 2019, 14:53
You probably need to adjust
INCLUDEPATH += 'C:/Program Files (x86)/VapourSynth/sdk/include/'
to match where Vapoursynth is located on your system.
Looks like the vs installation path did changed. I have the 64 bit version, before, the 64 bit version was stuffed inside "c:/program files(x86)/" folder, now it's in "c:/program files/".
In the vsedit.pro file, I tried changing the INCLUDEPATH under the win32{}, but it still reporting file not found.
Selur
9th November 2019, 22:31
You did:
1. edit the .pro file
2. Build->Run qmake
3. Build->Rebuild All
if you skipped the second step the changes of the .pro file might not have any effect. :)
lansing
10th November 2019, 00:10
You did:
1. edit the .pro file
2. Build->Run qmake
3. Build->Rebuild All
if you skipped the second step the changes of the .pro file might not have any effect. :)
I tried that too, still not working.
Here's what I did:
- Opened the pro.pro file in Qt
- Under "projects" tab, set the "Desktop Qt 5.13.1 MingGW 64-bit" compiler as default
- Modified the "includepath" line in vsedit.pro to:
win32 {
QT += winextras
INCLUDEPATH += 'C:/Program Files/VapourSynth/sdk/include/'
- go build->run qmake
- go build->rebuild all
The problem still persist. It still complains about the vapoursynth.h file not found.
lansing
10th November 2019, 05:25
Okay I finally figured out the problem. I need to modify the other two .pro files in the project that has this includepath line, since I'm rebuilding all of them.
Jukus
14th November 2019, 17:45
When I use for preview:
haf.QTGMC(clip, Preset='Very Slow', Sharpness=0.8, FPSDivisor=1, TFF=True)
clip = core.std.Crop(clip, 0, 0, 2, 0)
That’s all right.
But when I use:
haf.QTGMC(clip, Preset='Very Slow', Sharpness=0.3, FPSDivisor=1, SourceMatch=3, Lossless=2, MatchEnhance=0.75, TFF=True)
clip = core.std.Crop(clip, 0, 0, 2, 0)
Then I get the error:
Error on frame 0 request:
Resize error 1027: image dimensions must be divisible by subsampling factor
Selur
16th November 2019, 16:50
seems to me like you are missing a 'clip = ' before the 'haf.QTGMC' part :)
Jukus
16th November 2019, 17:18
seems to me like you are missing a 'clip = ' before the 'haf.QTGMC' part :)
No, I just did not copy it into the message.
Selur
17th November 2019, 11:16
Seems related to 'Lossless' using Lossless=0 removes the error.
Selur
17th November 2019, 13:03
It does, still this should be properly handled in QTGMC itself.
Tohno_Neil
23rd November 2019, 00:56
I installed vapoursynth version 46 the x64 bit on windows 10 pro, and I have latest x64 version of vs editor. However I get this:
I used VS repo GUI to get the path for scripts and plugins and put it in vs edit but still no use. Here are the paths:
first one for plugins and the other for scripts.
anything to solve it?
thanks!
UPDATE: I solved it by installing python in C:\ and for all users then installing VS for all users and in C.
:D
A better solution.
https://bitbucket.org/mystery_keeper/vapoursynth-editor/issues/41/cant-work-with-new-vapoursynth-r48
Sure, here is my build (https://drive.google.com/file/d/1Fm4vTfTPzT73q7hK4G2l-76WxRkiFlPx/view?usp=drivesdk) but I would recommend to have it built on your own Mint system. I don't think there are any special non-default dependencies needed, just follow my instructions (https://forum.doom9.org/showthread.php?p=1874118#post1874118) and install any missing packages from official repositories.
Is this also works on windows?
Cary Knoop
25th December 2019, 00:17
Anaconda Vapoursynth install
Installed vapoursynth-edit
command line: vsedit.exe
Hourglass for half a second then terminated.
No logfile or any message is given.
Does anyone have a clue?
Edited to update:
If I uninstall Vapoursynth the vs-edit windows comes up, reinstalling Vapoursynth again causes again nothing to happen, no window at all and no error message.
zerowalker
31st December 2019, 04:55
I am having issues with the preview for a video, it seems to lock at a certain frame, any any seeking beyond just shows that frame (it it loads kinda slowly).
It's frame 7311 if it matters.
The video plays just fine, and i even re-encoded to another lossless format to ensure it wasn't the codec (from lagarith to magicyuv).
Is there some logs i can check to see what's going on?
The video length is about 4:55 hours if that plays a role, YUV2 720x576 25fps.
import vapoursynth as vs
core = vs.get_core()
a = core.avisource.AVIFileSource("video.avi",pixel_type="YUY2")
a.set_output()
Added the YUY2 as it would otherwise say YUV420P8 on the preview which i thought might cause the issue, but it made no difference.
EDIT:
Oh wait i actually did save it as YV12 for magicyuv, my bad lol.
Still the issue is there nevertheless;P
poisondeathray
31st December 2019, 05:14
@zerowalker,
does it lock on the exact same frame even after you re-encoded to magicyuv?
did you try another preview method to rule out vsedit issue? e.g. vdub2, vspipe to something like ffplay, potplayer ?
did you try another source filter? eg. ffms2
poisondeathray
31st December 2019, 05:19
If I uninstall Vapoursynth the vs-edit windows comes up, reinstalling Vapoursynth again causes again nothing to happen, no window at all and no error message.
Could it have something to do with search paths ?
In vsedit settings, there are fields for vapoursynth library search paths , plugins paths (mine are blank... but it works. On windows..)
And does vapoursynth "work" on that computer ? ie. is problem limited vsedit only ?
Can you test a simple script with vspipe
vspipe --info script.vpy -
or preview script in something else like vdub2 , or potplayer ?
zerowalker
31st December 2019, 05:50
@zerowalker,
does it lock on the exact same frame even after you re-encoded to magicyuv?
did you try another preview method to rule out vsedit issue? e.g. vdub2, vspipe to something like ffplay, potplayer ?
did you try another source filter? eg. ffms2
It seems to be different frames.
I haven't tested another preview method, not sure how to do that, this is my first vapoursynth test in ages.
In a mediaplayer (mpc-hc) it works fine though.
EDIT:
I tried with vspipe -> ffmpeg, and it seems to freeze on the same frame as the preview.
poisondeathray
31st December 2019, 06:00
It seems to be different frames.
different frames each time?
or is it repeatable in the same application? e.g. close application try again in same application
In a mediaplayer (mpc-hc) it works fine though.
What works fine? Did you mean the .vpy script works completely ok, seeks ok past that point ? Or did you mean the video file directly ?
Cary Knoop
31st December 2019, 06:01
Could it have something to do with search paths ?
In vsedit settings, there are fields for vapoursynth library search paths , plugins paths (mine are blank... but it works. On windows..)
And does vapoursynth "work" on that computer ? ie. is problem limited vsedit only ?
Can you test a simple script with vspipe
vspipe --info script.vpy -
or preview script in something else like vdub2 , or potplayer ?
Starting python from the command line and entering:
from vapoursynth import core
print(core.version())
Works fine.
Running
vspipe --info myscript.vpy -
gives:
Fatal Python error: initfsencoding: unable to load the file system codec
ModuleNotFoundError: No module named 'encodings'
poisondeathray
31st December 2019, 06:05
Running
vspipe --info myscript.vpy -
gives:
Fatal Python error: initfsencoding: unable to load the file system codec
ModuleNotFoundError: No module named 'encodings'
file system codec? What was the script ?
What about testing a simple BlankClip with vspipe, something like
clip = core.std.BlankClip(format=vs.RGB24, color=[0, 0, 0])
Cary Knoop
31st December 2019, 06:08
file system codec? What was the script ?
What about testing a simple BlankClip with vspipe, something like
clip = core.std.BlankClip(format=vs.RGB24, color=[0, 0, 0])
from vapoursynth import core
clip = core.std.BlankClip(format=vs.RGB24, color=[0, 0, 0])
Same error:
Fatal Python error: initfsencoding: unable to load the file system codec
ModuleNotFoundError: No module named 'encodings'
Current thread 0x000094bc (most recent call first):
poisondeathray
31st December 2019, 06:12
from vapoursynth import core
clip = core.std.BlankClip(format=vs.RGB24, color=[0, 0, 0])
Same error:
Fatal Python error: initfsencoding: unable to load the file system codec
ModuleNotFoundError: No module named 'encodings'
Current thread 0x000094bc (most recent call first):
I'm assuming clip.set_output() too, right?
no idea, sorry - but you should mention the details like OS, version
Cary Knoop
31st December 2019, 06:26
Same error with or without set_output()
I think it has to do with my anaconda setup.
Windows 10 Pro, Python 3.7.5 64 bit.
I am going to throw away all my non- Anaconda python installs and see if that helps.
Thanks for all your help so far poisondeathray, I appreciate it!
zerowalker
31st December 2019, 06:55
ffms2 seems to work, so the issue i guess is related to the avisource.
It's not codec specific as proven, and also not format specific (as i have used YUY2 and YV12).
Would like to debug this more to solve it or help find the cause for a solution to be made, depending on what the issue may be.
Even if ffms2 works, it's still a workaround as lossless codecs that are AVI compatible should work with Avisource, and also are usually faster and preferred in my experience (Lagarith might be a special case though).
poisondeathray
31st December 2019, 07:02
ffms2 seems to work, so the issue i guess is related to the avisource.
It's not codec specific as proven, and also not format specific (as i have used YUY2 and YV12).
Would like to debug this more to solve it or help find the cause for a solution to be made, depending on what the issue may be.
Even if ffms2 works, it's still a workaround as lossless codecs that are AVI compatible should work with Avisource, and also are usually faster and preferred in my experience (Lagarith might be a special case though).
Do you have avisynth installed on that system also?
If so, can you try the corresponding x86 or x64 version with AVISource() in avisynth?
Both are run through VFW; if both fail, it's likely an issue with VFW, or at least on that system
Or vdub2 x86 or x64 the same , open the AVI directly - but make sure file=>file information says "lagarith", not some other input driver (vdub can use ffmpeg input driver instead to open video) and see if you can seek without issues
zerowalker
31st December 2019, 10:19
Do you have avisynth installed on that system also?
If so, can you try the corresponding x86 or x64 version with AVISource() in avisynth?
Both are run through VFW; if both fail, it's likely an issue with VFW, or at least on that system
Or vdub2 x86 or x64 the same , open the AVI directly - but make sure file=>file information says "lagarith", not some other input driver (vdub can use ffmpeg input driver instead to open video) and see if you can seek without issues
Thing is i am converting the video with virtualdub, so VFW should be used, and it works fine as far as i can tell:S
EDIT:
Okay wait, ffms2 while working seems to be inaccurate, the video is shorter by about 4-5 seconds, i sadly can't really pinpoint where as the video is quite long..
Any ideas how to analyse this?
EDIT2:
I also installed Avisynth and tried AviSource on the same file and preview it with Avspmod and i seem to be able to seek around just fine.
poisondeathray
31st December 2019, 16:18
Thing is i am converting the video with virtualdub, so VFW should be used, and it works fine as far as i can tell:S
With the file loaded directly (the AVI) , Check with file=>file information . It will tell you if FFMpeg is being used (ffmpeg input driver, or caching driver) or official lagarith decoder .
If it's not using lagarith, you can force what is being used in open file dialog box , the drop down "files of type" and select AVIFile input driver
EDIT:
Okay wait, ffms2 while working seems to be inaccurate, the video is shorter by about 4-5 seconds, i sadly can't really pinpoint where as the video is quite long..
Any ideas how to analyse this?
EDIT2:
I also installed Avisynth and tried AviSource on the same file and preview it with Avspmod and i seem to be able to seek around just fine.
I used AVI such as lagarith for years, and frequently, without issues, both avisynth and vapoursynth
But one "gotcha" is null frames. Some programs might not handle that properly. Did you have that enabled ?
zerowalker
31st December 2019, 17:15
With the file loaded directly (the AVI) , Check with file=>file information . It will tell you if FFMpeg is being used (ffmpeg input driver, or caching driver) or official lagarith decoder .
If it's not using lagarith, you can force what is being used in open file dialog box , the drop down "files of type" and select AVIFile input driver
I used AVI such as lagarith for years, and frequently, without issues, both avisynth and vapoursynth
But one "gotcha" is null frames. Some programs might not handle that properly. Did you have that enabled ?
It uses Lagarith.
I don't know if i uses null frames tbh, i will check the other file with ffms2.
But still one of them should work with the default decoder correctly, not sure what's wrong:S
MagicYUV doesn't even have null frames so it should just have duplicated frames, or at worst skip them.
poisondeathray
31st December 2019, 17:56
@zerowalker - yes, the observations do no not add up nicely, not sure what's going on
Another "workaround" you can use or test if since it works in avisynth is core.avisource.AVISource on the .avs (frameserve avs to vapourysnth) . It will be slower, more overhead
Cary Knoop
31st December 2019, 18:08
@poisondeathray
I removed all Python instances and removed Vapoursynth (all users). Then I installed Anaconda and Vapoursynth (all users).
Works in Python scripts, but when I use vsedit.exe or vspipe.exe I get:
Failed to initialize VapourSynth environment!
VSRepoGUI works fine and gives me in Diagnostics:
Python location: e:\anaconda3\python.exe
Loaded VapourSynth dll: e:\anaconda3\lib\site-packages\vapoursynth.dll
Found an installation in HKEY_LOCAL_MACHINE\SOFTWARE\VapourSynth
- Path: C:\Program Files\VapourSynth
- PythonPath:
- Version: 48
Any ideas what the problem might be?
poisondeathray
31st December 2019, 18:13
@Cary - it "feels" like path issues, but that's just guessing
I did have Anaconda installed too for some projects (since removed), but python and vapoursynth were installed beforehand and separately. Python and vapoursynth were in their default locations (not through anaconda or any related anaconda directory). It seemed like a seriously messed up configuration ,with many things duplicated, but it worked for both. I don't know if that was the "right" way to do it
eg. Your vapoursynth.dll is buried in the anaconda3 directory, not the default location . Maybe you can set an environment variable for that path, or edit the registry keys
Cary Knoop
31st December 2019, 18:55
When I blank the PythonPath in the Vapoursynth registry entry I get:
Failed to initialize VapourSynth environment
Setting it to "e\anaconda3" I get:
Fatal Python error: initfsencoding: unable to load the file system codec
ModuleNotFoundError: No module named 'encodings'
Current thread 0x00007928 (most recent call first):
Using: "python myscript.vpy" works fine.
poisondeathray
31st December 2019, 19:01
When I blank the PythonPath in the Vapoursynth registry entry I get:
Failed to initialize VapourSynth environment
Setting it to "e\anaconda3" I get:
Fatal Python error: initfsencoding: unable to load the file system codec
ModuleNotFoundError: No module named 'encodings'
Current thread 0x00007928 (most recent call first):
Using: "python myscript.vpy" works fine.
typo, right ? no colon -
e:\anaconda3\
what about the python registry keys
HKEY_LOCAL_MACHINE\SOFTWARE\Python\3.7
Intalled path etc..
Cary Knoop
31st December 2019, 19:06
Yes, typo in the forum message (not the actual path).
The Python reg. keys are only: Default: (value not set)
poisondeathray
31st December 2019, 19:28
Sorry, I meant
HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\3.7
InstallPath
PythonPath
poisondeathray
31st December 2019, 19:34
"ModuleNotFoundError: No module named 'encodings'"
Do you have that "encodings" directory somewhere ? where ?
Mine is in C:\Program Files\Python37\Lib\encodings
Check in your e:\anaconda3\ somewhere
It "feels" like a path or directory issue where it can't find stuff
Cary Knoop
31st December 2019, 19:43
InstallPath = "e:\enaconda3"
PythonPath = "e:\anaconda3\Lib;e:\anaconda3\DLLs"
encodings is found in "e:\anaconda3\lib\encodings"
what I find odd is that calling vapoursynth in a regular python session works fine, but using vspipe or vsedit it seems to look for an alternative environment.
age
20th March 2020, 18:32
After i've installed vapoursynth r49-rc1 or rc2 I get this message in windows 10
Failed to load vapoursynth script library! Please set up the library search paths in settings.
What path I should manually set?
Sakura
21st March 2020, 06:33
After i've installed vapoursynth r49-rc1 or rc2 I get this message in windows 10
What path I should manually set?
Maybe you should add these paths
C:\Program Files\VapourSynth\core
C:\Program Files\VapourSynth\vsrepo
to Environment Variables - System Variables (If VapourSynth is installed for all users)
or Environment Variables - User Variables for xxx (If VapourSynth is installed for current user)
age
21st March 2020, 14:50
Thanks for the answer Sakura but it doesn't have worked.
In the end I've just disinstalled and reinstalled both python and vapoursynth, and now it works.
farabundo
31st March 2020, 21:50
Firstly, thanks to all involved in making these tools. Absolute newbie here and without the work in these threads, tools, and explanations I'd be lost. I'm having two issues, which surely must be a result of my newbie status, but am hoping someone can help out. Massive thanks to anyone who takes the time to read this.
1. Even with a really basic script in VapourSynth Editor (no actual video, just BlankClip), I receive an error after trying to Encode Video. Here's a screenshot of the Python code, the Encode Video window with its settings, and the error. Also, here (https://pastebin.com/MYVTQqcb) is the full log/error:
https://i.ibb.co/KLWQ8hb/Screen-Shot-2020-03-31-at-3-42-48-PM.png
2. I imagine this is an underlying issue, same as #1, but when I try and locate a video to write Python code for I get an error related to either lsmas or ffms2 (depending on the code). I can see in $HOME/.installs there is both a folder for ffms2 and L-SMASH-Works in the VaporSynthPlugins folder. Maybe this is a two fold question: am I missing a component? And also: in my Python scripts, do I need to write out the file path to the test.mp4 file (i.e. ~/Downloads/test.mp4) or put the file in a particular place?
https://i.ibb.co/5v0SsfM/Screen-Shot-2020-03-31-at-3-47-35-PM.png
Thanks so so much for any help, and for tolerating what I imagine to be super obvious questions.
poisondeathray
31st March 2020, 22:25
@farabundo-
When you pipe raw video, there is no header to convey clip information. You have to enter the arguments defining the video in terms of framerate, resolution, pixel format
The raw video arguments need to precede the -i when defining the input format . The order matters. Commands that come after the -i are output parameters for ffmpeg syntax
For your blankclip , eg. to encode using png compression in mov as an output (fill in the actual path)
-f rawvideo -s 640x480 -r 2997/125 -pix_fmt rgb24 -i - -c:v png "PATH\output.mov"
For the 2nd case, the error says you are missing and need to load the LSmash plugin. Place it in the plugins directory to autoload , or load it explicitly. (Actually not sure if that' s how you load plugins on a mac, or if that specific .dll works on a mac. It might need a different .dll)
core.std.LoadPlugin(r'PATH/LSMASHSource.dll')
If the MKV video is YUV, you can set vsedit to "Y4M" instead of "no header" and it will convey theclip characteristics to ffmpeg through yuv4mpegpipe. ie. You don't have to enter the input information as you did for raw video
eg. encoding using libx264 (fill in the actual path)
-f yuv4mpegpipe -i - -c:v libx264 -crf 18 "PATH\output.mov"
farabundo
1st April 2020, 19:20
@farabundo-
When you pipe raw video, there is no header to convey clip information. You have to enter the arguments defining the video in terms of framerate, resolution, pixel format
The raw video arguments need to precede the -i when defining the input format . The order matters. Commands that come after the -i are output parameters for ffmpeg syntax
For your blankclip , eg. to encode using png compression in mov as an output (fill in the actual path)
-f rawvideo -s 640x480 -r 2997/125 -pix_fmt rgb24 -i - -c:v png "PATH\output.mov"
For the 2nd case, the error says you are missing and need to load the LSmash plugin. Place it in the plugins directory to autoload , or load it explicitly. (Actually not sure if that' s how you load plugins on a mac, or if that specific .dll works on a mac. It might need a different .dll)
core.std.LoadPlugin(r'PATH/LSMASHSource.dll')
If the MKV video is YUV, you can set vsedit to "Y4M" instead of "no header" and it will convey theclip characteristics to ffmpeg through yuv4mpegpipe. ie. You don't have to enter the input information as you did for raw video
eg. encoding using libx264 (fill in the actual path)
-f yuv4mpegpipe -i - -c:v libx264 -crf 18 "PATH\output.mov"
Thanks for the response. Will read up and work on #2. Re: #1, does this make sense:
https://i.ibb.co/McnCnpP/Screen-Shot-2020-04-01-at-1-17-27-PM.png
poisondeathray
1st April 2020, 19:55
sorry, it should be -pix_fmt gbrp for planar rgb.
-f rawvideo -s 640x480 -r 2997/125 -pix_fmt gbrp -i - -c:v png "PATH\output.mov" -y
But there seems to be another issue, the planes are swapped when run through vsedit, but vspipe directly works correctly
vspipe gives the correct RGB 25,25,100
vspipe script.vpy - | ffmpeg -f rawvideo -s 640x480 -r 2997/125 -pix_fmt gbrp -i - -c:v png vspipe.mov -y
but vsedit with the equivalent command gives RGB 100,25,25 for some reason
Not sure what is going on
poisondeathray
1st April 2020, 20:02
You can use ShufflePlanes to swap them, but not sure why there is a difference between vsedit and vspipe behaviour
add this before video.set_output() , and use -pix_fmt gbrp , that makes the them correct when encoding through vsedit
video = core.std.ShufflePlanes(video, planes=[1,2,0], colorfamily=vs.RGB)
Mystery Keeper
1st April 2020, 20:44
This is my preset for encoding via FFMPEG into FFV1 with y4m header:
-y
-nostats
-i -
-c:v ffv1
"{sd}/{sn}.ffv1.mkv"
You can simply use your codec of choice.
Program is not behaving like a CLI encoder.
That means that for some reason FFMPEG didn't close when VSEdit closed the pipe. That's how encoders are supposed to work. The check is there to prevent people from creating jobs that never finish due to program not closing when encoding is complete.
poisondeathray
10th April 2020, 00:53
feature request: add x= , y= position readout for the eyedropper
Shameless bump for this feature request :D
PRAGMA
14th April 2020, 02:04
If vapoursynth crashes by bad code, the editor tends to either totally freeze or crash along with it, any chance to add a crash handler for that?
cubix
20th May 2020, 20:37
Likewise, shameless bump for comparison feature.
Mystery Keeper
25th May 2020, 01:30
Sorry sorry sorry. Life's been a roller coaster. I'll try to get to it, but I really don't know when.
lansing
10th June 2020, 10:58
I made a test build implementing a zoomable timeline, test it out here (http://www.mediafire.com/file/yn2vyqmqq1hkicy/Vapoursynth_Editor_test-build-64bit-gcc.7z/file) and give feedback. Ctrl + mouse wheel for zooming, zoom on current frame pointer. The basic skeleton should be done and I need feedback on the navigation experience. And don't mind the ugly color.
ChaosKing
10th June 2020, 17:03
The min width of the time line should be max window width. I my quick test I could zoom out to 50% window width which does not make sense I think.
EDIT oh and the red bar is sometimes cut off. Try to zoom at the end of the video. The red bar disappears sometimes
https://i.imgur.com/ldLiVTi.png
lansing
10th June 2020, 17:32
The min width of the time line should be max window width. I my quick test I could zoom out to 50% window width which does not make sense I think.
EDIT oh and the red bar is sometimes cut off. Try to zoom at the end of the video. The red bar disappears sometimes
https://i.imgur.com/ldLiVTi.png
Ok, I'll fix the red bar disappearance problem.
For the width, I set minimum width to 1000px, which is about the width of the default width of the preview window. The 1000px base width is good when working with dvd content where you don't want to work on full screen. But you're also right that you would want max window when working with HD content, and with the red bar at 50% width is really weird. I'll try think of a solution that work for both cases.
lansing
11th June 2020, 06:29
I have test2 (http://www.mediafire.com/file/slriphv4c7wlejt/Vapoursynth_Editor_test2-build-64bit-gcc.7z/file) up, now the time line width default to match the size of the window, zoom factor will remain after resize.
The red bar disappearance looks to be a bug in QT, the QPainter doesn't paint for width that is over 32,765 px. So when extending the timeline too long will have the end with no red. I have posted the problem in their forum waiting for help.
UPDATE: I got reply from the QT people, the QPainter has a painting range of +/- 2^15, that is 32,768, so the zoom went over the limit. I'll set a limit before that point then.
Also I feel like the zoom too aggressive? It's like 2 scrolls and I'm over the limit.
ChaosKing
11th June 2020, 11:05
Still buggy https://i.imgur.com/YMhNCr2.png
lansing
11th June 2020, 19:10
test 3 (http://www.mediafire.com/file/whzynv4ul287m2p/Vapoursynth_Editor_test3-build-64bit-gcc.7z/file) up. Fixed the red bar disappear problem and added a ruler on top.
lansing
15th June 2020, 10:19
I have test 4 (http://www.mediafire.com/file/rlf9y7sf1oe1cn4/Vapoursynth_Editor_test4-build-64bit-gcc.7z) up. The thing I added/changed.
- we can now jump in timeline while in playback.
- the FPS limited mode drop down now has more predefined fps options to choose from.
- added the show x and y position with eyedropper by this request (https://forum.doom9.org/showthread.php?p=1907023#post1907023)
I also tried to align center the frame in the preview area, but it seems like centering and eyedropper cannot go together, looks to be a Qt issue.
l00t
15th June 2020, 16:54
Great improvements, thank you.
I've noticed one minor problem:
- Eyedropper's coordinates does not work properly with zoom (does not scale with it).
lansing
15th June 2020, 19:09
I've noticed one minor problem:
- Eyedropper's coordinates does not work properly with zoom (does not scale with it).
That's odd, it works on my end, I'm using Windows 10.
poisondeathray
15th June 2020, 19:31
Thanks lansing;
eyedropper coordinates are not correct for me either at 1x zoom (windows 8) , even on a "small" video like 1280x720 . Top left should be x=0, y=0 but I'm getting like x=14, y=43 or something . I think it's adding the windows borders dimensions
and they change if the window is not maximized (both incorrect at any zoom)
lansing
15th June 2020, 19:42
Okay I fixed it, updated last post.
I also found a bug of ruler end not showing when zooming on a 1 minute long clip.
l00t
15th June 2020, 20:09
Still broken, it gets the coordinates from the window, but not from the video itself (or is that intentional?).
I'm trying with this script:
clip = core.colorbars.ColorBars(resolution=2, format=vs.YUV444P10, hdr=0, wcg=0, compatability=2, subblack=1, superwhite=1, iq=1)
When I zoom in to 3.0, the shown coordinates go up to my desktop resolution (4k), while the footage's resolution is smaller for sure (720p).
(Using W10 2004 with 150% DPI scaling, if that matters)
poisondeathray
15th June 2020, 20:14
Thanks, it fixed x,y coordinates with 1x zoom.
x,y coordinates with 2x, 4x ...zoom still does not work correctly. I think it's just the value *zoom currently (e.g. 2x zoom current shows x=2559 at the right most on a 1280 width video), when it should be "divide by" current zoom level or something like that
What is the "yellow" bar for ?
It looks like old timeline is "deactivated" ? If I navigate in new timeline, it does not auto update in the old timeline ? So what is the purpose of keeping both taking up screen space? Maybe introduce the ability to toggle on/off either of them ?
Is there a way to actively resize the new timeline? Such as resizeable window height ?
lansing
15th June 2020, 20:55
Okay I see the problem with the zoom now, I'll work on the fix.
The yellow bar is just a dummy color, it makes it easier to spot bugs when something goes wrong. I'll change it later when all bugs are clean. Yes the old timeline is deactivated. I'm keeping it up for now until I finished transferring out the bookmark features. (It can still loads chapter file)
I am planning to make everything bigger for better control experience. Bigger timeline, bigger buttons, that'll probably requires button repositioning so it's still all trials and errors.
For the timeline height, I referenced it off Resolve's, and we're shorter, so I think it's okay. Navigation is easy, clicking is easy. Making it taller only make sense if we have previewing thumbnails in it.
lansing
16th June 2020, 08:47
I updated the last post again with fix, hopefully all known bugs are resolve now.
l00t
16th June 2020, 15:57
Neat, it's correct now. Thank you!
Looking forward for futher optimizations :)
Can I make a small request? Is it possible to compress the .png screenshots while saving?
Thank you very much in advance.
lansing
16th June 2020, 16:38
Neat, it's correct now. Thank you!
Looking forward for futher optimizations :)
Can I make a small request? Is it possible to compress the .png screenshots while saving?
Thank you very much in advance.
I see another user did a pull request (https://bitbucket.org/mystery_keeper/vapoursynth-editor/pull-requests/14) on the original fork two weeks ago but never got reviewed. Maybe I'll just copy from him?
l00t
16th June 2020, 18:45
Well, I'm not competent in this question, but giving a try won't hurt IMHO.
lansing
16th June 2020, 20:09
Well, I'm not competent in this question, but giving a try won't hurt IMHO.
Test (http://www.mediafire.com/file/nlto68d1e4lg0p8/Vapoursynth_Editor_test4.1-build-64bit-gcc.7z) it here. There's a quality parameter to determine the size, 0 is highest compression and 100 for no compression. The program was using 100 before.
Saving at quality 0 lags the program and I didn't bother exposing the parameter like the guy did. I didn't lag at 50 so I just go with that. Test it to see if it lags yours or we will need higher number.
l00t
17th June 2020, 10:19
Thanks! Works fine for me, it compresses well. I observed no lags, but I have a Threadripper 2950X, so that might be not that representative. Will try on cheaper HW later.
Test (http://www.mediafire.com/file/nlto68d1e4lg0p8/Vapoursynth_Editor_test4.1-build-64bit-gcc.7z) it here. There's a quality parameter to determine the size, 0 is highest compression and 100 for no compression. The program was using 100 before.
Saving at quality 0 lags the program and I didn't bother exposing the parameter like the guy did. I didn't lag at 50 so I just go with that. Test it to see if it lags yours or we will need higher number.
lansing
18th June 2020, 23:18
I'm working on the chapter manager and trying to load bookmark file and chapter file with the same button, how can I tell them apart?
poisondeathray
20th June 2020, 01:33
Another repeated request is " tabs" , a very useful feature in avspmod and vapoursynth multi viewer. M K said there would be stability issues implementing them - has anything changed or do you have any new ideas ?
lansing
20th June 2020, 02:54
Another repeated request is " tabs" , a very useful feature in avspmod and vapoursynth multi viewer. M K said there would be stability issues implementing them - has anything changed or do you have any new ideas ?
That is the one that everybody wanted for years. It is next up on my to do list after this bookmark manager I working on right now.
The main challenge is the core design, what Mystery Keeper wanted is a multi processes design, something like Google Chrome where each video node would be attached to one process, so if one of them die, the other would still be alive without the entire program crashing. I have that same idea too but I was waiting for him to do it.:)
And there wasn't many if any example to look at so I don't know the steps to do this, it'll probably take many tries. My idea right now is to make a separate program acting as a control center, and it able to call new vseditor processes and have them somehow attached to it like a tab.
If everything failed, I'm going to fall back to the single process multi-tab design implementation like avspmod. I just feel like we need to get something going, and having something done is better than having nothing done.
And btw any bug found in the timeline or any lagging when saving snapshot on lower end machine? If they're fine then I'll take out that ugly red bar in the next test build.
poisondeathray
20th June 2020, 04:59
I did not notice any lagging either for the screenshot saving
Will you add back that mouseover that displays a popup current time, or some other current time indicator of the playhead and or cursor (hh:mm:ss.ms) ?
lansing
20th June 2020, 05:11
I did not notice any lagging either for the screenshot saving
Will you add back that mouseover that displays a popup current time, or some other current time indicator of the playhead and or cursor (hh:mm:ss.ms) ?
Yes, I was thinking about putting them right under the current frame indicator so they're all in one place. So we'll have the box showing current frame on top, a second box show current time in the middle, and a third box showing the mouseover time.
_Al_
20th June 2020, 05:57
I constructed Qt for playing clips as well. Drawing frames is in a thread, together with timer an pulling frames from queue. Similar like M. Keepers. I was looking at his scripts for how-to. But using python so a module could be used together with any python editor.
Then I just realized to quick test opencv how that would go, not Qt and it just clicked from the beginning. Using view.py , quick zoom in, changing clips is an instant using keys on keyboard. I realized that simple might be better, no gui, with just assigning hot keys for functions + drawing slider, what opencv does very well. Also drawing selection, using mouse seams to be a bit easier than in Qt. I never came back to that Qt solution. Opencv has a main loop that reads keys, so you just feed any frame you want (switching a clip) and it will seamlessly go on. When zooming or zooming out, you do it for all clips always, so those clips are ready. How would I do that if those processes, clips, were in different threads like was constructed in Qt ? I was surprised how sturdy it all behaved,no crushing.
l00t
20th June 2020, 10:53
If possible, another request is to add a Search functionality. I know most of the codes are not that long, however, in certain cases it would be useful.
Myrsloik
20th June 2020, 11:10
That is the one that everybody wanted for years. It is next up on my to do list after this bookmark manager I working on right now.
The main challenge is the core design, what Mystery Keeper wanted is a multi processes design, something like Google Chrome where each video node would be attached to one process, so if one of them die, the other would still be alive without the entire program crashing. I have that same idea too but I was waiting for him to do it.:)
And there wasn't many if any example to look at so I don't know the steps to do this, it'll probably take many tries. My idea right now is to make a separate program acting as a control center, and it able to call new vseditor processes and have them somehow attached to it like a tab.
If everything failed, I'm going to fall back to the single process multi-tab design implementation like avspmod. I just feel like we need to get something going, and having something done is better than having nothing done.
And btw any bug found in the timeline or any lagging when saving snapshot on lower end machine? If they're fine then I'll take out that ugly red bar in the next test build.
I believe a multi-process design is pointless. Cores don't just fall over and crash and whenever a fatal error is discovered it's always fixed in the next release.
I'd say add the actually requested features in a single process and reach new levels of popularity.
lansing
20th June 2020, 11:14
Test 5 build here (http://www.mediafire.com/file/vsf838bw82joepw/Vapoursynth_Editor_test5-build-64bit-gcc.7z/file), here my log:
- Image saving (png) now uses better compression for smaller file size (quality 50 instead of no compression)
- New bookmark manager to interact with timeline
- bookmark can now be save as chapter file or bookmark with delimiter
- bookmark settings are saved
Test to see if all the buttons work. The close button doesn't work though. You can double click on bookmark to jump to frame in timeline. Saving to chapter file only saves the timestamp for now.
lansing
21st June 2020, 08:58
Test 5.1 here (http://www.mediafire.com/file/98dbzpm3l169tpx/Vapoursynth_Editor_test5.1-build-64bit-gcc.7z/file)
- Mouse click and drag in timeline works now
- Chapter title is now editable in bookmark manager and can be saved. (no XML)
I also fixed a couple of bug that only occurred from dragging. For chapter files, I'm not touching XML, I looked at mkvtoolnix's chapter editor and it scared me. People looking for more functionalities from their chapter file should look into those instead.
lansing
21st June 2020, 09:03
I believe a multi-process design is pointless. Cores don't just fall over and crash and whenever a fatal error is discovered it's always fixed in the next release.
I'd say add the actually requested features in a single process and reach new levels of popularity.
Will multi-process design alleviate memory usage for things like, loading three 1080p videos and flipping them back and forth doing comparison?
ChaosKing
21st June 2020, 10:12
My #1 wish for vsedit would be a better code completion system. The current one only works for plugins and only if you write core.std.... ; clip.std. does not work + it writes all parameter while often you only need 1 or 2.
ChaosKing
21st June 2020, 10:35
Test5.1: When you resize the window, shouldn't the "current cursor" stay on the current timestamp? Currently it stays relative the the right border.
See here https://i.imgur.com/VovMguf.gifv
Myrsloik
21st June 2020, 12:35
My #1 wish for vsedit would be a better code completion system. The current one only works for plugins and only if you write core.std.... ; clip.std. does not work + it writes all parameter while often you only need 1 or 2.
There have been some improvements that will show up in the next VS release that really help the completion in other pure python editors so it may be possible to do.
ChaosKing
21st June 2020, 13:01
As far as I know the generated "pyi" file only contains plugin stuff. Code completion for py modules / VS-Scripts in vsedit would be the best feature (for me at least :D)
I think some people use Visual Studio Code? But how do they handle video preview?
DJATOM
21st June 2020, 13:23
I'm using Visual Studio Code + VSPreview (https://github.com/Endilll/vapoursynth-preview) to write scripts.
It's not that difficult to combine VSPreview with VS Code: create folder ".vscode" in your working folder (where vpy scripts placed), put file launch.json (https://pastebin.com/aPfx98WB) in it and press F5 or Ctrl+F5 on active editor tab to run it.
lansing
21st June 2020, 13:27
Test5.1: When you resize the window, shouldn't the "current cursor" stay on the current timestamp? Currently it stays relative the the right border.
See here https://i.imgur.com/VovMguf.gifv
It did stay, the frame indicator didn't move when drag resizing the window.
lansing
21st June 2020, 18:10
What is the advantage of current separate script + preview window ui design than the combined design? I can see that it's more compact but 99% of the time people are going to be working on both the script and the preview at the same time, why the separation? And this came with a price, as an user for many years, the thing I found annoying is that the script window does not pin to the top, so when working with maximized/bigger preview window, every time I clicked on the preview window, the script window would go under and disappeared. And to make it come back again, I would have to go into my taskbar with 10+ programs icons on the bottom of the desktop looking for it, it's not a good user experience.
And to add multi-tab functionality on top of this...I think eventually it's going to come to a conclusion that it will need a new ui design, and the first thing to this is to join the script and preview windows back together.
What's your thought on this? How is your experience with the separate window design?
_Al_
21st June 2020, 18:40
What is the advantage of current separate script + preview window ui design than the combined design?
Exactly my thoughts, we have a Python working here so no separate EXE or command line is needed. This is Avisynth-Vapoursynth difference that favors vs.
You tried that my preview solution. Quick zooms, crops with mouse, fast to see differences between clips. Preview is popping on desired coordinates (argument position) even preview dimensions could be put as arguments. Also it should be kept simple and light weight.
Preview([clip, fixed_clip]) within script itself within Python editor. Works just fine. Preview as a python module.
But if some proper developer would tackle this, it could really go further.
Also if in that module is put:
if __name__ == '__vapoursynth__':
return
preview would be ignored if using with vspipe if someone forgets to delete calling that preview function.
DJATOM
21st June 2020, 18:55
Separate is better if you have 2 monitors: one can handle text editor and the other one can show preview.
lansing
22nd June 2020, 10:18
Separate is better if you have 2 monitors: one can handle text editor and the other one can show preview.
Okay I’ll keep it then. I think a better setup would be a detachable window, where the script editor window can be detached from the main window for dual monitor workflow, while single monitor user can work under one single window.
lansing
22nd June 2020, 10:52
Exactly my thoughts, we have a Python working here so no separate EXE or command line is needed. This is Avisynth-Vapoursynth difference that favors vs.
You tried that my preview solution. Quick zooms, crops with mouse, fast to see differences between clips. Preview is popping on desired coordinates (argument position) even preview dimensions could be put as arguments. Also it should be kept simple and light weight.
Preview([clip, fixed_clip]) within script itself within Python editor. Works just fine. Preview as a python module.
But if some proper developer would tackle this, it could really go further.
Also if in that module is put:
if __name__ == '__vapoursynth__':
return
preview would be ignored if using with vspipe if someone forgets to delete calling that preview function.
I think Preview need a more thought on how to output the comparison clips. It’s not what people would do when comparing results. Avspmod’s way makes the most sense, don’t touch the original script and make a copy of it to make changes there. And if you don’t like it, you can simply throw it away, fast and easy. With Preview it would be painful to remove when the script gets big.
_Al_
22nd June 2020, 20:11
I think Preview need a more thought on how to output the comparison clips. It’s not what people would do when comparing results. Avspmod’s way makes the most sense, don’t touch the original script and make a copy of it to make changes there. And if you don’t like it, you can simply throw it away, fast and easy. With Preview it would be painful to remove when the script gets big.
This is about preference, comparing scripts vs. comparing VideoNodes within one script.
Comparing VideoNodes does not need to be re-thought because it is just different way of working with scripts. It just does not work for you or others I totally get it because workflow is different, saving scripts, forking them all the time.
But of course , you can even use both at the same time. When putting script together I'd always fork them anyway. Making a fork just to see one different value seams a bit too much though. Or to loop some values. Or do not forget you can simply import videonode output index from other script if you want some elaborate / sample comparison. This is Python, things could be done in more ways.
lansing
23rd June 2020, 06:18
This is about preference, comparing scripts vs. comparing VideoNodes within one script.
Comparing VideoNodes does not need to be re-thought because it is just different way of working with scripts. It just does not work for you or others I totally get it because workflow is different, saving scripts, forking them all the time.
But of course , you can even use both at the same time. When putting script together I'd always fork them anyway. Making a fork just to see one different value seams a bit too much though. Or to loop some values. Or do not forget you can simply import videonode output index from other script if you want some elaborate / sample comparison. This is Python, things could be done in more ways.
I mean you can do VideoNodes comparison in the backend, but in the front, the syntax needs to be more user friendly. The users should not have to change their entire workflow just to adapt to one feature.
An idea of improvement, let the users start two scripts normally, and then requires them to run a common comparing function at the end of the scripts. And then internally, join the scripts into one implicitly and run Preview(v1, v2...).
_Al_
24th June 2020, 03:42
I misunderstood your post #663, hence we are going back and forth. You wanted just UI change where you have script and preview on the same UI.
An idea of improvement, let the users start two scripts normally, and then requires them to run a common comparing function at the end of the scripts. And then internally, join the scripts into one implicitly and run Preview(v1, v2...).
if, then using basic python import:
import other_script
Preview([clip, other_script.clip])
clip output settings are always below Preview() so it is not overwritten by vs. Yes, definitely scary if there is 10 version of scripts. But what if you need to change source file? You change it in all scripts again? That was a pain also using other standalone EXE, could not see simple print() from script so using python editor etc. Naming it *.py not *.vpy. I guess it goes all the way.
If you start to look at it as a python , throwing away avisynths workflows, something new possible will pop up. For example that major pain, changing source file, that comes with changing source filter, indexing etc. It is better to have it automatized and just switching top of the script, in one script. This would not work if you have already 5 other scripts Saved As.
lansing
24th June 2020, 08:19
if, then using basic python import:
import other_script
Preview([clip, other_script.clip])
That is good. I didn't know you can do that.
clip output settings are always below Preview() so it is not overwritten by vs. Yes, definitely scary if there is 10 version of scripts. But what if you need to change source file? You change it in all scripts again? That was a pain also using other standalone EXE, could not see simple print() from script so using python editor etc. Naming it *.py not *.vpy. I guess it goes all the way.
If you start to look at it as a python , throwing away avisynths workflows, something new possible will pop up. For example that major pain, changing source file, that comes with changing source filter, indexing etc. It is better to have it automatized and just switching top of the script, in one script. This would not work if you have already 5 other scripts Saved As.
I don't think people who're doing video comparison will change source file much if ever. Why would they? There is no one script fits all, a new video problem will need a new script. And the pain you talked about can be resolved by a find&replace function.
And I doubt many people would save their variant scripts either. You saved the best script and threw away all the others.
lansing
4th July 2020, 14:24
Update on my progress, I'm about 80% done. Many days had been spent dealing with exceptions caused by missing dll. And right now I have been hit with both of these which I couldn't ignore (program crashed).
Exception at 0x7ffcc94ba799, code: 0xe06d7363: C++ exception, flags=0x1 (execution cannot be continued) (first chance) at C:\libraries\vapoursynth\src\core\vscore.cpp:1527
Exception at 0x7ffcc94ba799, code: 0xe06d7363: C++ exception, flags=0x1 (execution cannot be continued) (first chance) in dwrite!DWriteCreateFactory
I think I miss some libraries?
UPDATE: I resolved the issue, expect a test build in a day
Hi lansing,
Is this your repo (shared with other authors) on GitHub or a completely different fork:
https://github.com/sandsmark/vapoursynth-editor
Thank you for your answer.
lansing
8th July 2020, 13:36
Hi lansing,
Is this your repo (shared with other authors) on GitHub or a completely different fork:
https://github.com/sandsmark/vapoursynth-editor
Thank you for your answer.
No, my fork is here:
https://bitbucket.org/gundamftw/vapoursynth-editor/src/master/
I see, thanks! Is it possible to merge/adapt the bugfixes from there?
lansing
16th July 2020, 15:12
Test 6 (https://www.mediafire.com/file/btn6gewftp89b9u/Vapoursynth_Editor_test6-build-64bit-gcc.7z/file) up, finally. Now with a detachable multi tab ui.
I want to make a correction first on Mystery Keeper's view on multi tab implementation. I was wrong on that he wanted a multi process design, he was talking about a single script with multiple output nodes (https://forum.doom9.org/showthread.php?p=1849241#post1849241) design, it would be what _Al_ is doing now.
I ended up with a single process multi tab design myself. The development process is longer than expected, I had spent a lot of days dealing with debugging messages that didn't tell me anything. For example it took me two days to find out that MingGW doesn't build 64 bit debugging build (the program didn't tell me that) while I don't have 32 bit Vapoursynth installed.
New feature highlight:
- Multi tab support
- Script window can be detached from preview window
- Logging window can be hidden
- Bookmark manager integration with multi tab support
- Timeline view control integration with multi tab support
All previous menu functions should work I think. Right click context menu not working yet.
ChaosKing
16th July 2020, 16:54
Some things I noticed in test6
How can I attach the script window back again?
It would be good if the current frame (cursor) position could be changed globally for all tabs (usefull for comparing multiple frames) otherwise I need the adjust the coursor for every tab every time...
FI "Frame info" is simple but usefull. It would ne nice if I could copy the current pixel color with right click or so
Can we get the same default font like in R19?
I tried to change the font, but vsedit crashed after I hit save
lansing
16th July 2020, 17:42
Some things I noticed in test6
How can I attach the script window back again?
It would be good if the current frame (cursor) position could be changed globally for all tabs (usefull for comparing multiple frames) otherwise I need the adjust the coursor for every tab every time...
FI "Frame info" is simple but usefull. It would ne nice if I could copy the current pixel color with right click or so
Can we get the same default font like in R19?
I tried to change the font, but vsedit crashed after I hit save
Double click on the script window and it will dock back. Or you can just drag it to the left side of the main window and it will dock back automatically.
Similar script comparison not implemented yet. I still couldn't decide how should the scripts be tied. Should the program detect similarity and lock them automatically or have the user lock them manually?
Next test build will fix the setting crash.
The theme is an area that I have never looked at because it was so confusing to me. I'm going to add a presets loading/saving function for it so I can use what others had made instead of me fiddling it myself.
_Al_
20th July 2020, 01:45
I checked that out that test6, comparing clips, but using different scripts.
Is your vsedit version using something like: vs.get_output(0).get_frame(x) to get data for a frame thru vs API?
Then it should not be a problem to implement loading clip name directly (or at least different ouput indexes) to exercise more of actual python. I think python workflows has lots of positives too. So if it is not difficult to implement, why not.
You could distribute those output indexes (if not different clips directly, but that would need to be wrapped into some function) into those different TABS.
lansing
22nd July 2020, 11:21
Test 7 (http://www.mediafire.com/file/8utda44jk7htn3g/Vapoursynth_Editor_test7-build-64bit-gcc.7z/file) up!
- fixed crash when saving settings
- A new theme preset system for the editor. Theme presets are now saved. Theme presets can be import/export
A rewrite of the theme saving mechanism. Theme presets are now saved to a separate "theme_presets" text file instead of vsedit.config. I learned this the hard way, I had experienced wrong text display and I took the advice to delete the vsedit.config for the reset, which caused me to lose all my code snippets.
lansing
22nd July 2020, 15:13
I checked that out that test6, comparing clips, but using different scripts.
Is your vsedit version using something like: vs.get_output(0).get_frame(x) to get data for a frame thru vs API?
Then it should not be a problem to implement loading clip name directly (or at least different ouput indexes) to exercise more of actual python. I think python workflows has lots of positives too. So if it is not difficult to implement, why not.
You could distribute those output indexes (if not different clips directly, but that would need to be wrapped into some function) into those different TABS.
No, I am building on what Mystery Keeper had already done. It had one single script processor that takes care of talking to the VS API and fetching frames. And it was closely tied to the timeline and preview area. In my implementation I take this processor and create a new instance of it and attached to every tab.
VS editor was written using C++ version of Qt, not Python.
lansing
25th July 2020, 03:57
Test 8 up (https://www.mediafire.com/file/ik06e0tihs2pqog/Vapoursynth_Editor_test8-build-64bit-gcc.7z/file).
- Similar clips comparison feature added. Clips are assign to group automatically on first load. Clips in same group will be sharing the same timeline
- Multiple groups navigation between clips. Frame position and timeline zoom level of groups are remembered
- Continuous playback when switching between clips in the same group
There's a minor issue of a frame flash when switching between clips during playback, I couldn't figure out where it came from.
poisondeathray
25th July 2020, 04:17
Thanks;
Does number hotkey tab switching work yet in this version? I can't get it to swap except with mouse click
Minor request -
"copy to new tab" command that avspmod has
lansing
25th July 2020, 04:47
Thanks;
Does number hotkey tab switching work yet in this version?
I never tried this routine, how do it work?
Minor request -
"copy to new tab" command that avspmod has
Okay will be added.
poisondeathray
25th July 2020, 04:54
I never tried this routine, how do it work?
Whhaaat do you mean ??! You haven't tried it ? That's the absolute "best" part of avspmod IMO ! The hotkey switching . The number keys are hot keys that correspond to the tabs. 1=tab1, 2=tab2, etc... The shared timeline and number keys enable fast swapping. You can check versions of scripts much faster. You can navigate with one hand on the mouse to check different frames, and one hand on the number keys to check different tabs. You keep the same frame number reference (as opposed to something like interleave method, and doing more than a few is difficult with interlave) . It's so handy that I sometimes use avspmod tabs and VSImport to check vpy scripts! But tabs in vsedit makes that unnecessary now. Enabling number hotkeys for tabs is the knockout punch!
VapourSynthMultiViewer attempts does this, but it's a bit buggy
Thanks for the continued improvements :D
poisondeathray
25th July 2020, 06:44
"save script as" doesn't seem to work
request:
-right click, tab context menu (popup) . That's where "copy to new tab" is in avspmod. Close tab can be useful too as a right click option, and save script, close tab - to include in that right click context menu . Those types of options require a specific tab to be selected , instead of being "global" - (e.g. so if you right click tab3, it would apply to tab3)
poisondeathray
25th July 2020, 06:56
Please include tab names and ability to rename tabs; in avspmod the tab takes on the script name automatically (and tab number pops up when preview activated), but you can right click, rename the tab too. Tab/Script names can help a lot with organization .
Not a huge deal, but in the original version, there were a bunch of commands under edit menu like "comment lines" , "move text block up" etc.... They are missing in this version.
lansing
25th July 2020, 07:44
I'll be transferring the remaining main menu options and right click context menu next.
_Al_
25th July 2020, 15:14
The number keys are hot keys that correspond to the tabs. 1=tab1, 2=tab2, etc... The shared timeline and number keys enable fast swapping.
You can download view.py (https://github.com/UniversalAl/view/blob/master/view.py) and use it in your script, fast zoom in and hot keys. Needs opencv. There are examples in Readme file that show how arguments could be alternated and compared.
Because vapoursynth = Python, it never hurts to change workflows as if developing python script or scripts.
poisondeathray
25th July 2020, 19:27
You can download view.py (https://github.com/UniversalAl/view/blob/master/view.py) and use it in your script, fast zoom in and hot keys. Needs opencv. There are examples in Readme file that show how arguments could be alternated and compared.
Because vapoursynth = Python, it never hurts to change workflows as if developing python script or scripts.
Thanks, I know about this and saw the other thread; it's on my "to learn" list .
lansing
25th July 2020, 21:29
I was testing out this lossless webp format when saving snapshot, on a 720x480 anime frame, at highest compression ratio, the png version is 455 KB while the webp version is 4.55 KB, WTF? The webp version is 99% smaller?
poisondeathray
25th July 2020, 23:01
I was testing out this lossless webp format when saving snapshot, on a 720x480 anime frame, at highest compression ratio, the png version is 455 KB while the webp version is 4.55 KB, WTF? The webp version is 99% smaller?
No, something is wrong. It should provide better compression, but it won't be less than 1/2 size
Are you sure you're using lossless profile ? If you check with ffmpeg -i input.webp it will identify lossless was used
Subsampling can make small difference too.
Was subsampling the same ? png supports rgb/rgba , webp supports rgb/rgba (actually bgra) and yuv420p/yuva420p . e.g. if you take from DVD directly it might be RGB vs. YV12 version of webp
This was on anime frame
png rgb 403kb
webp lossless rgb 285 kb
webp lossless yv12 283 kb
lansing
25th July 2020, 23:12
No, something is wrong. It should provide better compression, but it won't be less than 1/2 size
Are you sure you're using lossless profile ? If you check with ffmpeg -i input.webp it will identify lossless was used
Subsampling can make small difference too.
Was subsampling the same ? png supports rgb/rgba , webp supports rgb/rgba (actually bgra) and yuv420p/yuva420p . e.g. if you take from DVD directly it might be RGB vs. YV12 version of webp
This was on anime frame
png rgb 403kb
webp lossless rgb 285 kb
webp lossless yv12 283 kb
I got this from ffmpeg, don't know what it means
Stream #0:0: Video: webp, yuv420p(tv, bt470bg/unknown/unknown), 720x480, 25 tbr, 25 tbn, 25 tbc
At least one output file must be specified
poisondeathray
25th July 2020, 23:39
I got this from ffmpeg, don't know what it means
Stream #0:0: Video: webp, yuv420p(tv, bt470bg/unknown/unknown), 720x480, 25 tbr, 25 tbn, 25 tbc
At least one output file must be specified
Your webp was not using lossless profile, and it was using yuv420p
This is using lossless profile . I recompressed the png, so it says argb instead of yuv420p
Stream #0:0: Video: webp, argb, 720x480, lossless, 25 tbr, 25 tbn, 25 tbc
(EDIT: Clarification - lossless profile for webp only supports argb ; so that difference in 2Kb for RGB vs. YV12 was probably due to different upsampling algorithm)
lansing
26th July 2020, 00:11
Your webp was not using lossless profile, and it was using yuv420p
This is using lossless profile . I recompressed the png, so it says argb instead of yuv420p
Stream #0:0: Video: webp, argb, 720x480, lossless, 25 tbr, 25 tbn, 25 tbc
(EDIT: Clarification - lossless profile for webp only supports argb ; so that difference in 2Kb for RGB vs. YV12 was probably due to different upsampling algorithm)
Okay I found the problem. In the code, png and webp format saving are sharing the same "quality" setting. In png, quality 0 means best compression but in webp, 0 means worst quality. Saving webp at quality 100 gives me the lossless tag. I'll fix it.
poisondeathray
26th July 2020, 15:34
1) Some issue with viewing alpha channel in a gbrap source (Gray8 as alpha clip) . Affects original vsedit, and this mod . Vdub2 preview ok, VSImport in avisynth of .vpy ok too
clip[1].set_output() #view alpha
Error on frame 0 request:
Resize error -1: invalid graph state L878: !m_state.has_chroma() || m_state.plan
You can try this new LSmash release and this test clip, (or ffms2 supported alpha before too)
https://forum.doom9.org/showthread.php?p=1919446#post1919446
https://forum.doom9.org/showpost.php?p=1919295&postcount=1311
2) I can't find error message or log file in this test version. That error message was from original version
EDIT: more info - I think it has something to do with (matrix,transfer,primaries) props being read , explicitly set, or assumed that vsedit is using for the display. If you load something else that has metadata or values, it will display the alpha
lansing
26th July 2020, 17:15
My version and the original version are displaying it fine.
poisondeathray
26th July 2020, 17:26
My version and the original version are displaying it fine.
both clip[0] and clip[1] ?
clip[0] is ok for me, the clip[1] gray8 alpha clip has the issue . Not sure what's going on, because it's ok in vdub2
#clip[0].set_output(alpha=clip[1])
clip[1].set_output()
lansing
26th July 2020, 17:28
both clip[0] and clip[1] ?
clip[0] is ok for me, the clip[1] gray8 alpha clip has the issue . Not sure what's going on, because it's ok in vdub2
#clip[0].set_output(alpha=clip[1])
clip[1].set_output()
clip[1].set_output is fine for me, I'm seeing the spinning dollar sign in black and white
poisondeathray
26th July 2020, 17:30
clip[1].set_output is fine for me, I'm seeing the spinning dollar sign in black and white
Thanks; that's what you should see.
Then it must be some local issue, I'll try to figure it out
If I just re-encode it with qtrle, Gray8 preview works for me .
ffmpeg -i input.mov -c:v qtrle -an output.mov
Or some other PNG+alpha image sequence, or this re-encoded as a PNG+alpha sequence (loaded with imwri.Read, alpha=True) the Gray8 preview works . Not sure why, because it was PNG in MOV to begin with
ffms2 alpha=True has same issue for me, so I doubt it's source filter related
Not sure what's going on...
Mystery Keeper
28th July 2020, 19:02
I'm glad someone is actively working on new features. I'm very sorry I haven't been. For the last year my life has been a roller coaster, and I can't tell when I'll be back to active development.
Myrsloik
28th July 2020, 19:41
I'm glad someone is actively working on new features. I'm very sorry I haven't been. For the last year my life has been a roller coaster, and I can't tell when I'll be back to active development.
I suggest you name an official successor then. Or you have fork hell in no time... (if it didn't already happen)
lansing
29th July 2020, 14:49
Test 9 (https://www.mediafire.com/file/mrbgu8uhuxrslh1/Vapoursynth+Editor+test9-build-64bit-gcc.7z/file) up. I have transferred all the remaining menu/context menu functions that I can see except noted.
Log:
- Fixed webp saving in wrong image quality. Image formats now save with their own quality parameters instead of sharing one single parameter
- Transferred all the remaining menu/context menu functions as well as all the little functions except noted
- Closing handler for multi tab, that is save script on exist confirmation and garbage collections
- Default auto tab naming on creation works correctly now
- Removed bilinear scale mode on preview
- Crop editor temporary removed for new implementation
I removed the bilinear scale mode because I just don't see the usage. People used zoom for cropping and for cropping it needs to be pixel precised. You don't want a scale mode that smoothed out the pixels.
I also removed the crop editor for now because it needs a new window anyway and I'm still gathering ideas. I have checked out several other crop editors and the one from avidemux looks really cool.
Aside from those, I have pretty much completed transferring all the stuff from the original to the new one. After all bugs were fixed in these test builds I'll change it to release. Then it will be time to add new stuffs.
For the continuation of the project, I think I'll do what Staxrip and Staxrip 2 did and rename mine to vseditor 2.
ChaosKing
29th July 2020, 15:40
I removed the bilinear scale mode because I just don't see the usage.
I use it sometimes as it shows how the video would look like in a video player later.
The zoom field is a bit strange. If I use the arrow keys the zoom steps are 3x 2x 1x 0.6x 0.2x. Why not 0.5? And why is 0.1 not allowed? When I type 0.3 and then use the arrow keys the next zoom steps are 0.7x 1.1x 2.0x. With 0.5x it jumps to 0.9x :-/
The close all tabs button needs an icon :D
lansing
29th July 2020, 18:12
I use it sometimes as it shows how the video would look like in a video player later.
The zoom field is a bit strange. If I use the arrow keys the zoom steps are 3x 2x 1x 0.6x 0.2x. Why not 0.5? And why is 0.1 not allowed? When I type 0.3 and then use the arrow keys the next zoom steps are 0.7x 1.1x 2.0x. With 0.5x it jumps to 0.9x :-/
The close all tabs button needs an icon :D
The zoom steps goes by +-0.2x between 0.2x - 1.0x, and +-1x after that. The arrow keys are not working properly because I totally forgot about them :p . I was testing with mouse control mostly.
The minimum zoom ratio is 0.2x and maximum is 8x. I capped at 8x because anything more than that causes navigation to lag. I think Avspmod have had the same issue but gispos fixed it sometime ago. I'll need to look at his code for guidance.
Is there really a need for 0.1x zoom? I thought 0.2x is really really small already.
_Al_
29th July 2020, 18:28
I capped at 8x because anything more than that causes navigation to lag.
Some idea - using zoom as crop and zoom in for previewing rgb clip. This way zooms-in perform even faster than original resolutions. Keeping track for CropAbs() values in memory, values are always relative to original resolution. Then one button could be dedicated to just return to previous zoom. I do it that way. Always performing crops and zooms for all clips so clips could be compared (if loaded more clips) in any zoom state.
ChaosKing
29th July 2020, 18:47
Is there really a need for 0.1x zoom? I thought 0.2x is really really small already.
Well I once stacked 24 openings together to find differences :p
lansing
29th July 2020, 19:24
Some idea - using zoom as crop and zoom in for previewing rgb clip. This way zooms-in perform even faster than original resolutions. Keeping track for CropAbs() values in memory, values are always relative to original resolution. Then one button could be dedicated to just return to previous zoom. I do it that way. Always performing crops and zooms for all clips so clips could be compared (if loaded more clips) in any zoom state.
vseditor uses Qt's QPixmap.scale for zooming, I'll see if there's any image cropping function in Qt.
lansing
29th July 2020, 19:28
Well I once stacked 24 openings together to find differences :p
How? Like like 6 x 4 stack? But then where does 0.1x zoom comes in?
ChaosKing
29th July 2020, 19:43
How? Like like 6 x 4 stack? But then where does 0.1x zoom comes in?
More or less yes. I needed to see every video at once on my screen. (I could have resized them but this was quicker :P)
I'm just saying why not allow smaller values by manual input, it is an unnecessary restriction.
I tested the zoom with mouse control now, and I like it :)
Could you also fix the old and annoying bug in "encode video"? It always sets the Header setting to "no header" instead of "Y4M" (you need to close and start vsedit)
lansing
29th July 2020, 21:03
I'm just saying why not allow smaller values by manual input, it is an unnecessary restriction.
I'll think about it, maybe a constant step when zooming with mouse or keyboard and allowing custom values when entering by hand.
Could you also fix the old and annoying bug in "encode video"? It always sets the Header setting to "no header" instead of "Y4M" (you need to close and start vsedit)
I have never tried the encode feature, I don't even know how it works. I loaded in a script from the editor and the x264 exe, when I click start it said "no input file"?
And does video encoding always come attached with a "Y4M" header? If it is then I'll make a global setting to remember it, if not then I'll make it savable with preset.
poisondeathray
29th July 2020, 21:25
I have never tried the encode feature, I don't even know how it works. I loaded in a script from the editor and the x264 exe, when I click start it said "no input file"?
You need to enter the encoder arguments in the box
eg.
- --demuxer y4m --crf 18 --muxer mkv -o "output.mkv"
And does video encoding always come attached with a "Y4M" header? If it is then I'll make a global setting to remember it, if not then I'll make it savable with preset.
Not if it's rawvideo
Y4M includes header info, like fps, dimensions, pixel format for YUV formats. Those entries must be entered on the encoder side when piping raw video (e.g. maybe for an RGB script) , so Y4M is usually preferred when piping YUV. Y4M header in vsedit is the same thing as vspipe --y4m , it refers to the headers for the stream that is input into the encoder
lansing
29th July 2020, 21:46
You need to enter the encoder arguments in the box
eg.
- --demuxer y4m --crf 18 --muxer mkv -o "output.mkv"
How do I put in the script as input?
ChaosKing
29th July 2020, 23:10
Simple example
https://i.imgur.com/Hulhrj2.png
Or use my config with some presets (you'll notice that header_type is = 1 but is set to 0 when you open the enc window)
https://github.com/theChaosCoder/vapoursynth-portable-FATPACK/blob/master/VapourSynth64Portable/VapourSynth64/vsedit.config
lansing
30th July 2020, 00:04
Simple example
https://i.imgur.com/Hulhrj2.png
Or use my config with some presets (you'll notice that header_type is = 1 but is set to 0 when you open the enc window)
https://github.com/theChaosCoder/vapoursynth-portable-FATPACK/blob/master/VapourSynth64Portable/VapourSynth64/vsedit.config
Okay I got the encoding running. The headertype was saved with preset for me. When I loaded the preset the headertype was also loaded.
lansing
30th July 2020, 05:46
A fixed build here (https://www.mediafire.com/file/711jdj25vb2e273/Vapoursynth+Editor+test9.1-build-64bit-gcc.7z/file).
- Fixed wrong zoom ratio step when controlled by arrow keys
- Added a close all function and button in the tool bar
- Fixed a bug where bookmark manager doesn't change with tab change
For the zoom step I have decided to keep it like this with 0.2x being the minimum because it's reasonably small already and normal people just don't go inputting 0.13x on their own.
For the missing icons...it's hard to find the right one when there's 1000 icons in the package (http://www.famfamfam.com/lab/icons/silk/).
For the laggy zooming navigation problem, I've tried with a fixed widget size of the pixmap itself and the container, both didn't do anything, so I don't think it can be resolved on the Qt side. It would need to be from the script side like the way _AI_ mentioned.
ChaosKing
30th July 2020, 07:21
Cosmetic bug:
I open a new script ( 2 tabs ): App title bar shows: "abc.vpy". I click on close all tabs => abc.vpy is still shown.
Okay I got the encoding running. The headertype was saved with preset for me. When I loaded the preset the headertype was also loaded.
Here is my test: https://i.imgur.com/dznAd6S.gif
Y4M is not set after app restart for me.
lansing
30th July 2020, 18:59
New fix up (https://www.mediafire.com/file/rmmss3ogyv1ufar/Vapoursynth+Editor+test9.2-build-64bit-gcc.7z/file). Both issues fixed. I also added a few checks to prevent bookmark manager from crashing on empty scripts.
- Encoding preset selection now auto saved
fAy01
30th July 2020, 19:26
Is it possible to have a layout similar to avspmod?
lansing
31st July 2020, 03:15
I started my own thread on my fork here (https://forum.doom9.org/showthread.php?t=181708).
stax76
31st July 2020, 18:28
For the continuation of the project, I think I'll do what Staxrip and Staxrip 2 did and rename mine to vseditor 2.
The staxrip name was never changed, there were only maintainer/repo/site changes, the current repo/site can be found in my signature, there are two admins, one inactive.
shph
23rd August 2020, 00:08
I would really appreciate if you contribute icons for the project. That includes application icon (SVG which scales well to 16x16) and buttons/menu icons (16x16 PNG).
Hi there. How about to update VS viewer icons based on something like modified SF Apple Symbols?
https://www.avanderlee.com/swift/sf-symbols-guide/
"SF Symbols were introduced during WWDC 2019 and are a big present for us developers. Apple basically gave us free symbols to use in our app and it’s even really easy to use them as well! With SF Symbols 2.0 being introduced in WWDC 2020 we’ve got even more possibilities to show beautiful icons in our apps."
"SF Symbols is a set of over 1,500 symbols that you can use in your app. They’re aligned and configurable in a wide range of weights and scales to adapt to your designs. As they are integrated into the San Francisco system font they automatically ensure optical vertical alignment with text for all weights and sizes."
You may see my another slowly moving customization project based on those icons here: https://www.pl32.com/forum3/viewtopic.php?f=3&t=6302&start=30
Here is my sketch for VapourSynth Editor. All icons are in vector format, but manually redrawn and optimized for 16x16 pixel grid size. If it possible, you may add some svg icons support for UI in future, so icons will look sharp on on hi-dpi retina-like displays. Let me know what you think. I can provide icons in PNG format as well.
https://i.imgur.com/k9jDNzf.jpg
jmartinr
23rd August 2020, 09:35
Hi there. How about to update VS viewer icons based on something like modified SF Apple Symbols?
I don't see how that's possible.
Can I use the symbols everywhere?
No, definitely not! Keep an eye sharp on the license agreements that apply. As quoted from Apple:
You may not use SF Symbols—or glyphs that are substantially or confusingly similar—in your app icons, logos, or any other trademark-related use. Apple reserves the right to review and, in its sole discretion, require modification or discontinuance of use of any Symbol used in violation of the foregoing restrictions, and you agree to promptly comply with any such request.
shph
23rd August 2020, 10:23
But i don't use them as "app icons, logos, or any other trademark-related use"
They used only as signs for buttons inside app.
l33tmeatwad
23rd August 2020, 20:02
But i don't use them as "app icons, logos, or any other trademark-related use"
They used only as signs for buttons inside app.It really serves no purpose aside from cosmetics and just puts the developer at risk of legal action. If you want to modify it yourself for personal use the source is available.
shph
23rd August 2020, 23:36
okay...
Too bad that in compiled version icons are hardcoded somewhere deep inside but not in "Resources" folder inside app contents.
AOmundson
12th March 2021, 16:33
I'm attempting to upscale a 720x480 8-bit video using Waifu2x-Vulkan, and output a 10-bit video. But I'm unsure how to accomplish this. In addition, the current output is noticeably stretched horizontally in comparison to the original video file, and the interlacing is much more pronounced when the footage is in-motion.
VapourSynth Editor Code:
import vapoursynth as vs
core = vs.get_core()
clip = r'D:\Video\title_t02.mkv' #replace with your video file
clip = core.ffms2.Source(clip)
#this is for converting the video to 32 bit float which the plugin needs
clip = core.fmtc.resample (clip, css="444")
clip = core.fmtc.matrix (clip, mat="601", col_fam=vs.RGB)
clip = core.fmtc.bitdepth(clip, bits=32)
#see plugin github page for what the arguments (settings) do
clip = core.w2xnvk.Waifu2x(clip, noise=2, scale=2, model=0, tile_size=180, gpu_id=0, gpu_thread=0, precision=32)
#convert back to 8bit so we get the correct output for encoding
clip = core.fmtc.matrix (clip, mat="601", col_fam=vs.YUV, bits=32)
clip = core.fmtc.resample (clip, css="420")
clip = core.fmtc.bitdepth(clip, bits=8)
#Press F5 to preview
#Press F8 to encode
#Set header to Y4M, ffmpeg as the executeable and the string itself should look like this
#-i pipe: -c:v libx264 -crf 18 -y test.mp4
clip.set_output()
The video source is an anime DVD ripped using MakeMKV.
Izuchi
15th March 2021, 08:06
If you're seeing interlacing artifacts you should deinterlace/IVTC first.
vigan1
10th May 2021, 12:10
Hello Mystery Keeper when I try to build vsedit I have this error on ubuntu 20.04 when I want to launch it :
https://i.postimg.cc/HsKnTNdN/Screenshot-from-2021-05-10-13-09-16.png
https://i.postimg.cc/jjvLYS5H/Screenshot-from-2021-05-10-13-14-53.png
I DID :
sudo apt install qtchooser (needed for qmake)
git clone https://bitbucket.org/mystery_keeper/vapoursynth-editor.git
cd vapoursynth-editor/pro
sudo qmake pro.pro
make -j4
Thank you.
Mystery Keeper
10th May 2021, 12:36
You somehow got it built as shared library instead of application. Sorry, I've got no idea what's the case. Might need to see, what happened to Qt, and update the project files.
vigan1
10th May 2021, 12:44
Thank you.
Can you make an appimage for linux user ? Is it possible ? It would be so useful for us compared to Windows user we really have not a single way to have acces to great video tools. I can't get a temporal denoiser that work at 16bit. I know handbrake offer nlmeans but it can only encore to 12bit files. Blender do not provide noise reduction for video, only for renders. And shotcut is 8-bit timeline and render. Kdenlive is so buggy.
FFmpeg is perfect but BM3D implementation is only spatial and not temporal...
I wanted to use BM3D as a temporal denoiser (best open source denoiser) and only vapoursynth offer this option.
I know there is the flatpack but when I install it i have this issue :
https://i.postimg.cc/Z5P5S5Rf/Screenshot-from-2021-05-10-13-39-01.png
Jukus
10th May 2021, 16:48
It would be so useful for us compared to Windows user we really have not a single way to have acces to great video tools
The easiest way is to use Arch https://aur.archlinux.org/packages/?O=0&K=vapoursynth The other thing is that using Arch can be tricky ¯\_(ツ)_/¯
There's also https://deb-multimedia.org/
vigan1
10th May 2021, 17:38
The easiest way is to use Arch https://aur.archlinux.org/packages/?O=0&K=vapoursynth The other thing is that using Arch can be tricky ¯\_(ツ)_/¯
There's also https://deb-multimedia.org/
I used manajaro (gnome) a little bit before settling on ubuntu. Because it was a little more stable (sometime on manjaro the terminal would not open, and small little bug like this) but as I use ubuntu more and more there is also some bugs. So I might just go full arch linux in a near future.!!! The only thing I miss in ubuntu is the AUR from arch, it's the best thing that I found on linux. Ppa from ubuntu are not even as varied and as well maintained to be even fair.
By the way I tried the deb-multimedia before building vapoursynth and the editor, but it seems to only work on debian. Because it tells me there is a dependency that will never be satisfiable, and I tried looking for this libass9 on ubuntu it does not exist :
https://i.postimg.cc/MTsCvj4t/Screenshot-from-2021-05-10-18-32-06.png
https://i.postimg.cc/gcxz3YDr/Screenshot-from-2021-05-10-18-36-02.png
vigan1
11th May 2021, 11:51
HI guys is there a way to use vapoursynth without vapoursynth editor ?
poisondeathray
11th May 2021, 15:12
HI guys is there a way to use vapoursynth without vapoursynth editor ?
In what way ? Such as a preview for feedback ?
You can use vspipe to ffplay (or if ffplay has vapoursynth demuxer compiled, use it directly) , or mpv to preview
vigan1
11th May 2021, 15:54
Thank you for the answer, I am on linux by the way. I would love to be able to preview with mpv (I use it on my system).
If I understand correctly VSPIPE is part of vapoursynth. I succesfully compiled vapoursynth on my system. Is there a tutorial on how to use it ?
But how can I run vapoursynth scripts now ? How can I even test to see if vapoursynth is installed correctly ?
EDIT : I just tested FFplay is on my install !
ffplay video.mp4
works fine !
If I understand correctly VSPIPE is part of vapoursynth. I succesfully compiled vapoursynth on my system. Is there a tutorial on how to use it ?
http://www.vapoursynth.com/doc/gettingstarted.html#output-with-vspipe
But how can I run vapoursynth scripts now ? How can I even test to see if vapoursynth is installed correctly ?
vspipe --version
As you can see on the documentation page you can feed vspipe output to anything for encoding or previewing (as far as it supports y4m streams).
Ofc I still think vsedit is a better workflow for previewing anything as it can easily keep a given frame for preview if your only problem are those warnings I would just ignore them.
vigan1
11th May 2021, 19:19
Hi I think Vapoursynth is succesfully installed vspipe --version return this :
VapourSynth Video Processing Library
Copyright (c) 2012-2021 Fredrik Mellbin
Core R53
API R3.6
Options: -
I cant use vspipe with an rgb file it seems :
Error: Can only apply y4m headers to YUV and Gray format clips without alpha
I would love to use vsedit but I can't compile it on Ubuntu 20.04, I am waiting for Mystery Keeper to see if he can do something ;)
if your only problem are those warnings I would just ignore them.
Thanks. And no it's a flatpak version (flatpak are like apps running in a container), on this version I can't add library for it to find plugins (it seems it can't acces some folders on the system)
poisondeathray
11th May 2021, 20:15
You can pipe rawvideo with vspipe for RGB
Since there are no headers, you usually have to enter the info in the receiving application - such as the pixel format, fps, dimensions
poisondeathray
11th May 2021, 20:28
You can pipe rawvideo with vspipe for RGB
Since there are no headers, you usually have to enter the info in the receiving application - such as the pixel format, fps, dimensions
eg. sample rgb script
import vapoursynth as vs
core = vs.get_core()
clip = core.std.BlankClip(fpsnum=24, fpsden=1, length=1200, format=vs.RGB24, color=[0, 0, 0])
clip = core.text.FrameNum(clip)
clip.set_output()
vspipe to ffplay
vspipe script.vpy - | ffplay -f rawvideo -pixel_format gbrp -video_size 640x480 -framerate 24 -i -
vigan1
11th May 2021, 21:17
Thank you so much. Here is what I want to do. I want to use BM3D at 16bit float internal processing, and send it to FFmpeg to be encoded to a 16bit float RGB PNG sequence. What should I do ?
I don't even know if the code for BM3D is ok.
import vapoursynth as vs
import mvsfunc as mvf
core = vs.core
#core.max_cache_size = 8000
clip = core.lsmas.LWLibavSource(source=r"/home/desktop/input.mkv")
clip = mvf.BM3D(clip, sigma=60.0, profile1="fast", radius1=1)
clip.set_output()
vspipe BM3D.vpy - | ffmpeg -i rawvideo -pixel_format gbrp -video_size 1920x1080 -framerate 30 output_%04d.png
poisondeathray
11th May 2021, 22:39
Thank you so much. Here is what I want to do. I want to use BM3D at 16bit float internal processing, and send it to FFmpeg to be encoded to a 16bit float RGB PNG sequence. What should I do ?
I don't even know if the code for BM3D is ok.
import vapoursynth as vs
import mvsfunc as mvf
core = vs.core
#core.max_cache_size = 8000
clip = core.lsmas.LWLibavSource(source=r"/home/desktop/input.mkv")
clip = mvf.BM3D(clip, sigma=60.0, profile1="fast", radius1=1)
clip.set_output()
vspipe BM3D.vpy - | ffmpeg -i rawvideo -pixel_format gbrp -video_size 1920x1080 -framerate 30 output_%04d.png
Adjust the settings (vsedit would be nice for feedback) until you're happy. If you can't get vsedit to work, use ffplay or mpv. Otherwise you can't tell if you're using the correct settings (maybe to strong denoise, maybe too weak, maybe you need other filters like sharpen etc....)
After your filters, convert to 16bit RGB and pipe 16bit RGB instead of 8bit RGB . It would look something like this
clip = core.resize.Bicubic(clip, format=vs.RGB48)
The pixel format in ffmpeg would be "gbrp16le" instead of "gbrp"
For my earlier simple example it would look something like this
vspipe blankclip.vpy - | ffmpeg -f rawvideo -pixel_format gbrp16le -video_size 640x480 -framerate 24 -i - -start_number 0 output_%06d.png
poisondeathray
11th May 2021, 22:53
Another preview option is "view" from _Al_
https://forum.doom9.org/showthread.php?t=181553
https://github.com/UniversalAl/view
vigan1
12th May 2021, 21:20
Thank you I tested your ffmpeg script and it works fine I have 16bit (integrer) PNG files. Each frame from a 1080p video is 6.2mb !!!! Almost impractical.
I will use it for short sequences (for long sequence I will encode to x265 10-bit) but it's true that rendering to see if the image is nicely processed is time consuming.
I reinstalled ubuntu and tried rebuilding vsedit, still no success..
I will try view.py. I hope it will work, instead of using vapoursynth-editor it seems it just need a Python IDE, I should past the vpy script there and clic "run" to make the view.py windows show up.
I will try to see if it works. Thank you for the suggestion and the help. You might see me back ;)
vigan1
14th May 2021, 00:44
Hi guys I have a good news.
Today I upgraded from ubuntu 20.04 to 21.04, and after many trials and error I could get everything running !
So Mystery Keeper nothing wrong with the code or QT it compiles fine on ubuntu 21.04. The problem must lie with the cumulative updates for 20.04 must have gotten wrong somewhere along the months.
I kept 20.04 up to date with many update, so it may work fine on an old 20.04 iso, but not on the updated version !!!!!!!!!!
And now on a fresh 21.10 :
https://i.postimg.cc/K8D0KTtk/Screenshot-from-2021-05-14-01-31-13.png
I kinda find a bug on the vapoursynth build, but I need to confirm it :
- If i run : ./autogen.sh before ./configure : I can still make and sudo make install, but vspipe -v would not find vapoursynth installed. And vsedit would tell me it can't find the vapoursynth library.
I needed to run ./configure then ./autogen.sh to be able to install vapoursynth ! What do you think ?
Thank you to all of you who helped me !
Mystery Keeper
14th May 2021, 08:56
Thanks. But I'm still wondering how could you build it as a shared library.
vigan1
14th May 2021, 10:02
I don't know. But it's probably the QT libraries on 20.04.2 (the version I had after updates) which got corrupted along the way, maybe ? I followed the same steps on ubuntu 21 and it worked fine !
Maybe it's the small updates each 2 weeks or so, which corrupted QT, I will probably never update after a working install ever. If it works I will keep it that way and disable every update that may break a system. (ironically, much like I would do on windows 10 ;) )
Almost 5 posts before I was talking about how Ubuntu is way more stable than Arch/Manjaro.......... I guess I was wrong, sorry Arch users, I will join you when I find the time !
EDIT : YOU WILL NEVER BELIEVE IT, but minutes after I finished typing this post, I wanted to minimize firefox, and the whole system froze/bugged and I got logged out !!!! I know 21.04 swiched to wayland from Xorg, it might be why. But that timing ! it's almost like ubuntu got angry I wanted to switch to Arch lol.
ognirats
1st October 2021, 13:57
very basic question: how do i render it into a file
edit: never mind i found out
l33tmeatwad
1st October 2021, 20:57
For anyone that builds this for themself on macOS, it appears that Qt 5.10+ will have a weird issue on a multi-monitor setup where it will only LAUNCH from the primary monitor (it can still be dragged to any monitor, but the shortcut used to open it can only be located on the monitor designated as the primary monitor). The only version of Qt I have confirmed works fine is 5.6.
Yomiko
1st October 2021, 21:43
For anyone that builds this for themself on macOS, it appears that Qt 5.10+ will have a weird issue on a multi-monitor setup where it will only LAUNCH from the primary monitor (it can still be dragged to any monitor, but the shortcut used to open it can only be located on the monitor designated as the primary monitor). The only version of Qt I have confirmed works fine is 5.6.
What may happen if launching from console?
l33tmeatwad
1st October 2021, 21:48
What may happen if launching from console?Does not matter, if it's launched on any screen other than the primary it won't launch. You can change the primary and it will work on that monitor, or you can launch on the primary and drag it over, but if the OS is trying to launch it from not the primary monitor it does not.
Yomiko
1st October 2021, 23:57
I suppose other Qt programs don't have the same problem, such as Texmaker (https://www.xm1math.net/texmaker/download.html with Qt 5.15.2)
So it should be possible to modify something in VSEditor to suppress this issue.
Anyway, I cannot contribute anything before having a Hackintosh.
l33tmeatwad
2nd October 2021, 02:56
It's hard to say what causes it, on the setup I was using there were three different kinds of monitors so that could have played into it as well. I actually still need to report the bugs compiling mod 2 & 3 as well... Hopefully I find some time next week to troubleshoot.
Jukus
20th January 2022, 01:00
I tried to compile for Debian
https://www.l33tmeatwad.com/vapoursynth101/software-setup#h.p_We8vNVDLfSaf
C. VapourSynth Editor
1. Browse to the installs folder:
cd $HOME/.installs
2. Download VapourSynth-Editor:
git clone https://github.com/YomikoR/VapourSynth-Editor
3. Browse to the new folder:
cd $HOME/.installs/vapoursynth-editor/pro
4. Run the following commands to install VapourSynth-Editor:
Debian & Pacman:
qmake pro.pro
make
../../common-src/helpers.h:4:10: fatal error: vapoursynth/VapourSynth.h: No such file or directory
4 | #include <vapoursynth/VapourSynth.h>
How to fix it?
l33tmeatwad
20th January 2022, 01:13
I tried to compile for Debian
https://www.l33tmeatwad.com/vapoursynth101/software-setup#h.p_We8vNVDLfSaf
../../common-src/helpers.h:4:10: fatal error: vapoursynth/VapourSynth.h: No such file or directory
4 | #include <vapoursynth/VapourSynth.h>
How to fix it? It looks like the header files aren't found, which is odd, you could edit those files with the exact path.
Jukus
21st January 2022, 17:38
It doesn't work even if add the file on purpose, it still says it doesn't exist
l33tmeatwad
21st January 2022, 18:46
Okay, so I just spun up a Deban 11 VM to test this out and ran into no issues setting up everything up. Can you make sure VapourSynth is setup and working properly? Try:
vspipe -v
Jukus
21st January 2022, 19:02
Damn, I forgot that SMPlayer from http://deb-multimedia.org/ is built with VS R54 dependency, thanks
~ VEGETA ~
27th January 2022, 21:39
vsedit doesn't show output video when pressing f5.
it shows the output window with correct number of frames but no video inside.
i am on windows 10, vapoursynth 57 and python 3.9.7.
vs editor 2 immediately crashes when pressing f5
EDIT (SOLUTION): i downloaded the beta version of vs editor 1 and it worked fine, just that vs editor 2 is not working
Blue_MiSfit
18th February 2022, 02:18
I too am having the issue where I try to open vsrepogui on Windows and nothing happens.
I have Python 3.9.10 with VapourSynth R57. I also have Python 3.10.0 installed if that matters.
ChaosKing
18th February 2022, 10:39
Check if you're also affected by this https://github.com/vapoursynth/vsrepo/issues/173
damian101
21st February 2022, 07:00
text is grey suddenly
damian101
21st February 2022, 07:43
text is grey suddenly
removing vsedit.config fixed it
asarian
22nd February 2022, 12:15
I keep getting:
VapourSynth Editor r19-mod-5 (R57)
2022-02-22 01:57:19.288
Failed to initialize VapourSynth environment!
Failed to initialize VapourSynth environment!
Has anyone got it to work properly?
vxzms
22nd February 2022, 16:02
I keep getting:
VapourSynth Editor r19-mod-5 (R57)
2022-02-22 01:57:19.288
Failed to initialize VapourSynth environment!
Failed to initialize VapourSynth environment!
Has anyone got it to work properly?
vsedit have weird .config and registry, you can try https://github.com/AmusementClub/VapourSynth-Editor/releases/tag/r19-mod-5-AC if you use portable vapoursynth.
lewyturn
23rd November 2022, 06:24
'VapourSynth.Editor-r19-mod-5.3-x64-Qt6' can't be opened.
I am on windows 8.1 Enterprise, python 3.10.4 and . vapoursynth 58.
This is the prompt I return:
This application failed to start because no Ot platform plugin could be initialized. Reinstalling the application may fix this problem.
Available platform plugins are: windows
Selur
23rd November 2022, 16:17
Qt 6 by default only support Windows 10 and newer.
see: https://doc.qt.io/qt-6/supported-platforms.html
Yomiko
24th November 2022, 02:11
Ooops. I didn't realize it.
masterkivat
22nd March 2023, 04:51
Hi!
Can someone share an "vsedit.config" file that have an working ffmpeg preset for any encoder, like prores or even libx264/5?
ChaosKing
22nd March 2023, 10:07
For x264/265 you can use this https://github.com/theChaosCoder/vapoursynth-portable-FATPACK/blob/master/VapourSynth64Portable/VapourSynth64/vsedit.config
hello_hello
20th May 2026, 18:39
Is anyone using VapourSynth Editor R19 Mod10 (https://github.com/YomikoR/VapourSynth-Editor) with the portable version of VapourSynth R76? If so, is there a trick to getting it to run?
I'm not having any luck getting the GUI to open when running the portable VapourSynth (previously it was just a matter of copying the files for the portable VSEditor into the VapourSynth-Portable folder). When VapourSynth and Python are installed it runs okay.
In addition to trying it on Windows I have a portable version of VapourSynth R73 running in Wine on Linux, and VapourSynth Editor R19 Mod8 works fine, but once again Mod10 won't open. I've installed the latest Visual C++ Redistributable.
Cheers.
GeoffreyA
21st May 2026, 11:44
Is anyone using VapourSynth Editor R9 Mod10 (https://github.com/YomikoR/VapourSynth-Editor) with the portable version of VapourSynth R76? If so, is there a trick to getting it to run?
I'm not having any luck getting the GUI to open when running the portable VapourSynth (previously it was just a matter of copying the files for the portable VSEditor into the VapourSynth-Portable folder). When VapourSynth and Python are installed it runs okay.
Yes, I also had trouble getting it to work at first. The trick is, setting the path to the new directory structure. Indeed, I tested it now, and you can even omit the first path:
https://i.imgur.com/2xY8m1r.png
hello_hello
21st May 2026, 13:31
Thanks GeoffreyA, I'll give that a spin, although the problem I was having was the GUI wouldn't open at all. Maybe I did something silly. I'll try again tomorrow.
Cheers.
GeoffreyA
22nd May 2026, 09:47
I didn't read well enough :-)
hello_hello
22nd May 2026, 11:51
Well its running fine in Wine now, at least with VapourSynth R73. I just replaced the old VSEditor files with the new ones in the folder where VapourSynth portable was located and it ran. It may be because in the mean time I'd updated Wine to the latest staging version. Now to try again with R76 in Windows.....
Edit: And today it's working in Windows. I must have been in idiot mode yesterday....
While I'm here...
For anyone who's interested, and while I realise VapourSynth can be installed on Linux natively, the portable version of VapourSynth r73 and r76, along with VapourSynth Editor R19 Mod10, all seem to run fine in Wine 11.9 Staging. When I ran benchmarks on a few scripts back when I had VapourSynth r73 installed on Linux, running it in Wine didn't seem to result in a speed penalty compared to the native version.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.