noad fängt immer neu an

  • Moin ihrs,


    endlich habe ich mal wider Zeit mich um vdr zu kümmern und schon mag er mich nichtmehr :(
    Ich habe vorletzte woche auf Kernel 2.6.2 umgestellt, danach habe ich auch mal auf noad 0.4.0 gestellt, doch der "spinnt".
    Nach 20h ist eine einzelne Aufnahme von 60min noch nicht gescannt. Als Ausgabe kommt:
    ---------------------------------------------------------------



    Start of NoAD for Empok_Nor


    + printf '\n\n\n---------------------------------------------------------------\n'
    + printf '\n\nStart of NoAD for Empok_Nor\n\n'
    ++ ps -A
    ++ grep -w noad
    ++ wc -l
    + RUNNING=2
    + '[' 2 -gt 2 ']'
    + /usr/local/bin/noad -v -v nice /video0/Star_Trek__Deep_Space_Nine/Empok_Nor/2004-02-21.15.50.99.99.r
    ec
    Feb 27 21:43:54 b5 noad: noad arg[0]: /usr/local/bin/noad
    19 0 Success
    Feb 27 21:43:54 b5 noad: noad arg[1]: -v
    Feb 27 21:43:54 b5 noad: noad arg[2]: -v
    Feb 27 21:43:54 b5 noad: noad arg[3]: nice
    Feb 27 21:43:54 b5 noad: noad arg[4]: /video0/Star_Trek__Deep_Space_Nine/Empok_Nor/2004-02-21.15.50.99
    .99.rec
    Feb 27 21:43:54 b5 noad: noad args done
    Feb 27 21:43:54 b5 noad: ERROR: Success
    Feb 27 21:43:54 b5 noad: noadData similarCutoff is 100638
    Feb 27 21:43:54 b5 noad: Friday,27.02.2004 21:43:54 start noad0.4.0 for /video0/Star_Trek__Deep_Space_
    Nine/Empok_Nor/2004-02-21.15.50.99.99.rec
    Friday,27.02.2004 21:43:54 start noad0.4.0 for /video0/Star_Trek__Deep_Space_Nine/Empok_Nor/2004-02-21
    .15.50.99.99.rec
    Feb 27 21:43:55 b5 noad: playing '/video0/Star_Trek__Deep_Space_Nine/Empok_Nor/2004-02-21.15.50.99.99.
    rec/001.vdr'
    Feb 27 21:43:55 b5 noad: reInitNoad 0 0
    Feb 27 21:43:55 b5 noad: noadData loadCheckData from /video0/Star_Trek__Deep_Space_Nine/Empok_Nor/2004
    -02-21.15.50.99.99.rec/cur.logo
    Feb 27 21:43:55 b5 noad: noadData can't open /video0/Star_Trek__Deep_Space_Nine/Empok_Nor/2004-02-21.1
    5.50.99.99.rec/cur.logo
    Feb 27 21:43:55 b5 noad: detectLogo part1
    Feb 27 21:43:55 b5 noad: reInitNoad 0 0
    Feb 27 22:06:05 b5 noad: playing '/video0/Star_Trek__Deep_Space_Nine/Empok_Nor/2004-02-21.15.50.99.99.
    rec/002.vdr'
    Feb 27 22:10:28 b5 noad: cIndexFile::Get returns false at 134906
    Feb 27 22:10:28 b5 noad: detectLogo part2
    [...]


    So geht das dann Stunden. nur das "part2" zählt langsam hoch.
    Ich habe bisher 5 verschiedene Aufnahmen getestet, überall dasgleiche :(
    Hatte das schonmal jemand?


    Hilflose grüße

  • Hallo Torsten,

    Zitat

    So geht das dann Stunden. nur das "part2" zählt langsam hoch.


    part2 läuft bis maximal 10, dnn muß folgende Meldung erscheinen:
    detectLogo: no Logo found, give up
    Zählt part2 höher als 10, ist irgendwas faul.


    Der Fehler scheint hier

    Zitat

    Feb 27 22:10:28 b5 noad: cIndexFile::Get returns false at 134906


    zu liegen. Diese Index-Position liegt bei ca. 89 Minuten, das kann bei einer Aufnahme von 60 Minuten Länge eigentlich nicht richtig sein.


    Füge mal in die Funktion "doLogoDetection" in noad.cpp die folgende dsyslog-Zeile ein

    Code
    curIndex = cIF->GetNextIFrame( startIndex, true, &FileNumber, &FileOffset, &Length, true);  
    + dsyslog(LOG_INFO, "doLogoDetection %d %d", startIndex, curIndex);   
       while( curIndex >= 0 && !data->m_bFound && checkedFrames < FRAMES_TO_CHECK )


    und schau Dir die logging-Ausgabe an.


    Zitat

    Ich habe bisher 5 verschiedene Aufnahmen getestet, überall dasgleiche


    Gibt es auch bei den anderen Aufnahmen diese Index-Fehler?
    Vielleicht hängt das mit der Umstellung auf Kernel 2.6 zusammen? Hat sonst schon jemand vdr/noad unter Kernel 2.6 am laufen und kann dazu was sagen?


    theNoad

  • Ok, ich habe nun ein wenig viel rumprobiert, die änderung von dir habe ich gemacht, hier das Log:


    ---------------------------------------------------------------



    Start of NoAD for Die_harte_Nuss


    + printf '\n\n\n---------------------------------------------------------------\n'
    + printf '\n\nStart of NoAD for Die_harte_Nuss\n\n'
    ++ ps -A
    ++ grep -w noad
    ++ wc -l
    + RUNNING=2
    + '[' 2 -gt 2 ']'
    + /usr/local/bin/noad -v -v nice /video0/Ein_Käfig_voller_Helden/Die_harte_Nuss/2004-03-02.19.35.99.99.rec
    Mar 3 06:19:09 b5 noad: noad arg[0]: /usr/local/bin/noad
    Mar 3 06:19:09 b5 noad: noad arg[1]: -v
    Mar 3 06:19:09 b5 noad: noad arg[2]: -v
    Mar 3 06:19:09 b5 noad: noad arg[3]: nice
    Mar 3 06:19:09 b5 noad: noad arg[4]: /video0/Ein_Käfig_voller_Helden/Die_harte_Nuss/2004-03-02.19.35.99.99.rec
    Mar 3 06:19:09 b5 noad: noad args done
    19 0 Success
    Wednesday,03.03.2004 06:19:09 start noad0.4.0 for /video0/Ein_Käfig_voller_Helden/Die_harte_Nuss/2004-03-02.19.35.99.99.rec
    Mar 3 06:19:09 b5 noad: ERROR: Success
    Mar 3 06:19:09 b5 noad: noadData similarCutoff is 100638
    Mar 3 06:19:09 b5 noad: Wednesday,03.03.2004 06:19:09 start noad0.4.0 for /video0/Ein_Käfig_voller_Helden/Die_harte_Nuss/2004-03-02.19.35.99.\
    99.rec
    Mar 3 06:19:11 b5 noad: playing '/video0/Ein_Käfig_voller_Helden/Die_harte_Nuss/2004-03-02.19.35.99.99.rec/001.vdr'
    Mar 3 06:19:11 b5 noad: reInitNoad 0 0
    Mar 3 06:19:11 b5 noad: noadData loadCheckData from /video0/Ein_Käfig_voller_Helden/Die_harte_Nuss/2004-03-02.19.35.99.99.rec/cur.logo
    Mar 3 06:19:11 b5 noad: noadData can't open /video0/Ein_Käfig_voller_Helden/Die_harte_Nuss/2004-03-02.19.35.99.99.rec/cur.logo
    Mar 3 06:19:11 b5 noad: detectLogo part1
    Mar 3 06:19:11 b5 noad: reInitNoad 0 0
    Mar 3 06:19:11 b5 noad: doLogoDetection 0 15
    Mar 3 06:46:48 b5 noad: cIndexFile::Get returns false at 90006
    Mar 3 06:46:48 b5 noad: detectLogo part2
    Mar 3 06:46:48 b5 noad: reInitNoad 0 0
    Mar 3 06:46:48 b5 noad: doLogoDetection 12000 12009
    Mar 3 07:09:16 b5 noad: cIndexFile::Get returns false at 90006
    Mar 3 07:09:16 b5 noad: detectLogo part3
    Mar 3 07:09:16 b5 noad: reInitNoad 0 0
    Mar 3 07:09:16 b5 noad: doLogoDetection 24000 24009
    Mar 3 07:27:59 b5 noad: cIndexFile::Get returns false at 90006
    Mar 3 07:27:59 b5 noad: detectLogo part4
    Mar 3 07:27:59 b5 noad: reInitNoad 0 0
    Mar 3 07:27:59 b5 noad: doLogoDetection 48000 48009
    Mar 3 07:40:45 b5 noad: cIndexFile::Get returns false at 90006
    Mar 3 07:40:45 b5 noad: detectLogo part5
    Mar 3 07:40:45 b5 noad: reInitNoad 0 0
    Mar 3 07:40:45 b5 noad: doLogoDetection 7500 7503
    Mar 3 08:06:36 b5 noad: cIndexFile::Get returns false at 90006
    Mar 3 08:06:36 b5 noad: detectLogo part6
    Mar 3 08:06:36 b5 noad: reInitNoad 0 0
    Mar 3 08:06:36 b5 noad: doLogoDetection 15000 15003
    Mar 3 08:27:44 b5 noad: cIndexFile::Get returns false at 90006
    Mar 3 08:27:44 b5 noad: detectLogo part7
    Mar 3 08:27:44 b5 noad: reInitNoad 0 0
    Mar 3 08:27:44 b5 noad: doLogoDetection 22500 22509
    Mar 3 08:46:38 b5 noad: cIndexFile::Get returns false at 90006
    Mar 3 08:46:38 b5 noad: detectLogo part8
    Mar 3 08:46:38 b5 noad: reInitNoad 0 0
    Mar 3 08:46:38 b5 noad: doLogoDetection 30000 30009
    Mar 3 09:02:57 b5 noad: cIndexFile::Get returns false at 90006
    Mar 3 09:02:57 b5 noad: detectLogo part9
    Mar 3 09:02:57 b5 noad: reInitNoad 0 0
    Mar 3 09:02:57 b5 noad: doLogoDetection 37500 37509
    Mar 3 09:17:12 b5 noad: cIndexFile::Get returns false at 90006
    Mar 3 09:17:12 b5 noad: detectLogo part10
    Mar 3 09:17:12 b5 noad: reInitNoad 0 0
    Mar 3 09:17:12 b5 noad: doLogoDetection 45000 45012
    Mar 3 09:29:26 b5 noad: cIndexFile::Get returns false at 90006
    Mar 3 09:29:26 b5 noad: detectLogo: no Logo found, give up
    Wednesday,03.03.2004 09:29:26 noad done for /video0/Ein_Käfig_voller_Helden/Die_harte_Nuss/2004-03-02.19.35.99.99.rec (3:10:17)
    Mar 3 09:29:26 b5 noad: Wednesday,03.03.2004 09:29:26 noad done for /video0/Ein_Käfig_voller_Helden/Die_harte_Nuss/2004-03-02.19.35.99.99.rec\
    (3:10:17)
    Wed Mar 3 09:29:26 CET 2004
    + date



    NoAD Finished for Die_harte_Nuss


    + printf '\n\nNoAD Finished for Die_harte_Nuss\n\n'
    + svdrpsend.pl MESG 'NoAD Scan Finished for Die_harte_Nuss.'
    220 b5 SVDRP VideoDiskRecorder 1.2.6; Wed Mar 3 09:29:27 2004^M
    250 Message stored^M
    221 b5 closing connection^M
    + cp /video0/film/tmp/noad.5FibzD /video0/film/tmp/noad.5FibzD.30223
    + grep -x -v /video0/Ein_Käfig_voller_Helden/Die_harte_Nuss/2004-03-02.19.35.99.99.rec /video0/film/tmp/noad.5FibzD.30223
    + rm /video0/film/tmp/noad.5FibzD.30223
    ++ cat /video0/film/tmp/noad.5FibzD
    ++ wc -l
    + '[' 0 -gt 0 ']'






    Das peinliche das mir dabei einfällt: Kernel 2.6 war auf einem anderen rechner *hustet* der hier rennt also noch auf 2.4 sorry :/
    Die aufnahme ist genau 1:00:00 laut Wiedergabeanzeige.



    Bei allen bisher getesteten Aufnahmen habe ich diese Fehler.

  • Ok, jetzt sind wir ein kleines Stück weiter.
    Die Zahlen, die durch die neue log-Zeile ausgegeben werden, sind jeweils der gewählte Startwert für den Logo-Scan und der Index des nächsten I-Frames, bei dem der Logo-Scan dann tatsächlch startet. Diese Zahlen sind ok, auch der Gesamtablauf entspricht dem, was ich da mal programmiert habe.
    Was aber auffällt: jeder Logo-Scan dauert sehr lange und bricht mit der Meldung
    >Mar 3 09:17:12 b5 noad: cIndexFile::Get returns false at 90006
    ab. Dies ist die Index-Nummer nach dem letzten gültigen Index-Eintrag, daher endet die Scan-Schleife hier. Dieser Index-Eintrag entspricht auch der von Dir angegebenen Aufnahmelänge.
    Bleibt noch zu klären, warum die Scans immer bis zum Ende der Aufnahme laufen und kein Ergebnis liefern.
    Die Schleife ist mit
    > while( curIndex >= 0 && !data->m_bFound && checkedFrames < FRAMES_TO_CHECK )
    programmiert, dabei wird in "checkedFrames" die Anzahl der tatsächlich dekodierten Frames gezählt. Das hochzählen der tatsächlich dekodierten Frames erfolgt in der Callback-Routine des demuxers/decoders (in diesem Fall in "drawCallback" in noad.cpp). Diese Callback-Routine wird vermutlich nicht aufgerufen, daher wird auch "checkedFrames" nicht hochgezählt und die Schleife terminiert erst bei Ende der Aufnahme.
    Aus meiner Sicht deutet das auf ein Problem in der Kombination noad/mpeg2dec hin. Prüfe bitte, ob evtl. mehrere Versionen der libmpeg2 vorhanden sind und ob die richtige Version geladen wird. Ausserdem solltest Du mal prüfen, ob die mpeg2-Header, mit denen noad kompiliert wird, zu der verwendeten libmpeg passen.


    Gruß
    theNoad

Jetzt mitmachen!

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