VdrtranscodeV2

aus Wiki , by Holger Glaess
Version vom 14. Mai 2013, 18:48 Uhr von Admin (Diskussion | Beiträge) (Installation)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu:Navigation, Suche

Beschreibung

das ganze ist aus dem code von Alexander Richter entstanden vdrtranscode
hierbei geht es um die idee Handbrake so zu
verwenden das man aufnahmen vom vdr direkt via OSD transcodieren kann.
fuer mich kam noch hinzu das ich einige zusaetliche idee hatte die
leider nicht wirklich zu realisieren waren , da der aufwand extremst hoch
gewesen waehren diese in den code von alexander einzubauen.
von daher habe ich einiges aus seinem code verwendet ,
gerade den umrechnungscode ,
crop etc sind noch zum grossen teil von ihm.
ich selber habe dann das ganze mit OO versehen ,
einem steuersystem so das man :die einzelnen schritte steuern kann ,
schnittfunktion cpu kontrolle.
fuer vielen infos und hilfe von alexander moechte ich mich hiermit nochmal bedanken.

Funktionsweise / Ablauf

  • ein transcodier proccess kann nur gestartet werden wenn eine datei
vdrtranscode.ts im jeweiligen aufnahme verzeichniss existiert.
vdrtranscode.ts wird mit prepare_traco_ts erstellt. im OSD prepare trancode file
  • diese datei dann auch alternativ durch joinfiles oder , besser,cutfiles erzeugt werden .siehe tracoadm.pl
  • aktuell muess die zieldatei endung sowie die zielqualitaet angegeben werden.
siehe reccmd.vdrtranscode.conf oder falls eingebunden im OSD.

Status

  • aktuell Beta-19
d.h. da das ganze noch via tgz zum download angeboten wird,
umso schneller korregieren und verbessern zu koennen.
es kommen keine neue funktionen aktuell hinzu.

:*die ersten schritte hin zu einem deb packet sind gemacht

  • ab beta-17 sollte die installation libreadonly-perl nicht mehr noetig sein
  • ab beta-19 profile support , run external prg after transcode and renaming
use most name traco ( just creating xml , ts and lck files with vdrtranscode )
  • devel version ist schon einen ganzen satz weiter und ich biete sie hier auch als deb packet zum download an.

Installation

  • ab beta-19 ggf alle alten dateien von vdrtranscode versionen
von mir loeschen ( gerade die im /usr/local/lib/site_perl
  • den aktuellen Proc::Daemon via cpan -i Proc::Daemon installieren
  • die dateien im tgz an die entsprechende stelle kopieren
  • ggf /etc/vdr/vdrtranscode.conf anpassen
  • handbrake installieren handbrake
  • ein erster test /usr/local/bin/tracosrv.pl -vvv -f
  • die deb version mit dpkg -i traco-xxxxxxx.deb installieren.
  • die sample config umbennen und entsprechend seiner umgebung bearbeiten
  • die reccmds.traco.conf.sample umbenennen und ggf an die richtige stelle
kopieren damit sie eingebunden wird , siehe auch entsprechende documentation
von der verwendeten , VDR , linux distribution.

Optionen Server

  • -v verbose mehrfach verwendet erhoeht die ausgabe
  • -f run in forground force to run as froground proccess
  • -d debug mode sollte nicht mehr noetig sein
  • --help oder -h help
  • --config oder -c angabe der configdatei default /etc/vdr/vdrtranscode.conf

Optionen tracoadm.pl (ehmalig vdrtranscodeadm.pl)

  • zum schluss immer das jeweilige aufnahmeverzeichnis angeben
  • z.b. /opt/video.00/Die_Queen/2011-04-21.22.13.2-0.rec
  • status setzen oder holen des status
  • status holen z.b. vdrtranscodeadm.pl status status verz.
  • ready vdrtranscode proccess starten.vdrtranscodeadm.pl status ready verz.
  • cutfiles Aufnahme anhand der marks datei schneiden
  • joinfiles Einzelne Aufnahme Dateien zusammenfuegen
  • prepare_traco_ts eine mischung aus cutfiles und joinfiles automatisiert
  • audiotrack first oder all
  • profile SD smallHD HD default SD siehe auch config
  • container mp4 m4v mkv
  • quality UVHQ VHQ HQ MQ LQ VLQ
  • show
man beachte das man nun mit den optionen audiotrack,container,quality,
das jeweils eingestelle profile veraendert!
wird ein neues profile gesetzt so wird eine komplett neue vdrtrsncode.xml
im jeweiligen verzeichniss erstellt , vorhandene ,ggf veraenderte , :vdrtranscode.xml wird geloescht.

Die configdatei traco.conf

  • es gibt hier eineige optionen neu und einiges was nicht mehr
verwendet wird aber noch enthalten um aeltere versionen weiter
zu verwenden.

neue optionen in der config

  • defaultprofile zz. PAL,SD,smallHD,HD
  • facility syslog facility default syslog
  • priority sylog priority default info
  • fpstype welche fps angabe soll verwendet werden default vdr alternativ handbrake
wenn handbake verwendet wird vor dem eigentlichen tracscodieren 2x
die vdrtranscode.ts gescan't
1x zum fps ermitteln
1x rest der benoetigten werte ermitteln um.
  • recalculate_bitrate bitrate anhand der aufloesung bereichen default = no
  • setcpu wer bestimmt wieviel cpu kerne zum umrechenen verwendet werden
  • wenn option = undef ( blank ) handbrake bestimmt selber wieviele cpu verwendet werden
  • manual hier kann man mit der weiteren option maxcpu bestimmen wieviele cpu verwendet werden sollen
  • auto hier wird nach der formel max cpu kerne -1 die verwendetet cpus festgelegt.
  • filenameformat bestimmt wie der dateiname aussehen soll fuer den fertigen
umgerechneten film.
  • es kommen hier bei conf-macros zum einsatz , siehe sample config file
  • writelog die ausgabe von handbrake wird in ein log geschrieben.

Aussichten / Ideen

*externes script ansteuern nach beendigung des transcodier proccess :um den fertig transcodierten film weiterzu verarbeiten z.b. mit anderen :plugins soll ein shell script , welches frei gestalltbar ist , aufgerufen :werden , hier werden dann der fertige filmname samt path und der orginal :aufnahme path uebergeben. *profiles :um fuer bestimmte endgeraete optimierte filme zu transcodieren soll :ein einfach profile system , im xml stil , entstehen. :als alternative zum jetzigen qualitaetswerte setzen.

  • einbinden von naludump fuer HD filme
  • status bar anzeige im osd
gestartet , aktuelle dev version scheibt den output von handbrake in ein logfile
diese wird dann von tracoadm dann ausgewertet und zeigt dann im osd eine
fortschrittsanzeige an.
  • auto modus (z.b. fuer vdr headless betrieb)
traco startet automatisch nachdem die aufnahme fertig ist.

Download

API Documentation

  • Basisklasse fuer Tracoio.pm , Tracoxml.pm und Tracoprofile.pm