Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
15th January 2016, 11:59 | #1821 | Link | |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
|
Quote:
If you have no intention of learning any Python at all you're going to have a horrible day. That's the way it is. And WHY would I ever remove the parts of the docs that are useful for people who know Python? That makes absolutely no sense. Hint: core.list_functions() for formatted string output
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
|
15th January 2016, 12:36 | #1822 | Link | |
Registered User
Join Date: Oct 2006
Location: Omicron Persei 8
Posts: 180
|
Quote:
That way users can copy&paste from the documentation and learn what's the difference between eg. core.std.CropRel() and core.lsmas.LSMASHVideoSource() People who know Python do need the Python reference? Nevermind. Remove it from the Documentation not from the website or put it into the "Advanced Users" section. It just discourages new users to get into VapourSynth like "Why do I need all of this, I just want to do simple cropping and deinterlacing." Python reference for advanced users is fine. EDIT: I'm sorry, I mixed two links. Instead of Python Reference I meant the Python Tutorial. "If you don’t know the basics of Python, you may want to check out the tutorial." - If a new user don't know Python he definitely does NOT want to read the whole 16 chapters of Python documentation or digg through it, especially NOT after just getting VapourSynth installed. A better approach would be to post an example script that creates a eg. 10 second video with the text "Yeah, VapourSynth is alive and kickin'" or something you prefer but also cheers the users victory of being done. And with comments in the script the user will learn what to use, etc. As I said: you wrote the documentation from your point of view but since you know Python very well and also how VS works it's 100% clear to you what each bit of the doc means. From the users point of view it's just confusing. Whatsoever, you feel affronted and very likely will me ignore completely from now on. That's funny because I just said that the documentation could be improved and AFAIK you are not a professional technical documentation writer!?! |
|
15th January 2016, 14:27 | #1823 | Link | |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
|
Quote:
And reading the python tutorial is of course optional too. I simply didn't see any reason to spend the time to recreate something that says almost the same things. Basic control flow you have to learn whether you want it or not. Normal Avisynth barely does it so yes, you need to know more to use VapourSynth. No, I'm not a technical documentation writer. You can tell I'm not because the documentation doesn't start with 5 pages of legal disclaimers such as "don't lick the power cord while in use". Are you?
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
|
15th January 2016, 19:20 | #1824 | Link | |
Registered User
Join Date: Oct 2001
Location: Germany
Posts: 7,259
|
Quote:
Here's what I did:
I'm new to Vapoursynth, so did I miss something obvious? Cu Selur Ps.: I really like the idea of a portable Vapoursynth version for Windows. |
|
15th January 2016, 20:53 | #1825 | Link |
Excessively jovial fellow
Join Date: Jun 2004
Location: rude
Posts: 1,100
|
While it is true that Vapoursynth could definitely use a better tutorial/more gentle introduction on how to do things, I don't think you should criticize the reference documentation for being reference documentation. It has its place.
That being said, if you don't have at least basic programming knowledge and/or are willing to learn, Vapoursynth is probably not for you. With Avisynth you can get away with not really being a coder, you can just copypaste a bunch of filter lines, but with VS you sorta need to write actual code. Or at least you should, because the possibility of doing that is kinda the raison d'etre of VS. Last edited by TheFluff; 15th January 2016 at 21:11. |
15th January 2016, 21:45 | #1826 | Link | |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
|
Quote:
The only thing I had to change was comment out the loadplugin line (since it's already autoloaded when placed in vapoursynth64\plugins) and to add an r to escape the source path which your script doesn't. So I have no idea why it won't work for you. Try simplifying it, like encode a blankclip with instead of lsmash source. Or run "vspipe -v" which will fail if vapoursynth is completely broken. Maybe you can narrow it down a bit more. Btw, OS?
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet Last edited by Myrsloik; 15th January 2016 at 21:58. Reason: Seplling |
|
15th January 2016, 22:03 | #1827 | Link | |||
Registered User
Join Date: Oct 2001
Location: Germany
Posts: 7,259
|
Quote:
Quote:
Code:
VapourSynth Video Processing Library Copyright (c) 2012-2015 Fredrik Mellbin Core R30 API R3.4 Options: - Quote:
Code:
import vapoursynth as vs core = vs.get_core() core.std.LoadPlugin(path=r'G:/Hybrid/VapourSynth/vapoursynth64/plugins/LSmashSource/vslsmashsource.dll') clip = core.lsmas.LWLibavSource(source=r"F:/TestClips&Co/test.avi") clip.set_output() using: Code:
import vapoursynth as vs core = vs.get_core() #core.std.LoadPlugin(path=r'G:/Hybrid/VapourSynth/vapoursynth64/plugins/LSmashSource/vslsmashsource.dll') #clip = core.lsmas.LWLibavSource(source=r"F:/TestClips&Co/test.avi") clip = core.std.BlankClip() clip.set_output() Code:
import vapoursynth as vs core = vs.get_core() #core.std.LoadPlugin(path=r'G:/Hybrid/VapourSynth/vapoursynth64/plugins/LSmashSource/vslsmashsource.dll') #clip = core.lsmas.LWLibavSource(source=r"F:/TestClips&Co/test.avi") clip = core.std.BlankClip() clip.set_output() Code:
import vapoursynth as vs core = vs.get_core() #core.std.LoadPlugin(path=r'G:/Hybrid/VapourSynth/vapoursynth64/plugins/LSmashSource/vslsmashsource.dll') #clip = core.lsmas.LWLibavSource(source=r"F:/TestClips&Co/test.avi") clip = core.std.BlankClip(format=vs.YUV420P8) clip.set_output() Not sure if it helps, but the test.avi I use can be downloaded through my GoogleDrive. Cu Selur |
|||
15th January 2016, 22:25 | #1828 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
|
Actually it seems like LWLibavSource simply doesn't like your test.avi. It crashes here too and it's because it returns a null frame without setting an error. Definitely a bug in the plugin.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet Last edited by Myrsloik; 15th January 2016 at 22:28. |
15th January 2016, 22:42 | #1830 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
|
It's actually a check in the core. I do this to catch naughty plugin writers. Turns out that people only report things when they crash and ignore huge warning output otherwise...
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
15th January 2016, 22:49 | #1831 | Link |
Registered User
Join Date: Oct 2001
Location: Germany
Posts: 7,259
|
Okay, if that is how it's supposed to be.
btw. is http://www.vapoursynth.com/doc/pluginlist.html kept up-to-date or is there another resource to look for Vapoursynth plugins? |
15th January 2016, 22:51 | #1832 | Link | |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
|
Quote:
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
|
16th January 2016, 22:28 | #1833 | Link | |
unsigned int
Join Date: Oct 2012
Location: 🇪🇺
Posts: 760
|
Quote:
vs.[tab][tab], core.[tab][tab], and core.std.[tab][tab] work here. core.[tab][tab] doesn't list the namespaces because they are looked up on demand, if I remember correctly. The functions are listed, though.
__________________
Buy me a "coffee" and/or hire me to write code! |
|
16th January 2016, 23:59 | #1834 | Link |
Registered User
Join Date: Aug 2005
Posts: 37
|
You are correct. The sinc function implemented in AviSynth 2.6(?) used 256 taps, however, for some reason you can only use a maximum of 128 taps in fmtconv (at least, using more gave me an error). The best re-size I have ever seen was sinc used with 1024 taps (it took a while to resize). As taps increase, you get closer and closer to a perfect resize, albeit at significant calculation cost, and the differences become less and less clear on an exponential scale. The movie industry has known this for a long time, hence the reason they prefer the sinc algorithm. I would love to have the ability to use sinc with 2048 or 4096 taps in fmtconv. I suspect the ringing would become a non-issue... Anyone willing to try it?
|
17th January 2016, 03:29 | #1835 | Link |
Registered User
Join Date: Oct 2006
Location: Omicron Persei 8
Posts: 180
|
So I have this script:
Code:
import vapoursynth as vs import havsfunc as havs core = vs.get_core() clip = core.lsmas.LWLibavSource("/var/tmp/S01E01_1.vob") clip = havs.QTGMC(clip,Preset="Slow",FPSDivisor=2,Sharpness=1.2,SLMode=1,EZDenoise=2.5,NoisePreset="Slow",TFF=True) # left, right, top, bottom clip = core.std.CropRel(clip,4,4,4,2) clip = core.resize.Lanczos(clip,960,720) clip.set_output() Code:
vspipe vs_qtgmc_1.78.vpy - | x264 --level 4.0 --crf 22 --deblock -3:-3 --keyint 240 --ref 4 --chroma-qp-offset -2 --vbv-bufsize 31250 \ --vbv-maxrate 25000 --me umh --sar 1:1 --fps 25 --input-res 960x720 --input-csp i420 -o /var/tmp/recoded.264 - and this With the very same script (but for AviSynth) on my ~8 year old Core2Quad Q9650 with 8 GB RAM on Windows 7 Professional 64-Bit I also get ~8 fps and 100% CPU usage. Where does this huge performance impact comes from? Code:
LoadPlugin("C:\Program Files (x86)\MeGUI\tools\avisynth_plugin\mvtools2.dll") LoadPlugin("C:\Program Files (x86)\MeGUI\tools\avisynth_plugin\mt_masktools-26.dll") LoadPlugin("C:\Program Files (x86)\MeGUI\tools\avisynth_plugin\nnedi3.dll") LoadPlugin("C:\Program Files (x86)\MeGUI\tools\avisynth_plugin\RemoveGrainSSE2.dll") LoadPlugin("C:\Program Files (x86)\MeGUI\tools\avisynth_plugin\RepairSSE2.dll") LoadPlugin("C:\Program Files (x86)\MeGUI\tools\avisynth_plugin\SSE2Tools.dll") LoadPlugin("C:\Program Files (x86)\MeGUI\tools\avisynth_plugin\FFT3DFilter.dll") LoadPlugin("C:\Program Files (x86)\MeGUI\tools\avisynth_plugin\dfttest.dll") Import("C:\Program Files (x86)\MeGUI\tools\avisynth_plugin\QTGMC-3.32.avsi") LoadPlugin("C:\Program Files (x86)\MeGUI\tools\dgindex\DGDecode.dll") DGDecode_mpeg2source("C:\RIPS\Neon Genesis Evangelion\S01E01\S01E01.d2v", cpu=4, info=3) LoadPlugin("C:\Program Files (x86)\MeGUI\tools\avisynth_plugin\ColorMatrix.dll") ColorMatrix(hints=true, threads=0) QTGMC(Preset="Slow",FPSDivisor=2,Sharpness=1.2,SLMode=1,EZDenoise=2.5,NoisePreset="Slow") crop(4, 4, -4, -2) Lanczos4Resize(960,720) ConvertToYV12() Last edited by an3k; 17th January 2016 at 23:46. Reason: attachements not needed now |
17th January 2016, 11:01 | #1836 | Link | |
I'm Siri
Join Date: Oct 2012
Location: void
Posts: 2,633
|
Quote:
there are other methods that have better "visual" quality than sinc downscaling: bicubic (b=-1,c=0) or bicubic (-0.5,0.25) upscaling: EEDI3, NNEDI3 |
|
17th January 2016, 11:19 | #1837 | Link |
German doom9/Gleitz SuMo
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,753
|
This is what I see. There are no images for me. The IMG tag may require static URLs to image files sometimes, depending on the forum software, often they don't support PHP locations with parameters as image URLs.
There are a few cooperative and simple image hosters out in the web, like imgur.com or frupic.frubar.net; may be recommendable instead of trying to embed attachments. |
17th January 2016, 12:52 | #1838 | Link | |
ангел смерти
Join Date: Nov 2004
Location: Lost
Posts: 9,558
|
Quote:
|
|
17th January 2016, 13:36 | #1839 | Link | |
Registered User
Join Date: Dec 2014
Posts: 17
|
Quote:
Maybe some time |
|
Tags |
speed, vaporware, vapoursynth |
Thread Tools | Search this Thread |
Display Modes | |
|
|