Se você quer um one-liner para o FFMPEG que gere um vídeo que reproduz a 1 frame por segundo, o que você quer fazer é especificar taxas de quadros para entrada e saída, assim:
ffmpeg -r 1 -i data/input-%4d.png -pix_fmt yuv420p -r 10 data/output.mp4
O -r 1
significa que o vídeo será reproduzido em uma das imagens originais por segundo.
O -r 10
significa que o vídeo será reproduzido a 10 quadros por segundo.
(O -pix_fmt yuv420p
está lá apenas para garantir a compatibilidade com uma ampla gama de programas de reprodução. É necessário, por exemplo, que o vídeo possa ser reproduzido pelo Windows Media Player.)
Eu testei muitas taxas de quadros de saída diferentes, e 10 parece ser o número mais baixo que você pode usar e ainda produzirá um vídeo que o VLC irá reproduzir.
Naturalmente, o comando acima significa que cada imagem original está sendo multiplicada, mas é um método mais simples do que o que você mencionou e, dependendo do codec, pode não produzir um vídeo muito maior que um verdadeiro. Vídeo de 1 FPS.
Para testar isso, acabei de produzir um verdadeiro vídeo de 1-FPS, que saiu para 2,24 kiB. Eu então produzi um vídeo com as mesmas imagens de entrada, mas a saída em 24 FPS, e saiu para 5,76 kiB. Isso é pouco mais do que o dobro do tamanho e nem de perto 24 vezes o tamanho. :)