Schnittmarken Tauschen - zweite Runde

  • Hi


    Naja, ich übersetze meinen vdr immer mit vfat=1. Hab deshalb nicht dran gedacht und hatte auch nix zum Testen.


    wenn das das einzige prob ist, isses mir ja gut :D


    Raven:


    nein, er macht was unterschiedliches!

    Dirk

  • also ich würde wetten das dein script immer von /video0 liest!

    Code
    if [ `ls / | grep video0 | wc -l` -eq 1 ]; then 
            echo video0
    	REC=`ls -lLfRX /video0/ | grep rec: | sed "s/:/ /"`
        else
    	echo video
    	REC=`ls -lLfRX /video0/ | grep rec: | sed "s/:/ /"`
        fi

    VDR:: Epox 4G4A+,Nexus 2.2,Nova, Cel 2.0 GHz,160 GB Samsung
    Client: Hermes 645 GV, DXR3,Celeron 2GHz
    Fileserver: Nexus 2.1, P4 2.4 GHz, 4x400 GB Samsung RAID 5, 1x320 GB

  • hehe
    habs auch vorhin gesehen


    aber gonz hat ja schon ein geupt :D

    Dirk

  • Hi


    neue und geänderte version!


    Änderungen
    - finden der verzeichnisse mit "find"
    - Ort der sharemark dateien einstellbar ( Variable LOC)

  • Hallo,


    ich habe mal 2 Tage was anderes gemacht, und über ein paar Dinge nachgedacht, die
    ich gern zur Diskussion stellen würde. Erstmal meine Einschätzung der Dinge:


    • ptsmarks sind geeignet, um marks auszutauschen
    • Einem aktiven Austausch stehen keinerlei Hindernisse im Weg, solange alle Beteiligten
      wissen, was sie tun (per DB, mail, Posting)
    • Einen Service per Web einzurichten hat xpix ebenfalls in no time hingekriegt :)
    • Wir haben keinen Schutz vor DAUs, Saboteuren, Schnittmarkenfetischisten etc
    • Wir wissen nicht, wieviele unterschiedliche Gruppen von Usern noch auftauchen werden,
      die so wie xpix andere marks haben
    • die eindeutige Identifizierung eine channels ist nicht drin.


    Was machen wir jetzt, wenn das Ding wirklich von vielen Usern genutzt wird, und zu
    jeder populären Serie 10 Anfangs-Schnitte und 10 End-Schnitte hochgeladen werden?
    Und zusätzlich 5 Gruppen auftauchen, so dass jede mark 5 mal da ist?


    Dann gibt es doch in nulkommanichts sowas wie eine Star-Trek-Mailing-Liste, über die
    passende Schnittmarken verteilt werde, damit man sich den ganzen Ärger mit den doppelten
    marks etc sparen kann.


    Oder man wirft gleich noad an.


    Und die meiste Arbeit an dem Projekt, nämlich das dämliche Suchen einer channel-Bezeichnung
    trotz vfat und AutoPID und wasweissichnicht, sowie das Aufsetzen der DB waren "nice tries".


    Das würde mich schon etwas nerven, deshalb noch ein paar Ideen, bei denen mich
    interessieren würde, was Ihr davon haltet.


    • Ich wäre schwer dafür, eine allgemeingültige Liste der Kanal-Kennungen mit dem Skript
      zu bundeln. Also sowas wie die "neue" ChannelID, generiert aus der offiziellen Astra
      channel.conf.
      Bei den Usern, bei denen aus der channels.conf die gleichen channel-ids erzeugt werden
      ändert sich nix. Alle anderen können ein Mapping vornehmen, per channel-nummer oder
      per vollständigem Eintrag.
      Dann haben wir schon mal böse Überraschungen mit weiteren Patches etc verhindert. Wenn
      es kein Mapping gibt, dann wird nichts hoch oder runtergeladen. Die Liste kann man ja
      jederzeit erweitern.
    • Die Datenbank akzeptiert marks nur einmal, und zwar wird die Zeit, die alle marks
      zusammen abdecken, als "besetzt" gekennzeichnet. Bsp: Jemand lädt marks von 20:00 bis
      23:00 auf Kanal XY hoch, der nächste, der das versucht, kriegt ein nettes Dankeschön,
      aber die marks gehen nicht mehr in die DB.
    • Alternativ: alle marks, die zusammen hochgeladen werden, bekommen eine GruppenID. Wenn
      marks runtergeladen werden, dann wird die GruppenID mit übertragen. Das Skript setzt dann
      die marks aus der ersten Gruppe. Sollten die nicht i.O. sein, dann kann man die nächste
      Gruppe versuchen.


    Was haltet Ihr davon, oder sehe ich zu schwarz (wer das denkt darf ab sofort die channelid-Generierung proggen :mua )?


    Cheers


    Peter

    Mitstreiter für VDRsync gesucht!
    Egal ob Perl Programmierer, Tester, Doku-Schreiber oder User, jede Hilfe ist willkommen. Infos hier im Board (nach vdrsync suchen) oder auf der vdrsync-Homepage

  • Ich stecke nicht allzutief im Thema, aber hier ein paar Ideen Doc:
    * Benutzer müssen sich vorher anmelden, das wären zwar ein wenig Administration, würde aber verhindern, dass einfach viel Hochgeladen wird.
    * Anstatt nach einer Kennung auf Channelebene zu suchen, könnte man nicht einfach anhand der ersten Schnittmarke eine eindeutige Uhrzeit festlegen? Man hätte eine grobe einteilung welcher Channel das ist (man könnte ja mehrere pro7 aufnehmen etc) und müßte dann nur noch schauen, obs für diese channelgruppe schnittmarken gibt.
    * Das Herunterladen könnte man in ein Plugin schreiben und dann dort eine Abfrage einbauen welche Marks man haben möchte, dort würde man eine Liste bekommen, evtl mit dem User dahinter wer es hochgeladen hat (siehe 1)

  • Hallo Doc und @all,


    nun es scheint doch darauf hinauszulaufen das wir eine Useradministration einbauen. Das sollte an sich kein Problem sein und ich werde mich da heute mal dran setzen.


    Anhand der UserId kann man einmalig herausbekommen wie stark die Verschiebung des Users zu den anderen ist und kann dieses fest in die Usertable reinschreiben. Interessant wäre jetzt auch die Frage, ob die Verschiebung (bei mir 1,09 Sekunden) sich auch noch von channel zu channel unterscheiden. Scheinbar aber nicht ;)


    Nehmen wir mal an es steht folgendes in der User table:


    name = xpix, offset = 1,09 Sec
    name = doc, offset = 0,5 sec


    Fordert jetzt doc eine Schnittmarke an die xpix geuploadet hat dann wird einfach folgendes berechnet:


    mark = mark + (0,5sec - 1,09sec)


    Somit sollte endlich das Problem der magischen Verschiebung gelöst sein.


    Auch ist es möglich in der DB noch eine Table zu bauen, die Doc's vorgeschlagene astrachannelid zu UserChannelId einzubauen.


    Ich finde wir sollten an dem Projekt dran bleiben, nachdem was ich jetzt probiert habe mit Docs programmen funktioniert es SUPER und der Rest ist Finetuning. Das Konzept stimmt aber und das ist wichtig! ;)


    cu
    xpix

  • Hi xpix

    Zitat

    Original von xpix


    nun es scheint doch darauf hinauszulaufen das wir eine Useradministration einbauen. Das sollte an sich kein Problem sein und ich werde mich da heute mal dran setzen.


    Klasse, wenn Du das schulterst ;)

    Zitat


    Anhand der UserId kann man einmalig herausbekommen wie stark die Verschiebung des Users zu den anderen ist und kann dieses fest in die Usertable reinschreiben. Interessant wäre jetzt auch die Frage, ob die Verschiebung (bei mir 1,09 Sekunden) sich auch noch von channel zu channel unterscheiden. Scheinbar aber nicht ;)


    Bei den ARD Tests mit der Tagesschau waren es doch 2.4irgendwas Sekunden, und zwar bei Dir und einem anderen User, oder erinnere ich mich da nicht richtig?


    Naja, so ganz einfach ist es nicht, wenn wir nämlich diesen Wert in 1/90000 Sekunden umrechenen und von den ptsmarks abziehen, dann kriegen wir eine ungültige mark (der berühmte Timedrift), aber da will ich jetzt nicht schon wieder einen Roman schreiben ;) Soviel soll reichen: Wir müssen den Versatz in GOPs rauskriegen, nicht in Sekunden. Es sind ws 2 GOPs, das sind 0.98 Sekunden. Die ptsmarks liegen aufgrund von Schwankungen aber 1.09 Sekunden auseinander, das kann marks2pts aber in Zukunft ausbügeln.

    Zitat


    Auch ist es möglich in der DB noch eine Table zu bauen, die Doc's vorgeschlagene astrachannelid zu UserChannelId einzubauen.


    Na da bin ich mir eben nicht so sicher, das würde ich auf jeden Fall dem User aufdrücken. Wenn man aus irgendwelchen Gründen (Patches, "Handarbeit" an der channels.conf, andere Signalquelle) nicht Astra-kompatibel sein sollte, dann muss man eben eine Ersetzungs-Tabelle lokal pflegen. Dan kann man ja ein kleines Tool mitliefern, das ein mapping zB anhand der SID vorschlägt, und der User muss immer nur noch "j" drücken, um das vorgeschlagene Mapping für eine Channel zu übernehmen (wenn die lokale channels.conf nicht zu chaotisch ist).

    Zitat


    Ich finde wir sollten an dem Projekt dran bleiben, nachdem was ich jetzt probiert habe mit Docs programmen funktioniert es SUPER und der Rest ist Finetuning. Das Konzept stimmt aber und das ist wichtig! ;)


    Einverstanden, dann lass uns diesen Ansatz weiter verfolgen :)


    @ Torsten


    Danke für Deinen Input :)
    - Die Useradministration geht xpix jetzt an
    - Das mit der Uhrzeit ist nicht so toll, viele FIlme starten eben um 20:15. Darum muss es doch wieder irgendwas geben, um einen channel zu identifizieren (oder seine Gruppe). Also bleibt das ursprüngliche Problem bestehen.
    - Ummpf, wie schon erwähnt kann ich nur Perl ;). Wenn Du ein Perl Interface zum Plugin proggen kennst, dann sag Bescheid ;)
    [OT]
    Ein paar Hintergrund Gedanken: ich finde immer noch, das ein Plugin Overkill ist, um ein paar Skripte zu steueren. Irgendwo in einem anderen Thread hatte ich ja mal ein "generisches" Plugin angeregt, das einfach Funktionaltität der reccmds.comf / commands.conf anbietet, aber deutlich erweitert. Das Plugin sollte eine Menüstruktur aus einem xml-File einlesen und die auf dem OSD darstellen, und die Menüpunkte mit Aktionen verknüpfen (Ebene wechseln, Programm ausführen etc). So könnten viele "Skript"-Erweiterungen elegant eingebaut werden, inkl Menüsteuerung, ohne dass man immer wieder am VDR rummfummeln muss. Einfach das xml-File in die Plugin.conf eintragen, und das Menü ist da. Wer mal Langeweile hat ....
    [/OT]



    Cheers


    Peter / doc

    Mitstreiter für VDRsync gesucht!
    Egal ob Perl Programmierer, Tester, Doku-Schreiber oder User, jede Hilfe ist willkommen. Infos hier im Board (nach vdrsync suchen) oder auf der vdrsync-Homepage

  • Hallo Doc,


    Zitat

    Original von Doc
    Bei den ARD Tests mit der Tagesschau waren es doch 2.4irgendwas Sekunden, und zwar bei Dir und einem anderen User, oder erinnere ich mich da nicht richtig?


    Nope, das war nicht bei mir. Ich glaube das war vor Wochen nur ein Aussreisser mit einer falsch gesetzten Mark! Wir haben bis jetzt bei allen Tests immer einen Versatz bei mir von ca. 1 Sekunde.


    Thema Offset, also dann speichern wir dort einen Integerwert ab? (Anzahl der GOPS?)

  • Hallo xpix

    Zitat

    Original von xpix


    Thema Offset, also dann speichern wir dort einen Integerwert ab? (Anzahl der GOPS?)


    Hmmm, wir müssen auf jeden Fall rauskriegen, wieviele GOPS es letzlich sind, soll das Skript das nach dem Download "berechnen", oder schreiben wir es gleich in die DB?


    Entweder also "pts"-Drift in 1 / 90000 Sekunden, oder GOP-Drift in, ääh, GOPs ;). In beiden Fällen wäre es ein 32 BIT Integer.


    Cheers


    Peter / Doc

    Mitstreiter für VDRsync gesucht!
    Egal ob Perl Programmierer, Tester, Doku-Schreiber oder User, jede Hilfe ist willkommen. Infos hier im Board (nach vdrsync suchen) oder auf der vdrsync-Homepage

  • hey,


    hurra es lueppt ;)



    es haben noch ein paar binmode's gefehlt. perl 5.8.0 braucht das scheinbar zwingend.


    mein diff zur 0.0.11er version:




    -- randy

  • Hi randy,


    Zitat

    Original von randy
    hey,


    hurra es lueppt ;)


    Cool, Du hast zwar auch ne Menge Textfiles mit binmod behandelt, aber unter Linux
    sollte ja binmod auch gar nicht nötig sein :D und deshalb auch nicht stören. ;)


    Ich schau mir den Patch dann noch mal im Detail an und baue in in die
    nächste Version ein (nicht ohne Dir vorher ne Testversion aufs Auge zu drücken ;)).


    Cheers


    Peter / doc

    Mitstreiter für VDRsync gesucht!
    Egal ob Perl Programmierer, Tester, Doku-Schreiber oder User, jede Hilfe ist willkommen. Infos hier im Board (nach vdrsync suchen) oder auf der vdrsync-Homepage

  • Zitat

    Original von Doc
    Hallo xpix
    [quote]Original von xpix
    Hmmm, wir müssen auf jeden Fall rauskriegen, wieviele GOPS es letzlich sind, soll das Skript das nach dem Download "berechnen", oder schreiben wir es gleich in die DB?


    Ich dachte das macht der User einmalig, also wenn er eine Sekunde nachgeht dann gibt er dort 2 GOPS als Offset ein. Oder hab ich das falsch verstanden?


    Die Useradministration ist fast fertig, bekommst heute abend noch eine Mail von mir. ;)

  • Hi xpix

    Zitat

    Original von xpix


    Ich dachte das macht der User einmalig, also wenn er eine Sekunde nachgeht dann gibt er dort 2 GOPS als Offset ein. Oder hab ich das falsch verstanden?


    Die Useradministration ist fast fertig, bekommst heute abend noch eine Mail von mir. ;)


    Völlig einverstanden, der User soll das eintragen anhand von einigen Tests, die er machen muss:)


    Und Du bist ja mal wieder unverschämt schnell, ich freu mich auf Deine Mail ;)


    Cheers


    Peter / Doc

    Mitstreiter für VDRsync gesucht!
    Egal ob Perl Programmierer, Tester, Doku-Schreiber oder User, jede Hilfe ist willkommen. Infos hier im Board (nach vdrsync suchen) oder auf der vdrsync-Homepage


  • Hi Viking,


    ich glaube, ich bin jetzt der Bremsklotz :(


    Xpix hat die Benutzerverwaltung schon lange fertig, und ich habe einfach keine Zeit mehr für das Skript gefunden.


    Ich versuche, in dieser Woche nochmal eine etwas erweiterte Version rauszuhauen, aber ich habe recht viel um die Ohren (und auch noch ein paar Dinge an vdrsync zu schrauben).


    Die md5-Version hat (glaube ich) noch einen Fix mehr als die 0.11, aber das ist eigentlich egal. Wichtig wäre erstmal die Userverwaltung und eine .sharemarks Datei mit der config im Userverzeichnis, in der man seinen Drift, seine Fake-Source etc definieren kann. Wie gesagt, ich versuche was in dieser Woche auf die Beine zu stellen.


    Cheers


    Peter / Doc

    Mitstreiter für VDRsync gesucht!
    Egal ob Perl Programmierer, Tester, Doku-Schreiber oder User, jede Hilfe ist willkommen. Infos hier im Board (nach vdrsync suchen) oder auf der vdrsync-Homepage

  • Zitat

    Original von Doc


    Du gehst nicht zufällig durch nen Proxy ins Internet ....? Sieht mir doch stark so aus als würdest Du keine Verbindung bekommen.


    (Weiss jemand, wie ich mit LWP::Simple über nen Proxy ins Netz komme? Reichen da ENV Variablen?)


    hi Doc.


    besser spät als nie, falls diese Info noch gebraucht wird:
    Wenn du LWP::Useragent verwendest, kannst du einfach mit


    Code
    my $ua = new LWP::UserAgent;
    $ua->proxy('http', $http_proxy);
    my $req = new HTTP::Request(GET => $downloadurl);
    my $res = $ua->request($req);
    $html = $res->content;


    eine Webseite durch einen Proxy ziehen.


    die "light"-Version LWP::Simple kann seine Proxydaten nur per Umgebungsvariable holen, indem du $ua->env_proxy nutzt.


    hth.

    VDR(Via Epia M-10000, 512MB, 2xNexus-s, 120GB&160GB&160GB Samsung SpinPoint, NEC 1300 DVD+-R/RW, IR-Kit, VFD Noritake)
    Gehäuse: Eigenbau (s.o.)

Jetzt mitmachen!

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