Eu tenho um fluxo de arquivos TGA criados em disco e programaticamente construo um vídeo h264 usando o codec x264vfw. Opções CRT 23, preset médio, Fast Decode, keyint 30 (o vídeo é 60 fps), sem cenas cortadas, yuv 4 2 0 ...
Quando eu examino o vídeo, percebo que o primeiro timestamp (chave) do quadro não é 0, é 0,066667.
Por que o primeiro registro de data e hora do quadro é 0,066667 e não 0?
O comando ffprobe é usado para extrair os timestamps de quadro juntamente com um pouco de magia powershell para isolar os quadros-chave.
.\ffprobe.exe -select_streams v -show_entries frame=key_frame,pkt_dts_time,pict_type -of csv .\new1.avi | ? { $_.split(",")[-1] -eq 'I' }
Saída:
frame,1,0.066667,I
frame,1,0.566667,I
frame,1,1.066667,I
...