bash Script für ProjectX

  • Habs mal getestet, die Datei /etc/vdr/plugins/burn/ProjectX.ini kannst entweder von Windows nehmen, oder ne leere Datei dorthin kopieren, funkt beides.


    Dort kannst du halt eigene ProjectX Parameter definieren.

  • ich grabe mal diesen uralten thread aus - weil da das script anhängt.


    mit vdr 1.6 und noad (0.6) hat das bei mir immer perfekt funktioniert.
    nun mit vdr 1.7.12 und noad 0.7 habe ich probleme aber ich finde nicht heruas wo die zu suchen sind - bei dem script oder bei noad :-/


    aber mal von vorne:
    noad macht ja nun keine marks mehr sondern eine marks.vdr
    vdr macht keine index.vdr mehr sondern nur noch eine index.
    also kopiere ich mir zuerst die marks nach marks.vdr und die index nach index.vdr (um nicht das marks2bytepos.pl anpassen zu müssen).


    danach rufe ich das marks2bytepos.pl entsprechend mit dem pfad auf und schreibe die ausgabe nach marks.prx, die ich in projectx mit "-cut marks.prx" aufrufe.


    heraus kommt dann aber ein film, der irgendwo in der mitte abgeschnitten ist. :-/


    die marks(.vdr) sieht so aus:

    Code
    0:02:23.17 Logo start
    2:01:08.13 Logo lost


    und die marks.prx dann so:

    Code
    0041948440
    1237280452


    projectx schreibt folgendes log:


    warum ich das mit der zeit mache und nicht mit bytepositionen: gelegentlich schneide ich die filme dann noch manuell framegenau vor dem umwandeln, und da sind zeitangaben wesentlich leichter zu handeln.


    Irgenwer eine Idee wo ich zum Fehlersuchen anfangen soll?


    Danke!


    >>>cyber

    Hardware: Lex Twister (CI945A), Core2Duo T7200 (2x2.0GHz), 2GB SO-DDR2, 2x8GB SSD & 2x2TB WD SATA-HDD (jew. RAID1), Terratec Cinergy 1200 DVB-C
    Software: Debian Squeeze, Kernel 3.6.6
    VDR: etobi's vdr (1.7.X), recording-only; plugins: streamdev-server,dummydevice; addons: XXV, markad, projectX

  • ja, umgekehrt, natürlich ;)


    ich hab nun noch einen film angeschaut, der bearbeitet wurde. mir kommt vor, dass die marken ab dem zweiten ts-file nicht mehr passen - im ersten wurde noch hervorragend rausgeschnitten, der bearbeitete film war dann (so grob geschätzt) nach dem ersten ts + die zeit die an werbung rausgeschnitten wurde zu ende.


    hier nochmal eine marks(.vdr):


    die daraus resultierende marks.prx:


    und das log von projectX:

    Hardware: Lex Twister (CI945A), Core2Duo T7200 (2x2.0GHz), 2GB SO-DDR2, 2x8GB SSD & 2x2TB WD SATA-HDD (jew. RAID1), Terratec Cinergy 1200 DVB-C
    Software: Debian Squeeze, Kernel 3.6.6
    VDR: etobi's vdr (1.7.X), recording-only; plugins: streamdev-server,dummydevice; addons: XXV, markad, projectX

  • Joh, das Format hat sich geändert:


    Damit funktioniert das marks2bytepos nur für PES-Aufzeichnungen. Da beim ersten ts-File der Fileoffset noch 0 ist funktioniert es da noch solange die Datei nicht größer 2GB ist.

  • cool dass du das so schnell gefunden hast. :love2


    hast du zufällig lust das anzupassen oder ist das gar nicht mehr möglich? :kiss


    danke! :)


    >>>Cyber

    Hardware: Lex Twister (CI945A), Core2Duo T7200 (2x2.0GHz), 2GB SO-DDR2, 2x8GB SSD & 2x2TB WD SATA-HDD (jew. RAID1), Terratec Cinergy 1200 DVB-C
    Software: Debian Squeeze, Kernel 3.6.6
    VDR: etobi's vdr (1.7.X), recording-only; plugins: streamdev-server,dummydevice; addons: XXV, markad, projectX

  • nope, tut noch nicht. :-/


    hab's wieder mit Pulp Fiction probiert.


    marks:


    und die aus dem script resultierende marks.prx:


    da sehen die - schon mal sehr auffällig auf - trotzdem noch das Project-X-log:



    danke für deine Mühe!


    >>>cyber

    Hardware: Lex Twister (CI945A), Core2Duo T7200 (2x2.0GHz), 2GB SO-DDR2, 2x8GB SSD & 2x2TB WD SATA-HDD (jew. RAID1), Terratec Cinergy 1200 DVB-C
    Software: Debian Squeeze, Kernel 3.6.6
    VDR: etobi's vdr (1.7.X), recording-only; plugins: streamdev-server,dummydevice; addons: XXV, markad, projectX

  • ich hab soeben die schnittmarken der filme nochmal überprüft, mit dieser version passen die wieder perfekt. :)


    danke nochmals!


    >>>cyber

    Hardware: Lex Twister (CI945A), Core2Duo T7200 (2x2.0GHz), 2GB SO-DDR2, 2x8GB SSD & 2x2TB WD SATA-HDD (jew. RAID1), Terratec Cinergy 1200 DVB-C
    Software: Debian Squeeze, Kernel 3.6.6
    VDR: etobi's vdr (1.7.X), recording-only; plugins: streamdev-server,dummydevice; addons: XXV, markad, projectX

  • Hi, hab mir gerade auch mal die aktuelle Version von marks2bytecode geladen, allerding habe ich Probleme mit allen ts-Files größer als ca 4.5GB.
    Unterhalb dieser Grenze werden die Schnittmarken korrekt umgewandelt, oberhalb kommt allerdings nur noch schwachsinn raus. z.B.



    Shanghai_Knights
    6.0 GB ts-file


    marks

    Code
    0:07:23.14 audio channel change from 2 to 6 (11088)*
    0:38:31.18 audio channel change from 6 to 2 (57780)
    0:44:23.14 audio channel change from 2 to 6 (66588)*
    1:06:00.25
    1:12:25.12
    1:34:53.20
    1:41:17.20
    2:10:47.14 audio channel change from 6 to 2 (196068)


    cut.px

    Code
    329989444
    1727755156
    1970396040
    2969306216
    3259254668
    6586852
    279287620
    1624526884


    Werden die Zahlen irgendwann zu groß für das Perlscript und muss ich mir eine andere Art der Weiterverarbeitung suchen oder lässt sich das noch irgendwie lösen?

  • da gibts ein ausgebessertes marks2bytecode, das mit den großen files umgehen kann. schaue im Forum, das ist entsprechend gepostet worden, ansonsten suche in meinen beiträgen, da solltest das Problem auch finden. ;)


    LG

    Hardware: Lex Twister (CI945A), Core2Duo T7200 (2x2.0GHz), 2GB SO-DDR2, 2x8GB SSD & 2x2TB WD SATA-HDD (jew. RAID1), Terratec Cinergy 1200 DVB-C
    Software: Debian Squeeze, Kernel 3.6.6
    VDR: etobi's vdr (1.7.X), recording-only; plugins: streamdev-server,dummydevice; addons: XXV, markad, projectX

  • hi


    ich habe eigentlich fertige routinen die die
    a:
    die marks ausliest
    b:
    die entsprechenden bytewerte liefert
    fuer 1.7 ...


    getestet selbst mit HD aufnahmen.



    das ganze ist in perl und objekte ( Traco.pm )


    das ganze ist zwar aus einem anderen hintergrund entstanden ( umtrechnen mit handbrake ) man kann das ganze aber auch ausserhalb des server nutzen.


    einfach mal die letze beta runterladen .link siehe thread ( handbrake und traco hier im forum )



    dabei kann man dann das ganze so nutzen


    man bekommt den byteposition fuer die frame zurueck und die passen file nummer.


    um die marks aus zuwerten






    hier sind u.a. fertig umgerechnet die start und stop frame n sekunden im feld $vdrmarks->{'start_fpsX'} und $vdrmarks->{'stop_fpsX'}


    das X steht fuer ein cut nummer ( 1 cut ist gleich 1x start + 1xstop )


    sorry wegen den feldname die sind gewachsen ..
    $vdrmarks benhaltet noch ein paar mehr felder , wechle koennt ihr anhand vom Dumper sehen.


    vieleicht hilft euch das ja weiter in bezug auch projectx .


    ich habe das ganze dann mit einer zusaetlichen routine kombiniert combine_ts welche dann anhand von marks und der index datei die aufnahmen schneidet in eine neue datei hinein.


    ihr koennt den code gerne verwenden.


    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

  • da gibts ein ausgebessertes marks2bytecode, das mit den großen files umgehen kann. schaue im Forum, das ist entsprechend gepostet worden, ansonsten suche in meinen beiträgen, da solltest das Problem auch finden. ;)


    LG

    Ja, der Hinweis ist ja auch in diesem Thread, dass die aktualliesiert Version auf der Homepage zu finden ist.
    http://firefly.vdr-developer.o…ches/marks2bytepos.pl.tgz


    Aber dieses Script funktioniert bei mir nur bis ts-Datei ca 4.5GB



    Als beispiel mal Zwei verschiedene ts-Datei. Bei der einen funktionierts, bei der anderen nicht.


    Wo_die_Liebe_hinfällt: (Funktioniert)



    Brave_Heart (funktioniert nicht)



    Die traco Codeschnippsel hab ich nicht zum laufen gebracht, habe auch leider keine Perl Erfahrung.
    nur das Testscript aus traco - transcode mit handbrake Funktioniert bei mir und gibt für die 2 Filme ob folgendes aus:


    Wo die Liebe hinfällt



    Braveheart

  • hi


    jo


    hierbei sind wichtig die start_fpsX und die stop_fpsX werte. das ist jeweils die start und die stop frame eines cut (X)


    nun kann man diese werte nehmen


    und verwenden z.b. bravehart



    'start_fps1' => 78871,
    'start_fps3' => 224578,
    'stop_fps1' => 125461,
    'start_fps0' => 10378,
    'stop_fps2' => 215728,
    'start_fps2' => 137566,
    'stop_fps0' => 68326,
    'stop_fps4' => 292996,
    'stop_fps3' => 273961,
    'start_fps4' => 282001,



    somit habe ich den jeweiligen start und stop bytewert mit dem ich dann , z.b in perl mit seek und tell , die files schneiden kann.


    die start/stop_fps werden wie folgt berechnet


    Code
    my $time_in_seconds = ( ( $hour * DREISECHSNULLNULL ) + ( $minute * SECHSNULL ) + $sec ) ;
    	my $overall_fps = ( $time_in_seconds * $fps ) + $frame ;


    die zeit ist die aus der marks datei


    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

  • Ja, der Hinweis ist ja auch in diesem Thread, dass die aktualliesiert Version auf der Homepage zu finden ist.
    http://firefly.vdr-developer.o…ches/marks2bytepos.pl.tgz


    Die Aktualisierung betraf damals nur den TS-Support - IIRC. Es gab damals auch Berichte, dass es irgendwo nicht funktionierte, was ich aber nie nachstellen konnte. Liegts evtl. an der Perl-Version? Ich nutze ein 64bittiges Perl, es sollte aber auch mit 32 gehen, da bigint benutzt wird.

  • @ FireFly
    Ob es am 32bit liegt kann ich dir gerade nicht sagen.Nutze hier gerade eine 32bit Rechner, komme im laufe des Tage aber auch noch an einen 64bit Rechner und kann da mal schaun ob es was ändert.


    @mark05
    So langsam wird es mit deinem Perlscript, aber leider noch nicht ganz.
    Der einfacherheithalber nehme ich nun erst mal eine Datei die mit marks2bytepos funktioniert und nur 2 Schnittmarken hat, um das ganze besser zu vergleichen.


    Das Auslesen der marks mit deinem Script sieht bei mir wiefolgt aus:

    Perl
    #!/usr/bin/perl -w
    use Traco ;
    use Data::Dumper ;
    my $dir ='/home/udatt/Files/mnt/VDRAufzeichnung/Brothers_Grimm/2011-05-22.02.03.8-0.rec/';
    my $vdrtranscode = Traco->new();
    my $vdrmarks = \$vdrtranscode->_parsevdrmarks({dir=>$dir,,debug=>'1',});
    print Dumper $vdrmarks;


    und ergibt:

    Code
    perl test-parsevdrmarks.pl |grep fps0
            	'stop_fps0' => 178921,
            	'start_fps0' => 19213,


    Dann trage ich die Werte in folgendes ein:

    Perl
    #!/usr/bin/perl -w
    use strict;
    use Traco ;
    use Data::Dumper;
    my $a=Traco->new();
    my $index = '/home/udatt/Files/mnt/VDRAufzeichnung/Brothers_Grimm/2011-05-22.02.03.8-0.rec/index';
    # start_fps0
    my ($offset_start,$filenumber_start) = $a->_getoffset({frame=>'19213',index=>$index, vdrversion=>'1.7',debug=>'1'});
    my ($offset_stop,$filenumber_stop) = $a->_getoffset({frame=>'178921',index=>$index, vdrversion=>'1.7',debug=>'1'});
    print "$offset_start / $offset_stop \n";


    Und erhalte als Ergebnis:

    Code
    431924360 / -600681756


    Als Vergleich die cut.px

    Code
    431924360
    3694285540


    Der erste Wert stimmt also schon mal nur der letzte nicht.
    Hast du eine Idee wie oder wo ich da noch weiter Suchen könnte?

  • moin


    kann mich erst jetzt melden da ich erstmal meine router zuhause reaktivieren muss



    udatt bedenke das ganze ist grundsaetzlich nicht nicht fuer projectx entwickelt worden.


    wenn du mal einen kompletten schnitt machen moechtes ueber das tool von mir ... schau mal im contrib verzeichnisss ,
    dort sollte eine datei "test-combine-ts.pl " enthalten sein.
    diese mal anpassen , path , und dann laufen lassen.


    es sollte dann eine datei erstellt werden namens vdrtranscode.ts diese ist dann um die schnittmarken bereinigt.


    alternativ kannst du mir mai ein perl -V zukommen lassen ?


    ich selber habe hier nen yavdr 0.3 aufgesetzt mit einem digitainer sprich 32 bit, incl allen updates.
    ggf kann ich dann nochmal schauen ob ich da was machen kann.


    frage im allgemeinen ,warum mit projectx schneiden ?


    eingetlich kann man recht gut ein cut tool bauen .


    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

Jetzt mitmachen!

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