This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

[HELP] Reducing frame rate 60fps ->30fps
#1
Windows 10
rev 2018.11.11.1

I need to reduce frame rate of my video clip from 60fps to 30fps without changing the duration of the clip. It comes from my mobile phone. I used Filtering->Speed Change->Scale Output Frame Rate. I set it to 30fps. 

When I play the output clip with VLC player audio is played normally however first half of the video is speeded up 2 times while the second half is just a still image (last frame of the first part). 

Any advice? What I'm doing wrong?

Thanks. Tom
Reply
#2
Wild guess: Your video if vfr and not cfr and the time codes are messed up.
Try enabling Config->Internals->Handling->Ingore all input timecodes

Also instead of blindly dropping every second frame I would recommand to use:
a. Filtering->Vapoursynth->Restore->sRestore with Frate set to '30'
or
b. Filtering->Avisynth->Fra,es>Restore->sRestore with Frate set to '30'

Cu Selur
Reply
#3
(08.12.2018, 23:33)Selur Wrote: Wild guess: Your video if vfr and not cfr and the time codes are messed up.

I don't know. This is my clip. I compressed it to .zip as otherwise google will process that video
https://drive.google.com/file/d/1qMSRRlx...sp=sharing


Quote:Try enabling Config->Internals->Handling->Ingore all input timecodes

I did but it didn't help


Quote:Also instead of blindly dropping every second frame I would recommand to use:
a. Filtering->Vapoursynth->Restore->sRestore with Frate set to '30'

I couldn't process the clip. Got error:

-> 22_06_44_0410_04_video crashed: ERROR: C:\Users\Tomek398\AppData\Local\Temp\22_06_44_0410_04.264 is too small! (byteSize: 0byte)

Aborting '22_06_44_0410_04_video' due to: ERROR: C:\Users\Tomek398\AppData\Local\Temp\22_06_44_0410_04.264 is too small! (byteSize: 0byte)


Quote:or
b. Filtering->Avisynth->Fra,es>Restore->sRestore with Frate set to '30'

Program was able to process the video but final effect was the same as before: 

https://youtu.be/YPOSNTY7I5U

Thanks for quick reply!
Reply
#4
Okay, source is vfr and the problem is probably due to a high fluctuating frame rate.

On my way to bed now, but I did a quick test and:
  1. enabling 'Config->Input->Decoding->CFR output'
  2. enabling 'Filtering->Speed Change->Scale output frame rate' and setting it to 30fps
fixed the issue for me.
Using Avisynths sRestore instead of using ffmpeg Scale output frame rate also works when 'Config->Input->Decoding->CFR output' is enabled.
(Vapoursynth sRestore doesn't work as it should, due to a bug, which I will look into tomorrow.)
For your source content sRestore shouldn't be necessary, and ffmpegs scale should be fine. Smile

Cu Selur
Reply
#5
OK, I'll try it. Many thanks. Good night.
Reply
#6
(09.12.2018, 00:31)Selur Wrote: On my way to bed now, but I did a quick test and:
  1. enabling 'Config->Input->Decoding->CFR output'
  2. enabling 'Filtering->Speed Change->Scale output frame rate' and setting it to 30fps
fixed the issue for me.

This also worked for me.

Quote:Using Avisynths sRestore instead of using ffmpeg Scale output frame rate also works when 'Config->Input->Decoding->CFR output' is enabled.

Avisynths sRestore didn't work. I always get error message as cited above even when I enable CFR output.

Quote:(Vapoursynth sRestore doesn't work as it should, due to a bug, which I will look into tomorrow.)

Vapoursynth (+ sRestore) was able to process my video clip but the final effect was as I described in my first post. I mean setting CFR output didn't help here.


Thanks again for help.
Reply
#7
Quote:Avisynths sRestore didn't work. I always get error message as cited above even when I enable CFR output.
Does the Avisynth Preview work for you?

Quote:Vapoursynth (+ sRestore) was able to process my video clip but the final effect was as I described in my first post.
Okay, that is as expected, since Vapoursynth doesn't do anything in respect to 'Config->Input->Decoding->CFR output'.

Cu Selur
Reply
#8
Send you a link to a dev version for testing by PM which should fix the Vapoursynth problem.

Cu Selur
Reply
#9
Quote:Does the Avisynth Preview work for you?

It seems to work


Quote:Send you a link to a dev version for testing by PM which should fix the Vapoursynth problem.

Thanks. I tested it with sRestore

If CFR output is NOT selected: program processed the clip but didn't finish the job and didn't save output file. Last line is:

If CFR output IS selected: Program seems to work fine. I only noticed that when I deselected 'Restore' output fps remained 30fps (input file is 60fps)
"delete C:\Users\Tomek398\AppData\Local\Temp\timecodeV2_21_00_20_6310.tc"
Reply
#10
Okay.
Can you please create two DebugOutput level 9 outputs of the job processing?
- One where you enable 'Config->Input->Decoding->CFR output' and use Vapoursynth + sRestore with 30fps
and
- another one where you enable 'Config->Input->Decoding->CFR output' and use Avisynth + sRestore with 30fps.
Over here both ways worked fine with the dev version and I'm curious what might be the problem when you use it. Smile

Cu Selur
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)