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.

 

Go Back   Doom9's Forum > Capturing and Editing Video > VapourSynth

Reply
 
Thread Tools Search this Thread Display Modes
Old 11th November 2017, 00:29   #2881  |  Link
Myrsloik
Professional Code Monkey
 
Myrsloik's Avatar
 
Join Date: Jun 2003
Location: Ikea Chair
Posts: 1,866
Quote:
Originally Posted by hydra3333 View Post
Thank you. In regard to building vapoursynth :-

I think I had been using an incorrect github link for avisynth+

Can you please confirm whether this is the right link ? It seems to have been updated more recently.
https://github.com/pinterf/AviSynthPlus/tree/MT

And this is the right link for zimg I guess.
https://github.com/sekrit-twc/zimg/releases
Both are right
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet
Myrsloik is offline   Reply With Quote
Old 11th November 2017, 02:19   #2882  |  Link
DJATOM
Registered User
 
Join Date: Sep 2010
Location: Ukraine, Bohuslav
Posts: 121
Myrsloik
I tried to find out why TCPServer fails: https://github.com/DJATOM/TCPDeliver...erver.cpp#L478. I don't know why it crashing on GetFrame call, that code works well on Avisynth.
DJATOM is offline   Reply With Quote
Old 14th November 2017, 16:25   #2883  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 996
Possibly a rare use case in Expr: you cannot use 8-16 bit clips with 32 bit float clips in one expression (working register ordering is the opposite)
pinterf is online now   Reply With Quote
Old 19th November 2017, 08:52   #2884  |  Link
kgrabs
Registered User
 
Join Date: Jan 2017
Posts: 28
^ speaking of std.Expr, outputting float from int clips, or vice versa causes some crazy things to happen: http://screenshotcomparison.com/comparison/123935
kgrabs is offline   Reply With Quote
Old 19th November 2017, 16:42   #2885  |  Link
Myrsloik
Professional Code Monkey
 
Myrsloik's Avatar
 
Join Date: Jun 2003
Location: Ikea Chair
Posts: 1,866
Quote:
Originally Posted by kgrabs View Post
^ speaking of std.Expr, outputting float from int clips, or vice versa causes some crazy things to happen: http://screenshotcomparison.com/comparison/123935
Already fixed in git. Same issue as pinterf found.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet
Myrsloik is offline   Reply With Quote
Old 19th November 2017, 23:25   #2886  |  Link
Myrsloik
Professional Code Monkey
 
Myrsloik's Avatar
 
Join Date: Jun 2003
Location: Ikea Chair
Posts: 1,866
Quote:
Originally Posted by DJATOM View Post
Myrsloik
I tried to find out why TCPServer fails: https://github.com/DJATOM/TCPDeliver...erver.cpp#L478. I don't know why it crashing on GetFrame call, that code works well on Avisynth.
Nope, can't figure out exactly why. Couldn't even get it to connect and trigger the error oddly enough. Not going to spend more time on this since it's a great perversion even of the avisynth api...
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet
Myrsloik is offline   Reply With Quote
Old 29th November 2017, 04:07   #2887  |  Link
lansing
Registered User
 
Join Date: Sep 2006
Posts: 986
I have a problem applying multiple instances of the virtualdub filter neatvideo in vapoursynth, it was able to load preview but crash on preview close.

Code:
core.avs.LoadPlugin(r"C:\Program Files (x86)\AviSynth+\plugins64+\VDubFilter.dll")
core.avs.LoadVirtualdubPlugin(r'neatvideo.vdf', 'nv', 1)

clipa = core.avs.nv_2(clip, setting_a)
clipb = core.avs.nv_2(clip, setting_b)

clip = clipa + clipb
clip.set_output()
However, saving the filter under a different function name will work:
Code:
core.avs.LoadPlugin(r"C:\Program Files (x86)\AviSynth+\plugins64+\VDubFilter.dll")
core.avs.LoadVirtualdubPlugin(r'neatvideo.vdf', 'nv', 1)
core.avs.LoadVirtualdubPlugin(r'neatvideo.vdf', 'nv2', 1)

clipa = core.avs.nv_2(clip, setting_a)
clipb = core.avs.nv2_2(clip, setting_b)

