Seite 1 von 1

FRAGE: ProjekX LogInfos, Resync-Position Berechnen...

Verfasst: Di 06 Jul 2004, 16:20
von Samson71
Hallo, kann mir jemand vielleicht sagen wie man die Frame-Position eines von Projekt-X angezeigten Resync, berechnen kann?

Code: Alles auswählen

--> PID 0x66 (PMT) (0x0 #1)  -> ignored
ok> PID 0x2FF has PES-ID 0xE0 (MPEG Video) (0x19B4 #36) 
ok> PID 0x300 has PES-ID 0xC0 (MPEG Audio) (0xEF68 #327) 
-> video basics: 704*576 @ 25fps @ 0.6735 (4:3) @ 15000000bps, vbvBuffer 112
-> starting export of video data @ GOP#0
!> dropping useless B-Frames @ GOP#0 / new Timecode 00:00:00.000
--> PID 0x0 (PAT) (0x10F72F8 #94627)  -> ignored
!> PTS difference of 7200 (00:00:00.080) to last GOP#89 detected
!> dropping useless B-Frames @ GOP#90 / new Timecode 00:00:42.800
--> PID 0x2FF -> packet 1804044 @ pos. 339160084 out of sequence (6/5) (shifting..)
--> PID 0x300 -> packet 1804056 @ pos. 339162340 out of sequence (8/7) (shifting..)
--> PID 0x2FF -> packet 8611640 @ pos. 1618988132 out of sequence (4/3) (shifting..)
--> PID 0x2FF -> packet 9810050 @ pos. 1844289212 out of sequence (0/3) (shifting..)
--> PID 0x2FF -> packet 9810055 @ pos. 1844290152 out of sequence (6/5) (shifting..)
!> PTS difference of 7200 (00:00:00.080) to last GOP#10856 detected
!> dropping useless B-Frames @ GOP#10857 / new Timecode 01:25:39.400
--> PID 0x2FF -> packet 10360985 @ pos. 1947864992 out of sequence (3/2) (shifting..)
packs: 11216774 100% 2120386012

-> video: fr/ ct/ 1p/ cg/ og/ dg = 145472/ 3/ 0/ 0/ 12310/ 0
-> video length: 145472 frames @ 01:36:58.880
-> GOP summary: min. 8, max. 36 fields; contains interlaced & progressive frames
Die Zeilen mit dem SHIFTING, sind die stellen wo Fehler im TS-Stream sind, ich möchte nun gerne mir ausrechen können an welcher Frame-Position das ist, um kurz vor dieser stellen den Film abspielen lassen, um dann zu sehen ob ich den Film halt nochmals Streamen muss oder ob ich den fehler drin lassen kann, weil es kaum oder fast garnicht auffällt

Weis jemand iwe ich das machen kann?

Verfasst: Di 06 Jul 2004, 18:16
von Pedant
Hallo Samson,

auch auf die Gefahr hin jetzt Mist zu schreiben.
PX benutzt als Positionsangaben abgezählte Bytes ab Filmanfang, was bei den variablen Bitraten eines MPEG2-Streams, dazu führt, dass es sich nicht in Laufzeit oder Frames umrechnen läßt.
Eine Abschätzung per Dreisatz sollte möglich sein, wenn man unterstellt, die durchschnittliche Bitrate wäre über den gesamten Film einigermaßen konstant.
...@ pos. 1844289212...
Position: 1844289212 B / (1024 B/kB) / (1024 kB/MB) = 1759 MB
Streamgröße z.B.: 2545 MB
Relative Position: 1759 MB / 2545 MB = 0,69
Streamlänge z.B.: 95 Min.
Position des Fehlers: 0,69 x 95 Min. = 65,55 Min = 65 Min. und 33 Sek.

Wie gesagt, das funktioniert nur bei konstanter Bitrate, die bei Mpeg2 aber nicht gegeben ist.

Gruß Frank