Burn: AC3+Zweikanalton+16:9 mit ProjectX

  • Unter http://www.vdr-portal.de/board…threadid=48216#post450406 habe ich in der Diskussion mit FireFly mal einen Lösungsvorschlag zur Einbindung der Zweikanalton-Behandlung in Plugins wie burn oder vdrconvert (oder auch externe Programme wie VDR2ISO) gepostet, der sich ganz einfach auf einen Eintrag in der Beschreibungszeile der info.vdr zur jeweiligen Aufnahme stützt.


    Würde mich freuen, wenn das Anklang und Umsetzung erfährt (unten in diesem Thread komplette /usr/bin/vdrburn.sh)...

  • Hier mein ProjectX+Zweikanalton-Patch für /usr/bin/vdrburn.sh aus Gen2VDR-1.0-rc4:


    ProjectX müsste damit korrekt eingestellt werden - hier läuft es "headless" unter Java 1.4.1 wie unter diesem Link beschrieben installiert deutlich zuverlässiger als vdrsync.


    Meine 128 MB sind für Java allerdings leider etwas knapp, da schlägt schon mal der OOM-Killer zu... Na ja, kommt Zeit, kommt RAM.:rolleyes:


    Bitte probeweise an gleicher Stelle in neueren Versionen austesten; Ihr seid ja technisch meist auch besser ausgestattet!


    Erwartet wird einfach eine info.vdr mit dem im Beschreibungstext in Zeile "D " angehängten String "||Zweikanalton SpracheLinks/SpracheRechts", also nach folgendem Muster:

    Code
    C C-61441-10006-601
    T Cube
    D Cube - Kultiger Horrorfilm, CDN 1997||In einem bizarren System aus kubischen Zellen eingesperrt, suchen sechs Personen den Grund für ihre Gefangenschaft - und einen Ausweg.||Darsteller: Nicole de Boer (Leaven), Nicky Guadagni (Dr. Helen Holloway), David Hewlett (David Worth), Andrew Miller (Kazan), Julian Richings (Alderson), Wayne Robson (Rennes), Maurice Dean Wint (Quentin)|Original-Titel: Cube|Regie: Vincenzo Natali||Zweikanalton englisch/deutsch

    Deutscher Ausdruck, weil dieser so auch im Klartext ins DVD-Menü aufgenommen kann und in anderen Sprachräumen ohnehin jeweils eine andere Technik Anwendung findet, z.B. NICAM (siehe Thread zu den technischen Hintergründen).


    Die Sprachbezeichnungen in $L_mpa und $R_mpa sollten dann natürlich auch im weiteren Verlauf verwendet werden - suche noch die Stelle, wo info.vdr für dvdauthor umgesetzt wird, dem man die Sprachen z.B. als -a mp2+en+1ch,mp2+de+1ch übergeben müsste: Ich denke, zunächst einmal genügt es, die jeweils ersten beiden Buchstaben der Sprachbezeichnung aus den Variablen lowercase zu übernehmen: Das passt für de,fr,en, und au war nach der von dvdauthor benutzten ISO 639 wohl nie vergeben (oder gibt es bessere Vorschläge?)...


    BTW: Kann mit neueren VDRadmin-Versionen die info.vdr eigentlich auch nach Abschluß der Aufnahme noch über den Browser geändert werden?

  • Nun noch für den Fall erweitert, daß info.vdr nicht existiert (z.B. bei älteren Aufnahmen, die statt dessen noch eine summary.vdr verwenden).


    Gibt es schon Meldungen/Meinungen zur Berücksichtigung von "D ...||Zweikanalton SpracheLinks/SpracheRechts" in anderen burn-Versionen und durch weitere Programme? :rolleyes:
    Vielleicht könnte diese Tonvariante ja auch durch eine X-Zeile in info.vdr (entsprechend obigem Link und /usr/local/src/VDR/vdr.5) beschrieben werden?


    BTW, warum werden in vdrburn.sh eigentlich nur *.m[p2]v, *.mp[a2], *.ac3 nach MPLEX), nicht aber auch movie.mpg am Ende von AUTHOR) nach erfolgreichem ExecCmd dvdauthor -o "$2/DVDAUTHOR" $CS -f "$2/VDRSYNC.$i/movie.mpg" abgeräumt? Wird diese etwa noch irgendwo gebraucht, nachdem sie in VOBs konvertiert wurde?

  • Zitat

    BTW, warum werden in vdrburn.sh ... nicht ... auch movie.mpg am Ende von AUTHOR) ... abgeräumt?


    Das wird nur gemacht, damit man am Schluß auch noch was löschen kann :D
    Im Ernst: nachdem die VOB's erstellt sind braucht man's nicht mehr, aber es gibt wohl noch einige Ecken, wo man was optimieren kann. Evtl. wäre dann auch die Forderung nach Plattenplatz (= 3x Aufnahmegröße) reduzierbar. Aber lohnt sich das noch bei der 0.0.009??


    Ich habe mir mal erlaubt, Deine regulären Ausdrücke etwas zu vereinfachen. Das würde dann so aussehen:

    Code
    if [ -e $4/info.vdr ]; then
       DESCR=$(grep "^D .*Zweikanalton " $4/info.vdr)
       if [ 0 == $? ]; then
          L_mpa=$(echo $DESCR|sed 's/^D .*Zweikanalton \(.*\)\/.*/\1/g')
          R_mpa=$(echo $DESCR|sed 's/^D .*Zweikanalton .*\/\(.*\)/\1/g')
       else
       ...

    Nicht daß das jetzt deutlichschneller wäre (wird ja eh nur einmal aufgerufen), aber ist halt etwas übersichtlicher ;)


    Greetings
    FireFly

  • Zitat

    Original von FireFly


    Das wird nur gemacht, damit man am Schluß auch noch was löschen kann :D
    Im Ernst: nachdem die VOB's erstellt sind braucht man's nicht mehr

    Dachte ich mir auch und hatte das Löschen direkt nach dvdauthor deshalb schon vor längerer Zeit hier im Forum angeregt, aber dazu nichts weiter gehört...

    Zitat

    Evtl. wäre dann auch die Forderung nach Plattenplatz (= 3x Aufnahmegröße) reduzierbar.

    Ein lohnendes Ziel, seit das über 25 GB sein können (DL-DVDs).

    Zitat

    Aber lohnt sich das noch bei der 0.0.009??

    Weiß nicht, was darin schon anders (platzsparender?) gemacht wird - bin hier wie am Patch zu sehen noch bei 0.0.6i geblieben. Verbesserungen, die wir anhand älterer Versionen entwickeln, zumal wenn sie nur auf der Ebene des Skripts sind, sollten sich doch ohne Schwierigkeiten auch in die neuesten übernehmen lassen - ein komplettes Redesign von vdrburn.sh scheint ja nicht zu befürchten zu sein. :whatever


    Zitat

    Ich habe mir mal erlaubt, Deine regulären Ausdrücke etwas zu vereinfachen. Das würde dann so aussehen:

    Code
    if [ -e $4/info.vdr ]; then
       DESCR=$(grep "^D .*Zweikanalton " $4/info.vdr)
       if [ 0 == $? ]; then
          L_mpa=$(echo $DESCR|sed 's/^D .*Zweikanalton \(.*\)\/.*/\1/g')
          R_mpa=$(echo $DESCR|sed 's/^D .*Zweikanalton .*\/\(.*\)/\1/g')
       else
       ...

    Nicht daß das jetzt deutlichschneller wäre (wird ja eh nur einmal aufgerufen), aber ist halt etwas übersichtlicher ;)

    Schön, vielen Dank :D - aber "wenn's kurz werden muß" ;), sollte man dann nicht sogar in DESCR schon nur den Reststring ab unmittelbar nach Ende des Suchstrings packen (also "SpracheLinks/SpracheRechts" - wofür man die Ausgabe von grep wahrscheinlich einfach einmal nach sed pipen muß)? :rolleyes:


    Auf jeden Fall bewährt sich hier der Ansatz, burn (und bald hoffentlich auch andere) für Parameter, die von den Sendeanstalten nicht ordentlich detektierbar übertragen werden, einfach über info.vdr anzusteuern - also diese Erkennung (einige Sekunden "Probehören") dem Benutzer aufzugeben. Vielleicht sollte man für "4:3 oder 16:9" ebenso einen Eintrag in der info.vdr vorsehen (Vorschlag wäre aus denselben Überlegungen ein schlichtes "||Widescreen" am Ende der D-Zeile, ggf. noch gefolgt vom obigen "||Zweikanalton SpracheLinks/SpracheRechts") - wobei sich 16:9 vermutlich auch automatisch zuverlässiger detektieren lassen würde, indem man nicht den Beginn der Datei berücksichtigt, sondern über die gesamte Aufnahme das Seitenverhältnis auswertet (gerade ProjectX könnte natürlich schon beim Demuxen eine schöne Statistik machen - hat sich in dessen Sourcecode dafür schon jemand "tief genug eingehackt"?) und das häufiger vorkommende beim DVD-Brennen setzt: So würde das Problem umgangen, daß die ersten und letzten Sekunden eines 16:9-Films und die Schnitte zu den Werbeblöcken oft in 4:3 vorliegen (weshalb Schneiden keine Lösung mehr ist) und damit auf der DVD für den betroffenen Film das falsche Seitenverhältnis gesetzt wird. Aus Performancegründen muß man ja nicht jeden einzelnen Frame betrachten: ein Sample alle 30 Sekunden dürfte problemlos ausreichen, um zuverlässige Ergebnisse zu erhalten und das tatsächlich "dominierende" Seitenverhältnis beim (Re)Muxen zu erzwingen (einen Parameter scheint es dafür bei mplex nicht zu geben, aber man könnte es ja erweitern - oder der MPEG-Datei einen schwarzen 16:9-Frame im richtigen Seitenverhältnis voranstellen), damit MPLEX nicht mehr fälschlich annimmt (laut /tmp/.vdr-burn/dvd.log:(

    Code
    INFO: [mplex] Aspect ratio    : 4:3 display

    P.S.: Was mir mit ProjectX 0.90.4 noch aufgefallen ist: Beim Demuxen eines Films mit AC3-Tonspur wird folgendes angelegt:

    Was ist denn der letzte Stream vdrsync[1].mpa? Extrahiert ProjectX hier etwa die schon in vdrsync.ac3 vorhandenen Rear+LFE unnötig in eine zusätzliche Datei - was dann wohl per zusätzlichem Parameter unterbunden werden sollte?
    Ist vielleicht bislang noch niemandem aufgefallen (außer durch den Speicherplatzbedarf), weil vdrsync[1].mpa hinterher beim Muxen ignoriert zu werden scheint:

    Code
    INFO: [mplex] mplex version 1.6.2 (2.2.3 $Date: 2004/01/13 20:45:26 $)
       INFO: [mplex] File /tmp/.vdr-burn.AF8pgi/VDRSYNC.1/vdrsync.m2v looks like an MPEG Video stream.
       INFO: [mplex] File /tmp/.vdr-burn.AF8pgi/VDRSYNC.1/vdrsync.ac3 looks like an AC3 Audio stream.
       INFO: [mplex] File /tmp/.vdr-burn.AF8pgi/VDRSYNC.1/vdrsync.mpa looks like an MPEG Audio stream.
       INFO: [mplex] Video stream 0: profile 8 selected - ignoring non-standard options!
       INFO: [mplex] Found 2 audio streams and 1 video streams
  • Zitat

    - bin hier wie am Patch zu sehen noch bei 0.0.6i geblieben. Verbesserungen, die wir anhand älterer Versionen entwickeln, zumal wenn sie nur auf der Ebene des Skripts sind, sollten sich doch ohne Schwierigkeiten auch in die neuesten übernehmen lassen - ein komplettes Redesign von vdrburn.sh scheint ja nicht zu befürchten zu sein. Whatever


    0.0.6i ?? War da nicht mal so'n Hammer-Bug drin, der die Aufnahmen ohne Meldung verhunzt hat?? oder war das noch die 0.0.6h?? Ich hatte damals n paar Debug-Stunden eingelegt um den Fehler zu finden (habs grade mal nachgesehen: wenn man x Titel konvertiert hat hat er x mal den letzten Titel geschrieben ...)
    Ich befürchte ein komplettes Redesign der vdrburn.sh, denn mit der burn 0.1.0-pre3 iss nix mehr mit Poject X! Das Java schreibt nicht in die vorhandenen Pipes, sondern löscht diese und legt neue Dateien an ;( Ich warte aber mal ab, den der Autor wollte sowieso dass "Gepipe" noch mal überdenken, weil einige out-of-memory bekommen. (Bitte nicht falsch verstehen, die Pipes sind an sich ne gute Sache weil deutlich schneller! Und probiert mal sowas mit Windoze :D)


    Zitat

    Schön, vielen Dank großes Grinsen - aber "wenn's kurz werden muß" Augenzwinkern , sollte man dann nicht sogar in DESCR schon nur den Reststring ab unmittelbar nach Ende des Suchstrings packen (also "SpracheLinks/SpracheRechts" - wofür man die Ausgabe von grep wahrscheinlich einfach einmal nach sed pipen muß)? Augen rollen

    Dann kann man aber den return code vom grep nicht mehr auswerten :D Kannst ja mal n bischen experimentieren wenn Du Lust hast ...


    zu dem 4:3 Frames an Anfang und Ende: es gibt ne Einstellung in Project X um alles mit einer Aspect Ratio zu schreiben ....


    Zitat

    Was ist denn der letzte Stream vdrsync[1].mpa?

    War das ne Aufnahme vom ZDF? Die senden oft (immer?) AC3, Stereo und Mono. im dvd.log steht dann z.B. drin:

    Code
    -> src_audio: MPEG-1, Layer2, 48000Hz, stereo, 192kbps, CRC @ 00:00:00.000

    soviel ich mich erinnern kann nimmt burn immer nur die ersten beiden Audio streams die es findet


    FireFly

  • Zitat

    Original von FireFly


    0.0.6i ?? War da nicht mal so'n Hammer-Bug drin, der die Aufnahmen ohne Meldung verhunzt hat?? oder war das noch die 0.0.6h?? Ich hatte damals n paar Debug-Stunden eingelegt um den Fehler zu finden (habs grade mal nachgesehen: wenn man x Titel konvertiert hat hat er x mal den letzten Titel geschrieben ...)

    Ist mir noch nicht aufgefallen. Habe diese Version belassen, weil sie HelAu mit Gen2VDR-1.0-rc4 so ausgeliefert hat - sollte er besser auf 0.0.009 oder gar eine der 0.1.x wechseln? Wenn ja, bitte mal posten, welche besonders zu empfehlen (im Sinne von: unproblematisch) ist und "where to (w)get it..." :rolleyes:


    Zitat

    Ich befürchte ein komplettes Redesign der vdrburn.sh, denn mit der burn 0.1.0-pre3 iss nix mehr mit Poject X! Das Java schreibt nicht in die vorhandenen Pipes, sondern löscht diese und legt neue Dateien an ;( Ich warte aber mal ab, den der Autor wollte sowieso dass "Gepipe" noch mal überdenken, weil einige out-of-memory bekommen.

    Für Tonspuren und Seitenverhältnis haben wir es ja zum Glück nicht mit Entwicklungsproblemen von ein paar Mannjahren zu tun ;) - ich denke, was wir hier diskutieren, lässt sich immer mit wenigen Handgriffen portieren. Lieber "proof of concept" anhand einer älteren burn-Version, als die Dateien weiterhin auf Windosen schaufeln zu müssen.


    Zitat

    Dann kann man aber den return code vom grep nicht mehr auswerten :D

    Ach stimmt, deswegen hatte ich das ja so sortiert: der von sed zurückgelieferte String ist auch bei "unpassender" D-Zeile nicht leer.


    Zitat

    zu dem 4:3 Frames an Anfang und Ende: es gibt ne Einstellung in Project X um alles mit einer Aspect Ratio zu schreiben ....

    Gute Idee :] - so können wir ggf. "||Widescreen" in gleicher Weise wie "||Zweikanalton SpracheLinks/SpracheRechts" aus der jeweiligen info.vdr abgreifen und in die ProjectX.ini stopfen: Das ist dann wohl dieses Menü oder doch eher Specials/DAR? Wie nennt sich das richtige Control für 16:9 denn in der ini-Datei (wilderigel ist AFAICS der Spezialist dafür...)?


    Zitat

    War das ne Aufnahme vom ZDF? Die senden oft (immer?) AC3, Stereo und Mono. im dvd.log steht dann z.B. drin:

    Code
    -> src_audio: MPEG-1, Layer2, 48000Hz, stereo, 192kbps, CRC @ 00:00:00.000

    soviel ich mich erinnern kann nimmt burn immer nur die ersten beiden Audio streams die es findet

    Das wäre dann allerdings ein Bug: burn soll ja nichts "unterschlagen", womit AFAIK kein DVD-Player Probleme haben dürfte. :rolleyes:


    BTW: Donnerwetter, musste selbst erst nachsehen (die Aufnahme war vom Mai 2005): Du hast absolut richtig auf ZDF getippt! :] Sender an der Streamstruktur erkennen :wow - das erinnert mich an einen Fido-SysOp, der seine User nach Modemmarke schon am Klang der Sequenz bis zum CONNECT zuordnen konnte ("ATM1 pour les initiés"). Wen von Euch beiden empfehle ich nun bloß zuerst bei Guinness und Wetten Dass? :D


    Folgendes sagt ProjectX unmittelbar vor der Auflistung der erstellten Files (jetzt mal ausnahmsweise "leider" von burn schon wieder abgeräumt, sonst würde ich natürlich "reinhören" - habe allerdings ohnehin keine Surround-Anlage):

    128kbps mono - ob's vielleicht eine Originaltonspur ist - oder nur der Downmix? Werde mir diese vdr-Aufnahme bei Gelegenheit noch mal vornehmen.
    Kann man die APIDs eigentlich schon direkt in VDR ("1.3.34 Bigpatch 2005-10-03 with LifeBuffer 0.1.2") während der Wiedergabe umschalten? (Habe noch nie danach gesucht...)

  • Zitat

    Das ist dann wohl dieses Menü oder doch eher Specials/DAR? Wie nennt sich das richtige Control für 16:9 denn in der ini-Datei ?

    Das Menü im Link ist recht alt und sieht jetzt komplett anders aus. Schnell mal ein- und ausgeschaltet und die ini-Files verglichen:

    Code
    4:3    VideoPanel.ChangeAspectRatio=2
    16:9   VideoPanel.ChangeAspectRatio=3


    Zitat

    Kann man die APIDs eigentlich schon direkt in VDR ("1.3.34 Bigpatch 2005-10-03 with LifeBuffer 0.1.2") während der Wiedergabe umschalten? (Habe noch nie danach gesucht...)

    Ins Hauptmenü gehen und die grüne Taste "Audio" drücken, vorzugsweise bei Pro7 oder ZDF oder arte, damit man auch was zum auswählen hat. Sollte auch schon in 1.3.34 gehen.


    FireFly

  • Zitat

    Original von FireFly
    Schnell mal ein- und ausgeschaltet und die ini-Files verglichen:

    Code
    4:3    VideoPanel.ChangeAspectRatio=2
    16:9   VideoPanel.ChangeAspectRatio=3


    Danke für's Nachschauen - bei mir steht ProjectX.jar aktuell leider nur an der Kommandozeile zur Verfügung (Netzteil abgeraucht).


    Zitat

    Ins Hauptmenü gehen und die grüne Taste "Audio" drücken


    Thanx, die Stereo- und Mono-Spur waren beide deutsch - letztere also in diesem Fall kein Verlust.


    Ich poste mal die komplette gepatchte /usr/bin/vdrburn.sh für alle (Wagemutigen und/oder Besitzer bislang "unbrennbarer" Aufnahmen) wie hier zusammengehackt zum Testen (standard disclaimer: "You have been warned!":rolleyes: ) - mit Behandlung von Zweikanalton und Widescreen aus info.vdr:

    Wie man sieht, sind noch einige Punkte zu optimieren:

    • Die "Geschwindigkeitsbegrenzung" für den DVD-Brenner ist hier direkt im Code für ein eher langsames System und frühe 8.5-GB-Rohlinge bewusst sehr niedrig eingestellt (speed=2, ggf. entfernen) - diese Option soll in späteren burn-Versionen ins VDR-Menü wandern.
    • Die Bezeichnungen der Sprachkanäle aus info.vdr müssten erst beim Authoring aufgegriffen werden: als Variablen im Modus SYNC bringen sie noch nichts (und export wäre an dieser Stelle fehlerträchtig), da das Skript vorher beendet und dann als AUTHOR etc. neu aufgerufen wird.
    • Java könnte mit expliziten Speicherplatzzuweisungen (-Xmx ... -Xms) aufgerufen werden, um Engpässe zu vermeiden.
    • Schnitt direkt mit ProjectX (das anders als vdrsync aber auch keine Probleme mehr mit vorab unmittelbar in VDR geschnittenen Aufnahmen hat) wird hier mangels Erfahrungswerten noch nicht zur Verfügung gestellt.
    • Durch Aktivierung der Zeilen 165 und 173 (jeweils wenn Auskommentierung # entfernt) können am Ende von AUTHOR die dann bereits in VOBs konvertierten movie.jpg gelöscht werden, um Platz für die DVD-Image-Erstellung zu gewinnen.
    • Schwierigkeiten bzgl. der aus info.vdr konvertierbaren Zeichen und deren eventuell erforderliche Maskierung/Umsetzung selbst bei aktiviertem UTF-8 (nur dann funktionieren äöüÄÖÜß!) müssen wir alle noch aufmerksam beobachten und ggf. weitere Korrekturen (sed o.ä., recode wohl eher nicht) dafür einbauen - so wird z.B. der schlichte Dash ("-", %2D, Minus) nicht ins DVD-Menü übernommen, und ein Tabulator (%09) nicht in ein Space (" ", %20), sondern fälschlich zu einem nach oben offenen Rahmen umgesetzt... Bevor das Rad neu erfunden wird: Hat schon jemand Tests mit dem gesamten Zeichensatz gemacht? Kommentare und Ersetzungsvorschläge erbeten!
    • requant ("Shrinken"/"Schrumpfen" - das ich nie benutze) soll verschiedentlich Probleme machen, aus unbekannter Ursache - nicht spezifisch in dieser burn-Version, die daher aber auch noch keinen Workaround anbieten kann.
  • Zitat

    tcmplex-panteltje oder ein neueres (tc)mplex, um alle Audiospuren zu berücksichtigen?
    Könnte mir als Lösung vorstellen, die Namen von *.mp[a2] und *.ac3 per $(ls ...) im jeweiligen VDRSYNC.n in ein Array lesen zu lassen und dessen Elemente als -0 bis max. -7 an tcmplex-panteltje zu übergeben. Wenn es aber ein fertiges neueres mplex gibt, das automatisch *.mpa einliest, wäre das natürlich auch eine gute Lösung.


    Wie meinst'n des??? ?( Nach meinen Erfahrungen liefert mplex die qualitativ besten Ergebnisse und kann mehrere (beliebig viele?) Audiostreams verarbeiten (mindestens 8 wie ich die Tage gelernt habe :])
    Das burn-plugin ruft die vdrbörn.sh mit dem Parameter SYNC auf und sucht anschließend _selbst_ nach Dateien vom Muster *.mpv und *.mpa. Diese gefundenen Dateinamen übergibt es dann im nächsten Schritt an "vdrburn.sh MPLEX". Ergo, wenn das mplex nicht mehr Files mitbekommt werden nicht mehr Files multiplext....


    Greets
    FireFly

  • Zitat

    Original von FireFly
    Nach meinen Erfahrungen liefert mplex die qualitativ besten Ergebnisse und kann mehrere (beliebig viele?) Audiostreams verarbeiten (mindestens 8 wie ich die Tage gelernt habe :])

    Dazu hatte ich erst einmal diesen Gerüchten :rolleyes: Glauben geschenkt: http://www.vdr-portal.de/board…threadid=48216#post450233


    Zitat

    Das burn-plugin ruft die vdrbörn.sh mit dem Parameter SYNC auf und sucht anschließend _selbst_ nach Dateien vom Muster *.mpv und *.mpa. Diese gefundenen Dateinamen übergibt es dann im nächsten Schritt an "vdrburn.sh MPLEX". Ergo, wenn das mplex nicht mehr Files mitbekommt werden nicht mehr Files multiplext....

    In $4 und $5 stand bei MPLEX) laut meinen Logs aber jeweils immer nur ein einzelner Dateiname (kenne den C-Teil jetzt nicht im Detail).
    Ich habe also die oben in Zeile 124 des kompletten gepatchten /usr/bin/vdrburn.sh ergänzte Variante eingebaut (inkl. guter Tips von gonz im Chat :]), um die übergebenen Namen zu ignorieren und das Skript selbst alle vorhandenen Audiostreams suchen und mplex damit aufrufen zu lassen - es funktioniert (hier mit der von oben bekannten ZDF-Aufnahme):

  • Zitat

    Dazu hatte ich erst einmal diesen Gerüchten Augen rollen Glauben geschenkt: http://www.vdr-portal.de/board/thread.ph...8216#post450233

    Guckst Du waidder! Man lernt ja nie aus ;D


    Zitat

    In $4 und $5 stand bei MPLEX) laut meinen Logs aber jeweils immer nur ein einzelner Dateiname

    So isses: es werden maximal 2 Dateinamen an vdrburn.sh als Parameter übergeben.


    FireFly

  • Zitat

    Original von FireFly

    Guckst Du waidder! Man lernt ja nie aus ;D

    Klar, schon gesehen und gleich entsprechend berücksichtigt, nachdem es uns blafasel und randy glaubhaft und zutreffend versichert hatten...;)
    Es ist noch nicht einmal eine Numerierung als -0 stream1.mpa bis -7 stream8.mpa erforderlich: mit Spaces separierte Übergabe genügt. :]


    Zitat

    So isses: es werden maximal 2 Dateinamen an vdrburn.sh als Parameter übergeben.

    Weshalb sich das gepatchte burn-Skript 0.0.6i-TEN nun auch erdreistet, diese Vorgaben seines Vorgesetzten geflissentlich zu ignorieren und (sogar über Ostern hinaus) künftig immer selbst nachzusehen, welche Goodies ihm ProjectX in den Verzeichnissen versteckt hat.


    BTW: Der Speicherplatz-Sparer in Zeile 168 funktioniert ebenfalls und kann (auf anderen Systemen zur Sicherheit evtl. noch nach erstem Test mit ls>logdatei statt rm) IMHO ohne Bedenken aktiviert werden (noch knapper wäre der Bedarf, wenn man dvdauthor statt mit -x mehrfach nacheinander immer nur pro VDRSYNC.n-Verzeichnis aufrufen würde, um jede movie.mpg jeweils einzeln sofort nach ihrer Konvertierung in VOBs zu löschen)...

    Code
    logger: Starting <nice -n 19 rm /tmp/.vdr-burn.XP3n2Y/VDRSYNC.0/movie.mpg /tmp/.vdr-burn.XP3n2Y/VDRSYNC.1/movie.mpg>
    .vdr-burn.XP3n2Y # du
    1540    ./VDRSYNC.1
    772     ./VDRSYNC.0
    8305944 ./DVDAUTHOR/VIDEO_TS
    4       ./DVDAUTHOR/AUDIO_TS

    ...die Variante in Zeile 160 muß mal jemand austesten, der nur einzelne Titel und ohne DVD-Menüs brennt (HelAu?).

  • Bei der Parameterübergabe von bash an Java fällt auf, daß die Umlaute teilweise fehlerhaft umgesetzt werden - und sich kaum alle Situationen im Vorfeld berücksichtigen lassen, da die Namen dann in den verschiedensten Varianten auftauchen (oder hat noch jemand einen Tip, um sie zuverlässig zu "escapen"?):


    Nachdem dafür auch im Chat mit den großen Shell-Gurus (vielen Dank!:]) keine hundertprozentige Lösung gefunden werden konnte, folgender Workaround: Wir setzen einfach einen Symlink, dessen schlichter Name für Java und ProjectX "leichter verdaulich" ist.

    Code
    logger: /video/convert->/video/The_13th_Floor_-_Abwärts_in_die_Zukunft/2005-12-17.01.05.99.99.rec
    logger: Starting <nice -n 19 /opt/blackdown-jdk-1.4.1/bin/java -Djava.awt.headless=true -jar /usr/local/src/ProjectX_Source_0.90.4/ProjectX.jar -ini /etc/vdr/plugins/burn/ProjectX.ini -demux -out /tmp/.vdr-burn.7sWq40/VDRSYNC.0 -name vdrsync /video/convert/001.vdr /video/convert/002.vdr>


    Ein radikales Umbenennen ganzer Verzeichnisebenen bleibt damit unnötig (vielleicht sollte VDR aber Umlaute etc. ebenso wenig wie Leerzeichen in Dateinamen zulassen!) - möglich wäre das z.B. mit

    Code
    for umlaut in /video/* ; do unlaut=`echo $umlaut|sed -e 's/ä/ae/g' -e 's/ö/oe/g' -e 's/ü/ue/g' -e 's/Ä/Ae/g' -e 's/Ö/Oe/g' -e 's/Ü/Ue/g' -e 's/ß/ss/g'`; mv $umlaut $unlaut; done
  • Irgendwo wird die info.vdr eingelesen und zur Menüerstellung verwendet.
    An diesem Punkt scheint das burn-Plugin nicht zu berücksichtigen, daß folgende Zeichen umgesetzt werden müssen, um richtig im DVD-Menü zu erscheinen:


    %09 (Tab) zu %20 (Space)
    %2D (Dash) in ein passendes anderes Zeichen gleichen Aussehens im UTF-8 (am ehesten wohl der ndash , UTF-8 hexadezimal e2 80 93).


    Code
    for i in /video/*/2*/info.vdr; do grep "^D .*`echo -e "\009"`" $i|hexdump -C; done|less # /\ 09
    for i in /video/*/2*/info.vdr; do grep "^D .*-" $i|hexdump -C; done|less # /\ 2d

    ...sollte betroffene Beschreibungen ausgeben - bitte beim Brennen/Image-Erstellen mal darauf achten...


    In common.c habe ich dazu folgende Funktion umgebaut:

    (Das darf sehr gerne ein C-Profi noch umschreiben nach dem Motto: "So muß'n case ausseh'n, na..." :D)


    Für Tab funktioniert das bereits; es wird korrekt durch ein Space ersetzt.
    Für Dash wird hier ein Underscore eingesetzt, der natürlich nicht korrekt aussieht.
    Im Font vorhanden sind jedenfalls die beiden mit * gekennzeichneten UTF8-Zeichen.
    Hat jemand auch für Dash ("-") einen funktionierenden Vorschlag? :rolleyes:
    Bitte um Beispiele für die korrekte Notation der Zuweisung per *out++ = bei "mehrbytigen" UTF8-Zeichen!


    Gibt es bzgl. des "verschwindenden" Dash bekannte Fehler in imlib oder freetype?

  • Zitat

    Original von FireFly

    Ja, burn 0.0.009 :D

    Wohin praktischerweise HelAu meine Patches auch schon portiert (hat)... Aber ich glaube, das ist kein Unterschied zwischen den burn-Versionen, sondern hat entweder mit dem Font oder mit imlib2 bzw. freetype zu tun ("thus spake the Lord" BTW :whatever).


    Verwenden wir eigentlich überhaupt alle dieselbe /etc/vdr/plugins/burn/helmetr.ttf, 52724 bytes, MD5sum b95cf4e44f58cf9c8030c2b390067a05 ?
    BTW, gibt es Tips zur korrekten Verwendung von (uchar*)utf ("help me C the light" :D) ebenso wie für einen Font-Viewer auf simplem fvwm2, oder für ein einfaches Programm für Tests des Renderings mit imlib usw. ?


    Wird in 0.0.009 denn das Tab schon automatisch richtig in Space umgesetzt (kommt oft von tvtv.de - notfalls einfach mal zum Test per mc F3 F4 F2 09 in eine info.vdr "reinmurksen"), oder erscheint dort auch ein ungültiges Zeichen dafür? :rolleyes:

  • Hi , TEN


    Versteh ich das richtig ?


    Um das BurnPlugin mit ProjectX zu verwenden muss ich ProjectX so installieren:


    Zitat

    cd /usr/local/src
    wget "http://switch.dl.sourceforge.net/sourceforge/project-x/ProjectX_Source_eng_0.90.4.00.zip"
    unzip ProjectX_Source_eng_0.90.4.00.zip
    cd ProjectX_Source_0.90.4
    sh build.sh
    java -jar ProjectX.jar -?



    Und dann brauch ich nur noch deine umgemoddelte vdrburn.sh aus diesem Thread hier.


    Ich verwende die Gen2vdr-1.0-rc4 mit burn Plugin 0.0.009



    Gruss , Bert

    Hardware: Intel Core i9-9900K, ASUS ROG Maximus XI Hero, MSI GeForce GTX 1050 Ti (vdpau), Dvbsky S952 V3 mit 2X DVB-S2 Tuner
    Multibootsystem (yavdr-ansible auf Ubuntu-20.04, Kubuntu-20.04 Focal Fossa, Win10)
    yavdr-ansible, Ausgabe über Nvidia vdpau

  • Zitat

    Original von Bert
    Versteh ich das richtig ?
    Um das BurnPlugin mit ProjectX zu verwenden muss ich ProjectX so installieren:

    Code
    cd /usr/local/src
    wget "http://switch.dl.sourceforge.net/sourceforge/project-x/ProjectX_Source_eng_0.90.4.00.zip"
    unzip ProjectX_Source_eng_0.90.4.00.zip
    cd ProjectX_Source_0.90.4
    sh build.sh
    java -jar ProjectX.jar -?

    "So ischd ees." :]
    Die Pfade und als vorhanden vorausgesetzten Tools beziehen sich freilich auf die Standards unter Gen2VDR-1.0-rc4.

    Zitat

    Und dann brauch ich nur noch Deine umgemoddelte vdrburn.sh aus diesem Thread hier.
    Ich verwende die Gen2vdr-1.0-rc4 mit burn Plugin 0.0.009


    Genau, und außerdem eine erweiterte Konvertierungsfunktion im burn-Plugin.
    (Da es sicher noch mehr Leute interessiert, beschreibe ich das nachstehend inkl. Downloads...)


    Bei der Gelegenheit lässt sich auch gleich die Behandlung der info.vdr in burn 0.0.009 so ergänzen, daß diese vollständig in Unterseiten des DVD-Menüs umgesetzt wird (bislang sonst z.B. fehlende Titelzeilen zu den einzelnen Filmen, aber dafür dessen jeweiliger Name doppelt im Beschreibungsteil) - das alles können wir mit meinen Patches gleich beheben: d.h. wie folgt (bitte bestätigen, ob das so einwandfrei klappt - Backup-Erstellung ist soweit ich dran denken konnte eingebaut, aber natürlich alles ohne Garantie - das ist mein erstes Diff!:]):

    woraufhin der VDR einmal pflichtbewusst abschmiert (wenn wir ihm so "brutal" -statt zwischen den aktuell etwas problematischen /etc/init.d/vdr stop und /etc/init.d/vdr start- die Library im laufenden Betrieb austauschen) und neu startet, aber genau das wollten wir in diesem Fall ja erreichen... ;)


    In 0.0.6i bräuchte man noch eine weitere Ersetzung für den Dash (0x2D) - was bislang noch niemand hinbekommen hat, aber vielleicht bleibt dieses Mysterium ja nicht ungelöst... "The Lord is watching us..." :D


    Für 0.0.009 ist folgende /usr/bin/vdrburn.sh erforderlich und sollte mit dem oben beschriebenen Diff-Verfahren bereits erstellt worden sein (HelAus Port meiner obigen Änderungen, nun von mir nochmals ergänzt, u.a. damit es stabil läuft, z.B. auch mit "fiesen" Pfaden z.B. wegen Sonderzeichen funktioniert und LordJaxoms Vorgaben berücksichtigt):

    Achtung, ist eben erst für 0.0.009 fertiggeworden - Test läuft auch hier gerade erst an!


    P.S.: Sobald es erste positive Rückmeldungen gibt (und feststeht, welche Schriftart statt helmetr.ttf verwendet werden soll), kann ich die neue Version gerne auch als komplettes Archiv auf einer der VDR-Seiten zum Download bereitstellen - bitte ggf. um Vorschläge.

  • Hi , TEN


    Thanks für die ausführlichen Infos !


    Wo krieg ich eigentlich die ProjectX.ini her.


    Hab zwischenzeitlich schon mal ProjectX_Source_eng_0.90.4.00.zip
    nach deinen Anweisungen installiert.
    Ich finde hier auch ne ProjectX.jar und ne ac3.bin aber ProjectX.ini find ich keine.
    Möchte ungern X starten, könntest du deine ProjectX.ini posten?


    Gruss , Bert

    Hardware: Intel Core i9-9900K, ASUS ROG Maximus XI Hero, MSI GeForce GTX 1050 Ti (vdpau), Dvbsky S952 V3 mit 2X DVB-S2 Tuner
    Multibootsystem (yavdr-ansible auf Ubuntu-20.04, Kubuntu-20.04 Focal Fossa, Win10)
    yavdr-ansible, Ausgabe über Nvidia vdpau

Jetzt mitmachen!

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