Seite 1 von 1

datetime object mit Videoframes

Verfasst: Samstag 22. August 2020, 20:14
von m.g.o.d
Hallo Zusammen,

folgendes Problem bereitet mir gerade Kopfschmerzen:

Ich muss mit Videoframes rechnen können. Ich habe eine Liste, die eine Startzeit hat:

02:45:51:11 (Eine Sekunde hat 24 Frames)

und einen Clip mit einer Duration:

00:00:10:04 (4 Frames)

Jetzt muss ich es irgendwie hinbekommen, dass:

02:45:51:11 + 00:00:10:04
=> 02:46:01:15 ergibt.

Also irgendwie die datetime.time Klasse mit einer Logik versehen, dass Frames richtig verrechnet werden. Frames > 24 sind eine Sekunde...

Leider habe ich sowas noch nie gemacht. Könnt ihr mir einen Hinweiß geben, wie ich vorgehen kann? Vermutlich muss ich irgendwie die Klasse time/datetime erweitern, oder?

Viele Grüße,
m.g.o.d

Re: datetime object mit Videoframes

Verfasst: Samstag 22. August 2020, 20:45
von __blackjack__
@m.g.o.d: Reichen da nicht zwei Funktionen: eine die Zeichenketten wie "02:45:51:11" und "00:00:10:04" in `datetime`-Objekte wandelt die man addieren kann, und eine die aus einem `datetime`-Objekt wieder eine Zeichenkette in dem Format mit Zeit + Frames umwandelt?

Re: datetime object mit Videoframes

Verfasst: Samstag 22. August 2020, 22:07
von Sirius3
Wenn du genau rechnen willst, brauchst du nur einer Funktion, die die Zeichenketten in Frames umgerechnet und umgekehrt. Dann musst du nur mit ganzen Zahlen rechnen.

Re: datetime object mit Videoframes

Verfasst: Sonntag 23. August 2020, 08:14
von tonikae
Da könnte dir evtl. "matplotvideo" weiterhelfen
https://pypi.org/project/matplotvideo/0.0.1/
Das synchronisiert punktgenau Daten und Video

Re: datetime object mit Videoframes

Verfasst: Sonntag 23. August 2020, 14:02
von m.g.o.d
Hallo Zusammen, erstmal danke für eure Antworten.

Es gibt bei Python ein Modul "timecode", was diese Berechnung macht. Leider stimmt das Ergebnis bei 25 Frames als Basis leider um -1 Frame nicht :-(

Ich werde dort mal den Weg versuchen, die Zeitangabe komplett in Frames umzurechnen und danach wieder zu wanden.