Eu estou copiando esta resposta :
Você pode usar o ffmpeg para inserir quadros-chave onde desejar usando a opção -force_key_frames
.
por exemplo:
./ffmpeg -i input.mp4 -c:a copy -c:v copy -force_key_frames 0:05:00,0:10:00 out.mp4
colocará um quadro-chave o mais próximo possível da marca 5 e 10s. Os valores de hora podem estar no formato hh: mm: ss ou apenas segundos (valores únicos, sem dois pontos).
Você pode verificar se há quadros inseridos onde deseja usá-los:
./ffprobe -select_streams v:0 -skip_frame nokey -show_entries frame=pkt_pts_time out.mp4