Log in

View Full Version : joining clips doesn't work


loba
26th April 2005, 20:20
Hi,

I have a very basic problem: cannot join clips.

I have several DV-AVI caps made with my tuner card. I can filter them and compress to XviD and MPEG using AviSynth. I use VirtualDubMod (and VirtualDub) to check the output. Now I want to join 2 clips together. Simple task, but doesn't work.

I've tried: Avisource("a.avi")+Avisource("b.avi"), Avisource("a.avi", "b.avi"), a=Avisource("a.avi") b=Avisource("b.avi") last=a+b, last=Trim(a,0,0)+Trim(b,0,0), tried loading with SegmentedAviSource, DirectShowSource, replaced "+" with "++", tried full path. It just doesn't work. VirtualDub(Mod), WMP crashes just after loading the script (without showing a single frame).

I can edit the clips separately without crash. And if I join a clip with itself, it works. Tried with several different clips (all DV AVIs). I found out just now, that joining XviD clips works also.

My system is Windows XP Pro SP2, Avisynth 2.5.6 beta2 (2005 02 21), VirtualDubMod 1.5.10.1 (build 2439/release), VirtualDub 1.6.5 (build 23350/release). Codecs: ffdshow 20041012 alpha SSE2, Koepi's XviD, Panasonic DV codec, and probably codecs came with my tuner card (if any). CPU: AMD Sempron 3100+, memory: 512MB (DDR400).


TIA

stickboy
26th April 2005, 20:23
Try using AviSynth 2.5.5.

loba
26th April 2005, 20:43
Thanks for the tip!

Installed 2.5.5, now I found the problem: when I try to open my simple script there is an error message: "Avisynth open failure: Splice: Video framerate doesn't match". Avisynth 2.5.6 beta 2 didn't show this.

It's true, if I open them separately, the framerates are 25.0024 and 25.1196. I've missed this... Now, second question: what can I do with this?

*edit: spelling...

loba
26th April 2005, 20:51
Ok, I found assumefps(). I think it is safe to use in this situation, isn't it?

stickboy
26th April 2005, 21:23
AviSynth 2.5.6 is kind of unstable, and there are problems with error reporting.

AssumeFPS will do the trick. Either do:# Explicitly set both to the same framerate
a.AssumeFPS(25) ++ b.AssumeFPS(25) or do
a ++ b.AssumeFPS(a) # Match b's framerate to a's

loba
26th April 2005, 22:04
Thank you.