Anzeige:
Ergebnis 1 bis 9 von 9

Thema: Perl: was stimmt an diesem Ausdruck nicht?

  1. #1
    Registrierter Benutzer
    Registriert seit
    16.03.2002
    Beiträge
    33

    Perl: was stimmt an diesem Ausdruck nicht?

    Hallo,

    Ich hab hier ein (ganz kleines) Skript (von einem User der Transcode Maillingliste), welches leider nicht funktioniert. Bin schon so weit das ich weiß das es an folgendem Ausdruck hackt:
    Code:
     if ($_ =~ /Chapter/) {
                    @chpt = ($_ =~
    /Chapter\s*(\d*)[^\d]*(\d*:\d*:\d*.\d*).*from\s*(\d*)\s*to\s*(\d*)/);
                    @chapters[int($chpt[0])] = [$chpt[1],$chpt[2],$chpt[3]];
            }
    Aber ich komm nicht dahinter woran es liegt
    Das Skript ließt eigentlich die Ausgabe von tcprobe ein und berechnet danach den requantisierungs Faktor, um eine DVD in die passende Größe zu bringen.
    Aufruf: "tcprobe -i /dev/dvd -T1 2>&1 | ./requantfaktor"

    Edit: hier noch ein Teil der Ausgabe von "tcprobe -i ...":
    Code:
    (dvd_reader.c) [Chapter 10] 00:38:13.400
    (dvd_reader.c) [Chapter 11] 00:40:44.800
    (dvd_reader.c) [Chapter 12] 00:44:15.880
    (dvd_reader.c) [Chapter 13] 00:48:00.280
    (dvd_reader.c) [Chapter 14] 00:49:16.800
    (dvd_reader.c) [Chapter 15] 00:53:12.400
    (dvd_reader.c) [Chapter 16] 00:57:20.640
    (dvd_reader.c) [Chapter 17] 01:02:21.200
    (dvd_reader.c) [Chapter 18] 01:06:24.920
    (dvd_reader.c) [Chapter 19] 01:10:26.480
    (dvd_reader.c) [Chapter 20] 01:14:35.960
    Ich häng das Skript mal mit an.

    Danke
    Gruß,
    Basti
    Geändert von Basti_litho (17-12-2003 um 18:33 Uhr)

  2. #2
    Registrierter Benutzer
    Registriert seit
    26.12.2001
    Beiträge
    228
    deine Regex passt nicht auf die Ausgabe.

    Steve
    pornstars-online.de

  3. #3
    Registrierter Benutzer
    Registriert seit
    16.03.2002
    Beiträge
    33
    ja, aber was??

  4. #4
    Registrierter Benutzer
    Registriert seit
    26.12.2001
    Beiträge
    228
    Code:
    *from\s*(\d*)\s*to\s*(\d*)/)

    der Teil kommt in deiner geposteten Aufgabe nicht vor.

    Steve
    pornstars-online.de

  5. #5
    Registrierter Benutzer
    Registriert seit
    16.03.2002
    Beiträge
    33
    bahnhof??

    sorry - kapier jetzt leider nicht was du meinst? *aufdemschlausteh*

  6. #6
    Registrierter Benutzer
    Registriert seit
    26.12.2001
    Beiträge
    228
    siehst du irgendwo ein "from" in der Ausgabe, die du gepostet hast? neee? Ich auch nicht. Der Reguläre Ausdruck passt immer ganz oder garnicht. In deinem Fall trifft er also garnicht zu ;-) Also auch keine Initialisierung von $1 .... bzw. keine Rückgabe an dein Array.

    Steve
    pornstars-online.de

  7. #7
    Registrierter Benutzer
    Registriert seit
    16.03.2002
    Beiträge
    33
    ah, ok - ich glaub ich hab verstanden.
    Hab das jetzt mal so angepasst - leider auch kein erfolg:
    Code:
    if ($_ =~ /Chapter/) {
                    @chpt = ($_ =~
    /Chapter\s*(\d*)[^\d]*(\d*:\d*:\d*.\d*)/);
                    @chapters[int($chpt[0])] = [$chpt[1],$chpt[2],$chpt[3]];
            }
    Also alles an *from... weg - aber immer noch nix

  8. #8
    Registrierter Benutzer
    Registriert seit
    26.12.2001
    Beiträge
    228
    hi,

    irgendwie passt das alles nicht :) Ich habe das mal kurz gemacht:

    Code:
    m/\[Chapter\s(\d+)\]\s(\d\d)\:(\d\d)\:(\d\d)\.(\d+)/i

    Steve
    pornstars-online.de

  9. #9
    Registrierter Benutzer
    Registriert seit
    16.03.2002
    Beiträge
    33
    COOOL!! :-)

    Super - Vielen Dank!

    Gruß,
    Basti

    PS: leider bringt das Skript auch nicht mehr als wenn ich die DVD mounte und ein "df -h" mache

    Edit: bzw. es bringt irgendwie trotzdem nicht die richtige Ausgabe - irgendwie hat sich der Typ ziemlich verrechnet bzw. das ding vermurgst
    Code:
    tcprobe -i /dev/dvd -T1 2>&1 | ./req
    Total file size is 77824 (0G)
    3 audio channels taking 20% of vob space
    Total video space 62259.2 
    Recommended tcrequant -f value to fit on a 4.7G DVD:
    No requantization required
    und wenn die Ausgabe (Zahl) kbyte sein soll... hm... 76Mbyte ist dann für einen DVD Film schon etwas zu klein , falls es Mbit sein sollen... 9,7Gbyte ist der Film mit sicherheit (so viel ist nichtmal der ganze Kram auf der DVD) nicht (imho war er 4-5Gbyte)

    Aber Danke trotzdem nochmal jetzt bringt das mistding wenigstens mal ne Ausgabe.
    Geändert von Basti_litho (18-12-2003 um 18:48 Uhr)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •