[x264-devel] Fixed GOP, keyint and keyint-min

Lars Kiesow lkiesow at uos.de
Thu Aug 24 14:03:15 CEST 2017


Hi,
thanks for your answer.

The goal is to have IDR frames at the same points in multiple files
encoded with x264 used for adaptive streaming since afaik DASH/HLS would
only switch streams from/to such frames. Hence I do not necessary care
that much about a fixed GOP size but want it to be identical in
multiple (possibly parallel) encoding processes.

> There is no point in having fixed GOP with scenecut enabled i.e.
> if you want fixed GOP you SHOULD disable scenecut.

Can you elaborate a bit on this? Why does having I-frames in between
IDR frames make no sense? What is the problem/disadvantage with that?

> If you don't need really fixed GOP (usually less than 100 frames) but
> only some sync points between different encodeds of same video (say
> every 1000 frames) than you better use forced frame types (i.e.
> qpfile way of x264 cli).

How would you do that? Would you just specify every Nth frame
explicitly as to be an IDR frame, e.g.:

100   I
200   I
300   I
...
10500 I
--EOF--

Wouldn't that be the same as having a fixed GOP with scenecut enabled?
After all in between additional I-frames could be inserted, …

Or would you encode the file once and then take the frame types from
the first encoding and enforce that for the following encodings as well
(with the downside of not being able to encode in parallel)?


Also, finally, I'm still wondering why keyint-min is limited to
keyint-max/2+1. Is there any particular reason to do that?

Best regards,
Lars


More information about the x264-devel mailing list