View Full Version : I get duplicated 25fps instead of 'true' 50fps
Regie
1st April 2011, 17:17
I've been trying really hard to solve this problem on my own, but finally I can only rely on some of you guys to help me sort this out.
The thing is that I have an h264 digital captured stream from digital tv. It's 1440x1080i@25fps.
All I do is opening the file with avisynth using DSS2, apply deinterlacing using Yadif, cut out commercials, crop out black borders and resizing to get 1280x720p@50fps stuff.
When I open the script using VirtualDubMod the result isn't what I expected, instead of 50 fps I get duplicated 25fps. So I can see the first frame and the next one is exactly the same as the first, then the third frame is a new one, the fourth is again equal to the third and so on...
This is the script:
V1=DSS2("C:\0326065829DVB-TTV3HD.mp4",fps=25)
V1=V1.AssumeFPS(25).AssumeTFF()
V1E=V1.Trim(0,3907)+BlankClip(V1,length=6)+V1.Trim(3908,0)
V1E2=V1E.Trim(0,107645)+BlankClip(V1,length=34)+V1E.Trim(107654,0)
V1E2
Trim(0,68678)+Trim(69910,132270)
LoadCPlugin("C:\AviSynth 2.5\plugins\yadif.dll")
Yadif(order=1,mode=1)
Crop(20,8,0,-8)
Spline36Resize(1280,720)
MediaInfo gives me the following info about my source clip:
Profile: High@L4.0
Format settings, CABAC: Yes
Format settings, ReFrames:4 frames
Codec ID: avc1
Frame rate mode: Variable
Frame rate: 47.608 fps
Minimum frame rate: 25.000 fps
Maximum frame rate: 50.000 fps
Floatingshed
1st April 2011, 19:59
Try something like this: http://forum.doom9.org/showthread.php?t=160226
Regie
1st April 2011, 20:23
InterFrames seems to be used to recreate new frames between the original ones using some kind of interpolation. It is definetly something interesting, but what I'm doing is different.
My aim is just take an interlaced clip and bob-deinterlace it, i.e., produce 50 progressive frames out of 25 interlaced frames. I have done this several times before, but now I'm having problems since my source clip is HD stuff using the avc/h264 codec. Up until now I've been using SD MPEG-2 broadcastings, and I had no problem whatsoever.
Didée
1st April 2011, 21:13
Most probably, the DirectShow decoder invoked by DSS2 is deinterlacing the stream from 25i to 25p.
The data about your source is nebulous. A 1080i25 stream with an average fps of 47.608? A digital broadcasting in an MP4 container? - No clue what you're working with, there.
Guest
1st April 2011, 21:22
@Regie
Where did you get the source clip?
Regie
1st April 2011, 21:43
In response to both Didée and neuron2, I also find quite strange what mediainfo says about the source. I used a USB Digital TV tuner device by Avermedia to capture this, and it stores HD stuff using the MP4 container. It's the Formula 1 broadcasting aired this past weekend for the first time in HD, and I got it from the local broadcaster.
Here you have a sample:
http://rapidshare.com/files/455481889/0326065829DVB-TTV3HD_0_30.mp4
This is what DGAVCIndex reported about the file:
Stream Type: AVC Elementary
Profile: High
Level: 4
Frame Size: 1440x1080
SAR: 4:3
Display Size: 1920x1080
Frame Rate: 25.000000 fps
Colorimetry: BT.709 [1]
Frame Structure: Fields (TFF)
Frame Type: not yet
Coded Number: 138
Playback Number: 138
Frame Repeats: 0
Field Repeats: 0
Bitrate: 2.993
Bitrate (Avg): 5.700
Bitrate (Max): 8.777
Elapsed: 0:00:03
Remain: 0:00:00
FPS: 24.94
Regie
3rd April 2011, 16:49
At the end I think I've solved my problem, I feel relieved...
I had to play with lots of different things trying to see what worked for me. The first thing is that I wanted to use DSS2 instead of DSS because I wanted some frame accuracy.
When using DSS2 I found I had problems depending on the decoder I was using:
- With CoreAVC decoder the video played ok until at some point it started to shake.
- With Cyberlink PDVD9 decoder I got duplicated 25fps
- Also duplicated 25fps with an old version of MainConcept AVC/H.264 decoder but it only happened when encoding with MeGUI because the script opened ok in VirtualDubMod
- With ArcSoft Video decoder some parts of the video didn't play ok, it stopped for a while then resumed playing, or jumped some frames forward as if some frames where missing.
- I couldn't use ffdshow at all, it wasn't able to decode the stream, no idea why because I installed last recommended version (ffdshow_beta7_rev3154_20091209.exe) and last version (ffdshow-rev3721_20110107_clsid_icl10).
- DiAVC H.264 decoder played ok but when I trimmed the video it showed a still image for 40-50 frames more or less, the same happened at the beginning of the video.
- DivX H.264 decoder was of no help, I had lots of issues.
When I used DirectShowSource I lost frame accuracy but most of the decoders worked flawsessly.
Finally I used DSS2 with MainConcept (Broadcast) AVC/H.264 decoder and fortunately I saw the 50fps I always expected ,and when encoding with MeGUI the result was still 50fps.
Midzuki
3rd April 2011, 19:36
The first thing is that I wanted to use DSS2 instead of DSS because I wanted some frame accuracy.
...
When I used DirectShowSource I lost frame accuracy but most of the decoders worked flawsessly.
I am not sure what exactly you mean by "frame accuracy", but...
http://forum.doom9.org/showthread.php?p=1364979#post1364979
http://forum.doom9.org/showthread.php?p=1365335#post1365335
http://forum.doom9.org/showthread.php?p=1456817#post1456817
When using DSS2 I found I had problems depending on the decoder I was using
So, let's assume you've set HMS as your only/favorite MP4 splitter... and I inform you that I use HMS only as a MKV splitter, since I think there are better MP4/PS/TS/AVI splitters than Haali Media Splitter. Besides, please notice that not all decoders function "equally well" with all splitters (and vice-versa) — which is easily-"detectable" when you run MPC(-HC) on a slow machine.
Regie
3rd April 2011, 20:35
So, let's assume you've set HMS as your only/favorite MP4 splitter... and I inform you that I use HMS only as a MKV splitter, since I think there are better MP4/PS/TS/AVI splitters than Haali Media Splitter.
In fact I even tried uninstalling HMS and using LAVFilters, but then I couldn't open the avs in VirtualDubMod and go to certain frames without it crashing quite often, the only way to avoid it was using seekzero=true, but it made it impossible to inspect the stream, it would take forever.
I wasn't able to find any other splitter for mp4, could you please recommend me some to try?
space1999
3rd April 2011, 21:01
I use the standalone-version of MPC-HC's MP4 splitter
( MP4Splitter.ax ). You can get the entire filter package from Sourceforge or from xvidvideo.ru.
but then I couldn't open the avs in VirtualDubMod and go to certain frames without it crashing quite often
Why do you still use VirtualDubMod ? :confused: :confused: :confused:
Regie
3rd April 2011, 22:35
Why do you still use VirtualDubMod ?
because it works... and it fulfills what I need to do, which is just open the script to see if everything is right before sending it to MeGUI for encoding. I tried Avidemux but I had problems using it, since then I haven't found anything much better. AvsPMod is also helpful and I sometimes prefer it over VDubMod.
space1999
4th April 2011, 00:46
Apologies for nor being clear enough...
I meant, currently VirtualDub "classic" accepts MKVs, FLVs, M2Vs, WMVs, can even output to MKV or MP4 (depending on the chosen codec, of course), and quite probably will not crash as often as VirtualDubMod. You see, a lot of things have changed radically since December of 2007. :)
EuropeanMan
7th April 2011, 15:52
^ Where could we find this VD classic?!!! WOW
poisondeathray
7th April 2011, 15:54
^ Where could we find this VD classic?!!! WOW
he means "normal" vdub with the various input plugins e.g. mkv plugin, flv plugin
http://home.comcast.net/~fcchandler/index.html
vdub external encoder feature
http://forums.virtualdub.org/index.php?act=ST&f=5&t=18789&
ramicio
7th April 2011, 16:38
If you're getting info from DGAVCIndex then why not use it as a source filter for your file in avisynth? That will solve your problems.
poisondeathray
7th April 2011, 16:43
If you're getting info from DGAVCIndex then why not use it as a source filter for your file in avisynth? That will solve your problems.
...because it introduces other problems with PAFF streams
It's based on older decoding library, and you often get macroblocking when decoding PAFF AVC
ramicio
7th April 2011, 16:51
Interesting. Are you able to test DGDecNV?
Floatingshed
8th April 2011, 22:21
All my PAFF and MBAFF problems melted away with DGAVCindexDI, it is not expensive and I've found it invaluable.
Regie
9th April 2011, 23:14
he means "normal" vdub with the various input plugins e.g. mkv plugin, flv plugin
http://home.comcast.net/~fcchandler/index.html
vdub external encoder feature
http://forums.virtualdub.org/index.php?act=ST&f=5&t=18789&
Thanks for the links, I will try newer versions of VD with those plugins, just to play with them a little bit.
...because it introduces other problems with PAFF streams
It's based on older decoding library, and you often get macroblocking when decoding PAFF AVC
Exactly! And at the moment I will do without DGDecNV or DGAVCIndexDI, but I'm quite sure it won't be long until I go for one of those two, probably DGDecNV because it will allow me to encode quicker than nowadays (it's a pity that I didn't buy an NVidia card when I got my new computer, but I'll definitely do the move sooner than later).
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.