O que você pode fazer é "simular" o processo de gravação de imagens, filtrando com o filtro fps
e, em seguida, usando ffprobe
para mostrar os registros de data e hora dos quadros gerados. Isso significa que a 25 fps, o 50º quadro (como a sua 50ª imagem) terá uma PTS de 2,00 segundos.
Você faz assim:
ffprobe -f lavfi -i "movie=input.mp4,fps=fps=25[out0]" -show_frames -show_entries frame=pkt_pts_time -of csv=p=0
A saída será:
0
0.04
0.08
0.12
0.16
...
Estes são os carimbos de data e hora de cada imagem de saída. Você pode combinar a lista de frames e os timestamps:
ls -1 image-*.jpeg > images.txt ffprobe -f lavfi -i "movie=input.mp4,fps=fps=25[out0]" -show_frames -show_entries frame=pkt_pts_time -of csv=p=0 > frames.txt paste images.txt frames.txt > combined.txt
Criará um arquivo com:
image-0001.jpeg 0
image-0002.jpeg 0.04
image-0003.jpeg 0.08
image-0004.jpeg 0.12
Observe que isso pode resultar em linhas estranhas se houver muitos quadros ou muitas linhas de saída de informações. Parece um pouco impreciso lá.