tosvcd-Geheimnisse: Anpassen der Aufnahme-Länge

  • Edit: Schulligung: ist im falschen Forum, sollte eigentlich nach "c't-Distri"!


    Hai,
    seit Wochen schlage ich mir die Nächte um die Ohren, um
    gescheite SVCDs hinzukriegen. Alles mögliche ausprobiert,
    die einzigen Programme, mit denen ich zurecht komme sind tosvcd und dvd2svcd (mit cce) unter windoof.


    tosvcd:
    ------
    Damit habe so meine Probleme z.B. braucht manchmal extrem lange (McCartney-Konzert von 3sat: 15 h !)
    oder/und danach ist nix im film/svcd-Verzeichnis drin.
    Das habe ich schon mal gepostet. Da es entweder bei euch wunderbar läuft,
    oder es kein Aas interessiert, hab ich mir mal angeguckt, was tosvcd da treibt.


    Wen es interessiert:
    Tosvcd schätzt zuerst die Anzahl der benötigten CDs (unter der Annahme 60 min pro CD) und
    prüft dann mit q=4 (q=quality, 4 ist Voreinstellung, kann aber in vdrconvert.env geändert werden),
    ob der Film auch draufpasst. Wenn nicht, wird mpeg2enc mit q=4,5,6,.. usw. neu gestartet.
    Da VBR (variable bitrate encoding) benutzt wird, hängt die Schätzung aber von der Komplexität
    des Films ab und ist deshalb nicht einfach:


    Trägt man die geschätzte Größe gegen die (Film-Zeit) auf (aus den logs), so sieht man
    eine Art gedämpfte Schwingung mit einem ersten Peak nach ein paar min, nach ca 10 min.
    bleibt die Kurve einigermaßen konstant.
    Tosvcd löst das so, dass nach 1 min ein restart durch geführt wird, wenn
    der die Schätzung 40% zu gross ist. Wenn nein, wird nach ca. 25 min geprüft,
    ob der Film auf die CDs passt und startete mpeg2enc neu. Ist die gesamte Aufnahme
    encoded, wird die Größe nochmal geprüft und evtl. mpeg2enc neu gestartet.
    In ungünstigen Fällen kann das ewig dauern.
    Mit der Option SVCD_OPTS=-r in vdrconvert.env kann dieses Verhalten übrigens abgeschaltet
    werden. Dann bleit die quality konstant und mpeg2enc setzt für mplex Schnittmarken,
    wo die Aufnahme gesplittet werden soll (bei 800 MB - Audio-Bedarf). Das ist auch blöd,
    weil manchmal nur ein paar MB auf der letzten CD sind.


    Hab mir vorgenommen, das mal intelligenter zu machen. Ideen, Infos? Im
    Netz ihab ich dazu nix brauchbares gefunden.


    (Warum manchmal überhaupt kein Resultat kam, weiß ich nicht, es könnte auch an vdr2svcd.sh liegen.
    Das hab ich geändert: Bevor die temp-files gelöscht werden, wird jetzt geprüft,
    ob überhaupt was ins svcd-(Sub)Verzeichnis kopiert wurde. Übrigens Tipp:
    in vdrconvert.env eintragen: SVCD_TITLEDATE=yes, dann werden die Filenamen eindeutig)


    dvd2svcd
    --------
    Dafür habe ich ein heute (ähh... gestern) ein Plugin gefunden, dass das Anpass-Problem lösen soll.
    Link: http://home.tiscali.no/tylohome/
    Habs aber noch nicht ausprobiert. Wer kann was dazu sagen?


    Uwe

    Hermes 845GV, Nexus-s rev 2.1, DVD-Brenner: LG GSA 4041b, MediaMVP Rev D3A
    ctvdr2-distri (Repository: ct) mit dvb-2.4-1.0.1 (1.1.1 geht nicht), mediamvp-plugin, brennen: growisofs

    Einmal editiert, zuletzt von umad ()

  • Hi Uwe,


    also mir ist das auch auf den Nerv gegangen. Deshalb habe ich tosvcd geringfügig modifiziert (tm), so dass anstelle von mplex tcmplex (panteltje) benutzt wird. Das hat den Vorteil, dass ich als Parameter für die Größe des entstehenden mpeg-Files die Zeit nehmen kann anstelle der MBytes. Allerdings ist etwas mehr Handarbeit erforderlich. Das Vorgehen sieht so aus:
    1) Ich starte das (modifizierte) toscvd mit einer CD-Größe von "ziemlich groß", so dass auf alle Fälle ein einziges mpeg-File entsteht. Wichtig ist dabei, dass der Parameter -k (glaube ich) mitgegeben wird, so dass die temporären Files nicht gelöscht werden (mpa u. mpv). Ingesamt habe ich als Parameter -k -r -a -M (so'n kraM aber auch...)
    2) Das große mpeg-File ziehe ich in den mplayer und schaue, wo ich eine sinnvolle "Schnittgrenze" setzen kann, so dass die Teile
    a) jeweils auf eine CD passen (bei q4 sind auf jeden Fall 35-40 Minuten drin)
    b) Anfang und Ende speziell bei den Musikaufnahmen in einer Pause zwischen zwei Stücken liegen.
    3) Die Zeitangabe des mplayers an den gedachten Schnittpunkten in Sekunden umrechnen
    4) tcmplex aufrufen, als Quellfile das mpa und mpv mitgeben, und die Anzahl der oben errechneten Sekunden (ich glaube, -c [von]-[bis])
    5) dann vcdimager anwerfen oder halt die mpeg-Happen mit Nero und Konsorten im SVCD-Modus brennen.
    Du kannst bei Punkt3/4 auch eine Überlappung der mpeg-Files erzeugen, speziell bei Musikvideos gut, aber auch, weil ja das VCD-Plugin beim Abspielen 2-3 Gedenksekunden einlegt, bis der Ton kommt (bei mir zumindest).
    Der große Zeitaufwand entsteht in Punkt 1, da dort ja die Umrechnung auf SCVD-Auflösung erfolgt. Punkt 4 geht dann relativ schnell, da wirklich nur noch gemuxt wird und nix mehr umgerechnet (mpv und mpa sind bereits im SCVD-Format).


    Speziell bei den kurzen 3sat-Sachen (z.B. No Angels, netto etwas 45Min.) habe ich von vorneherein q=10 gesetzt, damit's auf eine CD passt.


    Vielleicht hilft's Dir was...


    Ciao
    Jürgen :)

  • Hallo Jürgen,
    guter Tipp, danke. Auf jeden Fall scheint ja wohl 60 min mit q=4 nicht
    auf eine 800 MB CD zu passen. Kein Wunder, dass tosvcd bei so
    einer Länge so lange rödelt.


    Uwe

    Hermes 845GV, Nexus-s rev 2.1, DVD-Brenner: LG GSA 4041b, MediaMVP Rev D3A
    ctvdr2-distri (Repository: ct) mit dvb-2.4-1.0.1 (1.1.1 geht nicht), mediamvp-plugin, brennen: growisofs

Jetzt mitmachen!

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