Kann sein bei manchen Aufnahmen, aber sollte doch nicht um Abbruch führen, oder?
moin
doch an der stelle schon ... in meiner aktuellen devel version wir vorher abgefragt ob marks existiert ansonsten startet er das cutfiles gar nicht erst.
holger
Kann sein bei manchen Aufnahmen, aber sollte doch nicht um Abbruch führen, oder?
moin
doch an der stelle schon ... in meiner aktuellen devel version wir vorher abgefragt ob marks existiert ansonsten startet er das cutfiles gar nicht erst.
holger
moin
da weihnachten ist ...
es gibt was neues an der front , die von mir verwendete version von traco .
download links siehe 1 sten post unter DevelVersion
als deb und als tgz variante .
inhaltlich beide gleich.
documantation siehe wiki
was hat sich getan
optiomierungen , bug fixing vereinfachungungen
es sind eingentlich nur noch 2 schritte im traco zu machen :
prepare vdrtranscode.ts file
start transcode.
kleine anmerkung noch ,dass start stop script ist nicht gross getestet und ich weiss nicht wie es sich auf den verschiedenen debian basierenden linuxen verhaelt.
die beiden config datei werden als .sample installiert , sprich sie muessen ! nachbearbeitet und umbenannt werden.
Hi,
habe die aktuelle Version nach Wiki Anleitung installiert, aber irgend etwas scheint da noch schief zu gehen - leider ist die Fehlermeldung auch im debug mode eher spärlich. Gibt es Probleme beim Parsen oder stimmt etwas nicht mit der Installation / Konfiguration?
# tracosrv.pl -vvv -d -f
/usr/bin/tracosrv.pl | new | uid = 0 | debug = 1
trouble to read configfile exit /usr/bin/tracosrv.pl
# md5sum /usr/bin/tracosrv.pl
ed9cd454d9965994317051fbdb22d6e5 /usr/bin/tracosrv.pl
# ll /usr/bin/tracosrv.pl
-rwxr-xr-x 1 root root 20100 2011-12-20 17:43 /usr/bin/tracosrv.pl*
# dpkg --list |grep -i handbrake
ii handbrake-cli 0.9.5-1ppa1~natty1 versatile DVD ripper and video transcoder - command line
ii traco 201112201743 Transcode vdr records with Handbrake
Alles anzeigen
Janola
/edit/ Ok, war zu spät gestern die /etc/vdr/vdrtranscode.conf fehlt ganz einfach.. Wer sollte die mitbringen, nicht das traco deb als vdrtranscode Nachfolger?
Da sollte evlt. die (private) Wiki angepasst werden, vdrtranscode.conf ist wohl nicht mehr, steht aber noch drin.
cp /etc/vdr/traco.conf.sample /etc/vdr/traco.conf
vi /etc/vdr/traco.conf
Nö, verstehe ich nicht WIE das Ganze WAS macht, da fehlt evlt. noch etwas Doku - oder ich stehe furchtbar auf dem Schlauch.
Den Fehler 'missing path ' des Kollegen habe ich umgangen indem ich "Indir" in der conf gesetzt habe - scheinbar reicht es nicht den Eingabepfad als Parameter mitzugeben? Warum eigentlich nicht?
Aber wie genau die Syntax des Aufrufs aussehen muss erklärt mir auch die --help option nicht. Die folgenden Aufrufe bringen alle nix, keine Fehlermeldung, kein Ergebnis, nada. Der server Prozess im Hintergrund zuckt auch nur leise vor sich hin.
tracoadm.pl cutfiles /mnt/VDR_HD_2_MKV/Sportschau_live/2012-01-07.12.00.19-0.rec
tracoadm.pl /mnt/VDR_HD_2_MKV/Sportschau_live/2012-01-07.12.00.19-0.rec
tracoadm.pl status /mnt/VDR_HD_2_MKV/Sportschau_live/2012-01-07.12.00.19-0.rec
Vielleicht gibt es ja doch noch mal ne Kurzeinweisung vom Meister, solange schaue ich nach einer anderen Lösung..
Janola
moin
traco braucht den user unter dem der vdr proccess auch laeuft ( wegen file permissions )
tracoadm benoetigt dem path deswegen weil der syntax so ist wie reccmds ihn aufruft ,
sprich reccmds (vdr ) haengt immer den path der aufnahme mit an von daher ist ist der tracoadm entsprechen aufgebaut.
ansonsten gibt es eine leicht aktuallisierte version .
siehe post 1.
holger
ansonsten gibt es eine leicht aktuallisierte version .
siehe post 1.
Holla die Waldfee!
Erstmal vielen Dank für deine Traco-Entwicklung, die auch ich nun unter yavdr4 ausprobieren wollte. Dafür hab ich nach Wiki installiert und konfiguriert.
Die aktuelle Devl hat einen ganzen Haufen leichter Bugs!
Was ich so bisher gefunden habe:
reccmds.traco.conf.sample:
suche nach "adam", ersetze durch "adm"
suche nach "vdtranscode", ersetze nach "vdrtranscode"
Die Container-Config ist in Großschreibweise, muss aber wohl kleingeschrieben werden, deswegen
container MP4: tracoadm.pl container mp4
container MKV: tracoadm.pl container mkv
container M4V: tracoadm.pl container m4v
Das "missing path"-Problem hatte bei mir folgende Macke:
/data/video.00 ist die Aufnamepartition und bind-mounted nach /srv/vdr/video.00
Ich hatte zuerst /data/video.00 als "Indir" in die traco,conf eingetragen, das funktionierte nicht. Es musste der Pfad genommen werden, den das Syslog ausgibt, wenn ein Traco-Befehl aufgerufen wird.
Dann hatte ich beim Löschen einen Fehler in Zeile 143 von tracoadm.pl, habs erstmal so gefixed, bin aber kein Perl-Fuchs
if ( $admenv->{'delete'} ) {
if (unlink "$workdir/$admenv->{'delete'}"){
print {*STDOUT} "delete_$workdir\/$admenv->{'delete'}\n";
} else {
croak $ERRNO;
}
leave('_done');
}
Der Fehler kam durch die falsche reccmds.traco.conf:
tracoadm.pl delete vdtranscode.ts "/srv/vdr/video.00/Test/2008-03-02.22.58.50.99.rec"
Can't use string ("0") as a SCALAR ref while "strict refs" in use at /usr/bin/tracoadm.pl line 143.
Ich hab jetzt diesen Beitrag solange geschrieben, bis ich jetzt nach ca. 3 Std ein erstes fehlerfreies Handling mit dem Tool hatte
HTH
Thorsten
moin
ohje ohje
ich versuche heute oder morgen eine korregierte version online zustellen.
im speziellen die
reccmds.traco.conf.sample
schnebeck was meinst du mit bind.mounted ? so wie du das schreibst interpretier ich das du einen symlink verwendest ?
tracoadm schau ich mir an ....... delete verwende ich selber so gut wie nie ...... weil er eingentlich ueberhaupt nicht mehr gebraucht wird .
ich kann dir gerne zugriff aufs wiki geben wenn du magst
holger
hi
devel version angepasst und online gestellt.
kurz noch zum indir .
indir wird im traco.- srv und .-adm verwendet .
im tracoadm wir dann geprueft ob der uebergebene path auch $indir enthaelt
das habe ich deswegen so gemacht um sicher zustellen das tracoadm , wenn er via OSD verwendet wird auch im gleichen path arbeitet wie
der in der config angegebene indir path.
der vdr uebergibt automatisch den kompletten path an tracoadm.pl an letzter stelle .
throretisch kann diese abfrage / ueberruefung eigentlich in der form komplett raus ,
ich denke da mal drueber nach.
holger
schnebeck was meinst du mit bind.mounted ? so wie du das schreibst interpretier ich das du einen symlink verwendest ?
Aloha,
Ein bind-mount sieht in der /etc/fstab so aus
Der Vorteil gegenüber einem Symlink ist, dass Bind-Mount eine Änderung der Rechte zulässt. So kann man z.B. einen Ordner "/backup" haben, in dem root ein System-Backup erstellt und bind-mounted einen ordner /sicherung der read-only und mit noexec einen sicheren Zugriff für den User erlaubt. Dieses Ändern der Rechte geht mit Symlinks nicht.
Ich hab gesehen, dass der tracoserv den Pfad auf symlink testet, meinen mount-bind kann ein solcher Test nicht erkennen.
Zitatthroretisch kann diese abfrage / ueberruefung eigentlich in der form komplett raus ,
ich denke da mal drueber nach.
Ich denke auch, da vdr immer den ganzen Pfad übergibt, ist eine solche Option eigentlich nur zum Debuggen sinnvoll.
Evtl könnte man auch folgenden Pseudocode verwenden
myfullpath = $1
mypath := dirname($myfullpath)
myname := basename($myfullpath)
if $mypath == "" then mypath:=$Indir
So kommt der Fullpath von vdr evtl direkten Konsolenanwendungen nicht ins Gehege.
Ich muss noch zwei Bugs unter yavdr prüfen:
Nach Restart des Servers hatte ich auf einmal zwei Serverinstanzen laufen, da werde ich mal schauen, ob ich evtl ein upstart-File erstelle.
Und nach dem Encoden hatte ich bis zuletzt mein mkv-File im rec-Ordner. Und wenn es dann nur noch in den Outdir-Folder verschoben werden müsste, ist das File verschwunden Das vdrtranscode.ts-File bleibt dagegen erhalten. Evtl wäre es prima, vor dem Encoden zu prüfen, ob der Zielort beschreibbar ist?
Mir kam noch in den Sinn, ob man den handbrake-Prozess besser monitoren könnte, z.B. per Prozentzahl, gegenüber der Aussage "processing". Ich hab mir mal die Dateihandles unter /proc/$PID/fd angeschaut, aber so richtig was Praktisches hab ich nicht gesehen.
Bye
Thorsten
P.S.
Bist du sicher, dass du das richtige Paket aktualisiert hast, beim Prüfen der Sample-Config-Datei im tgz aus Post1 waren alle Fehler noch enthalten?! :-/
Hi
Ggf immer die version vom wiki nehmen das hier im forum das editiern von posts etwas kommisch ist bei urls.
Was das renamen bzw moven der fertigen files betrifft so solten die im outdir , siehe config, auftauchen.
Bei funkioniert das egentlich recht zuverlaessig ,ggf hat das was mit diesen binddir thema zutun , ich muss mal schauen,
Wie perl damit u geht.
Kannst du das mal mit einem normale verz. Testen?
Holger
hi
also kakadoo ist mein 2ter account .
ich habe die packete nochmal gebaut und hochgeladen ich hoffe das nun alle files mit anpassungen vorhanden sind.
tracoadm braucht kein indir mehr seitens der config , der server ( tracosrv.pl ) benoetigt diese option weiterhin und ist auch zwingend.
was bind mounts betrifft so muesste ich sehr aufwendig die ausgabe von mount parsen um die entsprechenden verzeichnisse zu verarbeiten.
holger
Ich bin noch am Testen. Mein HandbrakeCli scheint nicht immer fps-Daten zu generieren. (Ich vermute, dass Handbrake die Fileanalyse macht.) Du hast dump-Befehle im Server auskommentiert. Die aktiviert erhalte ich dann manchmal die Ausgabe fps =>undef, was später zur einem Div/0-Fehler führt und anscheinend die Server-Instanz crashen lässt. Ich werde am WoE weiter testen.
Bye
Thorsten
Hi
Schau mal im contrib nach da muesste ein beispiel script bei sein welches die andbrake analyse routine
Verwendet und das ergebniss dann ausgibt.
Fps kann durch 2 moeglichkeiten ermittelt werde
A.
Uber die info datei die vom vdr geschrieben wird , das sollte default sein
B.
Ueber die analyse von handbrakecli
Dafuer gibt es eine option in der config
Holger
Ahh! Man sollte aktuelle vdr-Aufnahme-Daten zum Testen verwenden
Ich hab hier noch ein einige alte Aufnahmen aus der Vor-Transport-Stream-Zeit auf der Platte und die kann Traco nicht verarbeiten.
Bei allen "neueren" Daten scheint es gut zu funktionieren. Two-Pass scheint mir etwas aufwändig zu sein, wenn ich die guten Single-Pass Ergebnisse mit Handbrake-GUI sehe.
Oh, die Test-Programme haben sehr geholfen. Die Use-Zeilen sind wohl veraltet, musste Traco gegen Traco::Traco tauschen.
Gibt es sowas wie Lokalisierung (l10n)?
Bye
Thorsten
Alles anzeigenAhh! Man sollte aktuelle vdr-Aufnahme-Daten zum Testen verwenden
Ich hab hier noch ein einige alte Aufnahmen aus der Vor-Transport-Stream-Zeit auf der Platte und die kann Traco nicht verarbeiten.
Bei allen "neueren" Daten scheint es gut zu funktionieren. Two-Pass scheint mir etwas aufwändig zu sein, wenn ich die guten Single-Pass Ergebnisse mit Handbrake-GUI sehe.
Oh, die Test-Programme haben sehr geholfen. Die Use-Zeilen sind wohl veraltet, musste Traco gegen Traco::Traco tauschen.
Gibt es sowas wie Lokalisierung (l10n)?
Bye
Thorsten
hi
veraltert wuerde ich vieleicht nicht sagen , die test dinger liegen bei mir direkt im gleichen verzeichniss wie die lib deswegen nur use.
bei Traco::Traco erwartet das scprit das die lib in einem verzeichniss namens Traco liegen im perl lib path.
ob du 2 pass oder nur single pass machen moechtest kannst via config steuern.
use_classic_profile = true
die alten aufnahmen , soweit sie den mit .ts enden kann traco verarbeiten jedoch muss in der config das umgestellt werden wie die fps ermittelt werden .
fpstype=handbrake
localisierung gibt es noch nicht , wenn wuerde ich das aber in richtung utf8 mache nso wie der vdr auch das macht.
habe ich mir aber bis jetzt noch keine gedanken drueber gemacht.
holger
In der aktuellen Traco version ist ein Bug in der package Traco::Tracoio (version 0.18 ).
Und zwar in der Funktion _joinfiles:
Dort wird der $opentype auf >>:raw gesetzt wenn das destinationfile schon existiert. Dies passiert allerdings außerhalb der for-Schleife, so dass traco mehrere *.ts Dateien nicht zu einem vdrtranscode.ts zusammenfügt sondern immer wieder mit dem letzten überschreibt.
Der richtige Code muss so aussehen:
...
my $opentype = '>:raw';
for my $file (@infiles) {
if ( $file eq q{} ) { next ;};
$shelf->message ({msg=>"[joinfiles]proccess ${$dir}/$file",debug=>${$dbg},v=>'vvv',});
open $fh_out, $opentype , "${$dir}/$destinationfile" or croak "can't open ${$dir}/$destinationfile $ERRNO";
open my $fh_in, '<:raw', "${$dir}/$file" or croak "can't open ${$dir}/$file $ERRNO";
while ($copied = read $fh_in, $buffer, BUFFERSIZE) {
print {$fh_out} $buffer or croak "can't write to ${$dir}/$destinationfile $ERRNO";
}
close $fh_in or croak $ERRNO;
close $fh_out or croak $ERRNO;
if ( -e "${$dir}/$destinationfile" ) {
$opentype = '>>:raw';
}
}
return ('joindone');
} # end sub _joinfiles
Alles anzeigen
BTW: das Linux Kommando "cat" wäre eh schneller als diese Schleife ...
Viele Grüße,
Tomix
hi
es gibt eine neue git version , die einge probleme bhandelt die aufgetreten sind.
desweiteren ist traco nun unabhaengig davon das vdr installiert ist oder nicht , zb. man hat einen zu schwachen vdr rechner zum transcodieren und kann sich das
record verzeichnis mounten.
desweiteren gibt es nun
*ein fallback wenn bei prepare_traco_ts im ziel verzeichniss keine marks datei existiert das wird joinfiles genutzt.
*man kann traco im verzeichniss starten woring er aus gecheckt wurde ( lib/)
*Tracovdr.pm ( ich werde hier noch weitere module generieren um Traco.pm uebersichtlicher zu machen
holger
hi
es gibt ein kleines update.
details siehe git
https://github.com/kakadoo/traco
holger
p.s. falls jemand das mal als deb paket bauen will welches ich veroeffentlichen soll bitte melden
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!