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. |
31st August 2012, 13:06 | #21 | Link |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 11,018
|
If you sit a monkey at a keyboard for long enough, it would eventually compose the complete
works of TheFluff.
__________________
I sometimes post sober. StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace "Some infinities are bigger than other infinities", but how many of them are infinitely bigger ??? |
31st August 2012, 13:08 | #22 | Link |
Registered User
Join Date: Jan 2007
Posts: 729
|
Well, I didn't mean to criticise you at all. It was actually my point that monkey (me) is fine with filter().filter().filter().
I just wanted to chill the enthusiasm a bit, because it seems to me that many people are considering this to be the "next big thing" while in fact it is a "next big thing *for function writers*"... Users (the dudes filtering video) on the other hand generally just use linear filter chains and writing that in the python syntax is not going to be a good idea (at least it will be a lot of tiresome redundant typing). They better not expect to be benefiting from it, else they will be disappointed. Of course, once somebody writes that avisynth script interpreter/parser, then they can use vapoursynth as backend without thinking about it (but somebody will have to write that). |
31st August 2012, 13:35 | #23 | Link | |
Registered User
Join Date: Mar 2012
Location: Texas
Posts: 1,669
|
Quote:
_____________ From a monkey's point of view, looking at some samples posted at pastebin. The scripting language doesn't *seem* that hard. But then again I'm just a monkey so I might be wrong. |
|
31st August 2012, 13:44 | #24 | Link | |
もこたんインしたお!
Join Date: Jan 2008
Location: Finland / Japan
Posts: 512
|
Quote:
Also, to be honest I think that the fact that we lack something a la AvsP(mod) is more of a problem than the fact that you would have to write some more redundant stuff.
__________________
[I'm human, no debug]
|
|
31st August 2012, 15:58 | #26 | Link | ||
Registered User
Join Date: Sep 2011
Posts: 86
|
Quote:
Easy access to OpenCL could give a speed boost to all the many things with pixel level parallelization. Quote:
|
||
1st September 2012, 06:30 | #27 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,595
|
Vapoursynth released
Vapoursynth has been released. You can get it from http://www.vapoursynth.com
It is a kind of reimaging of avisynth but with python as the scripting language and many other improvements. It is still a bit incomplete and doesn't have the ability to open script files as regular video in applications... yet. Many avisynth plugins can be loaded and used without doing anything special, this functionality is however limited to yv12 input and output. Some filters that do weird stuff simply do not work (examples of popular broken filters are mvtools2). Report your success and failures with different avisynth filters, or the internal ones. Code:
known issues: absolute paths usually needed to load plugins may deadlock with some avisynth plugins (set the number of threads, VSCore(threads=4)) r3: fixes even more threading and performance issues adds special support for yuy2 and rgb32 so most avisynth filters should work added hacks to make mvtools2 work r2: fixes a large number of threading issues removed the stupid clip.vi.width thing in python, now it's simply clip.width fixed the frame reordering in the python bindings, now frames pop out in the expected order r1: buggy first version
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet Last edited by Myrsloik; 7th September 2012 at 11:07. Reason: New version |
1st September 2012, 11:16 | #28 | Link |
Registered User
Join Date: Mar 2012
Location: Texas
Posts: 1,669
|
That is a very nice surprise!! Thanks a lot for all your work. Best wishes to you and to Vapoursynth.
----------------------------------------- EDIT: For a complete python newb like me, do you mind posting an example of how to losslessly encode the output of vapoursynth. I checked "Getting started" page but it's kinda vague. Last edited by Reel.Deel; 1st September 2012 at 13:52. |
1st September 2012, 12:14 | #29 | Link |
Registered User
Join Date: Mar 2004
Posts: 1,157
|
nice, are there any speed improvements compared to avisynth so far? Maybe you could do a benchmark with a 720p x264 and 720x400 x264 and xvid with mpeg2 and h.264 sources. Does this use OpenCL acceleration yet? multithreading yet? 64bit yet?
|
1st September 2012, 14:46 | #30 | Link | |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,595
|
Quote:
It does use frame level multithreading but I haven't done a lot of speed tests yet but it should scale fairly well though. And a few words about 64bits. Good but not magic. You get most of the speed benefits in 32bit code by using sse2 instructions so the gap isn't huge. The second benefit with address space is something I hope to simply get around with better memory management. X64 will come but I think most people will value partial avisynth binary compatibility higher. Gpu stuff is somewhere in the slightly distant future. I need a stable base first.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
|
1st September 2012, 16:08 | #31 | Link |
typo lover
Join Date: May 2009
Posts: 595
|
Code:
>>> import vapoursynth as vs >>> c = vs.Core() >>> c.avs.LoadPlugin(path=r'C:\AviSynth\plugins_x86\rawsource26.dll') >>> clip = c.avs.RawSource(file=r'D:\video\derf\soccer_4cif.y4m') >>> print(clip.videoinfo.width) Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'vapoursynth.VideoNode' object has no attribute 'videoinfo' >>> print(clip.vi.width) 704 need function GetVideoInfo().
__________________
my repositories |
1st September 2012, 21:06 | #32 | Link | |
Registered User
Join Date: Oct 2009
Posts: 151
|
Quote:
I'd say that more power to the devs, the more power to end users too, no? |
|
5th September 2012, 22:50 | #33 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,595
|
I've posted the second version now. It should be stable enough for general experimentation now.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
6th September 2012, 14:54 | #35 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,595
|
For those who accept numbers pulled out of dark body cavities, here are some examples from yesterday evening:
FFVideoSource().4xTnlMeans() (maybe not the most appealing filter chain) VS: 35s Avisynth: 130s FFVideoSource().4xTFM() (I know, retarded) VS: 30s Avisynth: 50s This was on a core i5 3570k. There are probably also a few more improvements that can be made to thraed scheduling/caching in later releases. There's also a vfw module coming some day in the not too distant future (open python scripts as video just like .avs files)
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
6th September 2012, 15:06 | #36 | Link |
Registered User
Join Date: Sep 2008
Posts: 365
|
Is there a way to load vapoursynth scripts in virtualdub or avspmod for previewing? Currently i have only managed to output raw yv12 video data on the command line...
__________________
(i have a tendency to drunk post) |
6th September 2012, 15:09 | #37 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,595
|
No, not yet. The next release will most likely have some kind of support for it.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
6th September 2012, 16:03 | #39 | Link |
typo lover
Join Date: May 2009
Posts: 595
|
I tried the following.
Code:
#!/bin/env python3 # vs_test1.py import sys import vapoursynth as vs core = vs.Core() core.avs.LoadPlugin("rawsource26.dll") clip = core.avs.RawSource(file="soccer.y4m") clip.output(sys.stdout, y4m=True) > python vs_test.py > out.y4m It seems that vapoursynth dislikes avisynth source filters other than ffms2
__________________
my repositories |
6th September 2012, 16:09 | #40 | Link | |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,595
|
Quote:
Only avisynth 2.5 plugins supported.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
|
Tags |
speed, vaporware, vapoursynth |
Thread Tools | Search this Thread |
Display Modes | |
|
|