RecStrip 3.0: NEU: - PES-basiertes Stripping! (Demultiplex - Strip - Remultiplex) - PCRs werden auf DTS-Basis neu berechnet - bekannte Einschränkung: PCR muss auf der Video-PID übertragen werden! (sonst müsste die PMT neu codiert werden) - (ab 3.0a) Support zum Import von Aufnahmen aus Eycos S80.12HD RecStrip 2.7: NEU: - Support zum Import von Aufnahmen aus Eycos S80.12HD - Bei bereits gestrippten Aufnahmen (PMT und EPG nur am Anfang vorhanden) wird nicht nur in der Mitte, sondern auch am Anfang nach der PMT gesucht - EPG ExtEventText wird nun nur noch einmal und vollständig ausgegeben - TS Check: verbesserte Continuity-Error-Auswertung (verschiedene PIDs an gleicher Position werden zusammengefasst, Ausgabe der Einzel-Fehler erfolgt nur noch auf stderr) - ShowInfos: Details zur Aufnahme werden als tsv auf stderr ausgegeben (ermöglicht automatisierte Auswertung) - ShowInfos: Ermittlung der Videoparameter (Auflösung, FrameRate, AspectRatio) - InfProcessor: StartTime aus inf wird beibehalten, wenn nicht -i und TS keine Sekundenangabe aufweist BUGFIXES: - EPG-Event wird in UTC statt lokaler Zeitzone in der inf gespeichert - Bei Szenen kopieren, RebuildInf und vorhandenem Szenen-Text wurde ExtEventText nicht geschrieben - RebuildInf: falsche Ermittlung der Länge von EventNameDescription - RebuildInf: möglicher Speicherüberlauf beim Schreiben von EPG ExtEventText in die inf(!) RecStrip 2.6: NEU: - Vertauschung der Ausgabe-Paketgröße (o1 = 188 Bytes, o2 = 192 Bytes) - StartTime-Sekundenangabe wird in der inf (Byte 0x06) gespeichert, bei Scan im Input-File (!) - Parameter -tt extrahiert den Teletext, ohne ihn zu entfernen (dazu ist -t nötig) - Teletext-Page für Untertitel-Extraktion KANN spezifiziert werden (optional) - Merge (-m) kann auch mit Schnitt (-r) kombiniert werden, um nur einzelne Segmente zusammenzufügen - alle Topfield TimeStamps werden sekundengenau berechnet - NALUDump löscht auch Filler-NALUs ohne Startcode (mehr als 10 mal 0xff, gefolgt von 0x80 - experimentell!) - korrekte(re) Zeitzonen-Behandlung, inkl. Sommerzeit (UnixTime=UTC, TFTime=lokale Zeitzone) - EPG-Zeitversatz wird aus Teletext-Zeitzone berechnet - Humax-Mode: Ermittlung von Startzeit und Program Identification aus Teletext - Humax-Mode: Bookmarks werden als Segment-Marker importiert, .cut-File wird ausgegeben - Humax-Mode: Original-Header wird in eine .humax-Datei ausgegeben - verbesserte Behandlung von Buffer Overflows in PESProcessor und PESFileLoader BUGFIXES: - PESProcessor: nach Continuity-Error wurde das erste Packet des neuen PES-Pakets verworfen - PESProcessor: verbesserte Berechnung der RemainingBytes - Arrival Timestamps: zu große Zeitsprünge werden verhindert - aus Teletext ermittelte Programme Identification wurde nicht in inf eingetragen - DoCut: wenn kein Segment markiert, wurde grundlos das letzte Segment ausgegeben - Merge: auch bei Merge neues Bookmark an Schnittstelle setzen und Stripped-Flag setzen - Append: vorhandene Source-inf wurde nicht beibehalten - Medion-Mode: fehlerhafte Nullbyte-Entfernung durch zu späte Prüfung auf Video-PES - Medion-Mode: korrekte Behandlung von DTS-Überlauf in Eingabe-PES - Medion-Mode: bei EPG-Daten mit mehreren Events wird das in der Mitte der Aufnahme gewählt - Medion-Mode: PMT-PID wurde nicht in inf eingetragen - Medion-Mode: PAT/PMT und EIT wurden am Anfang doppelt geschrieben - Medion-Mode: Überspringt Audio/Ttx-Pakete mit zu großer PTS-Abweichung am Anfang der Aufnahme - Medion-Mode: Ignoriert bis zu 3 Audio-Pakete mit illegaler Länge am Dateianfang - Medion-Mode: RecFileSize wird aus Summe der Elementar-PES gebildet (korrekte Fortschrittsanzeige) - Humax-Mode: Tonspuren in PMT in Original-Reihenfolge ausgeben, frz. Arte nicht als AC3 markieren - End-Meldung: Anzahl der geschriebenen Pakete korrekt berechnet (OutPacketSize) RecStrip 2.5: NEU: - EPG- und Teletext-Entfernung auch ohne Strippen möglich - Untertitel-Extraktion aus Teletext (-tt) auch ohne Strippen möglich (dann ohne dass Teletext entfernt wird) - PES-Multiplexer (-M) zur Konvertierung von Medion-Aufnahmen (separate PES-Streams für Video, Audio und Teletext plus EPG) - Ausgabe von First und Last PCR (für mehrere zusammengehörige Teilaufnahmen) - Programme Identification (meist Sendername) aus Teletext auslesen - neue Berechnung der M2TS Arrival Timestamps (immer den letzten PCR nehmen, dazwischen interpolieren) BUGFIXES: - PESProcessor: bei Adaptation field wird 1 Byte mehr (Länge) übersprungen (bisher wohl nicht aufgefallen, da PESProcessor nur für einzelne SIT-Tables eingesetzt wurde, bei denen meist kein Adaptation Field auftritt) - PESProcessor: Buffer-Overflow-Protection - anstatt PayloadStart-Pakete mit Filler-AdaptationField werden Adaptation-Only-Pakete ohne PCR gelöscht(!) RecStrip 2.4b: NEU: - InfProcessor überprüft auf korrekten InfHeader (Magic und Version) - Parameter -ss (Strip and Skip) und -v (View Info Only) - verbessert: bei Strip and Skip wird eine schnelle Prüfung des inf-Flags rs_HasBeenStripped (ohne Öffnen der rec-Datei) durchgeführt RecStrip 2.4a: BUGFIXES: * SD nav-Erzeugung: Bei paketübergreifendem Startcode konnten Frames übersprungen werden RecStrip 2.4: NEU: - Bei Humax-Import wird AC3-Descriptor in der PMT gesetzt (experimentell) BUGFIXES: * PMT bei Pro7HD wird jetzt korrekt geparsed (ProgramInfo wird übersprungen) * Teletext-Descriptoren werden jetzt korrekt ausgewertet INTERNALS: - konsequentere Verwendung von benannten structs und enums anstatt Bitshift-Operationen und Konstanten RecStrip 2.3: NEU: ** Filler-NALUs direkt am Dateianfang (oder nach einer Bruchstelle) werden ebenfalls entfernt * Continuity-Check wird auf bis zu 8 PIDs durchgeführt * Aufnahmen ohne Video-PID (Radio) werden akzeptiert BUGFIXES: ** bei PMT-Analyse wurde Section-CRC nicht berücksichtigt (-> eine PID zuviel wurde betrachtet) * wenn keine Teletext-PID vorhanden war, wurde PID 0 (die PATs) entfernt RecStrip 2.2a: NEU: - verschlüsselte Pakete werden gezählt und angezeigt - bis zu ~2% verschlüsselte Pakete werden toleriert (und optional entfernt) - zusätzliches Flag im inf-Header für (teil-)verschlüsselte Aufnahmen (Verschlüsselt-Flag wird vorerst trotzdem weiter gesetzt, da in RebuildNav auch so) - Überspringen verschlüsselter Pakete wird vom TS-ContinuityCheck ignoriert - neue Berechnung von NrPackets für Ausgabe (zählt nur noch die verarbeiteten Pakete) - bei Teile kopieren (DoCut=2) wird überprüft, ob OutDir existiert, sonst ignoriert - Scrambled-Packet-Warnung nur, wenn Payload-Flag gesetzt - Scrambled-Packet-Warnung ergänzt um [ok] für "fast vollständig Adaptation Field" (was okay zu sein scheint) und [!!] für Inhalt BUGFIXES: - bei RebuildNav (ohne Kopieren) und -x -> Scrambled Packets nicht scannen, aber auch kein Offset erhöhen! RecStrip 2.2: NEU: - geänderte Parameterfolge für append - Bookmark-Berechnung nur noch an einer Stelle - kleine Änderung der nav-Timems-Berechnung BUGFIXES: - Bugfixes für Appending - Bugfixes für Bookmark-Berechnung - Bugfixes für Prozent-/Segment-Anzeige - beim Appending soll auch die srt appended werden - falsche Startzeit in srt beim Appending - Bookmark-Anpassung nach Segmentsprung auch bei cut-Mode nötig - In SetInfCryptFlags() wurde FileHandle nicht geschlossen RecStrip 2.1: NEU: - Umstrukturierung zur Vorbereitung von "Teile kopieren" - Umstellung der SegmentMarker auf Byte-Positionen (anstatt Blocks) - Extraktion der Teletext-Untertitel mittels telxcc-Routinen BUGFIXES: - Bugfix: Crash beim Mergen von Dateien, wenn die zweite leere SegmentList hat(!) INTERNALS: - pack-pragma nur noch für bestimmte structs, nicht alle (testen!) RecStrip 1.0: * ZeroBytePadding: Unsichere Pakete werden nun als "PendingPackets" definiert, und erst bei Verarbeitung des nächsten zu behaltenden Folgepakets entschieden. -> kein Zugriff auf künftige Pakete mehr nötig -> nachfolgende Pakete mit AdaptationFields werden jetzt korrekt behandelt (führen nicht mehr zum Re-Insert des PendingPackets) * NALUDump: - Filler-NALUs, die genau am Paketanfang beginnen, werden komplett entfernt (anstatt ein Paket zu belassen) - AdaptationFields ohne PCR in der Video-PID werden entfernt (experimentell!) * Dirty hack (gemeinsamer Zugriff auf fIn) entfernt - NALUDump benötigt keinen Zugriff auf künftige Pakete mehr - InfProcessor öffnet nun sein eigenes FileHandle * NavProcessor (SD): B-Frames nach I-Frame werden ignoriert (-> testen!) * RebuildInf: - Kann auch den ServiceName aus dem TS (SDT) ermitteln - Präzisere Bestimmung der Startzeit mithile der Teletext-Daten (ungetestet) - TS-Analyse erfolgt nicht mehr am Anfang (wegen PVR5000-Header) * durchgängiger Support von sync-Verlusten (unvollständige/verschlüsselte Pakete, Header-Daten) * PacketSize wird auch für *.rec ermittelt * Teletext-Daten können ebenfalls entfernt werden * Support von Humax-Aufnahmen (1184 Byte Header in TS) - PMT/PAT-Generierung für Humax-Aufnahmen RecStrip 0.8: NEU: - mehrere Korrekturen bei der Nav-Erzeugung (Fehler in RebuildNav) - verbesserte Paketverwaltung (korrekte PTS-Bestimmung, kein unnötiges Umkopieren mehr) - korrigierte inf-Typ-Erkennung (noch nicht perfekt) - Schnittfunktion - erstes Release, das mit MovieCutter 3.6 verwendet werden kann RecStrip 0.5: NEU: - Bis zu 4096 Bytes "Müll" am Dateiende werden schadlos ignoriert. - Flag rs_HasBeenStripped wird in der Ausgabe-INF gesetzt. - Bei Erfolg wird rs_ToBeStripped in der Source-INF zurückgesetzt. BUGFIX NALUDump: - Bei SD-Aufnahmen wurde nach dem Suchen des Folgepakets in der Source-Aufnahme falsch zurückgesprungen!! (-> ggf. doppeltes Einfügen von Paketen) - Wenn bei SD das Vor-Paket mit 3 Nullen endet, dann ist der Anfang des Folge-Pakets egal. BUGFIX NavProcessor: - SD: Am Anfang der nav wurde ein Null-Record zuviel ausgegeben. - SD: Laufindizes reduziert, um Pufferüberläufe zu vermeiden ("korrekterweise" müsste aber das Folgepaket mit analysiert werden) - SD: Übernahme der (falsch berechneten) Felder FrameIndex und Zero1 aus der Source-Nav - HD: Berechnung von NextAUD - HD: ebenfalls Übernahme von FrameIndex aus Source - HD & SD: Zuordnung der Source-Nav-Records