Dvd2vdr

  • Zitat

    Original von lini
    Ich habe mplayer aus dem Skript verbannt.
    Testet doch mal ob das so funktioniert.


    Gerne, aber einen kleinen Wunsch hätte ich noch an dich. Kannst du vielleicht eine Versionierung einführen für die nächste Version. Also etwa dvd2vdr-0.3a.sh. Es ist dann IMO einfacher eine solche Version zu testen und über die richtige Version zu reden ;)


    MFG Matthias

  • Zitat

    Original von lini
    Ich habe mplayer aus dem Skript verbannt.
    Testet doch mal ob das so funktioniert.


    Nicht so richtig. Die Pipe will nicht. Ich habe das (und einige andere Kleinigkeiten) mal angepasst. Leider schaffe ich es nicht, das diff hochzuladen. Kann mir jemand dazu einen Tipp geben?


    EDIT: Ich habs mit den Dateiendungen diff und gz versucht und die Datei ist unter 5kb groß. grr. Ich füge das diff einfach hier ein:



    MFG Matthias

  • Zitat

    Original von lini
    @all


    Ich habe mplayer aus dem Skript verbannt.
    Testet doch mal ob das so funktioniert.


    [...]


    Hi,


    leider geht es (bei mir) nicht. Im Anhang das kpl. Logfile.


    Gruß,
    Marcus


    Anhang geht wohl i.M. nicht...

    73 es 55 de dc5dm

    • TT DVB-S 1.3 & SkyStar 2, Ext Board v1.3, Intel DH77KC, Intel Celeron G555, 3x Hitachi HDS5C1010CLA382 (Raid5)
    • Debian "Jessie", e-Tobi VDR 2.2.0
    • listed VDR User No. 757
  • Zitat

    Original von marsipulami0815
    leider geht es (bei mir) nicht. Im Anhang das kpl. Logfile.


    Ich hatte die selben Pobleme. Probier doch bitte mal mein diif aus, vielleicht hilfts dir auch.


    BTW: Gerade noch gefunden. Zusätzlich noch die Zeile

    Code
    mv ${COPYDIR}/TITEL.vob ${SPLITDIR}/001.vdr  #mp2 Ton ist vorhanden

    in

    Code
    mv ${COPYDIR}/${TITEL}.vob ${SPLITDIR}/001.vdr  #mp2 Ton ist vorhanden

    ändern.


    MFG Matthias

  • Bei mir gibt `cat $VAR | wc -m` immer 1 zurück, wenn $VAR ein Leerstring ist. Daher muste ich bei den beiden Vergleichen 0 durch 1 ersetzen.


    EDIT: diff war verkehrt rum.


    Weiterhin würde ich statt mp2enc auch toolame einsetzen, da es bei mir besser funktioniert (auch zusammen mit a52dec und einer pipe):

    Code
    #statt mplayer nun mit a52dec und per Pipe toolame
    nice -n ${PRIO} $A52DEC -o wavdolby $A52DECOPT ${MUXDIR}/001.ac3 | $TOOLAME -s 48000 /dev/stdin ${MUXDIR}/001.mp2
    status=$?
    if [ $status -eq 1 ] ; then
            logger "$0 : ERROR : a52dec oder toolame fehlgeschlagen"
            $SVDRPSEND MESG $MSG_9 >> $LOGFILE      #OSD Info
            [ "$DEBUG" = "yes" ] && ls -l ${MUXDIR}
            cp $LOGFILE ${TEMPDIR}/$TITEL.log
            exit 1
    fi


    MFG Matthias

  • tweety


    Zitat

    - logger "$0 : ERROR : tcmplex fehlgeschlagen"
    + logger "$0 : ERROR : tcmplex felgeschlagen"


    ?


    Zu toolame, dass könnte ich ja in der nächsten Version per Variable setzen. Wer dann toolame einsetzt oder mp2enc, kann jeder selbst entscheiden.


    Zu wc -m, was sagen denn die Variablen TONSPUR TONTYPE TONMP2 TONFORMATLINES TONSPURLINES im Logfile? Denn keine der 5 sollten leer sein. Der Rückgabecode von cat interessiert dem Skript nicht, nur dürfen TONSPURLINES nicht 0 oder TONTYPE leer sein. Wenn dem bei dir so ist dann ersetze mal folgendes


    Code
    TONTYPE=`cat ${AUDIOLISTDIR}/transcode-audio.log | grep " "$AUDIOSPUR" " | head -n 1 | awk '{print $3}'`


    in


    Code
    TONTYPE=`cat ${AUDIOLISTDIR}/transcode-audio.log | grep " "$AUDIOSPUR" " | head -n 1 | awk '{print $2}'`


    (Bin mir nicht mehr sicher an welche Stelle der Tontyp stand ob an $3 oder $2.


    Oder poste mal die ${AUDIOLISTDIR}/transcode-audio.log.

  • Zitat

    Original von lini
    tweety



    ?


    Jepp. Das diff war verkehrt herum geraten ?(


    Zitat

    Original von lini
    Zu toolame, dass könnte ich ja in der nächsten Version per Variable setzen. Wer dann toolame einsetzt oder mp2enc, kann jeder selbst entscheiden.

    Das fände ich gut.


    Zitat

    Original von lini
    Zu wc -m, was sagen denn die Variablen TONSPUR TONTYPE TONMP2 TONFORMATLINES TONSPURLINES im Logfile? Denn keine der 5 sollten leer sein. Der Rückgabecode von cat interessiert dem Skript nicht, nur dürfen TONSPURLINES nicht 0 oder TONTYPE leer sein. Wenn dem bei dir so ist dann ersetze mal folgendes

    Hier mal ein Log-Auszug:




    Aber gerne:


    Code
    ~/dvd2vdr> less tmp.ecPWuD7243/transcode-audio.log
         1  (dvd_reader.c) ac3 de drc 48kHz 6Ch


    MFG Matthias

  • tweety


    Zitat

    1 (dvd_reader.c) ac3 de drc 48kHz 6Ch


    Also ist $3 schon richtig.



    So ist es richtig. Und das Skript bricht mit diesen Variablen bei dir ab?


    Code
    if [ $TONSPURLINES -eq 0 ] ; then


    Das heißt doch, wenn TONSPURLINES = 0 dann ..(Abbruch)
    Man könnte es auch so schreiben:


    Code
    if [ $TONSPURLINES == "0" ] ; then


    oder so:


    Code
    if [ $TONSPURLINES -lt 1 ] ; then


    oder, oder....

  • Zitat

    Original von lini


    So ist es richtig. Und das Skript bricht mit diesen Variablen bei dir ab?

    Nein, es bricht nicht ab. Aber da TONFORMATLINES=1 wird fälschlicherweise angenommen, dass es einen mp2-Ton im vob gibt und daher nicht demuxt, sondern nur das vob in 001.vdr umbenannt. Damit habe ich dann zwar eine Aufzeichnung, aber ohne hörbaren Ton. :(


    Ich habe die Prüfung auf TONFORMAT für mach daher jetzt umgeschrieben auf

    Code
    if [ -z $TONMP2 ] ; then

    MFG Matthias

  • tweety


    Zitat

    Ich habe die Prüfung auf TONFORMAT für mach daher jetzt umgeschrieben auf: if [ -z $TONMP2 ] ; then


    Habe es grad mal per Shell getestet, bei leerer Variable MP2 bringt ein "wc-m" immer 1 bei nicht leerer >1. Habe das Script grad neu raufgeladen.


    Danke twety

  • Zitat

    Original von tweety
    [...]
    Aber da TONFORMATLINES=1 wird fälschlicherweise angenommen, dass es einen mp2-Ton im vob gibt und daher nicht demuxt, sondern nur das vob in 001.vdr umbenannt. Damit habe ich dann zwar eine Aufzeichnung, aber ohne hörbaren Ton. :(
    [...]


    Hi,
    das kann ich mit der 0.2.2 bestätigen, werde jetzt mal die 0.2.3 laufen lassen.


    BTW: was ist denn nun richtig?
    0.2.3: VDRSIZE=2000000 #Groesse der zu splittenden VDR-Daten
    oder
    0.2.2: VDRSIZE=2000000000 #Groesse der zu splittenden VDR-Daten


    Gruß,
    Marcus

    73 es 55 de dc5dm

    • TT DVB-S 1.3 & SkyStar 2, Ext Board v1.3, Intel DH77KC, Intel Celeron G555, 3x Hitachi HDS5C1010CLA382 (Raid5)
    • Debian "Jessie", e-Tobi VDR 2.2.0
    • listed VDR User No. 757
  • hmmm,


    geht auch mit der 0.2.3 nicht. Script läuft ohne Fehler durch (jedenfalls sehe ich im log keinen), aber die erzeugt Aufnahme hat keinen Ton ;(


    Dafür ist es allerdings schneller fertig, das script (ca. 35 min). :rolleyes:


    Kann leider kein Log anhängen, klappt i.M. wohl nicht.
    [PHP]
    ++ '[' 26 -lt 26 ']'
    ++ '[' 1 -eq 0 ']'
    +++ mktemp -dp /video/vdrconvert/tmp/dvd2vdr/
    ++ AUDIOLISTDIR=/video/vdrconvert/tmp/dvd2vdr/tmp.AuTWM12505
    ++ touch /video/vdrconvert/tmp/dvd2vdr/tmp.AuTWM12505/transcode.log
    ++ tcprobe -i /dev/scd0 -H 10 -T 1
    ++ cat /video/vdrconvert/tmp/dvd2vdr/tmp.AuTWM12505/transcode.log
    ++ grep dvd_reader.c
    ++ grep kHz
    ++ cat -b -
    +++ cat /video/vdrconvert/tmp/dvd2vdr/tmp.AuTWM12505/transcode-audio.log
    +++ head -n 1
    +++ awk '{print (($1-1))}'
    +++ grep ' de '
    ++ TONSPUR=0
    +++ grep ' de '
    +++ head -n 1
    +++ awk '{print $3}'
    +++ cat /video/vdrconvert/tmp/dvd2vdr/tmp.AuTWM12505/transcode-audio.log
    ++ TONTYPE=ac3
    +++ cat /video/vdrconvert/tmp/dvd2vdr/tmp.AuTWM12505/transcode-audio.log
    +++ grep 0x55
    +++ head -n 1
    ++ TONMP2=
    +++ echo
    +++ wc -m
    ++ TONFORMATLINES= 1
    +++ wc -m
    +++ echo ac3
    ++ TONSPURLINES= 4
    ++ '[' 4 -eq 0 ']'
    ++ '[' 1 -eq 0 ']'
    ++ TONFORMAT=mp3
    ++ TCEXTRACTOPTAUDIO=ac3
    ++ '[' yes = yes ']'
    ++ ls -l /video/vdrconvert/tmp/dvd2vdr/tmp.AuTWM12505
    total 8
    -rw-r--r-- 1 root root 129 Jul 30 21:58 transcode-audio.log
    -rw-r--r-- 1 root root 899 Jul 30 21:58 transcode.log
    ++ '[' yes '!=' yes ']'
    +++ mktemp -dp /video/vdrconvert/tmp/dvd2vdr/
    ++ COPYDIR=/video/vdrconvert/tmp/dvd2vdr/tmp.rVBFq12540
    ++ nice -n 15 tccat -t dvd -i /dev/scd0 -T 1,-1 -L
    libdvdread: Using libdvdcss version 1.2.8 for DVD access
    [/PHP]
    Gruß,
    Marcus

    73 es 55 de dc5dm

    • TT DVB-S 1.3 & SkyStar 2, Ext Board v1.3, Intel DH77KC, Intel Celeron G555, 3x Hitachi HDS5C1010CLA382 (Raid5)
    • Debian "Jessie", e-Tobi VDR 2.2.0
    • listed VDR User No. 757
  • hi ich hab zwar nicht alles hier gelesen , aber willst du nicht mal alle programme zusammen packen und daraus ein plugin machen ?


    __
    andreas


    [size=10]nOpacity: Icons
    [size=10]skindesigner: tryoutsglassy

  • marsipulami0815


    Laut deinem Logfile hast du nicht die 0.2.3 genommen.
    Da in Log "-eq 0" steht aber in der 0.2.3 steht "-eq 1":


    Code
    ++ TONFORMATLINES=      1
    +++ wc -m
    +++ echo ac3
    ++ TONSPURLINES=      4
    ++ '[' 4 -eq 0 ']'
    ++ '[' 1 -eq 0 ']'
    ++ TONFORMAT=mp3


    In der 0.2.3 wird somit TONFORMAT=other und ...


    BooStar


    Zitat

    hi ich hab zwar nicht alles hier gelesen , aber willst du nicht mal alle programme zusammen packen und daraus ein plugin machen ?


    Alle Programme? Meinst du dvd2dvd und dvd2vdr und cd2mp3?
    Plugins werden nicht in Bash-Skript geschrieben sondern in C++, welches momentan nicht mein Ding ist.


    Man könnte im Gegensatz zu vdrconnvert eine Sammlung Namens mediumconnvert o.ä. kreieren, aber bis dahin fließt noch viel Wasser die Spree hinunter. :)


  • lini,
    Du hast recht. Ich habe das script in mein /usr/local/bin als dvd2vdr.sh gelinkt, damit ich nicht jedesmal die commands.conf ändern muß...
    ...und den link natürlich vergessen :(


    Habe es heute morgen nochmal laufen lassen, allerdings immer noch kein Ton.
    [PHP]
    START
    ++ echo 'Version 0.2.3'
    Version 0.2.3
    ++ '[' -e /tmp/dvd2vdr.LCK ']'
    ++ echo 6449
    ++ '[' yes = yes ']'
    ++ df
    Fil[/PHP]


    [PHP]
    ++ frames=250
    ++ '[' 250 -gt 111175 ']'
    ++ '[' 26 -lt 26 ']'
    ++ '[' 1 -eq 0 ']'
    +++ mktemp -dp /video/vdrconvert/tmp/dvd2vdr/
    ++ AUDIOLISTDIR=/video/vdrconvert/tmp/dvd2vdr/tmp.NXoVcx7002
    ++ touch /video/vdrconvert/tmp/dvd2vdr/tmp.NXoVcx7002/transcode.log
    ++ tcprobe -i /dev/scd0 -H 10 -T 1
    ++ cat /video/vdrconvert/tmp/dvd2vdr/tmp.NXoVcx7002/transcode.log
    ++ grep dvd_reader.c
    ++ grep kHz
    ++ cat -b -
    +++ cat /video/vdrconvert/tmp/dvd2vdr/tmp.NXoVcx7002/transcode-audio.log
    +++ grep ' de '
    +++ awk '{print (($1-1))}'
    +++ head -n 1
    ++ TONSPUR=0
    +++ cat /video/vdrconvert/tmp/dvd2vdr/tmp.NXoVcx7002/transcode-audio.log
    +++ grep ' de '
    +++ head -n 1
    +++ awk '{print $3}'
    ++ TONTYPE=ac3
    +++ grep 0x55
    +++ head -n 1
    +++ wc -m
    +++ cat /video/vdrconvert/tmp/dvd2vdr/tmp.NXoVcx7002/transcode-audio.log
    ++ TONFORMATLINES= 0
    +++ echo ac3
    +++ wc -m
    ++ TONSPURLINES= 4
    ++ '[' 4 -eq 1 ']'
    ++ '[' 0 -eq 1 ']'
    ++ TONFORMAT=mp3
    ++ TCEXTRACTOPTAUDIO=ac3
    ++ '[' yes = yes ']'
    ++ ls -l /video/vdrconvert/tmp/dvd2vdr/tmp.NXoVcx7002
    total 8
    -rw-r--r-- 1 root root 129 Aug 1 11:24 transcode-audio.log
    -rw-r--r-- 1 root root 899 Aug 1 11:24 transcode.log
    ++ '[' yes '!=' yes ']'
    +++ mktemp -dp /video/vdrconvert/tmp/dvd2vdr/
    ++ COPYDIR=/video/vdrconvert/tmp/dvd2vdr/tmp.AInEAd7029
    ++ nice -n 15 tccat -t dvd -i /dev/scd0 -T 1,-1 -L
    [/PHP]


    TONFORMAT=mp3, obwohl "-eq 1" ? Wenn ich das im script richtig sehe, ist das doch auch korrekt so:
    wenn TONFORMATLINES gleich 1, dann TOMFORMAT=other sonst TONFORMAT=mp3


    Oder?


    Im script muss VDRSIZE=2000000000 sein. In der 0.2.3 ist VDRSIZE=2000000, damit geht es nicht.


    Gruß,
    Marcus

  • Also,


    ich habe jetzt mal fest TONFORMAT=other ins script geschrieben, jetzt wurde auch eine WAV Datei erstell und alles wieder gemuxt, Ton habe ich aber trotzdem noch nicht.


    Mit einer Version von letzter Woche ging es aber schon mal.


    Meine transcode-audio.log sieht so aus:


    1 (dvd_reader.c) ac3 de drc 48kHz 6Ch
    2 (dvd_reader.c) ac3 drc 48kHz 6Ch
    3 (dvd_reader.c) ac3 de drc 48kHz 2Ch


    Von Hand in der shell ergeben sich folgende Werte:
    TONSPUR=0
    TONTYPE=ac3
    TONFORMATLINES= 0
    (hänge ich da noch ein "|awk '{print $1}` ran, dann wir es TONFORMATLINES=0)
    TONSPURlines= 4


    Da aber weder das eine noch das andere funktioniert, weiss ich nicht mehr weiter...


    Gruß,
    Marcus

    73 es 55 de dc5dm

    • TT DVB-S 1.3 & SkyStar 2, Ext Board v1.3, Intel DH77KC, Intel Celeron G555, 3x Hitachi HDS5C1010CLA382 (Raid5)
    • Debian "Jessie", e-Tobi VDR 2.2.0
    • listed VDR User No. 757
  • marsipulami0815


    Zu TONFORMAT, wird "wc -m" via echo aufgerufen und ist leer war der Rückgabecode 1, wird es wie jetzt per Pipe aufgerufen so ist der Rückgabecode nun 0. Habe das in der 0.2.4 berücksichtet.


    Zum Tonproblem, setze mal die Variable MP2ENC auf toolame. Vielleicht hilft das weiter.


    Oder jemand anderes weiß hier mehr zum Tonproblem. (Ich selbst hab nicht viel Erfahrungen mit a52dec, mp2enc oder toolame)

Jetzt mitmachen!

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