- Klötzchenbildung
- Senderausfall von ca. 2 Minuten mitten in der Aufnahme
- vorzeitiges Aufnahmeende wegen voller Festplatte
- vorzeitiges Aufnahmeende wegen Einfrierens
- vorzeitiges Aufnahmeende wegen eines Reboots
Viele Grüße
Homer
Das bedeutet ein Lesen der rec nur am Anfang und am Ende. Das wäre machbar.[quote="FireBird"]3 bis 5 lassen sich relativ leicht überprüfen. Die Aufnahmen enthalten einen PCR (Program Clock Reference). Das ist ein Zähler, der vom Studiotakt getaktet wird und aus der Differenz des letzten und des ersten PCR lässt sich die genaue Laufzeit der Aufnahmen berechnen. Vielleicht vom Ende der Datei etwas Abstand lassen, für den Fall dass dort Datenmüll liegt.[/quote]
Die Klötzchenbildung geht immer einher mit Sprüngen durch eine zu kleine nav. Die fehlenden Pointer müsste man erkennen können, da die Ziele der vorhandenen Pointer in diesem Fall springen, d. h. Lücken aufweisen.[quote="FireBird"]Die .nav enthält Pointer auf Picture-Start und andere Strukturen in der .rec. Aus dieser direkt wird man keine Rückschlüsse ziehen können. Da ich aber gerade im Ausland bin, habe ich keinen direkten Zugriff auf die nav-Details.[/quote]
Ja bitte.[quote="chris86"]Die nav-Struktur kann ich dir schicken.[/quote]
Im Fall 2 merkt der Topf das und schreibt eine kürzere Laufzeit in die inf (Istdauer). Die Solldauer ist gleich Ende minus Anfang und in diesem Fall größer als die Istdauer.[quote="chris86"]Was du da vorhast, wird aber so wohl nicht funktionieren. Der PCR läuft auch bei Unterbrechungen weiter, so dass Anfang und Ende in jedem Fall korrekt sind.[/quote]
Das möchte ich nur dann machen, wenn ich schon sicher weiß, dass der Fehler 2 aufgetreten ist, nur noch nicht wo (Film oder nicht Film).[quote="chris86"]Aber wenn du es richtig machen willst, musst du eigentlich die gesamte rec scannen, und den fortlaufenden Paket-Counter überprüfen.[/quote]
[quote="Homer"]Das bedeutet ein Lesen der rec nur am Anfang und am Ende. Das wäre machbar.[/quote]
Code: Alles auswählen
typedef struct
{
dword SHOffset:24; // = (FrameType shl 24) or SHOffset
dword FrameType:8;
byte MPEGType;
byte FrameIndex;
word iFrameSeqOffset;
// byte Zero1;
[b] dword PHOffsetHigh;
dword PHOffset;[/b]
dword PTS2;
dword NextPH;
[b] dword Timems;[/b]
dword Zero5;
} tnavSD;
typedef struct
{
dword SEIPPS:24;
dword FrameType:8;
byte MPEGType;
byte FrameIndex;
word PPSLen;
// byte Zero1;
[b] dword SEIOffsetHigh;
dword SEIOffsetLow;[/b]
dword SEIPTS;
dword NextAUD;
[b] dword Timems;[/b]
dword Zero2;
dword SEISPS;
dword SPSLen;
dword IFrame;
dword Zero4;
dword Zero5;
dword Zero6;
dword Zero7;
dword Zero8;
} tnavHD;