Burn Plugin Komplettpatch incl Zusatzfeatures
- helau
- Geschlossen
-
-
-
Zitat
Heißt das, dass er vdrburn.sh nicht findet?
Ja das heisst das
Stelle es nach /usr/bin und stelle sicher dass es ausfuerbar ist. -
-
Hallo, ihr Baustellenmitarbeiter.
Mein Fazit unter LinVDR:
1. bash hat Mühe mit grossen Zahlen. Ich musste deshalb burnmark.sh anpassen:
Code
Alles anzeigengetCutSize() { TMP="$1/~vdrburn" rm -f "$1/size.vdr" "$1/size_cut.vdr" vdrsync.pl -i "$1" > "$TMP" if [ -f "$1/marks.vdr" ] ; then CC=$(grep -c ":" "$1/marks.vdr") # fix for vdrsync ( last Mark must be set ) if [ $(($CC % 2)) = 1 ] ; then grep "^movie_length :" "$TMP" | cut -f 3 -d " " >> "$1/marks.vdr" vdrsync.pl -i "$1" > "$TMP" fi fi DIR_SIZE=$(grep "^movie_size_cut :" "$TMP" | cut -f 2 -d ":") if [ "$DIR_SIZE" != "" ] ; then echo "scale=0; $DIR_SIZE / 1024" | bc -l > "$1/size_cut.vdr" fi DIR_SIZE=$(grep "^movie_size :" "$TMP" |cut -f 2 -d ":") if [ "$DIR_SIZE" != "" ] ; then echo "scale=0; $DIR_SIZE / 1024" | bc -l > "$1/size.vdr" fi rm "$TMP" }
-
Na dann weiter mit der Baustelle
Ich denke das Umbenennungsproblem hab ich wieder hinbekommen, es ist eine Option dazugekommen ob man Pfade mit Namen von Aufzeichungen haben möchte, eine weitere Option um Aufzeichnungen im DVD Menu durchzunummerieren (wenn viele Aufnahmen den gleichen Titel haben - und man keine Lust hat sie einzeln umzubenennen - ist es irgendwie übersichtlicher, wenn man wenigstens ne Zahl hat an der man sich festhalten kann), an der finischen Übersetztung hat sich was getan und obiger Patch von Mark Twain ist mit drin.
Download:
http://vdr.unetz.com/download/vdr-burn-0.0.6e.tgzAuch diesesmal der Patch gegen vdr-burn-0.0.5:
http://vdr.unetz.com/download/vdr-burn-0.0.5-0.0.6e.diff.gzGute Nacht
Ralf -
Subber, danke
-
-
Na ja - awk seh ich als Argument ein - aber perl zum elementaren Grundbestandteil einer Distri zu zählen wäre heiß. Wäre in diesem Fall aber zugegebenermaßen egal - perl wird für vdrsync.pl ohnehin gebraucht.
Anfangs stand da einfach Bash-Code "echo $(( $DIR_SIZE / 1024 ))" - dann kam der Einwand, dass die bash bei großen Zahlen ein Problem hat - inklusive Patch. Ich hatte vor ein paar Wochen auf einem Kundensystem ein ähnliches Problem und hab den Bugreport ungeprüft akzeptiert - und irgendwie spiele ich wohl schon zu lange mit Unixen, aber bc war bisher immer dabei - jedenfalls hab ich den Patch so wie er war eingebaut. Während ich diese Antwort geschrieben habe, hab ich allerding mal gecheckt wann die bash wirklich aufgibt - da scheint jemand in letzter Zeit auf 64 Bit Arithmetik gewechselt zu haben. Wobei letzte Zeit immerhin länger als 2 Jahre bedeutet ... ich bin verblüfft.
Ich schreibe jetzt mal den Autor des Patches an - über welches konkrete Problem er denn gestolpert war ... eventuell braucht man ja nicht mal überhaupt ein externes Programm - das wäre mir deutlich lieber.
Ralf
-
-
Probier doch mal ob bei dir die bash-only Variante geht. Innerhalb von $(( )) kann die auch so sehr gut rechnen.
Unabhängig davon kann ich mir gar nicht vorstellen, wie man auf einem System ohne "bc" überhaupt arbeiten kann Nee im Ernst - mir wäre es auch lieber in dem Script ohne "bc" auszukommen.
Das Problem auf dem Kundensystem war übrigens mit einer ksh - kann also sein, dass die bash da schon seit ewig und vier Tagen 64 Bit rechnet ...
Ralf
-
Anbei ein Patch der, wenn deine bash 64 Bit kann, ohne bc auskommt:
Code
Alles anzeigen*** ../../../../vdr-1.3.23-enAIO-2.2-dvd-b/PLUGINS/src/burn/burnmark.sh.example 2005-04-04 10:25:56.000000000 +0200 --- burnmark.sh.example 2005-04-05 20:54:23.000000000 +0200 *************** *** 30,35 **** --- 30,56 ---- #there may be other needed programs in this directory export PATH=$PATH:$(dirname $0) + + getBits() { + local BASE=1 + local INCREMENT=256 + local BITS=0 + while [ $(( $BASE * $INCREMENT / $INCREMENT )) -eq $BASE ]; do + BASE=$(( $BASE * $INCREMENT )) + BITS=$(( $BITS + 8 )) + done + echo $BITS + } + + div1024() { + BITS=${BITS:-$(getBits)} + if [ "$BITS" -gt 48 ]; then + echo $(( $1 / 1024 )) + else + echo "$1 / 1024 " | bc + fi + } + getCutSize() { TMP="$1/~vdrburn" rm -f "$1/size.vdr" "$1/size_cut.vdr" *************** *** 44,54 **** fi DIR_SIZE=$(grep "^movie_size_cut :" "$TMP" | cut -f 2 -d ":") if [ "$DIR_SIZE" != "" ] ; then ! echo "scale=0; $DIR_SIZE / 1024" | bc -l > "$1/size_cut.vdr" fi DIR_SIZE=$(grep "^movie_size :" "$TMP" |cut -f 2 -d ":") if [ "$DIR_SIZE" != "" ] ; then ! echo "scale=0; $DIR_SIZE / 1024" | bc -l > "$1/size.vdr" fi rm "$TMP" } --- 65,75 ---- fi DIR_SIZE=$(grep "^movie_size_cut :" "$TMP" | cut -f 2 -d ":") if [ "$DIR_SIZE" != "" ] ; then ! div1024 "$DIR_SIZE" > "$1/size_cut.vdr" fi DIR_SIZE=$(grep "^movie_size :" "$TMP" |cut -f 2 -d ":") if [ "$DIR_SIZE" != "" ] ; then ! div1024 "$DIR_SIZE" > "$1/size.vdr" fi rm "$TMP" }
-
-
Normalerweise werden fertige Jobs nach einiger Zeit gelöscht -es wäre ein Bug wenn das gerade nicht geht ... ich schau heute Abend mal nach.
Ralf
-
-
Hallo,
Erst mal danke an alle beteiligten für die arbeit an dem Burn plugin
Nur eine kleinigket - in render.c ist tcmplex noch hardcodet - mir stört das nicht aber wenn jemand nur mplex hat dann geht es "in die hose" :
Codeasprintf(&cmd, "convert %1$s/menu-bg-%2$d.png pnm:- | ppmtoy4m -n 1 " "-F25:1 -A 59:54 -I t -L -r -v 0 | mpeg2enc -q 2 -a 2 -n p -f 8 -v 0 -o " "%1$s/menu-bg-%2$d.m2v && tcmplex -i %1$s/menu-bg-%2$d.m2v -p " "%3$s/menu-silence.mp2 -m d -o /dev/stdout | spu
Ronny + Ralf
ZitatOriginal von ronnykornexl
Sorry, da habe ich wirklich nie drauf geachtet (nur mal getestet) löschen sich also selbst. (auch die erzeugten files in den VDR Aufnahmen?)bei mir (0.6e) löschen sie sich die erzeugten temp files von selbst - aber nur wenn keine fehler passiert sind während convertierung.
Gruß
Viking -
Hallo!
Ich habe gerade die 0.0.6e installiert (vdr 1.3.22, Fedora Core 3) es hat soweit auch alles funktioniert, alle Skripte sind an ihrem Platz.
Jetzt hab ich zwei Probleme:
1) Wenn ich eine Aufnahme auswähle und dann loslegen will, tillt das Plugin. In /var/log/messages findet sich dann
Apr 7 18:29:36 equinox vdr[3583]: BURN: Size1: 4186741
Apr 7 18:29:56 equinox vdr[4496]: BURN: Subprocess watcher started (pid=4496)
Apr 7 18:31:10 equinox vdr[4496]: BURN: Subprocess watcher stoppedAn was kann denn das liegen???
2) Warum wird denn im OSD jetzt dieser "furchtbare" Font verwendet (die Schrift ist auch viel größer!). Die neue Schrift ist jetzt auch überall im EPG, kann man das nicht abstellen??? War doch bei der ursprünglichen Version des burn-Plugins auch nicht so...
Wäre wirklich froh über etwas Hilfe...
-
Klingt als würde er das vdrburn.sh Script nicht finden. Aber wenn du sagst alles ist an seinem Platz ... hast du mal die Pfade überprüft? Zusatzfrage: das burn-Plugin legt ein Temporärverzeichnis an (.vdrburn.XXXX) - darin wird eine Logdatei erzeugt in der noch diverse Zusatzinformationen stehen (dvd.log bzw. vdr.log - je nachdem was für eine DVD du erstellst). Steht da eventuell etwas drin, dass ein wenig aufschlußreicher ist?
Zum Thema Fonts kann ich leider nichts sagen - an denen hab ich nicht gedreht ... und am EPG Font dürfte das Plugin gleich gar nichts ändern ... weiß da jemand was genaueres?
Ralf
-
Hi Ralf,
Mhh vdrburn.sh liegt in /usr/local/bin (wie auch die beiden anderen)...
Ich habe auf meiner zweiten Platte /video1 ein Verzeichnis ISO angelegt und dieses auch bei make übergeben, aber es gibt dort keine Verzeichnisse mit Log-dateien, daran habe ich nämlich auch schon gedacht... Komisch
Daran, dass ich keinen DVD-Brenner im VDR hab kann's ja nicht liegen, ich habe bisher immer nur ISOs erzeugt und das hat funktioniert...
-
Also im Normalfall - wenn man nichts anderes sagt - werden die Temp-Verzeichnisse im primären Video-Verzeichnis angelegt. Wenn er das nicht macht wissen wir zumindest warum nichts passiert. Bliebe dann die Frage warum keine Temp-Verzeichnisse angelegt werden ...
Ich denke an dieser Stelle sollte noch etwas mehr Diagnose Code in das Plugin ... mal sehen ob ich am Wochenende dazu komme.
Ralf
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!