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. |
16th January 2016, 20:16 | #23 | Link |
Registered User
Join Date: Oct 2006
Location: Omicron Persei 8
Posts: 180
|
What's the difference between the included libtemporalsoften2 and jackoneills https://github.com/dubhater/vapoursynth-temporalsoften ? Do I get any interference when both are installed? If so which one should be used?
|
16th January 2016, 21:21 | #24 | Link | |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,547
|
Quote:
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
|
16th January 2016, 21:26 | #25 | Link | |
unsigned int
Join Date: Oct 2012
Location: 🇪🇺
Posts: 760
|
Quote:
__________________
Buy me a "coffee" and/or hire me to write code! |
|
9th August 2017, 01:20 | #27 | Link | |
Registered User
Join Date: Jan 2016
Posts: 98
|
Quote:
Code:
import vapoursynth as vs core = vs.get_core() ret = core.ffms2.Source(source="video file name") #ret = core.scd.Detect(clip=ret, thresh=40, log="SC_SCD.TXT")#, interval_h, interval_v) ret = core.misc.SCDetect(clip=ret, threshold=0.15) fstats = open ('SC.txt', 'w', encoding='utf-8', errors='strict') fstats.write('frame_no\n') for i in range (ret.num_frames): if ret.get_frame(i).props._SceneChangePrev == 1 : fstats.write('{}\n'.format(i)) fstats.close() ret=core.text.FrameProps(clip=ret, alignment=3)#, props ret.set_output() So give it a while, and when it finishes, rename or copy your new 'SC.txt' text file with the frame numbers to avoid rewritting it. |
|
9th August 2017, 15:18 | #28 | Link |
Registered User
Join Date: Sep 2006
Posts: 1,657
|
What is the difference between this scene change detection filter and the one in the misc? Right now I'm using the loop from the documentation to loop through the video, which way is faster?
Code:
clip = core.scd.Detect(clip, thresh=25) for frame in clip.frames(): if frame.props._SceneChangePrev == 1 and frame.props._SceneChangeNext == 0: frame_num = round(frame.props._AbsoluteTime * clip.fps) #do stuff |
9th August 2017, 15:33 | #29 | Link | |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,547
|
Quote:
That's a really awkward way of writing things: Code:
clip = ... for n in range(length(clip)): frame = clip.get_frame(n) if frame.props['_SceneChangePrev'] == 1 and frame.props['_SceneChangeNext'] == 0: frame_num = n #do stuff
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
|
10th August 2017, 15:12 | #31 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,547
|
Of course not, they're based on a simple absolute difference. You need something fancier to get good results everywhere. Try scxvid?
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
Thread Tools | Search this Thread |
Display Modes | |
|
|