traco - transcode mit handbrake

  • hi


    ich starte mal hier den thread um klar zu machen das es einen fork gegeben hat aus faup seiner software herraus
    der thread dazu hier. Handbrake, wäre das was für uns?





    die beta-14 nicht verwenden die war ein test balloon fuer user Olsche und perl 5.10 486
    ab beta-17 sollte es nicht mehr noetig sein libreadonly-perl zu installieren
    ab beta-17 gibt es tracoadm.pl was langfristig vdrtranscodeadm.pl abloesen wird.
    ab beta-19 neue namen , ggf alte lib dateien loschen


    grund saetzlich sollten vdr aufnahmen von 1.6 und 1.7 transcodiert werden koennen.
    ich selber testet auf basis von debian squeeze 64 bit und dem darin default maessig enthaltenen perl


    um das ganze zu installieren wird noch das libreadonly-perl packet benoetigt


    und Proc::Daemon v 0.11 dieser ist nicht standard im debian system und sollte von daher via cpan

    Code
    1. cpan -i Proc::Daemon

    installiert werden.


    alles weitere wird mit geliefert.


    Documentation http://www.glaessixs.de/wiki/index.php/VdrtranscodeV2


    * aenderungen bis april 2012
    - tracosrv.pl + tracoadm.pl kleinere fixes , meist optioscher natur
    - tracoadm.pl show profiles
    - anpassungen fuer und am debian packege

    *aenderungen bis mai 2012
    * fixes reccmds.traco.conf.sample <- ggf per hand uebernehmen.
    * fix tracoadm.pl delete
    * add logfile for handbrake output to recording verzeichniss.
    * indir wird im tracoadm.pl nicht mehr verwendet



    DevelVersion


    git clone https://github.com/kakadoo/traco.git



    unterschiede zu faup´ s version



    -steuerung das ding rennt nicht sofort los
    -cpu control , es gibt eine config option die per default die max anzahl der cpu´s des system -1 fuer handbrake verwendet,
    somit sollte immer 1 cpu fuer den rest des system zu verfuegung stehen.
    -es sollte moeglich sein den server process auf einer anderen maschine laufen zu lassen ( handbrake muss natuerlich installiert sein ) der dann das aufnahmeverzeichnis
    einbindet und dort transcodiert , gesteuert das ganze via OSD
    - schitte an den aufnahmen , von hand via vdr oder z.b. von noad, koennen vorab verarbeitet werden ( es wird eine neue datei erstellt die dann zum trascodieren verwendet wird )




    ich werde nach und nach das programm und die programmteile auf den namen traco umstellen .


    holger

    VDR1 : core2duo 3.2 Ghz , 1GB Ram , 2x TT 1501 DVB-C 1 GB HD , Asus EN 210 Silent , Debian Squeeze 64bit + e-tobi Pakete
    VDR2 : 1.2 Ghz P3 , Digitainer 768 MB Ram , yavdr 0.3a 32 bit

    The post was edited 17 times, last by mark05 ().

  • Hi,


    Quote

    Olsche kannst du mir mal genau sagen was du verwendest an hardware und software ?


    ggf installiere ich mir zuhause das auch um an der stelle weiter machen zu koennen .
    aktuell habe ich nur squeesze und 64 bit zu verfuegung.


    Ich verwende die original YaVDR 0.3a CD inclusive aller Updates. Basis ist Ubuntu 10.04 32 bit. Der Test-VDR ist der VDR2 aus meiner Signatur.


    Grüße,
    Olaf

    VDR1: YaVDR 0.6; OrigenAE S14V; ASUS M2N-PV VM; Mystique SaTiX-S2 V2 CI Dual; Athlon X2 5600+; Asus EN210 1GB DDR3; OCZ Vertex 32GB; WD Caviar Green 1,5 TB GB; 1GB Ram
    VDR Streaming Server: Debian 16.04; Ahanix D5 modded; Asrock j3455m, 4GB RAM; VDR-2.3.8; TVHeadend-4.2.3;

    Client 1-3: RPI2 mit MLD-5.4 unstable

  • hi


    ich werde am we man mit den yavdr aufsetzt , nen digitainer mit ner dvb-t karte sollte ja reichen.



    holger

    VDR1 : core2duo 3.2 Ghz , 1GB Ram , 2x TT 1501 DVB-C 1 GB HD , Asus EN 210 Silent , Debian Squeeze 64bit + e-tobi Pakete
    VDR2 : 1.2 Ghz P3 , Digitainer 768 MB Ram , yavdr 0.3a 32 bit

  • hi


    nach etwas "spielen" mit dem yavdr 0.3a habe ich vorraussichtlich eine loesung.
    ich denke das ich im laufe der woche eine neue beta rausgebe die dann auch mit dem yavdr funktionieren sollte.


    holger

    VDR1 : core2duo 3.2 Ghz , 1GB Ram , 2x TT 1501 DVB-C 1 GB HD , Asus EN 210 Silent , Debian Squeeze 64bit + e-tobi Pakete
    VDR2 : 1.2 Ghz P3 , Digitainer 768 MB Ram , yavdr 0.3a 32 bit

  • hi


    so die beta-15 ist online http://www.glaessixs.de/~glaess/vdrtranscode_beta-15.tgz


    was hat sich getan :
    * apassungen fuer yavdr 0.3a - ich hoffe das klappt jetzt !
    * einige umbauten um libreadonly nicht mehr zu benoetigen ( in progress )
    * start der verzeichniss struktur des tgz fuer ein debian packet
    * bug fixes
    * anpassungen der readbuffers zur genaueren positionierung der cuts.
    * umstellungen Intern auf neuen namen traco ( in progress )
    * command hooks angepasst


    achtung das start / stop script basiert nun auf dem skleton von debian squeeze , die alte version ligt in usr/share/vdrtranscode/init.d bzw init.


    holger

    VDR1 : core2duo 3.2 Ghz , 1GB Ram , 2x TT 1501 DVB-C 1 GB HD , Asus EN 210 Silent , Debian Squeeze 64bit + e-tobi Pakete
    VDR2 : 1.2 Ghz P3 , Digitainer 768 MB Ram , yavdr 0.3a 32 bit

  • Hallo Holger,


    erst einmal Danke für die neue Version. Hier schon einmal meine ersten Testergebnisse:


    1. Server mit

    Code
    1. /usr/local/bin/vdrtranscode_server.pl -f -vvv

    gestartet.


    Ausgabe:


    2. Aufnahme im VDR ausgewählt, Schnittmarken gesetzt und Cut Files ausgewählt.
    [

    Code
    1. DEBUG]->/srv/vdr/video.00/01_Serien/Criminal_Minds/Staffel_03/02._Der_letzte_Fall/2011-05-17.17.40.39-0.rec cutfiles
    2. ->combine TS Files
    3. [DEBUG]->get Byte Positions based on marks
    4. [DEBUG]->||cut -> 0 time in sek -> 347 || frame -> 8689 || byteposition start -> 141998092 in File 1 stop -> 1348438648 in File 1
    5. [DEBUG]->Combining ts-file using cut-list...
    6. [DEBUG]->proccess /srv/vdr/video.00/01_Serien/Criminal_Minds/Staffel_03/02._Der_letzte_Fall/2011-05-17.17.40.39-0.rec/00001.ts ***1 == 1
    7. [DEBUG]->cut file /srv/vdr/video.00/01_Serien/Criminal_Minds/Staffel_03/02._Der_letzte_Fall/2011-05-17.17.40.39-0.rec/00001.ts ( start = 141998092 / stop = 1348438648 )
    8. [DEBUG]->bytepos 1348438796 stop 1348438648
    9. [DEBUG]->cut file /srv/vdr/video.00/01_Serien/Criminal_Minds/Staffel_03/02._Der_letzte_Fall/2011-05-17.17.40.39-0.rec/00001.ts proccessed


    Verzeichnis sieht dann so aus:

    Code
    1. drwxrwxr-x 2 vdr vdr 4096 2011-06-16 17:24 .
    2. drwxrwxr-x 3 vdr vdr 4096 2011-05-17 17:40 ..
    3. -rwxrwxr-x 1 vdr vdr 1677673272 2011-05-17 18:40 00001.ts
    4. -rwxrwxr-x 1 vdr vdr 718592 2011-05-17 18:39 index
    5. -rwxrwxr-x 1 vdr vdr 268 2011-05-17 17:40 info
    6. -rw-r--r-- 1 vdr vdr 22 2011-06-16 16:31 marks
    7. -rw-r--r-- 1 vdr vdr 7 2011-06-16 16:31 resume
    8. -rw-r--r-- 1 vdr root 1206440704 2011-06-16 17:25 vdrtranscode.ts
    9. -rw-r--r-- 1 vdr root 309 2011-06-16 17:25 vdrtranscode.xml


    und der Server meldet jetzt ständig:

    Code
    1. [DEBUG]->/srv/vdr/video.00/01_Serien/Criminal_Minds/Staffel_03/02._Der_letzte_Fall/2011-05-17.17.40.39-0.rec have online status
    2. [DEBUG]->/srv/vdr/video.00/01_Serien/Criminal_Minds/Staffel_03/02._Der_letzte_Fall/2011-05-17.17.40.39-0.rec have online status
    3. [DEBUG]->/srv/vdr/video.00/01_Serien/Criminal_Minds/Staffel_03/02._Der_letzte_Fall/2011-05-17.17.40.39-0.rec have online status
    4. [DEBUG]->/srv/vdr/video.00/01_Serien/Criminal_Minds/Staffel_03/02._Der_letzte_Fall/2011-05-17.17.40.39-0.rec have online status
    5. [DEBUG]->/srv/vdr/video.00/01_Serien/Criminal_Minds/Staffel_03/02._Der_letzte_Fall/2011-05-17.17.40.39-0.rec have online status
    6. [DEBUG]->/srv/vdr/video.00/01_Serien/Criminal_Minds/Staffel_03/02._Der_letzte_Fall/2011-05-17.17.40.39-0.rec have online status
    7. [DEBUG]->/srv/vdr/video.00/01_Serien/Criminal_Minds/Staffel_03/02._Der_letzte_Fall/2011-05-17.17.40.39-0.rec have online status


    Allerdings immer 7 Mal. Das macht er auch, wenn er eine vdrtranscode.xml für eine neue Aufnahme erstellen will.


    3. Aufnahme im VDR auf "start Transcoding" gestellt:


    Auch hier wieder 7 mal die gleiche Meldung.


    Grüße,
    Olaf

    VDR1: YaVDR 0.6; OrigenAE S14V; ASUS M2N-PV VM; Mystique SaTiX-S2 V2 CI Dual; Athlon X2 5600+; Asus EN210 1GB DDR3; OCZ Vertex 32GB; WD Caviar Green 1,5 TB GB; 1GB Ram
    VDR Streaming Server: Debian 16.04; Ahanix D5 modded; Asrock j3455m, 4GB RAM; VDR-2.3.8; TVHeadend-4.2.3;

    Client 1-3: RPI2 mit MLD-5.4 unstable

  • Hallo,


    vielen Dank für deine Arbeit an dem Tool. Ich kenne noch die Version aus obigem Thread. Dazu gibt es ja eine Wiki-Seite.
    Was hältst du davon, die zu kopieren und auf traco anzupassen? Die meisten werden nicht wissen, wie traco zu benutzen ist.


    Gruß,
    Hendrik

  • @henfi


    am vdr wiki bin ich zwar schon angemeldet habe aber noch nicht ausgefunden wie , bzw wo , ich da was anlegen muss das es passt, von daher mache ich das zz unter meinem
    wiki


    http://www.glaessixs.de/wiki/index.php/VdrtranscodeV2


    was die mehrfach anzeige betrifft z.b. online das ist normal in dem verbose level ( -vvv ) -> kommt nicht wenn die weg sind.


    was ich nicht verstehe warum er die vdrtranscode.ts nicht finden.


    im uebrigen hast du e.v. vergessen die "qualitaet options" zu setzten ? ansonsten sieht das alles sehr gut so aus.


    die haeufigkeit lieg auch etwas daran das der scan interval zz auf 5 sekunden liegt das kann man via config file aendern. ( z.b. auf 60sek )


    hm seltsam , kannst du auch mal bitte ein a:


    cat vdrtranscode.xml aus dem verzeichnis schicken


    mal ein folgendes probieren


    Code
    1. perl -e 'my $dir = "/srv/vdr/video.00/01_Serien/Criminal_Minds/Staffel_03/02._Der_letzte_Fall/2011-05-17.17.40.39-0.rec"; if ( -e "$dir/vdrtranscode.ts" ) { print "file exist\n"; } ; if ( not ( -e "$dir/vdrtranscode:ts" ) ) { print " file not exist \n"; } '


    holger

    VDR1 : core2duo 3.2 Ghz , 1GB Ram , 2x TT 1501 DVB-C 1 GB HD , Asus EN 210 Silent , Debian Squeeze 64bit + e-tobi Pakete
    VDR2 : 1.2 Ghz P3 , Digitainer 768 MB Ram , yavdr 0.3a 32 bit

    The post was edited 1 time, last by mark05 ().

  • moin
    Olsche alternaiv mal auf der console ein geben

    Code
    1. vdrtrasncodeadm.pl status ready /srv/vdr/video.00/01_Serien/Criminal_Minds/Staffel_03/02._Der_letzte_Fall/2011-05-17.17.40.39-0.rec


    bei mir laeuft das problemlos.


    die beta 16 ist schon in arbeit ....... hier geht nur um cleanups und optimierung der cutfiles routine ...... bis jetzt ;)


    holger

    VDR1 : core2duo 3.2 Ghz , 1GB Ram , 2x TT 1501 DVB-C 1 GB HD , Asus EN 210 Silent , Debian Squeeze 64bit + e-tobi Pakete
    VDR2 : 1.2 Ghz P3 , Digitainer 768 MB Ram , yavdr 0.3a 32 bit

  • hi,


    update post 1 link zur documentations seite.



    holger

    VDR1 : core2duo 3.2 Ghz , 1GB Ram , 2x TT 1501 DVB-C 1 GB HD , Asus EN 210 Silent , Debian Squeeze 64bit + e-tobi Pakete
    VDR2 : 1.2 Ghz P3 , Digitainer 768 MB Ram , yavdr 0.3a 32 bit

  • Hi,


    so heute kann ich mal wieder ein bisschen Testen.


    Also ein

    Code
    1. perl -e 'my $dir = "/srv/vdr/video.00/01_Serien/Criminal_Minds/Staffel_03/02._Der_letzte_Fall/2011-05-17.17.40.39-0.rec"; if ( -e "$dir/vdrtranscode.ts" ) { print "file exist\n"; } ; if ( not ( -e "$dir/vdrtranscode.ts" ) ) { print " file not exist \n"; } '


    liefert:

    Code
    1. file exist


    Meine vdrtranscode.xml


    Wenn ich den Status im XML manuell auf ready setze kommt die gleiche Meldung, dass er die vdrtranscode.ts nicht finden kann.


    EDIT: Noch zwei Dinge.


    1. Wenn ich eine Aufnahme bearbeiten will, die bereits geschnitten ist funktioniert cutfiles nicht (Schnittmarken sitzen ganz am Anfang und am Ende) und
    2. Joinfiles sucht bei mir immer noch nach HASH(XXX).


    Grüße,
    Olaf

    VDR1: YaVDR 0.6; OrigenAE S14V; ASUS M2N-PV VM; Mystique SaTiX-S2 V2 CI Dual; Athlon X2 5600+; Asus EN210 1GB DDR3; OCZ Vertex 32GB; WD Caviar Green 1,5 TB GB; 1GB Ram
    VDR Streaming Server: Debian 16.04; Ahanix D5 modded; Asrock j3455m, 4GB RAM; VDR-2.3.8; TVHeadend-4.2.3;

    Client 1-3: RPI2 mit MLD-5.4 unstable

    The post was edited 1 time, last by Olsche ().

  • hm


    also diese yavdr scheint ja komisch zu sein .........


    schon alleine punkt 1 ist seltsam .


    ich lese nur die marks datei aus .


    alles was man schneidet bzw schneiden laesst ( z.b. noad ) schreibt in die marks datei , und verwendet nix vom traco .


    cutfiles laeuft dann nicht wenn die datei vdrtranscode.ts schon existiert , wenn man also nochmalig cutfiles nutzen will muss die alte datei umbenannt oder geloescht werden.


    der transcode job startet nur wen keine vdrtranscode.lck existiert.



    kannst du bitte die vdrtranscode.xml loeschen , die sollte neu erstellt werden .


    desweiteren bitte stelle sicher das alle datein auf dem letzten beta-16 file verwendet werden , ggf alte loeschen .


    dann bitte nur folgende 3 schritte machen am osd


    a: qualitaet einstellen
    b: cufiles
    c: transcode starten


    joinfiles nicht ! verwenden , es ist eigenlich nicht noetig , dieser menu punkt ist auch im neuen reccmd.vdrtranscode.conf in einem seperaten menu.


    holger

    VDR1 : core2duo 3.2 Ghz , 1GB Ram , 2x TT 1501 DVB-C 1 GB HD , Asus EN 210 Silent , Debian Squeeze 64bit + e-tobi Pakete
    VDR2 : 1.2 Ghz P3 , Digitainer 768 MB Ram , yavdr 0.3a 32 bit

    The post was edited 2 times, last by mark05 ().

  • Hi,


    nächster Versuch.


    1. Alle Files komplett gelöscht und neu installiert.
    2. Neues Verzeichnis unterhalb der Aufnahmen angelegt und in der vdrtranscode.conf eingestellt. Das hat den Vorteil, dass nur für dort befindliche Aufnahmen der Server aktiv wird.
    3. Alle vdrtranscode* Dateien aus dem Verzeichnis der Aufnahme gelöscht und die Aufnahme in das neue Verzeichnis geschoben
    4. Server gestartet (da ich festgestellt habe, dass er die vdrtranscode.ts findet wenn er im Hintergrund läuft den Server mittel start vdrtranscode gestartet)


    Code
    1. Jun 21 17:43:22 VDRFFM /usr/local/bin/vdrtranscode_server.pl[29421]: fork to the background pid 29421 with EUID = 107
    2. Jun 21 17:43:27 VDRFFM /usr/local/bin/vdrtranscode_server.pl[29421]: create /srv/vdr/video.00/99_Transcode/09._Wir_sehen_uns_wieder/2011-06-20.21.10.7-0.rec/vdrtranscode.xml


    vdrtranscode.xml


    5. Qualität einstellen
    vdrtranscode.xml


    6. cutfiles

    Code
    1. Jun 21 17:48:45 VDRFFM /usr/local/bin/vdrtranscode_server.pl[29421]: combine TS Files


    Es wird keine vdrtranscode.ts erstellt.
    Die dazugehörige marks sieht so aus.

    Code
    1. cat marks
    2. 0:00:00.01
    3. 0:41:14.23


    und in der vdrtranscode.xml steht der Status auf online.


    7. Zum Test einen symbolischen Link vdrtranscode.ts auf 00001.ts erstellt und Status über OSD auf start Transcoding gestellt.


    Und siehe da er beginnt zu konvertieren 8) .


    Irgendwo hat er scheinbar Probleme, wenn die Schnittmarke direkt am Anfang liegt...


    Grüße,
    Oalf

    VDR1: YaVDR 0.6; OrigenAE S14V; ASUS M2N-PV VM; Mystique SaTiX-S2 V2 CI Dual; Athlon X2 5600+; Asus EN210 1GB DDR3; OCZ Vertex 32GB; WD Caviar Green 1,5 TB GB; 1GB Ram
    VDR Streaming Server: Debian 16.04; Ahanix D5 modded; Asrock j3455m, 4GB RAM; VDR-2.3.8; TVHeadend-4.2.3;

    Client 1-3: RPI2 mit MLD-5.4 unstable

  • Hi


    Das ist mal ein fortschritt .
    Schau mal bitte in das verzeichnis contrib,
    Dort sollte eine darei sein test-vdrmarks.pl oder aenlich (sollte auf jedenfall
    Marks enhalten)
    Diese in das verz. Vom server kopieren un inaltlich anpassen ,wie sollten die beispiele darin
    Zeigen.
    Dann starten mit perl test.....pl , die ausgabe dann hier posten.


    Ich hoffe ich habe das halbweg verstaendlich geschrieben via mobile


    Holger

    VDR1 : core2duo 3.2 Ghz , 1GB Ram , 2x TT 1501 DVB-C 1 GB HD , Asus EN 210 Silent , Debian Squeeze 64bit + e-tobi Pakete
    VDR2 : 1.2 Ghz P3 , Digitainer 768 MB Ram , yavdr 0.3a 32 bit

  • hi


    ups , habe gerade gesehen das es keine test routine gibt fuer marks.


    ok hier mal nach gereicht





    bitte path anpassen und dann mit perl test-parsevdrmarks.pl laufen lassen.


    ausgabe hier posten


    holger

    VDR1 : core2duo 3.2 Ghz , 1GB Ram , 2x TT 1501 DVB-C 1 GB HD , Asus EN 210 Silent , Debian Squeeze 64bit + e-tobi Pakete
    VDR2 : 1.2 Ghz P3 , Digitainer 768 MB Ram , yavdr 0.3a 32 bit

  • hi


    also den bug das der transcodier proccess nicht gestartet wird wenn der server im fordergrund laeuft habe ich gefunden und wird mit der kommenden beta-17 gefixt.


    deweiteren gibt es noch cleanups .


    um jetzt noch das tham loesen zu koennen wenn die schitt marke so fueh liegt braeuchte ich die ausagbe von test-parsevdrmarks.pl


    holger

    VDR1 : core2duo 3.2 Ghz , 1GB Ram , 2x TT 1501 DVB-C 1 GB HD , Asus EN 210 Silent , Debian Squeeze 64bit + e-tobi Pakete
    VDR2 : 1.2 Ghz P3 , Digitainer 768 MB Ram , yavdr 0.3a 32 bit

  • hi
    nachdem ich beim testen mit alten aufnahmen vom vdr 1.6 gemerkt habe das er auch mit relativ nahen zeiten nach dateistart klar kommt

    Code
    1. 0:00:00.13 Logo start
    2. 1:54:11.23 Logo lost
    3. 1:54:38.20 Logo start
    4. 2:00:55.18 noad mark on last IFrame


    kommt nun die beta-17


    link angepasst im ersten post.


    holger

    VDR1 : core2duo 3.2 Ghz , 1GB Ram , 2x TT 1501 DVB-C 1 GB HD , Asus EN 210 Silent , Debian Squeeze 64bit + e-tobi Pakete
    VDR2 : 1.2 Ghz P3 , Digitainer 768 MB Ram , yavdr 0.3a 32 bit

    The post was edited 1 time, last by mark05 ().

  • moin,



    in der letzten beta-17 ist in Tracoxml.pm ein kleiner fehler.


    in zeile 46

    Code
    1. my $vdrinfocontent = \$shelf->_parsevdrinfo({dir=>${$videopath},debug=>${$dbg},});


    aendern in

    Code
    1. my $vdrinfocontent = \$shelf->parsevdrinfo({dir=>${$videopath},debug=>${$dbg},});


    holger

    VDR1 : core2duo 3.2 Ghz , 1GB Ram , 2x TT 1501 DVB-C 1 GB HD , Asus EN 210 Silent , Debian Squeeze 64bit + e-tobi Pakete
    VDR2 : 1.2 Ghz P3 , Digitainer 768 MB Ram , yavdr 0.3a 32 bit

  • moin,



    am we war ich etwas fleissig , und habe mir meinen yavdr digitainer fertig eingerichtet mit einer neuen dvb-t karte.


    es gibt eine neue beta-18 , siehe post 1


    aenderungen


    fix des typo die nich hier ja schon gepostet habe.


    ueberarbeitungen der routine getoffset so das auch mit 32 bit die richtigen bytewerte kommen.
    das ganze habe ich dann mit aufnahmen vom yavdr getestet und mit aufnamen von meinen hauptvdr ( dvb-c ) wobei ich hier das aufnahme
    verzeichniss via nfs gemountet habe.


    holger

    VDR1 : core2duo 3.2 Ghz , 1GB Ram , 2x TT 1501 DVB-C 1 GB HD , Asus EN 210 Silent , Debian Squeeze 64bit + e-tobi Pakete
    VDR2 : 1.2 Ghz P3 , Digitainer 768 MB Ram , yavdr 0.3a 32 bit