Jump to content

Forcing keyframes


Recommended Posts

Newbie here so be gentle.

I'm trying to find a way to force VP to insert keyframes every X frames when rendering. It seems to be a common feature of something somewhere because many videos I come across have one every (say) 25 frames, or 50 frames, or whatever, but VP only seems to put them where it needs them for effects. I want to be able to force them to where I want them in addition to these. It's so external video players can seek out frames much quicker.

I can't find any settings anywhere that could be related.

Does the feature not exist?

To clarify,

I want to be able to force a keyframe insertion rate in the rendered video. That's it. No need to upload anything anywhere. Youtube wants a keyframe every 2 to 4 seconds in uploaded videos, most (all?) other streaming services require similar sorts of numbers. To reliably "scrub" a video requires even faster, say every 1 second, or even less. VP only seems to put them (in addition to the ones used for effects and scene changes) every many more seconds (I see 9.5 seconds with many settings), which simply isn't fast enough for most purposes.

See https://support.google.com/youtube/answer/2853702?hl=en-GB

"Key frame frequency:

Recommended 2 seconds

Do not exceed 4 seconds"

Unless VP has the facility to force these keyframe inserts it can't even be used for youtube.

Does VP have the facility to adjust this keyframe rate? If so, where is it hidden?

If it doesn't have such a feature, it seems a massive oversight seeing as youtube, vimeo, and most (all?) of the other streaming services have a specific requirement for it.

Or am I completely missing something?

Link to comment
Share on other sites

Thanks. I've come up with a workaround, which works fine, but isn't really ideal. I encode in VP as usual, then re-encode through ffmpeg again, leaving all the settings as they are, but adding a command to force the keyframe insertion. Rather than messing with command lines I'm actually using Handbrake which is just a GUI front end for ffmpeg.

I see VP actually uses ffmpeg for encoding, it just doesn't bother setting the keyframe interval. I can't see it being a huge job on VP to add an extra single parameter when it calls ffmpeg. But HeyHo, the workaround works.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...