Log in

View Full Version : ConvertFPS causes audio sync problems


lord.hypnos
9th January 2003, 14:26
I have two clips (1st: ~13min, 23.983fps; 2nd: ~11min, 23.977fps, both 512x384) that I have been trying to join without introducing audio sync problems.
I have used many variations of the ConvertFPS() function, but I either seem to get the audio to sync correctly and the video to look horrible (ghosting or blurring etc) or vice versa.
Since the framerates were so close, I even tried converting to 60fps and then reducing the framerate after they were joined, but that still didn't produce what I was hoping for.

Could someone suggest a solution? The last arguments I used were:

AviSource("movie1.avi","movie2.avi")
ConvertFPS(24,zone=200,vbi=45)

I ran both files through TMPGEnc which converted them to 24 fps, and then I joined the files without sync errors. However them conversion to MPEG caused video artifacts.

I am very new to all of this so please go easy on me.

wing1
9th January 2003, 21:10
If your sole purpose is to join the two existing clips, then all you need is to alter the frame rate of one of the clip in Vdub to match the other. Afterward, join them together. There is no need to re-encode them (especially when they are that close).

1. Open one of the clip in Vdub
2. Select Append AVI Segment-> Select your other clip; Vdub will tell you what the expected frame rate from the second clip should it failed to append. Take note of that number.
3. Unload all clips from Vdub.
4. Open the failed to append clip in Vdub.
5. VideoTab->framerate->change frame rate->enter that number.
6. VideoTab->select->Direct Stream copy.
7. AudioTab->select->Direct Stream copy.
8. Save your new clip at the frame rate that you have entered.
9. repeat step 1-2 and you will be able to join the two clips.

lord.hypnos
9th January 2003, 23:52
I wish it was just that simple. Actually, that was the first thing I tried. I tried changing the framerate of the second clip to match the first, then changing the framerate of the first to match the second, and then I even tried changing the framerate of both to an averaged framerate, but each of those produced sync errors in the last half, first half, or all of the clip respectively.

LB
4th March 2003, 02:20
Yeah, I have the same problem. I noticed TWO things:

1. This might not totally pertain to your question but it's one I got so I'll throw it out first. I have found that when using the AudioDub command joining several clips of say a DVD, with NO change of framerate command, I get a de-sync on like the third clip sometimes during the final output. I dunno.

This takes us to your question then,

2. How can we join two clips with no desync with VERY close to 23.976 FPS and yet introduce no de-sync? Well the answer is easy, but if I could freaking solve Q.1 then it would be even easier. Here is "A" 100% surefire solution.

Make TWO avs files.
- In each AVS open one of the video clips. Apply a CONVERTFPS (23.976) command FIRST, then apply a ASSUMEFPS(23.976) command SECOND. Do this for BOTH AVS files. Here are the sample AVS scripts:

#----------
Avisource("C:\Clip1.avi")
ConvertFPS(23.976)
AssumeFPS(23.976)
#----------

#----------
Avisource("C:\Clip2.avi")
ConvertFPS(23.976)
AssumeFPS(23.976)
#----------

I found that just doing the convert will not ALWAYS allow vdub to open them because it will *sometimes* see different framrates. (I got REALLY pissed off when one time vdub told me "cant open bla bla because fps for clip one is 23.976 and fps for clip two is 23.976." I wanted to kick my PCs arse just about then). Also, the assume leads to desync I have found if you only use that. But, if you use both, in every trial I've used it, it worked perfectly.

So, why is it such a pain? Well you will have to re-save each file since (to my knowledge) vdub cannot append ("Merge") .avs files, and as my Q.1 has explained, using the AudioDub command in a AVS to join two clips can "sometimes" lead to desync. So, just save the junk to two seperate huffy avi files and then merge then in vdub that way. If you ever find a way to append in AVS w/o desync using the AudioDub method drop me a line!

LB

yaz
4th March 2003, 10:17
hi all!

i got the same problem with segmented tv capts regularly. the solution is that wing outlined but ... not that way. vd needs higher precision for syncing segments than allowed to enter in the fps tag. funny, but that's what we have. i suggest :
1. load the segments one by one & note the exact framerate given by vd in the file/info field. not the fps but the 'framespeed'! (dunno what's the exact term, but it's the value given in microsec)
2. restart vd & make a profile for framerate-changing wout loading any avi!
- video direct stream copy
- change fps (whatever value)
- audio direct streaqm copy
& save this profile (ctrl-S)
3. the trickiest point: edit this profile by hand!
find the line converting fps & enter the value in microsec! use this profile for converting.
(i always keep a profile like this at hand:-)
it's a quick&dirty way to make it but it works.

notes:
- it works only if your audio streams comply. if not, u must convert that too (see below)
- it will desync audio but it's unnoticable if the extent of change is 'small enough'. imho, u can use any of the value given for the segments, but the safest way is using the average.
- 'framespeed' is an integer, don't try float instead! (at least it was when i checked last time)

this way u get an 'out-of-specs' stream! if u want 'standard' fps u must(!) convert both the video and the audio stream. the latter can be readily done with besweet e.g.

the bests
y