[gelöst] [yaVDR 0.5alpha1] [traco] macht Probleme beim Erzeugen der vdrtranscode.ts

  • Hallo zusammen,


    nachdem ich nun auch mal auf die 0.5er umgestiegen bin, ärgere ich mich nun mit einem (!!!) 8o Problem herum, was allerdings
    zugegebenermaßen eher an traco als denn am yaVDR liegen sollte. Deshalb ersteinmal meinen Dank für diese perfekte Alpha! :tup


    Nun zu meinem Problem:
    nach einem

    Code
    tracoadm.pl status prepare_traco_ts /srv/vdr/video.00/Serien/Ijon_Tichy:_Raumpilot/S01E01_Kosmische_Kollegen/2012-07-30.01.53.23-0.rec


    zeigt mein Filesystem folgendes

    Code
    drwxr-xr-x 2 vdr vdr        4096 Sep  4 15:10 ./
    drwxr-xr-x 3 vdr vdr        4096 Jul 30 01:53 ../
    -rw-r--r-- 1 vdr vdr  2098022472 Jul 30 02:13 00001.ts
    -rw-r--r-- 1 vdr vdr   603194240 Jul 30 02:20 00002.ts
    -rw-r--r-- 1 vdr vdr      646856 Jul 30 02:20 index
    -rw-r--r-- 1 vdr vdr        1664 Aug 31 14:33 info
    -rw-rw-rw- 1 vdr root  603194240 Sep  4 15:11 vdrtranscode.ts
    -rw-rw-rw- 1 vdr root        858 Sep  4 15:11 vdrtranscode.xml


    Sollte die Datei vdrtranscode.ts nicht ein join aus 00001.ts und 00002.ts werden und daher ein wenig größer sein?
    Lasse ich traco anschließend konvertieren, gibt es das entprechende Ergebnis: nur der Inhalt der 00002.ts ist
    verarbeitet worden.


    Ein


    Code
    tracoadm.pl status joinfiles /srv/vdr/video.00/Serien/Ijon_Tichy:_Raumpilot/S01E01_Kosmische_Kollegen/2012-07-30.01.53.23-0.rec


    liefert das gleiche Ergebnis.


    Anbei noch meine leicht modifizierte Variante von /etc/init.d/tracosrv.sh, da ich hier einige Unstimmigkeiten gefunden habe (z.B. ließ sich der
    Daemon nicht sauber stoppen).


    tracosrv.sh.txt


    Gruß,
    Ole

    6 Mal editiert, zuletzt von OleS ()

  • Hallo,
    woher hast du traco bezogen? Murry hatte da ja einiges dazu geschrieben: yavdr0.5-alpha1 / traco - vielleicht fehlt dir ein perl-Modul wenn das joinen nicht klappt oder du hast eine fehlerhafte tracoadm.pl ...

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Holla!


    Ich habe diese hier http://www.glaessixs.de/~glaess/traco-201205031611.deb verwendet, hatte mich allerdings mit dem
    Forenthread nicht weiter beschäftigt, da die dort geschilderten Probleme bei mit nicht auftraten. Dann sollte ich wohl doch mal
    die git-Version testen...


    Cheers,
    Ole

  • Seltsam...
    habe gerade die git-Version geladen und die perl-Module und perl-Skripte sowie /etc/vdr/traco.conf nach entsprechender Anpassung (Pfade/User) ersetzt.
    Jetzt wird mir eine vdrtranscode.ts mit 0 Byte erzeugt und in der vdrtranscode.xml steht anstelle von


    Code
    <files>00001.ts 00002.ts</files>


    ein

    Code
    <files>vdrtranscode.ts</files>


    Cheers,
    Ole

  • Das sieht dann aber so aus als ob da beim zusammensetzen der Dateien etwas schiefgeht - versuch mal den Code nachzuvollziehen, wo das passiert...

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Leider ist's nach dem Hausputz auch nicht besser. Momentan ist die git-Version aktiv. vdrtranscode.xml ist jetzt sauber,
    allerdings ist der alte Fehler wieder da. *grummel*


    Code
    drwxr-xr-x 2 vdr vdr        4096 Sep  4 16:40 ./
    drwxr-xr-x 3 vdr vdr        4096 Jul 30 01:53 ../
    -rw-r--r-- 1 vdr vdr  2098022472 Jul 30 02:13 00001.ts
    -rw-r--r-- 1 vdr vdr   603194240 Jul 30 02:20 00002.ts
    -rw-r--r-- 1 vdr vdr      646856 Jul 30 02:20 index
    -rw-r--r-- 1 vdr vdr        1664 Aug 31 14:33 info
    -rw-rw-rw- 1 vdr root  603194240 Sep  4 16:40 vdrtranscode.ts
    -rw-rw-rw- 1 vdr root        848 Sep  4 16:40 vdrtranscode.xml


    Im Debug-LOG vom tracosrv sieht's eigentlich gut aus:


    Code
    [DEBUG]/srv/vdr/video.00/Serien/Ijon_Tichy:_Raumpilot/S01E01_Kosmische_Kollegen/2012-07-30.01.53.23-0.rec have status prepare_traco_ts
    [DEBUG]create lockfile  in /srv/vdr/video.00/Serien/Ijon_Tichy:_Raumpilot/S01E01_Kosmische_Kollegen/2012-07-30.01.53.23-0.rec = done
    [DEBUG][joinfiles]proccess /srv/vdr/video.00/Serien/Ijon_Tichy:_Raumpilot/S01E01_Kosmische_Kollegen/2012-07-30.01.53.23-0.rec/00001.ts
    [DEBUG][joinfiles]proccess /srv/vdr/video.00/Serien/Ijon_Tichy:_Raumpilot/S01E01_Kosmische_Kollegen/2012-07-30.01.53.23-0.rec/00002.ts
    prepare_traco_ts_done in /srv/vdr/video.00/Serien/Ijon_Tichy:_Raumpilot/S01E01_Kosmische_Kollegen/2012-07-30.01.53.23-0.rec
    [DEBUG]remove lockfile in /srv/vdr/video.00/Serien/Ijon_Tichy:_Raumpilot/S01E01_Kosmische_Kollegen/2012-07-30.01.53.23-0.rec = 1


    Hab' allerdings mal das Verzeichnis der Aufnahme überwacht: die 00001.ts wird brav nach vdrtranscode.ts geschrieben,
    dann schwupps, vdrtranscode.ts 0-Byte, danach wird die 00002.ts nach vdrtranscode.ts geschrieben und Schluss. Da passt doch die
    joinfiles-Routine im Tracoio.pm nicht, oder?


    Cheers,
    Ole

    Einmal editiert, zuletzt von OleS ()

  • Bisher hatte ich kein Glück bei der Fehlersuche, falls sich noch jemand beteiligen möchte...


    Hier noch meine vdrtranscode.xml nach Erzeugung der fehlerhaften vdrtranscode.ts:



    Hier fehlt der Eintrag


    Code
    <ypixel>1080</ypixel>


    wie auch schon in diesem Thread erkannt wurde. Alle meine vdrtranscode.xml sehen so aus...allerdings habe ich definitiv die git-Version von traco aktiv. Ein manuelles Eintragen von ypixel hilft aber auch nicht bei der Erzeugung der vdrtranscode.ts.


    Cheers,
    Ole

  • Ok, der fehlenden ypixel-Eintrag ist einfach:


    Tracoprofile.pm:


    Code
    pixel => '1920',
    ypixcel => '1080',


    sollte besser


    Code
    pixel => '1920',
    ypixel => '1080',


    heissen.


    Weiter im Text...


    Cheers,
    Ole

    Einmal editiert, zuletzt von OleS ()

  • Hier mal eine Quick-and-Dirty-Lösung:


    Tracoio.pm:


    Code
    my $opentype = '>:raw';
    
    
    if ( -e "${$dir}/$destinationfile" ) {
      $opentype = '>>:raw';
    }


    ändern in


    Code
    my $opentype = '>>:raw';
    
    
    if ( -e "${$dir}/$destinationfile" ) {
      $opentype = '>>:raw';
    }


    Anscheinend ist die if-Schleife nicht korrekt und wird daher niemals true, wodurch die vdrtranscode.ts immer wieder überschrieben wird.
    Fehlerquelle dieser Lösung: ist eine vdrtranscode.ts im Aufnahmeverzeichnis bereits vorhanden, wird diese nicht überschrieben!


    Cheers,
    Ole

  • Letzter Stand meiner Bemühungen:


    - traco von der Platte geputzt und http://www.glaessixs.de/~glaess/traco-201205031611.deb neu installiert
    - /etc/init.d/tracosrv.sh laut meines ersten Postings hinterlegt
    - /usr/lib/perl5/Traco/Tracoio.pm angepasst


    Code
    my $opentype = '>>:raw';


    - /usr/lib/perl5/Traco/Tracoprofile.pm angepasst


    Code
    ypixel => '1080',


    - /etc/vdr/traco.conf angepasst



    Ergebnis: es läuft...bisher. Mal sehen, wie das transkodierte Video nachher aussieht.


    Cheers,
    Ole

  • Anscheinend ist die if-Schleife nicht korrekt und wird daher niemals true, wodurch die vdrtranscode.ts immer wieder überschrieben wird.


    Ich bin in perl nicht so drin, aber würde da es nicht mehr Sinn machen die Abfrage zu fixen?
    Ich habe die Vermutung es scheitert deshalb, weil die if-Abfrage vor statt am Ende der folgenden Schleife steht, bei der er über die Aufnahme-Dateien iteriert - hast du mal versucht es am Ende der Schleife zu positionieren? Eigentlich kann man auf die Abfrage ob die vdrtranscode.ts existiert oder nicht dann aber auch gleich verzichten, da es ja nur ab dem Ende des ersten Durchlauf einen Effekt haben muss...

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • humm...


    Zitat

    Ich bin in perl nicht so drin, aber würde da es nicht mehr Sinn machen die Abfrage zu fixen?


    Ich auch nicht, stimme dir aber zu, dass ein Fixen mehr Sinn machen würde. Die ganze Abfragerei wäre nur dann sinnvoll,
    wenn beim ersten Aufruf eine evtl. vorhandene vdrtranscode.ts gelöscht und alle weiteren Iterationen jeweils nur noch
    anfügen würden. Nur dann ist sichergestellt, dass die vdrtranscode.ts keine Altlasten von vorherigen Transkodierungen
    beinhaltet, da traco nach erfolgter Transkodierung die vdrtranscode.ts nicht löscht.


    Das umzusetzen übersteigt allerdings bei weitem meine perl-Kenntnisse.


    Cheers,
    Ole

  • Das umzusetzen übersteigt allerdings bei weitem meine perl-Kenntnisse.


    Ich dachte das würde mein Vorschlag erreichen (ich muss das mal bei Gelegenheit auf einer Maschine mit brauchbar schneller CPU testen) - beim joinen iteriert er ja über die Dateien. Das erste Mal überschreibt er aufgrund von "my $opentype = '>:raw';" den Inhalt der eventuell schon bestehenden vdrtranscode.ts, bei den folgenden Dateien gibt es dann durch "$opentype = '>>:raw';" ein normales Anhängen.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Verflixt...
    lesen und verstehen sind halt zwei paar Schuhe. :D
    Hab's gerade mal gestestet und die Änderung passt.


    /usr/lib/perl5/Tracoio.p:



    Cheers,
    Ole

  • hi



    es waehre einfacher gewesen mich mal kurz anzutickern.


    so wie ich verstanden haben werden die einzelen aufnahmebloecke bei yavdr 0.5 nicht zusammen gefuegt ?


    die vdrtranscode.ts wird mit ab sicht nicht geloescht., mit grund.
    wenn sie einmal erstellt ist und man moechte , aus welchen gruenden auch immer , sie noch mal erstellen dann per handloeschen.


    das deb ist nicht mehr stand der dinge .... das ich zz nur noch via git arbeite .
    ich arbeite u.a. am deb packet und dessen erstellung.


    da ich meine njob gewechselt habe ist nicht mehr so viel zeit fuer traco.


    jedoch habe ich unter der 0.4 yavdr die probleme nicht , was das zusammen fuehren der files betrifft.



    was passiert den wenn man folgendes mach


    aktuellen git clonen




    holger

    VDR1 : core2duo 3.2 Ghz , 1GB Ram , 2x TT 1501 DVB-C 1 GB HD , Asus EN 210 Silent , Debian Squeeze 64bit + e-tobi Pakete
    VDR2 : 1.2 Ghz P3 , Digitainer 768 MB Ram , yavdr 0.3a 32 bit

  • Hallo Holger,


    danke für deine Info. Habe soeben neu per git ausgecheckt und einen Versuch gestartet.
    Ergebnis: gleiches Problem ... vdrtranscode.ts im Aufnahmeverzeichnis wird wieder überschrieben.


    Was soll mir denn dein


    sagen? Muss das irgendwo in eins der perl-Module rein?


    Cheers,


    Ole

  • hi


    nein
    enfach eine beliebige datei.pl anlegen
    den code darein und mit perl datei.pl starten



    ich verstehe im moment nur nicht wo das problem ist ?
    sollt die 1x generierte vdrtranscode.ts ueberschrieben werden oder nicht ?
    oder werden nicht alle record bloecke gejoint ?


    holger

    VDR1 : core2duo 3.2 Ghz , 1GB Ram , 2x TT 1501 DVB-C 1 GB HD , Asus EN 210 Silent , Debian Squeeze 64bit + e-tobi Pakete
    VDR2 : 1.2 Ghz P3 , Digitainer 768 MB Ram , yavdr 0.3a 32 bit

  • Hallo Holger,


    oder werden nicht alle record bloecke gejoint ?


    Genau das ist der Fall, sie werden überhaupt nicht gejoined.


    0001.ts > vdrtranscode.ts, danach 0002.ts > vdrtranscode.ts (anstelle von 0002.ts >> vdrtranscode.ts), usw.


    Und mit der oben genannten Änderung im Modul Tracoio.pm funktioniert es einwandfrei (auch mit der git-Version).


    Cheers,
    Ole

    Einmal editiert, zuletzt von OleS ()

  • Allerdings funktioniert mit der git-Version das Transkodieren nicht. Nach einem


    Code
    tracoadm.pl status ready /srv/vdr/video.00/Astrid_Lindgren_erzählt_aus_ihrem_Leben/2012-06-28.01.58.23-0.rec


    bekomme ich lediglich folgenden Eintrag im syslog:


    Code
    Sep 13 10:58:53 htpc /usr/bin/tracosrv.pl[362]: read and prepare profile
    Sep 13 10:58:53 htpc /usr/bin/tracosrv.pl[362]: analyse /srv/vdr/video.00/Astrid_Lindgren_erzählt_aus_ihrem_Leben/2012-06-28.01.58.23-0.rec/vdrtranscode.ts


    und dann passiert nichts mehr - da war ich mir der (alten) deb-Version weiter.


    Zu deinem perl-Code...da passt auch was nicht (oder ich bin zu blond):



    liefert mir ein schnödes


    Code
    syntax error at ./test.pl line 3, near "use Traco::Traco."
    BEGIN not safe after errors--compilation aborted at ./test.pl line 4.


    Ok, das sollte wohl besser


    Code
    use Traco::Traco;


    heißen, bringt aber auch nicht viel, denn der nächste Fehler ist:


    Code
    syntax error at ./test.pl line 7, near "my "
    Execution of ./test.pl aborted due to compilation errors.


    Cheers,
    Ole

    2 Mal editiert, zuletzt von OleS ()

  • Hallo, fehlt in Zeile 5 da nicht noch ein ";" am Ende der Zeile?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!