Uthred
4th November 2006, 22:01
I have an MKV thats 23 mins 50 secs long when played in mediaplayer, etc. In said apps the frame rate shows up as 29.97. However when I use mkvextract to demux the file and open the avi it shows up as being only 19 minutes long - however the accompanying audio is still 23 mins 50 secs. I was wondering can anyone offer any insight on this.
foxyshadis
4th November 2006, 23:20
To find out, run mkv2vfr from the haali splitter (http://haali.cs.msu.ru/mkv/) over it, and look at the timecode file.
I bet it's just 23.976 and being misreported though, since 23:50 is nearly 5/4 of 19:00.
Uthred
5th November 2006, 00:31
When I ran mkv2vfr I got the text below and an avi file that I can open in MPC but not in Gordian Knot, mkvmerge etc. As far as I can see you were correct and the acual framerate is 23.976. However I was wondering where that leaves me, is it now simply a matter of demuxing the mkv files, converting the video using gordian knot and a fps of 23.976 and then remuxing? Because gordian knot shows the extracted avi file as having 34832 frames but setting a length of 23 mins 50 secs at 23.976 frames a sec only 34286 frames so where are these 600 "phantom" frames going? Thanks for all the help
From mkv2vfr:
# timecode format v1
Assume 23.976
0,27,23.9726
28,37,29.9401
38,377,23.9774
378,382,29.9401
383,1942,23.9760
1943,2282,29.9691
2283,2378,23.9760
2379,2388,29.9401
2389,7412,23.9761
7413,7422,29.9401
7423,12002,23.9760
12003,12017,29.9401
12018,12977,23.9760
12978,12982,29.9401
12983,12986,23.9521
12987,12991,29.9401
12992,14915,23.9763
14916,14920,29.9401
14921,15688,23.9760
15689,15693,29.9401
15694,16201,23.9758
16202,16206,29.9401
16207,18270,23.9760
18271,18275,29.9401
18276,20019,23.9761
20020,20024,29.9401
20025,22920,23.9761
22921,22925,29.9401
22926,25441,23.9758
25442,25446,30.1205
25447,30658,23.9760
30659,30663,29.9401
30664,31247,23.9757
31248,31262,30.0000
31263,31834,23.9752
31835,33254,29.9705
33255,33258,23.9521
33259,34058,29.9693
34059,34832,23.9762
foxyshadis
5th November 2006, 01:30
You have hybrid video, as KoD mentioned. There are several methods of dealing with it, but the simplest is replacing Avisource with DirectShowSource("file",fps=23.976,convertfps=true). A more complex option that retains the hybrid nature is Tritical's avi_tc_package, which creates 120fps video using that timecode.
By far the best solution is keeping it in mkv or mp4, but I can see how that isn't always possible.
Uthred
5th November 2006, 01:55
Thanks for the info, I agree leaving it in MKV would be the handiest, the only reason I'm fiddling around re-encoding it is because XBMC evidently doesnt like it in its current state and I prefer to watch things on my television rather than on my computer.
giandrea
10th November 2006, 02:15
I'm wondering how they create such Variable Frame Rate videos... Do they drop duplicate frames? I don't see the point in VFR, the encoder should compress duplicate frames very well... expecially H.264.
foxyshadis
10th November 2006, 06:03
I don't care about what the encoder does, I'm more worried about playback - by reducing the amount of decoded frames, my cpu-hungry avisynth post-processing drops frames less often. It's not that great of a gain, but it's noticeable.
It's also better for hybrid shows, in which telecined 24p is mixed in with real 60i footage, commonly on old movies, 90's anime, and random tv shows. Without VFR (or 120fps), your options for progressive video are limited to chopping a frame from 30p cycles or duplicating one in 24p cycles, which is very jerky, or blending the cycles up or down to match the other, which causes ghosting and jacks up bitrate cost. The problem is rarely encountered in the PAL world, where film is often sped up to 25 instead of telecined.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.