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
Register FAQ Calendar Today's Posts Search

Reply
 
Thread Tools Search this Thread Display Modes
Old 26th March 2019, 22:35   #1  |  Link
ChaosKing
Registered User
 
Join Date: Dec 2005
Location: Germany
Posts: 1,795
FrameSeeker - Reliability Source Filter Tester for VapourSynth

You can now easily test the frame accuracy of your favourite source filter.
Based on jackoneills code https://gist.github.com/dubhater/3a2...ae25cd47ff78d2

Just place your video and plugin files in the test_chamber folder. Run TEST.bat. After finishing open the csv file in excel.

Download (64bit)

There are 3 setting you can edit in the bat file:
Code:
set start=0
set end=300
set tests=ffms2 lsmas lsmasav ffms2seek0
test means:
Code:
- ffms2: ffms2.Source()
- lsmas: lsmas.LWLibavSource()
- lsmasav: lsmas.LibavSMASHSource()
- ffms2seek0: ffms2.Source(seekmode=0)
- dgi: dgdecodenv.DGSource()
- d2v: d2v.Source(rff=False)

Depending on the file it is crucial to test at least 200-250 frames. Otherwise it could detect it as frame accurate!
This is a minimal portable VS+python package. No need to install anything.

If you have exotic files, please share them if you can

