Wie hier diskutiert, möchte ich die Sonderbehandlungen für die Wiedergabe von Aufnahmen im alten PES-Format möglichst eliminieren. Hierzu habe ich die neue Kommandozeile-Option --pes2ts eingebaut. Damit kann eine PES-Aufnahme nach TS konvertiert werden (ffmpeg und andere Tools können all die Sonderfälle, die für PES nötig waren, nicht detektieren).
Beiliegende ZIP-Datei enthält:
- pes2ts Script zum automatischen Konvertieren aller PES-Aufnahmen im angegebenen Verzeichnis.
- pes2ts.[ch] Neue Source-Dateien, die die PES-TS-Konvertierung impementieren.
- pes2ts.diff Diff gegen VDR Version 2.8.2.
Am besten Version 2.8.2 frisch aus dem GIT holen, die ZIP-Datei in das Source-Verzeichnis entpacken, den Diff anwenden und compilieren.
Für das Testen der Konvertierung brauchen keine Plugins neu übersetzt zu werden, da es sich komplett auf Kommandozeilen-Ebene abspielt.
Vorgehensweise:
- pes2ts -h
um die Hilfe anzeigen zu lassen. - pes2ts -v -n /video
listet alle PES-Aufnahmen unter /video auf, ohne sie zu konvertieren. - pes2ts -i -f -v -l 3 -p /path/to/vdr /video/Serien/Star_Trek
konvertiert alle PES-Aufnahmen unter /video/Serien/Star_Trek, ignoriert fehlerhafte VDR-Aufrufe, überschreibt bereits existierende TS-Aufnahmen (von vorhergehenden pes2ts-Aufrufen) und schreibt das vollständige Log auch nach stdout. Der Pfad zum VDR-Executable muss nur angegeben werden, wenn es nicht über $PATH gefunden wird. - pes2ts -i -f -v -l 3 -p /path/to/vdr /video/Serien/Star_Trek/Ep1/2008-04-24.11.15.50.99.rec
macht die Konvertierung für eine ganz bestimmte Aufnahme.
Anmerkungen:
- Bestehende PES-Aufnahmen werden nur lesend geöffnet und bleiben unverändert
- Die erzeugte TS-Aufnahme hat den gleichen Namen wie die PES-Aufnahme, lediglich das Format des *.rec-Teils wird entsprechend verändert (aus "*.pp.ll.rec" wird "*.0-0.rec", pp=Priority, ll=Lifetime).
- Die Dateien summary.vdr, info.vdr, marks.vdr und werden entsprechend kopiert bzw. konvertiert.
- Der Index wird während der Konvertierung neu erzeugt.
- Ein Protokoll der Konvertierung wird nach pes2ts.log im Verzeichnis der TS-Aufnahme geschrieben.
- Die Wiedergabe der TS-Aufnahme ist bei laufender Konvertierung sofort möglich.
- Die Fortschrittsanzeige zeigt eventuelle Schnittmarken, die ausserhalb des bereits konvertierten Bereichs liegen, u.U. nicht richtig an. Das ist ein bekanntes Problem und tritt auch beim Neu-Erzeugen des Index mit --genindex immer schon auf. Werde ich gesondert fixen.
- In cPatPmtGenerator::MakeAC3Descriptor() ist anscheinend die Zeile Target[i++] = 0x01; falsch. VDR kann die Untertitel aber sowohl mit als auch ohne sie abspielen.
- Das "USE"-Macro in pes2ts.c hatte ich Anfangs eingebaut um sicherzustellen, dass der Return-Wert auch wirklich ausgewertet wird. Hat sich als ganz praktisch erwiesen, drum hab ich es erstmal dringelassen.
Ich konnte auf diese Weise alle bei mir vorhandenen PES-Aufnahmen erfolgreich konvertieren, mit allen Audio- und Subtitle-Tracks.
Bitte probiert es mal aus, sofern ihr noch PES-Aufnahmen habt, und lasst mich eure Ergebnisse hier wissen.
Wichtig: Bitte die PES-Aufnahmen noch nicht löschen, es könnten sich durch den Test ja noch Änderungen ergeben!