Warum ist der erste Frame-Zeitstempel 0,066667 und nicht 0?

539
Proviste

Ich habe einen Stream von TGA-Dateien, die auf der Festplatte erstellt wurden, und ich programmiere ein h264-Video mit dem Codec x264vfw. Optionen CRT 23, mittlere Voreinstellung, schnelle Dekodierung, keyint 30 (Video ist 60 Bilder / s), keine Schnittszenen, yuv 4 2 0 ...

Wenn ich das Video untersuche, stelle ich fest, dass der erste (Schlüssel-) Frame-Zeitstempel nicht 0 ist, sondern 0,066667.

Warum ist der erste Frame-Zeitstempel 0,066667 und nicht 0?

Ich benutze den ffprobe-Befehl, um die Frame-Zeitstempel zu extrahieren, die mit ein wenig Powerhell-Magie kombiniert werden, um die Keyframes zu isolieren.

.\ffprobe.exe -select_streams v -show_entries frame=key_frame,pkt_dts_time,pict_type -of csv .\new1.avi | ? { $_.split(",")[-1] -eq 'I' } 

Ausgabe :

frame,1,0.066667,I frame,1,0.566667,I frame,1,1.066667,I ... 
2
Das menschliche Auge kann etwa 1/16 einer Sekunde sehen. Es ist bemerkenswert, dass Ihr Dezimalwert gleich 1/15 ist, oder ungefähr die Zeit, die Sie auf den zweiten Frame warten würden. Frank Thomas vor 6 Jahren 0
Sie müssen Ihren Code zeigen. Wie viele B-Frames? Gyan vor 6 Jahren 0
Ich verwende 2 b-Frames Proviste vor 6 Jahren 0

0 Antworten auf die Frage