clip = clipa + clipb
clip.set_output()
I first thought that it was a problem with neatvideo and avisynth because it was mentioned on the user manual. But after asking in the neatvideo forum and testing it out in avs+, it actually works without any problem. So I think the problem is from vapoursynth.

Here's the crash log from vs editor
Code:
Problem signature:
  Problem Event Name:	BEX64
  Application Name:	vsedit.exe
  Application Version:	18.0.0.0
  Application Timestamp:	59f4da49
  Fault Module Name:	NeatVideo.vdf_unloaded
  Fault Module Version:	0.0.0.0
  Fault Module Timestamp:	540f49bd
  Exception Offset:	000007fed7512d60
  Exception Code:	c0000005
  Exception Data:	0000000000000008
  OS Version:	6.1.7601.2.1.0.256.1
  Locale ID:	1033
  Additional Information 1:	0052
  Additional Information 2:	0052a83208d9c99bc2a54c9c0c8ea3e8
  Additional Information 3:	ce3c
  Additional Information 4:	ce3cde77cba7f1c58c793ecf99d5100f
lansing is offline   Reply With Quote
Old 29th November 2017, 13:53   #2888  |  Link
Myrsloik
Professional Code Monkey
 
Myrsloik's Avatar
 
Join Date: Jun 2003
Location: Ikea Chair
Posts: 1,866
Quote:
Originally Posted by lansing View Post
I have a problem applying multiple instances of the virtualdub filter neatvideo in vapoursynth, it was able to load preview but crash on preview close.

...
Interesting observation. Does it crash on script evaluation, first frame request or later? There's probably some locking/shared resource in the dll that's causing it. I'll try to debug it just to see but these things are hard to figure out without the source.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet
Myrsloik is offline   Reply With Quote
Old 29th November 2017, 15:25   #2889  |  Link
lansing
Registered User
 
Join Date: Sep 2006
Posts: 986
Quote:
Originally Posted by Myrsloik View Post
Interesting observation. Does it crash on script evaluation, first frame request or later? There's probably some locking/shared resource in the dll that's causing it. I'll try to debug it just to see but these things are hard to figure out without the source.
It works fine on preview, I was able to navigate and seek without a problem. It crashes only when I close the preview. I tried opening benchmark while still with the preview window open, the benchmark window works fine until I tried closing it.

I tried the same actions on virtualdub filtermod, no problem on navigate and seeking. I tried running "video analysis pass" and abort it and no crash. The program only crash on close. Here's the crash info.

https://pastebin.com/3LY0zMrA
lansing is offline   Reply With Quote
Old 2nd December 2017, 18:43   #2890  |  Link
Selur
Registered User
 
Selur's Avatar
 
Join Date: Oct 2001
Location: Germany
Posts: 5,645
Small question: Is there a source filter which can handle movs which only link to the tracks?
On ffmpeg I can play such files by adding '-enable_drefs 1', but I don't know of any option in FFmpegSource2, LSMASHVideoSource or LWLibavVideoSource which supports this.
-> is there some to me unknown option or source filter which could be used for this?

Cu Selur