I will try to add D2vSource and DGDecNV in the future (But I don't have access to DGDecNV, can take some time)

Some results:


Samples:
https://www.mainconcept.com/us/getti...d/samples.html
https://samples.mplayerhq.hu/
__________________
AVSRepoGUI // VSRepoGUI - Package Manager for AviSynth // VapourSynth
VapourSynth Portable FATPACK || VapourSynth Database

Last edited by ChaosKing; 16th April 2019 at 11:53.
ChaosKing is offline   Reply With Quote
Old 28th March 2019, 03:22   #2  |  Link
WorBry
Registered User
 
Join Date: Jan 2004
Location: Here, there and everywhere
Posts: 1,197
Quote:
Originally Posted by ChaosKing View Post
If you have exotic files, please share them if you can
Not sure if they qualify as exotic, but the Canon XF-HEVC (10bit 422) sample clips that ifb pointed to are of interest:

https://forum.doom9.org/showthread.p...19#post1870119
__________________
Nostalgia's not what it used to be

Last edited by WorBry; 28th March 2019 at 06:37.
WorBry is offline   Reply With Quote
Old 28th March 2019, 04:53   #3  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
Not sure if fair test with some files on LibavLSMASHSource, it is only supposed to deal with ISO file containers, ie

*.mov, *.mp4, *.m4v, *.3gp, *.3g2, *.mj2, *.dvb, *.dcf, *.m21,

Leastwise that is true of Avisynth version, and seems to also be true of Vaporsynth version, given the results.
__________________
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 ???
StainlessS is offline   Reply With Quote
Old 28th March 2019, 12:32   #4  |  Link
ChaosKing
Registered User
 
Join Date: Dec 2005
Location: Germany
Posts: 1,795
Quote:
Originally Posted by StainlessS View Post
Not sure if fair test with some files on LibavLSMASHSource, it is only supposed to deal with ISO file containers, ie

*.mov, *.mp4, *.m4v, *.3gp, *.3g2, *.mj2, *.dvb, *.dcf, *.m21,

Leastwise that is true of Avisynth version, and seems to also be true of Vaporsynth version, given the results.
Maybe I could write something like "unsupported". I know what it only supports "ISO Base Media" but I test every file regardless of the file extension. It just takes 1-2 sek to try to open the file

@WorBry thx for file, will test and add it to the list.

Anyone want avisynth ffms/lsmash support?
__________________
AVSRepoGUI // VSRepoGUI - Package Manager for AviSynth // VapourSynth
VapourSynth Portable FATPACK || VapourSynth Database
ChaosKing is offline   Reply With Quote
Old 28th March 2019, 13:17   #5  |  Link
asarian
Registered User
 
Join Date: May 2005
Posts: 1,462
Yeah, I'd love to see DGDecNV support in there!
__________________
Gorgeous, delicious, deculture!
asarian is offline   Reply With Quote
Old 28th March 2019, 20:09   #6  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
"unsupported" sounds good.

I dont often use LSmash, but over the last couple of years has (I think) never failed me on ISO container (unless eg flv file with mp4 extension).
__________________
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 ???
StainlessS is offline   Reply With Quote
Old 29th March 2019, 01:16   #7  |  Link
ChaosKing
Registered User
 
Join Date: Dec 2005
Location: Germany
Posts: 1,795
Redownload. Added d2vsource and DGDecodeNV. Not much tested. You need to copy your DGDecodeNV.dll in the dgdecodenv folder and the index program to VapourSynth64\bin.
__________________
AVSRepoGUI // VSRepoGUI - Package Manager for AviSynth // VapourSynth
VapourSynth Portable FATPACK || VapourSynth Database

Last edited by ChaosKing; 29th March 2019 at 01:28.
ChaosKing is offline   Reply With Quote
Old 29th March 2019, 08:52   #8  |  Link
asarian
Registered User
 
Join Date: May 2005
Posts: 1,462
^^ Wonderful!
__________________
Gorgeous, delicious, deculture!
asarian is offline   Reply With Quote
Old 30th March 2019, 12:07   #9  |  Link
ChaosKing
Registered User
 
Join Date: Dec 2005
Location: Germany
Posts: 1,795
Can someone point me to the newest avisynth ffms2/lsmash 32&64 bit versions?

Edit: Updated results. Finally found something where lsmash is not frame accurate.
__________________
AVSRepoGUI // VSRepoGUI - Package Manager for AviSynth // VapourSynth
VapourSynth Portable FATPACK || VapourSynth Database

Last edited by ChaosKing; 30th March 2019 at 15:37.
ChaosKing is offline   Reply With Quote
Old 1st April 2019, 06:19   #10  |  Link
WorBry
Registered User
 
Join Date: Jan 2004
Location: Here, there and everywhere
Posts: 1,197
Quote:
Originally Posted by ChaosKing View Post
Can someone point me to the newest avisynth ffms2/lsmash 32&64 bit versions?
HolyWu posted new 64bit builds today ?

https://forum.doom9.org/showthread.p...63#post1870563

https://forum.doom9.org/showthread.p...64#post1870564
__________________
Nostalgia's not what it used to be
WorBry is offline   Reply With Quote
Old 21st April 2019, 19:18   #11  |  Link
AzraelNewtype
Registered User
 
AzraelNewtype's Avatar
 
Join Date: Oct 2007
Posts: 135
I have a TV ripped MPEG-2 transport stream that is reporting open errors for every version of lsmasav bundled, as well as the latest version from that thread. This is sort of baffling since I've definitely run a script with this source using LWLibavSource, though it seemed to be playing more poorly than I'd have expected. In fact, the entire reason I bothered with this test in the first place was that it was running, but not it appeared to have errors that I couldn't pin down, and my d2v generator was choking a bit.

Specifically, the output for all the lsmash tests was:

Code:
[importer: Error]: failed to find the matched importer.
crash!? vslsmashsource-r935-3edd194-win64.dll
lsmasav: vslsmashsource_2017.dll
though obviously the dll name cited changed for each. They all had the same error state though.

Weirdly, despite being a hard telecined stream, ffms2 passed nearly every version, so my actual usage problem is solved even if my confusion about the test remains.

Also, as a side note, it's sort of frustrating that the script fails if you have a space in any directory in the path above where you're running the thing. Moving the whole package to drive root worked for obvious reasons, once I figured out what the error I was getting actually meant.
AzraelNewtype is offline   Reply With Quote
Old 21st April 2019, 19:51   #12  |  Link
ChaosKing
Registered User
 
Join Date: Dec 2005
Location: Germany
Posts: 1,795
Hmm I'm thought I fixed the spaces problem. Maybe only locally, will check it.

lsmasav = lsmas.LibavSMASHSource(). It will only work with mp4, mov and other iso based container. So you should test with "lsmas" = lsmas.LWLibavSource(). This is a simple script, it just tries to open the video file with the specified plugins in Test.bat. I will add a hint if lsmasav is used.
Thx for reporting

Btw There is a D2VWitch V3 now (FrameSeeker uses V2 currently) https://forum.doom9.org/showthread.p...67#post1870867
__________________
AVSRepoGUI // VSRepoGUI - Package Manager for AviSynth // VapourSynth
VapourSynth Portable FATPACK || VapourSynth Database
ChaosKing is offline   Reply With Quote
Old 21st April 2019, 20:25   #13  |  Link
AzraelNewtype
Registered User
 
AzraelNewtype's Avatar
 
Join Date: Oct 2007
Posts: 135
Oh right, both of the filternames have libav in the name in VS, unlike avisynth where the ISO Media Container one is just LSMASH(Audio|Video)Source, while the indexing version is essentially the same. I mostly just copy the line from a script where it's working because remembering the actual name of those source filters is super obnoxious. Was expecting only one to have it and stopped reading closely when I saw it, and sort of assumed lsmas would mean lsmashsource (which isn't a thing so of course it isn't). Whoops.

I have d2vwitch v3, but when I tried putting a d2v it generated into the source video folder it just got nuked so I assumed it was doing something internally to generate. Of course now I see d2vwitch is just in the bin folder, so I may as well update it when I rerun the test for lsmas.

Update: using the correct option like a person who knows how to read reports no issues with either. So it's back to confusion about L-SMASH, tempered by the knowledge that there's no particular need to use it.

Last edited by AzraelNewtype; 22nd April 2019 at 22:52.
AzraelNewtype is offline   Reply With Quote
Old 18th November 2020, 20:13   #14  |  Link
StvG
Registered User
 
Join Date: Jul 2018
Posts: 450
FrameSeeker reports seeking issues with this ffms2 (default threads) and sample but SeekTester v1.2 reports no issues.
StvG is offline   Reply With Quote
Old 18th November 2020, 21:01   #15  |  Link
ChaosKing
Registered User
 
Join Date: Dec 2005
Location: Germany
Posts: 1,795
Same here. But is fine with threads=1. Maybe this is how it's called in SeekTester.


clip = c.ffms2.Source(args.file)
clip = c.ffms2.Source(args.file, threads=1)
__________________
AVSRepoGUI // VSRepoGUI - Package Manager for AviSynth // VapourSynth
VapourSynth Portable FATPACK || VapourSynth Database
ChaosKing is offline   Reply With Quote
Old 19th November 2020, 07:34   #16  |  Link
StvG
Registered User
 
Join Date: Jul 2018
Posts: 450
Yes, threads=1 is fine but SeekTester with default threads is fine too.
StvG is offline   Reply With Quote
Old 19th November 2020, 09:32   #17  |  Link
ChaosKing
Registered User
 
Join Date: Dec 2005
Location: Germany
Posts: 1,795
There is something strange here. I created a fake avi with avfs.exe with just -> ffms2("snow.MTS"). VS opens with AviSource.
FrameSeeker was still bad (with default thread value). BUT, if you set any thread number, like threads=1, threads=16 it is always frame accurate. ( I tried 1,2,3,4,16,32)

Now back to ffms2.Source(threads=N). ok are N = 1, 2, 3 (higher N failed) hmm


Btw. SeekTester will also fail if you raise the difficulty with:
Code:
Reverse( FFVideoSource("%FILEPATH%",cachefile="%PROGRAMTEMP%\%FILENAME%.ffindex") )
__________________
AVSRepoGUI // VSRepoGUI - Package Manager for AviSynth // VapourSynth
VapourSynth Portable FATPACK || VapourSynth Database

Last edited by ChaosKing; 19th November 2020 at 09:36.
ChaosKing is offline   Reply With Quote
Old 19th November 2020, 15:02   #18  |  Link
Atak_Snajpera
RipBot264 author
 
Atak_Snajpera's Avatar
 
Join Date: May 2006
Location: Poland
Posts: 7,815
Quote:
Btw. SeekTester will also fail if you raise the difficulty with:
Code:

Reverse( FFVideoSource("%FILEPATH%",cachefile="%PROGRAMTEMP%\%FILENAME%.ffindex") )
But Now you are comparing NON-LINEAR ACCESS (via reverse) with NON-LINEAR ACCESS (via reverse + trim)! You may get fake results!

With REVERSE


WITHOUT REVERSE


Last edited by Atak_Snajpera; 19th November 2020 at 15:05.
Atak_Snajpera is offline   Reply With Quote
Old 19th November 2020, 16:58   #19  |  Link
ChaosKing
Registered User
 
Join Date: Dec 2005
Location: Germany
Posts: 1,795
Why reverse + trim? I did not use trim at all.
I see reverse() as an additional test. If LINEAR + NON-LINEAR access AND REV()+REV() are both ok, your source filter should be 99.9999% frame accurate in all situations.
__________________
AVSRepoGUI // VSRepoGUI - Package Manager for AviSynth // VapourSynth
VapourSynth Portable FATPACK || VapourSynth Database
ChaosKing is offline   Reply With Quote
Old 19th November 2020, 20:18   #20  |  Link
Atak_Snajpera
RipBot264 author
 
Atak_Snajpera's Avatar
 
Join Date: May 2006
Location: Poland
Posts: 7,815
Non linear Access is forced by trim function in my tool. It is done under the Hood.
Atak_Snajpera is offline   Reply With Quote
Reply


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 18:12.


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