DVD mit Menüs per Skript

  • Hallo,


    in der nächsten Version von VDRsync soll unter anderem die automatische Erzeugung von DVD Menüs enthalten sein. Zu diesem Zweck habe ich ein Perl-Skript geschrieben, was diese Aufgabe übernimmt / übernehmen soll. Es erwartet als input ein MPEG2 File im korrekten Format, optional Hintergrund-Bilder als JPEGs und den Text, der in den Menüs stehen soll.
    Bisher kann es nur recht einfache Menüs erzeugen, aber es ist schon einigermassen brauchbar.


    Bevor ich das nun mit der nächsten Version von VDRsync bundle, hätte ich gern ein wenig Feedback zu dem Skript. Das angehängte Archiv enthält eine einigermassen ausführliche Anleitung, und wenn ich es schaffe werde ich heute eine kleine Webseite zu dem Thema einrichten, mit Screenshots.


    Ein Warnung vorneweg: das Skript nutzt recht neue Versionen von


    - transcode 0.6.11
    - mplex 1.6.1.90
    - gd 2.0.15
    - perl-GD 2.07
    - GDTextUtil 0.86
    - dvdauthor 0.6.8


    An debian Woody habe ich mir gestern auf die schnelle die Zähne ausgebissen, eine aktuelle Distribution ist empfehlenswert.


    Ich freu' mich auf Eure Kritik.


    Cheers


    Peter

  • Hallo zusammen,


    wie angekündigt habe ich eine kleine Webseite mit Beispielen und screenshots ins Web gestellt:


    http://vdrsync.vdr-portal.de/dvdmenus/


    Das ganze sieht zB so aus, man kann aber einige Parameter wie Textfarbe und Schriftart ändern.



    [Blockierte Grafik: http://vdrsync.vdr-portal.de/dvdmenus/pics/16.jpg]


    Cheers


    Peter

    Mitstreiter für VDRsync gesucht!
    Egal ob Perl Programmierer, Tester, Doku-Schreiber oder User, jede Hilfe ist willkommen. Infos hier im Board (nach vdrsync suchen) oder auf der vdrsync-Homepage


  • Hi viking,


    ich will eigentlich keine Konkurrenz zu vdrconvert aufmachen, Sinn der ganzen Aktion ist, dass man per GUI schneiden soll, Screenshots erstellen etc pp. Das GUI ist aber noch nicht ganz so weit, und natürlich soll alles auch per Skript steuerbar sein.


    Die einfachste Variante, dass Skript zu nutzen, wird so aussehen:


    Code
    vdrsync.pl -dvd-menu /Pfad/Zur/Aufnahme


    Dabei übernimmt vdrsync die Ausführung von dvd-menu.pl


    Dabei wird nach folgenden Dateien gesucht werden (im Aufnahme-Verzeichnis):


    summary.vdr (Als Text für den Title Set)
    bg.jpg (Als Background Image für den Title Set)
    main.jpg (Als Background Image für das Haupt Menü)


    Episoden Titel (Verzeichnisname als Title des Title Sets)
    Evt. Serien Titel (Wenn vorhanden, Verzeichnisname bei Serien Timern)


    Damit sollte man sehr einfach eine Integration in die reccmds.conf hinbekommen.




    Was die Integration in vdrconvert angeht, so weiss ich nicht genau, was Dimitri plant. Er wollte ja aus vdrconvert ein Plugin machen, und welche Funktionalität von vdrsync er nutzen will, liegt bei ihm.


    Interessant dürfte evt. die Bestimmung eines requant Faktors sein (bevor der Konvertierungs-Prozess startet), und das automatische requanten während des vdrsync Laufs. Das funktioniert alles in der nächsten Entwicklerversion von vdrsync, die sehr bald rauskommt.


    Es sollte auch kein Problem sein, beide Dinge gleichzeitig zu installieren, da geht es ja nur um ein paar Anpassungen der reccmds.comf.


    Also zB DVD per vdrsync, der Rest per vdrconvert oder wie auch immer. Ein paar Beispiele wollte ich in der nächsten Entwicklerverison auch beilegen.



    Cheers


    Peter

    Mitstreiter für VDRsync gesucht!
    Egal ob Perl Programmierer, Tester, Doku-Schreiber oder User, jede Hilfe ist willkommen. Infos hier im Board (nach vdrsync suchen) oder auf der vdrsync-Homepage

  • hallo doc,
    wollte es mir gerade downloaden,
    bekomme aber die Meldung
    ------
    Not Found
    The requested URL /dvdmenus/releases/dvdmenu-0.0.1.tgz was not found on this server.
    ------
    werde es zu einem spaeteren Zeitpunkt erneut probieren,
    kein Problem.
    mfg
    /habe jetzt mal hier vom Board downgeladen :)


  • Hi holymoly,


    Danke für den Hinweis!


    Ich habe den Link (hoffentlich) gefixt.


    Cheers


    Peter

    Mitstreiter für VDRsync gesucht!
    Egal ob Perl Programmierer, Tester, Doku-Schreiber oder User, jede Hilfe ist willkommen. Infos hier im Board (nach vdrsync suchen) oder auf der vdrsync-Homepage

  • Hi pman,



    Das ist ja die Idee:


    Meine Proben habe ich mit StarTrek von Kabel 1 gemacht, und dann 6 Folgen in einem Rutsch ungefähr so verwurstet:


    - Schnittmarken gesetzt

    Code
    vdrsync.pl -cut -fit-to-dvd -dvd-menu \
    /video/StarTrek/Folge1 ... /video/StarTrek/Folge6


    Das sollte dann in einem Rutsch durchlaufen, inkl dvd-menus.


    Wers spannend mag und perl > 5.8 installiert hat, kann auch noch "-use-pipe" dranhängen, dann gibt es keine temporären Dateien.


    Allerdings sind die Versions-Vorraussetzungen für die einzelnen Programme noch sehr strikt, da will ich evt. in Zukunft noch etwas flexibler werden.


    Cheers


    Peter

    Mitstreiter für VDRsync gesucht!
    Egal ob Perl Programmierer, Tester, Doku-Schreiber oder User, jede Hilfe ist willkommen. Infos hier im Board (nach vdrsync suchen) oder auf der vdrsync-Homepage

    Einmal editiert, zuletzt von Doc ()

  • gibt es noch ein tool das zusätzlich das menühintergrund bild korrigieren könnte ?


    es ist ja bekannt das es von computer auf fernseher probleme mit dem pixel aspect ratio (PAR) gibt. man müsste das bild also korrekt resizen und anschliessend mit einen tv overscan von ca 16 pixeln versehen damit man nicht gequetschte gesichter oder ähnliches in den menüs erhält


    mir ist aber leider kein bildeditor per commandline bekannt, der das übernehmen könnte :(

  • Zitat

    Original von tomnexus
    gibt es noch ein tool das zusätzlich das menühintergrund bild korrigieren könnte ?


    es ist ja bekannt das es von computer auf fernseher probleme mit dem pixel aspect ratio (PAR) gibt. man müsste das bild also korrekt resizen und anschliessend mit einen tv overscan von ca 16 pixeln versehen damit man nicht gequetschte gesichter oder ähnliches in den menüs erhält


    mir ist aber leider kein bildeditor per commandline bekannt, der das übernehmen könnte :(


    Hi tom,


    vielleicht kannst Du mir etwas auf die Sprünge helfen, so dass ich evt so was einbauen kann:


    Momentan lese ich einfach ein JPEG ein, wenn es sich im Aufnahme-Verzeichnis unter dem Namen bg.jpg befindet, oder wenn es per Kommando-Zeile definiert wurde.


    Dann kopiere ich das Bild immer auf ein anderes mit 720x576 Pixeln Grösse, so dass zB auch Screenshots von Kabel1 vernünftig aussehen (480x576). Dabei kann ich natürlich Ränder definieren / abschneiden oder was auch immer.


    Nur müsste ich dazu das Problem besser verstehen ;). Da kannst Du ja vielleicht helfen :]


    Konkret:


    Würde es helfen das Bild statt auf 720x576 auf 688x576 zu skalieren, und links und rechts einen schwarzen Rand von je 16 Pixeln zu erzeugen? Das kann recht leicht eingebaut werden.


    Ich dachte bisher, dass einfach links und rechts durch den Overscan Bildteile abgeschnitten werden, und bin etwas überrascht, dass es durch den Overscan "Eierköpfe" gibt.


    Ich werde am Wochenende mal genauer nachsehen.



    Cheers


    Peter

    Mitstreiter für VDRsync gesucht!
    Egal ob Perl Programmierer, Tester, Doku-Schreiber oder User, jede Hilfe ist willkommen. Infos hier im Board (nach vdrsync suchen) oder auf der vdrsync-Homepage

  • Zitat

    Original von tomnexus
    ein kollege von mir hat das eigentlich schon ganz gut beschrieben. schau mal drüber


    http://forum.gleitz.info/showthread.php?t=3157


    Hi Tom,


    danke für den link!


    Ich werde mal ein wenig damit herumspielen, wenn es tatsächlich so ist, dass man das Pixel-Seitenverhältnis immer von 1:1 auf 1:1.06 skaliern muss, dann kann das Skript das natürlich erledigen. Schärfer werden die Bilder dadurch allerdings auch nicht, mal schauen...


    Da fällt mir ein, ich habe noch mehr Fragen:


    Wenn man einen Screenshot vom Video-Material per VDR erzeugt, wird dann der Pixel-Aspect-Ratio korrigiert, oder ist das Bild dann auf dem Computer-Monitor verzerrt? Wie sieht das bei anderen Programmen aus? Wenn die Bilder, die man per Screenshot erzeugt, schon i.O. sind, dann wäre eine automatische "Korrektur" natürlich schlecht.
    Ist das Problem nur vorhanden, wenn man ein Bild per Bildbearbeitungs-Software erstellt? Dann wäre ein kleines Skript hilfreich, welches die notwendigen Korrekturen vornimmt. Das sollte relativ leicht zu lösen sein, allerdings kann man dann ja auch gleich nach dem Verfahren vorgehen, welches unter Deinem link beschrieben ist.



    Cheers


    Peter

    Mitstreiter für VDRsync gesucht!
    Egal ob Perl Programmierer, Tester, Doku-Schreiber oder User, jede Hilfe ist willkommen. Infos hier im Board (nach vdrsync suchen) oder auf der vdrsync-Homepage

  • Hallo,


    zunächst mal: saubere Arbeit. Ich habe jetzt schon einige DVD mit dem Skript erstellt, geht wirklich recht einfach (nach kurzer Eingewöhnung ;) ). Aber trotzdem hätte ich vielleicht noch eine kleine Anregung. Wäre es möglich einen Schalter einzubauen, der den Abstand von Kapiteln festlegt. Wenn man also z.B. alle 2 Min. ein neues Kapitel haben möchte, mit diesem Schalter '2' als Parameter übergeben, so dass von dvdauthor dann bloss noch alle 2 Min. Kapitelmarken angelegt werden. Ich weiss jetzt nicht, ob Du dann in Zusammenarbeit mit vdrsync vielleicht etwas anderes in Bezug auf Kapitel vorhast, wenn ja, dann lassen wir uns gern "überraschen".


    mfg


    lawhead

  • Hallo lawhead,


    Zitat

    Original von lawhead
    Hallo,


    zunächst mal: saubere Arbeit. Ich habe jetzt schon einige DVD mit dem Skript erstellt, geht wirklich recht einfach (nach kurzer Eingewöhnung ;) ).


    Vielen Dank :)

    Zitat


    Aber trotzdem hätte ich vielleicht noch eine kleine Anregung. Wäre es möglich einen Schalter einzubauen, der den Abstand von Kapiteln festlegt. Wenn man also z.B. alle 2 Min. ein neues Kapitel haben möchte, mit diesem Schalter '2' als Parameter übergeben, so dass von dvdauthor dann bloss noch alle 2 Min. Kapitelmarken angelegt werden.


    Klar, das dvd-menu.pl Skript ist ja nur ein erster Hack. Und die Bedienung ist ja zumindest recht Tipp-intensiv, wenn man alle Features ausnutzen will. Grundsätzlich kann man dem -title Parametr eine chapter-Liste übergeben, allerdings artet das in einen Marathon aus, wenn man alle 2 min ein Kapitel haben will. Eine Options-Variante ala -chapter=2min liesse sich ganz gut einbauen.

    Zitat


    Ich weiss jetzt nicht, ob Du dann in Zusammenarbeit mit vdrsync vielleicht etwas anderes in Bezug auf Kapitel vorhast, wenn ja, dann lassen wir uns gern "überraschen".


    Manchmal frage ich mich auch, was ich eigentlich vorhabe, aber ausser "fertig werden" weiss ich keine wirkliche Antwort ;). Und fertig wird man bei so einem Projekt ja nie ;D



    Cheers


    Peter

    Mitstreiter für VDRsync gesucht!
    Egal ob Perl Programmierer, Tester, Doku-Schreiber oder User, jede Hilfe ist willkommen. Infos hier im Board (nach vdrsync suchen) oder auf der vdrsync-Homepage

  • Hi zusammen,


    letzt habe ich endlich einen Thread gefunden, der sich mit meinem Problemchen auseinandesetzt. :)


    Ich würde gern die Sprungmarken (Kapitel)

    Zitat

    Eine Options-Variante ala -chapter=2min


    nicht zu einem bestimmten Zeitpunkt, sondern am Ende jeden Films haben. ;(
    Hintergrund: Ich habe zwischenzeitlich so ca 20 Paulchen Panter Filmchen, die zwischen 4 und 12 Minunten lang sind. Die wollte ich alle auf eine DVD brennen und Film für Film durchskippen.


    Zitat

    Manchmal frage ich mich auch, was ich eigentlich vorhabe, aber ausser "fertig werden" weiss ich keine wirkliche Antwort . Und fertig wird man bei so einem Projekt ja nie


    Tja, das ist ein wahrer Spruch, bei der Bande von nimmersatten Featuristen :§$%


    Ist das noch im Rahmen des möglichen :bpl


    Gruß
    Hans


    P.S. Könnt mich a bissl als Dokuschreiber engagieren

Jetzt mitmachen!

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