Ps.: Background: A user asked me (see: https://forum.selur.net/showthread.php?tid=162) whether I could add support for this in Hybrid which is why I'm looking into it.
__________________
Hybrid here in the forum, homepage
Selur is offline   Reply With Quote
Old 2nd December 2017, 18:45   #2891  |  Link
Myrsloik
Professional Code Monkey
 
Myrsloik's Avatar
 
Join Date: Jun 2003
Location: Ikea Chair
Posts: 1,866
Quote:
Originally Posted by Selur View Post
Small question: Is there a source filter which can handle movs which only link to the tracks?
On ffmpeg I can play such files by adding '-enable_drefs 1', but I don't know of any option in FFmpegSource2, LSMASHVideoSource or LWLibavVideoSource which supports this.
-> is there some to me unknown option or source filter which could be used for this?

Cu Selur

Ps.: Background: A user asked me (see: https://forum.selur.net/showthread.php?tid=162) whether I could add support for this in Hybrid which is why I'm looking into it.
Maybe, create an issue with this text and maybe I'll look into it later. No idea how that part of the api works.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet
Myrsloik is offline   Reply With Quote
Old 2nd December 2017, 18:45   #2892  |  Link
Selur
Registered User
 
Selur's Avatar
 
Join Date: Oct 2001
Location: Germany
Posts: 5,645
Will do. Thanks!
__________________
Hybrid here in the forum, homepage
Selur is offline   Reply With Quote
Old 2nd December 2017, 19:34   #2893  |  Link
Myrsloik
Professional Code Monkey
 
Myrsloik's Avatar
 
Join Date: Jun 2003
Location: Ikea Chair
Posts: 1,866
Quote:
Originally Posted by Selur View Post
Will do. Thanks!
Do you have some small sample to go with it? I think it's just a simple option to change but need to be able to test it.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet
Myrsloik is offline   Reply With Quote
Old 2nd December 2017, 19:36   #2894  |  Link
Selur
Registered User
 
Selur's Avatar
 
Join Date: Oct 2001
Location: Germany
Posts: 5,645
There's a download link (google drive) to a test folder with the files in the first post over in my board. -> https://forum.selur.net/showthread.php?tid=162

Cu Selur
__________________
Hybrid here in the forum, homepage
Selur is offline   Reply With Quote
Old 4th December 2017, 05:25   #2895  |  Link
lansing
Registered User
 
Join Date: Sep 2006
Posts: 986
Can I output image file name with imwrif base on frame number in the frame property?
lansing is offline   Reply With Quote
Old 4th December 2017, 09:42   #2896  |  Link
Myrsloik
Professional Code Monkey
 
Myrsloik's Avatar
 
Join Date: Jun 2003
Location: Ikea Chair
Posts: 1,866
Quote:
Originally Posted by lansing View Post
Can I output image file name with imwrif base on frame number in the frame property?
If you call imwri insode frameeval ypu should be able to do it.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet
Myrsloik is offline   Reply With Quote
Old 5th December 2017, 04:07   #2897  |  Link
lansing
Registered User
 
Join Date: Sep 2006
Posts: 986
I have problem with the syntax on appending clips reading from text file. I need to reorder a clip like this:
Code:
clip[500:600] + clip[400:450] + clip[601:700]
I have looked in remapframes, but it doesn't have such function.

Right now my text read like this:
Code:
500 600
400 450
601 700
And I use a for loop to create the clips, but I always ended having to create a dummy 1 frame accumulator clip so that I can append the clips onto, and then strips that out after the loop.

Code:
clip = core.ffms2.source("abc")

accum_clip = clip[1]

with open(file) as f:
     line = f.readline()     
	
     for line in f:
          start, end = (int(x.strip()) for x in line.split())
          accum_clip += clip[start:end]

clip = core.std.Trim(accum_clip, 1)
How do I avoid doing that dummy clip?
lansing is offline   Reply With Quote
Old 5th December 2017, 05:12   #2898  |  Link
HolyWu
Registered User
 
HolyWu's Avatar
 
Join Date: Aug 2006
Location: Taiwan
Posts: 486
The alternative is to create an empty list, append the desired range into it, then splice them all in the end.

Code:
accum_clip = []

with open(file) as f:
    line = f.readline()     

    for line in f:
        start, end = (int(x.strip()) for x in line.split())
        accum_clip.append(clip[start:end])

clip = core.std.Splice(accum_clip)
HolyWu is offline   Reply With Quote
Old 5th December 2017, 05:57   #2899  |  Link
lansing
Registered User
 
Join Date: Sep 2006
Posts: 986
Ok that looks better than my dummy clip. Didn't know that you can pack those shortcut format into the splice function.
lansing is offline   Reply With Quote
Old 6th December 2017, 04:58   #2900  |  Link
tyee
Registered User
 
Join Date: Oct 2001
Posts: 398
Just starting to learn VS, but can't find links to any 64 bit plugins to test a script. Trying to find RemoveGrain.dll and Repair.dll to test finesharp script. Anyone got links?

update - ok, I read they are not needed anymore but I would like to know where the 64 bit plugins reside?

Last edited by tyee; 6th December 2017 at 05:12.
tyee is offline   Reply With Quote
Reply

Tags
speed, vaporware, vapoursynth

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 14:24.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2018, vBulletin Solutions Inc.