CrendKing / avisynth_filter

DirectShow filters that put AviSynth and VapourSynth into video playing
MIT License
107 stars 8 forks source link

_AbsoluteTime resets on seek #85

Closed FoLLgoTT closed 1 year ago

FoLLgoTT commented 1 year ago

Environment

import vapoursynth as vs import functools

clip = VpsFilterSource

def Shift(n, f, clip, core): if f.props._AbsoluteTime > 5.0: clip = vs.core.std.AddBorders(clip, bottom=280) return vs.core.std.Crop(clip, top=280) else: return clip

clip = vs.core.std.FrameEval(clip, functools.partial(Shift, clip=clip, core=vs.core), prop_src=clip) clip = vs.core.std.Crop(clip, 0, 0, 280, 280) clip.set_output()

Describe the bug

_AbsoluteTime is reset on each seek and starts with 0 again. I want to implement a time based pan & scan for multi format movies. For that I need the precise time code of each frame and apply individual cropping or shifting.

I tried it with Avisynth+ and with VapourSynth. The behavior is the same.

FoLLgoTT commented 1 year ago

I found this issue:

https://github.com/CrendKing/avisynth_filter/issues/82

So I guess it is the same cause and cannot be fixed. :-(

CrendKing commented 1 year ago

Yes, dupe of #82. Sorry it's by design.