View Single Post
Old 2008-09-19, 01:24   Link #227
Mentar
Banned
 
 
Join Date: Nov 2003
Location: Hamburg
Age: 54
Quote:
Originally Posted by Meltingice View Post
Isn't that overly complicated? Say I have a 120 fps avi raw that has the timecodes:
Assume 23.976
0,2449,29.97
32000,34499,29.97
If you do it your way, you don't HAVE a timecode file yet. And if you feed a 120fps raw into timecode-extracting tools, you'll come up with total garbage. It would NEVER come up with a clean result like this. So that's a non-starter.

But okay, simply for the sake of discussion let's stipulate that a magical fairy drops "perfect cfr2tc" in our lap which cleanly creates a proper VFRAC video with a wonderful v1 timecode file like above. Then we're running into other kinds of difficulties:

Quote:
Wouldn't it be easier to do:
-Put 120 fps avi raw into cfr2tc => Output "VFRACRaw.avi" [Output is 29.97 fps]
-Then do avisource("Path\To\VFRACRaw.avi").FiltersHere().AF X().Hardsubs() => Output "VFRACRAW[Lossless].avi"
Okay so far...

Quote:
For CFR avi:
avisource("Path\To\VFRACRAW[Lossless].avi").AssumeFPS(23.976)
src=last
a=src.trim(0,2449).SelectEvery(5,0,1,2,3)
b=src.trim(2450,31999)
c=src.trim(32000,34499).SelectEvery(5,0,1,2,3)
d=src.trim(35000,0)
a+b+c+d
=> Output is CFR 23.976 encode
Fixable quibble: This would be a jerk generator. We've just turned 23.976 footage into 29.97, which means that we've inserted one duplicate in each cycle of 5 frames. Using SelectEvery() this way would blindly remove one frame out of each cycle, and this would most likely fail to hit the dupe. Use decimate() instead.

Quote:
For VFR mkv:
avisource("Path\To\VFRACRAW[Lossless].avi")
=> Output is CFR 29.97
-Mux in timecodes into mkv
Okay.

Quote:
With the above method, you don't have to encode 2 Openings, Main episode, 2 Endings.
That's no bug, it's a feature. If you want to go for hi-quality (and that's the main reason to go VFR), you NEED to encode OP/ED twice in different framerates, otherwise the karaoke will look bad! It would be the same as encoding one Karaoke at 29.97fps and then decimating it down to 23.976. For karaoke with moving effects, this becomes very very noticeable.

Other problems we have this way: Ever tried shifting Karaoke on VFRAC, especially on non-magical real-life cfr2tc output? You CAN do it via Aegisub, but it's relatively complicated if you want to do it properly. Also, your typesetter will curse you when he has to work with 29.97 workraws on a 23.976 source, ESPECIALLY if he's ASS-based instead of AFX. All moving signs will be completely fucked up in ASS, and much more annoying in AFX aswell, due to the constant duplicates. Therefore I'd strongly advise to ALWAYS base the workraw on the genuine framerate of the main episode, and that's usually 23.976

To sum it up: Yes, your approach generally does work. You will be able to create the files properly, but you lose quite a bit of quality in the process AND you make the life miserable for your typesetter. In my opinion it just doesn't add up. It's much easier to quickly encode 2 extra OP/ED versions.
Mentar is offline   Reply With Quote