![ffmpeg zeigt bei der Drawtext-Ausgabe eine falsche Frame-Nummer an](https://rvso.com/image/1703324/ffmpeg%20zeigt%20bei%20der%20Drawtext-Ausgabe%20eine%20falsche%20Frame-Nummer%20an.png)
Ich verwende den folgenden Befehl, um jeden Frame als Bild mit aufgedruckter Frame-Nummer zu speichern:
ffmpeg -i input.mp4 -vf "drawtext=text='%{n}':fontsize=72:fontcolor=white:borderw=3:bordercolor=black" -fps_mode vfr "pics\%5d.jpg"
Es scheint, als hätte es ganz gut geklappt, aber wenn ich die Bilder bei etwa Frame 930 durchgehe, geht die Framezählung einfach wieder auf 0 zurück und von da an geht es weiter. Ich habe versucht, die Punkte mit der Option -fflags +genpts neu zu generieren, aber ohne Erfolg. Irgendwelche Ideen?
Antwort1
Wenn sich die Frame-Attribute während des Streams nicht ändern, wie etwa Auflösung oder Pixelformat, initialisiert ffmpeg den Filtergraphen neu, da die meisten Filter mit variierenden Attributen nicht zurechtkommen. Durch die Neuinitialisierung geht der vorhandene Filterstatus verloren, daher wird die Frame-Anzahl zurückgesetzt. Sie können dies unterdrücken, indem Sie hinzufügen -reinit_filter 0
. Beachten Sie, dass dies bei sich ändernden Audio-Streams nicht funktioniert, da noch keine Filter damit zurechtkommen.