Log in

View Full Version : convert a video to 24 fps in realtime


Milardo
17th February 2020, 00:44
Hi, what is the best way to convert a video in realtime with a higher frame rate than 24 fps to 24 fps using avisynth? Like 25, 29.97, 30, 59.94 or 60 fps? I noticed that videos that are converted into 24 fps and then played back with bluesky frame rate converter, svp or dmitrirender, play back very smoothly, while playback of videos like 30 or 29.97 fps aren't that smooth. So i tried this in realtime using avisynth in ffdshow. This is what i used as an example:

ffdshow_source()
LoadPlugin("FDecimate2.dll")
ConvertToYV12()
fDecimate2(24)

This is in ffdshow and I have for example dmitrirender and ffshow in external filters section of mpc-be or mpc-hc.

Playback of video such as 29.97 fps play very smooth but a video that is 59.94 is not smooth with this method.

Come somebody suggest what I am doing wrong or not or any other avisynth filter that may help with this realtime conversion and playback? Or if there is another way like a directshow filter that can do what fdecimate does in realtime?

Sharc
17th February 2020, 15:37
Unless your higher framerate videos are based on 24fps (film) originals e.g. by frame or field repetition patterns it may not be possible to get perfect smooth playback at 24 fps by decimation. See also the documentation which is included in the fdecimate.zip package.
Are your videos progressive or interlaced or telecined? Are they constant or variable framerate? Do they play smooth when you play them at their native speed?
My first thought is why would you want to convert your video to 24fps at all. Nothing but problems to be expected…..

Milardo
18th February 2020, 00:44
Hi, im trying to not just play at 24 fps but after that happens using fDecimate, dmitrirender or bluesky frame rate converter get used for that super smooth motion effect (soap opera effect) i guess. Most of my videos are progressive and probably variable framerate. I've notice that videos that are interlaced don't work with my method though. I'm not trying to play the videos at native speed. I'm only converting to 24 fps in realtime because for a lot of videos my method and using dmitrirender or blue sky frame rate converter wil play the video with that soap opera effect. I would use svp but I haven't figured out how to get another avisynth filter working in conjunction with svp as that uses ffdshow at the same time. Anybody know how? I have added some test links for video clips for testing if anybody wants to see that. Try it with or without my method and don't forget to have blue sky frame rate converter or dmitrirender enabled.

https://drive.google.com/open?id=1tE-OZYsJuUEKDuFrZC8N-uYdve3rsNQf

https://drive.google.com/open?id=1FCsR_1AVvsBS3bxHErfqJOBkucqMVVBh

This 3rd video I can't smooth out with my method probably because it is interlaced, anyone know how I can get around that? In realtime of course

https://drive.google.com/open?id=16-YZ6DnPbfkSouIZSKAy8omUYblVJ9m0

Same video but deinterlaced:

https://drive.google.com/open?id=1DV8eD91i1MP7iK6l3atTBUYqoEf99BHm

Also I am trying to get this to work with live video from a capture card, not working out so far anybody have any ideas on that?

Sharc
18th February 2020, 09:48
Sorry I can't help with dmitrirender or blu sky frame rate converter etc. and your capture formats as I don't use these.

I had just a look at your 1st and 2nd sample. It is progressive 29.97fps with a pattern like a b c d d e f g h h. Means every 5th frame is a duplicate. You can restore the original 23.976fps perfectly with
tdecimate(cycle=5,cycleR=1)