TVTV: Seit heute Record-Funktion nur noch für zahlende User

  • Hallo!


    Hab ein Abo bei tvtv.de bestellt und kann nun auch mit dem auf tvtv.de
    angebotenen Linux Tool "tvtvForPC.dat" (witzige Beschreibung dort: "Beim Linux download handelt es nicht um ein fertiges Programm, sondern nur um eine binary !") die Merkliste im CSV Format runterladen. Die 20 Teuro im Jahr ist mir der Service wert (die halbe Schachtel Kippen im Monat spar ich allemal, wenn mein VDR sich wie zuvor stressfrei aus der ganzen weiten Welt programmieren laesst).


    Nur ist das ja noch weit von einer Loesung entfernt:


    1) Arbeitet schon jemand daran diese Daten wie zuvor in den VDR zu kriegen?
    Genka?


    2) Leider krieg ich nicht die gesamte Merkliste, es scheint dort eine
    Beschränkung der Anzahl der Eintraege im Tool zu geben. Im tvtv.log steht:
    "Warning: server truncated list of active jobs or list of deleted jobs to a
    maximum number of entries". Hat noch jemand das Problem?


    Wie gesagt, hab mich an tvtv.de gewoehnt und nach dem Lesen der Alternativen wuerde ich das gern weiter nutzen.


    Hab ein Ethereal Log und meine runtergeladene Merliste kann ich zur Verfuegung stellen. Versuch mal das hier anzuhaengen, hab das aber noch nie gemacht.


    Werd selber probieren die CSV Daten in den VDR zu kriegen, das tvtv plugin von Genka ist da ja sehr uebersichtlich und die Daten in der CSV Datei sind durch Komma getrennter Klartext. Das kann ein Weilchen dauern, bin zwar ganz fit in C aber mit C++, Plugins und Webprotokollen steh ich auf Kriegsfuss, naja was zum Lernen.


    Waere fuer Hilfe dankbar:


    3) Wer hat Ahnung von HTTP Geschichten aus C/C++ raus und kann !einfach! eine POST Nachricht codieren, abschicken und die Antwort einsammeln? Beispielcode willkommen, wenn er simpel ist. Muesste mit dem gehen was Genka dort gemacht hat, aber wie gesagt hab ich keinen Blassen. Hab mir curl angesehen (damit ist auch tvtvForPC gemacht), aber das ist wohl mit Kanonen nach Spatzen geworfen.


    4) Wie kann ich aus dem Plugin das Tool mit geringster Prio aufrufen? Kann man ja auch machen, sich den ganzen HTTP Quatsch sparen und dann einfach die erzeugte Datei einlesen.


    5) Wuerde das ganze in das tvtv plugin haemmern, aber mit der Kettensaege nicht mit dem Skalpell. Wie macht man Patchfiles?


    6) Weis jemand warum Genka die Daten zunaechst in einen String bringt und erst dann mit Timer.Parse in das Timer-Object? Syntaxcheck? Wie sieht der String aus? ("Die Dokumentation finden Sie in den Datei die auf .c enden!" =:-)


    7) Hat jemand Lust, Zeit und die Kenntnisse das schmerzfreier als ich auf die Fuesse zu kriegen?


    An den Fragen seht ihr schon was das wird =:-)


    Gruss


    Knut

  • Hallo, Genka!


    Kannst Du mir denn noch sagen warum Du die TVTV info zunaechst in einen String tust bevor Du sie in den Timer parst? (siehe Post) Koennte man doch auch gleich in das Objekt tun und dann in die Liste einhaengen, oder?


    Gruss


    Knut

    VDR 2.20/CoolerMaster 260G/Dual-Core CPU E5200 @ 2.50GHz/Ubuntu 16.04//DVB-C Dual Tuner SiLab

  • Hi Knut,


    kannst Du mal bitte auch mal einen Ethereal-Log von einem Job-Sync machen und hier den Bereich aus dem Log posten, in dem der folgende Abschnitt (vgl. Dein Log vom Channel-Sync):


    POST /cgi-bin/WebObjects/TVSync.woa/wa/channelguide HTTP/1.1


    vorhanden ist? Ich habe da eine Idee, mit der das evtl. ganz schnell wieder gehen könnte...



    cu und Danke,
    Carsten


    There are 10 types of people in the world: those who know binary and those who don't.

  • Also langsam finde ich den Wegfall von tvtv auch als Tragödie :)


    Habe es über diverse Umwege probiert meinen VDR zu programmieren aber der Aufwand was dafür notwendig ist steht in keiner Relation zum Nutzen.


    So tools wie vdradmin und xxv mogen ja auch ganz nett sein aber so bequem wie über tvtv ist das alles nicht :( Alleine die Suchfunktion nach Darstellern klappt in beiden tools hier nicht so richtig, ganz abgesehen vom Aufwand den man zuerst einmal betreiben muss im an alle epg daten ranzukommen.


    Ich hoffe auch das es bald wieder so etwas wie tvtv geben wird da ich ebenfalls sehr oft für Tage nicht an den Rechner kann und dann meistens vergesse etwas zu programmieren :)


    Grüße

    HW1: Tyan S2915|2x AMD Opteron 2216 HE|pcie 8400GS|TeVii S470 |LSI 8888ELP|SAS Expander|15x2TB mit mhddfs|32" SONY 32EX705
    HW2: Zotac ION|Tevii S650|Samsung 60GB 2,5"|HDMI an 52" Toshiba
    SW 1-2: Xubuntu 10.4, VDR 1.7.14, xine-vdpau, xbmc

  • Was mir noch aufgefallen ist. Könnte man nicht einfach mittels "Vormerken" bei tvtv die daten in die Merkliste übernehmen und diese dann parsen ??


    Grüße

    HW1: Tyan S2915|2x AMD Opteron 2216 HE|pcie 8400GS|TeVii S470 |LSI 8888ELP|SAS Expander|15x2TB mit mhddfs|32" SONY 32EX705
    HW2: Zotac ION|Tevii S650|Samsung 60GB 2,5"|HDMI an 52" Toshiba
    SW 1-2: Xubuntu 10.4, VDR 1.7.14, xine-vdpau, xbmc

  • HI,


    Zitat

    Original von genka
    ohne Programmzeitschrift finde ich persönlich für mich teuer.
    Ich habe kein Abo und brauche auch keins ;)


    Halt halt, ich will Dich nicht als Kunde von tvtv werben. Ich wollte nur anfragen ob und wie Du ggf. zum Reaktivieren des Dienstes mit Info, Rat und Tat zur Seite stehen könntest.


    Zum Testen könnte ich Dir ggf. auch mal meinen Account "leihen". ;)


    ttyl,
    BC


    :evil: Nichts ist wahr, alles ist erlaubt! :evil:


    VDR-Server: ASUS A7V8X, Duron 1.300, 256 MB, 3x 120 GB Maxtor HD, PIONEER DVR-106, Design Tower AIR Black, 40x4 LCD,
    1x TT-DVB-S V1.6, 3x DVB-S Nova, URC-7562, CentOS 5.5, VDR: 1.6.0


    TecVDR: AOPEN MK73LE-N, Duron 1.300, 256 MB, 1x 120 GB Samsung HD, Pioneer DVR-A04, Gehäusesonderbau, 1x TT-DVB-S V1.6 4MB, 1x DVB-S Nova, 1x AV-Board, SuSE 9.0, VDR: 1.3.11

  • Hi,


    der eigentliche Witz an der Sache ist, das ich diesen Dienst so gut wie 16 Monate kostenlos in Anspruch genommen habe, und er super funktionierte, und ich jetzt 20 € bezahlt habe, und im Regen stehe. Wo ist das Problem für tvtv dieses SyncIt wieder einzuschalten, und wir alle haben wieder unsere Ruhe. Sollte man sich da mal an tvtv wenden?? Sie könne ja nur Kunden gewinnen. Alle anderen Programmiermethoden sind eigentlich zu umständlich. Fakt ist, das mein VDR z.Zt. mehr als die Hälfte seines 'Komforts' eingebüßt hat. Jetzt muß ich wieder von Hand programmieren, weil die Autotimer durch die zu kurzen EPG Daten bei den meisten Privaten einfach nicht zuverlässig funktionieren. Echt sch...ade

  • Zitat

    Was mir noch aufgefallen ist. Könnte man nicht einfach mittels "Vormerken" bei tvtv die daten in die Merkliste übernehmen und diese dann parsen ??


    Das gibt es sogar schon, epg2timers im Download-bereich des Portals. Ich hatte epg2timers benutzt bevor es das TVTV plugin gab. Ob es jetzt noch funktioniert weiss ich allerdings nicht. Wenn sich das HTML Format der merkliste inzwischen geändert hat, müßte man epg2timers entsprechend anpassen.


    Download
    ftp://ftp.cadsoft.de/pub/people/kls/vdr/Tools/


    -kobi

    yavdr 0.5 :: Mainboard: Point of View POV/ION330 :: 2 GB RAM :: TT Connect S2-3600 HDTV-S2 USB :: Gehäuse: In-Win BM639 mit 120W Netzteil :: atric IR-Einschalter :: FB: Hauppauge :: Hama Nano-Bluetooth-USB-Adapter :: Logitech Cordless MediaBoard Pro

  • Tja, fast unglaublich aber es funktioniert immer noch mit epg2timers :))


    Grüße

    HW1: Tyan S2915|2x AMD Opteron 2216 HE|pcie 8400GS|TeVii S470 |LSI 8888ELP|SAS Expander|15x2TB mit mhddfs|32" SONY 32EX705
    HW2: Zotac ION|Tevii S650|Samsung 60GB 2,5"|HDMI an 52" Toshiba
    SW 1-2: Xubuntu 10.4, VDR 1.7.14, xine-vdpau, xbmc

  • Hi,


    so, jetzt ist es amtlich:



    Tja, das war's dann TVTV. Ich denke ich benutze jetzt tvinfo.de und deren Merkliste. Im tvmovie2vdr-Paket ist ein Tool um die Merkliste auszulesen und Timer zu erzeugen. Die Website ist zwar nicht so komfortabel wie tvtv.de aber damals als ich noch die VMagic-Karte benutzt hab, konnte ich auch damit leben. Und nebenbei ist es noch kostenlos.


    Mal sehen wie lange tvtv bei der Stornierung des Abos rumzickt ...


    Gruß, Nugman

  • Zitat

    Original von Nugman
    Für Linux bieten sie ein Binary an, das die Merkliste einliest und scheinbar mehrere csv-Files ausspuckt (siehe hier). So wie es aussieht braucht das Ding aber libcurl ... wenn sie schon Binaries verteilen, hätten sie sie auch statisch linken können die Deppen ... naja wie auch immer.


    Naja, gegen dynamisches Linken spricht ja nichts, aber auf Fedora Core 3 ist curl schon zu neu:


    # /usr/local/bin/tvtvForPC.dat
    /usr/local/bin/tvtvForPC.dat: error while loading shared libraries: libcurl.so.2: cannot open shared object file: No such file or directory


    [root@vdr ~]# rpm -ql curl
    /usr/lib/libcurl.so.3
    /usr/lib/libcurl.so.3.0.0


    -> Bibliothek von Fedora Core 2 nehmen - dank Linux darf man die ja einfach im FS ablegen, gibt ja keine Konflikte ala DLL-Hell bei M$-OS



    Dank Linux und das TVTV HTTP als Transfer nimmt, reicht schon ngrep (wenn das nicht helfen würde, müßte man halt strace nehmen):


    So schaut der neue Request aus:


    POST http://www.tvtv.de/cgi-bin/WebObjects/TVSync.woa/wa/getjobs HTTP/1.1..Host: www.tvtv.de..Pragma: no-cache..Accept: */*..Content-Length: 130..Content-Type: application/x-www-form-urlencoded....serial=0&initiator=0&access=*******&account=*****&doctype=csv&target=www%2Etvtv%2Ede&product=35


    Danach kommt alles schön im CVS Format daher:


    HTTP/1.0 200 OK..Date: Thu, 05 May 2005 11:38:40 GMT..Server: Apache/1.3.12 (Unix)..Content-Length: 35797..Content-Type: text/plain..X-Cache: MISS from ****..Proxy-Connection: close....0,1115147394,csv,21..channel,channelid,uid,starttime,endtime,action,title,pg,quality,sequence,priority,protection,nature,format,vps,description,persons..
    3sat,118,18191075,2005-05-05
    14:00:00 +0200,2005-05-05 15:00:00 +0200,rec,Cat Stevens: Majikat,0


    BTW: bekommen wir Ärger, wenn wir durch einfaches Reverse-Engineering das tvtv-Plugin umbauen?

    [SIZE=7] PIII-933, 256 MB, 1 x Siemens DVB-C, 2x Technisat DVB-C :: Fedora 9[/SIZE]

  • Hi,


    Zitat

    Naja, gegen dynamisches Linken spricht ja nichts, aber auf Fedora Core 3 ist curl schon zu neu:


    Genau das spricht dagegen wenn man proprietäre Software verteilt. ;)
    Außerdem hatte ich nicht vor, auf meinem VDR curl zu installieren ...


    Aber wie auch immer...


    Zitat

    BTW: bekommen wir Ärger, wenn wir durch einfaches Reverse-Engineering das tvtv-Plugin umbauen?


    Nö, warum? Genau so ist doch das "alte" TVTV-Plugin auch entstanden?!
    Außerdem: Wie soll tvtv mitkriegen, ob das ihre eigene Software ist, oder ein VDR-Plugin wenn die Anfragen identisch sind? Und letztlich bringt es ihnen pro VDR-Nutzer 20 EUR pro Jahr an Abogebühren. Ich könnte mir nicht vorstellen, daß die da ernsthaft was dagegen hätten.


    Aber wenn sich ein findiger Coder des TVTV-Plugins annimmt und es modernisiert, könnte man evtl. gleich eine Unterstützung der tvinfo.de Merkliste mit einbauen. Dort werden die Timer einfach in einem XML-File per http geholt. Damit könnten wir neben dem nun kostenpflichtigen TVTV-Service auch den kostenlosen tvinfo.de-Service ebenso komfortabel benutzen. Und Konkurrenz belebt ja bekanntlich das Geschäft. :)


    Gruß, Nugman


  • Es reicht, wenn Du libcurl.so.2 in /usr/lib ablegst.


    BTW: hat jemand zufällig noch das Format von SyncIT? tvtv-Plugin hat ja leider keinen Debug-Modus.


    Mit
    wget "http://www.tvtv.de/cgi-bin/WebObjects/TVSync.woa/wa/getjobs?serial=0&initiator=0&access=******&account=*****&doctype=csv&target=www.tvtv.de&product=35"


    Bekommt man:


    1. Zeile:
    channel,channelid,uid,starttime,endtime,action,title,pg,quality,sequence,priority,protection,nature,format,vps,description,persons


    Jede weitere Zeile:
    3sat,118,18191078,2005-05-05 16:45:00 +0200,2005-05-05 18:00:00 +0200,rec,Dixie Chicks - An Evening With the Dixie Chicks,0,,,,,Konzert/Country,Sonstige,2005-05-05 16:45:00 +0200,"Konzertaufzeichnung\n\nDie Schwestern Martie Seidel und E


    Bisserl in tvtv.c rumgeschmökert, ich glaub fast, es reicht aus, die URL zu ändern, nur der access-String schaut nicht mehr wie früher aus, aber den kann man ja auch so eingeben...
    bis wir per strace/ltrace herausgefunden haben, wie der generiert wird ;)

    [SIZE=7] PIII-933, 256 MB, 1 x Siemens DVB-C, 2x Technisat DVB-C :: Fedora 9[/SIZE]

  • Hi monty,


    wenn Du jetzt noch in Deiner 'getjobs' Zeile doctype=xml einsetzt, erhältst Du schon mal eine Liste, die der alten syncIt sehr ähnlich ist.
    Das ist genau der Ansatz, den ich gestern meinte und bei mir klappt das schon fast wieder. Ich werde nachher mal ein diff veröffentlichen...


    knut: danke für die logs :)


    cu Carsten


    There are 10 types of people in the world: those who know binary and those who don't.

  • BTW:
    doctype=xml anstatt doctype=csv erzeugt ein XML ;)


    Programmiert schon einer? Ich kann nicht testen, da nur 1x vdr, und der zeichnet grad auf :(

    [SIZE=7] PIII-933, 256 MB, 1 x Siemens DVB-C, 2x Technisat DVB-C :: Fedora 9[/SIZE]

  • Hier ein Beispiel...glaub, der XML-Parser im Plugin muß angepaßt werden


    <epg>
    <result>
    <errorcode>0</errorcode>
    <serial>***</serial>
    <records>20</records>
    </result>
    <prog>
    <progid>923894486</progid>
    <tvtvid>118</tvtvid>
    <channel>3sat</channel>
    <start>2005-05-05T14:45</start>
    <end>2005-05-05T16:00</end>
    <lto>7200</lto>
    <action>rec</action>
    <title>Dixie Chicks - An Evening With the Dixie Chicks</title>
    <ltext>Konzert/Country</ltext>
    <dtext>Konzertaufzeichnung


    Die Schwestern Martie Seidel und Emily Erwin grndeten 1989 die Band &quot;Dixie Chicks&quot; in Texas. Sie begannen als Straýnmusikantinnen, spielten in Clubs und wurden schnell b
    ekannt. Zusammen mit der Sýgerin Natalie Maines entwickelten sie ihren eigenen Sound und kamen 1998 mit ihrer CD &quot;Wide Open Spaces&quot; in die Countrycharts.</dtext>
    <country>USA</country>
    <year>2002</year>
    <format>8</format>
    <content>96</content>
    <name type="3">Joel Gallen</name>
    <name type="7">Dixie Chicks</name>
    <audio>0</audio>
    <video>2</video>
    </prog>
    </epg>


    Da kommen aber echt coole Infos rüber! year, country...

    [SIZE=7] PIII-933, 256 MB, 1 x Siemens DVB-C, 2x Technisat DVB-C :: Fedora 9[/SIZE]

  • Zitat

    Original von monty35


    Bisserl in tvtv.c rumgeschmökert, ich glaub fast, es reicht aus, die URL zu ändern, nur der access-String schaut nicht mehr wie früher aus, aber den kann man ja auch so eingeben...
    bis wir per strace/ltrace herausgefunden haben, wie der generiert wird ;)


    So, der access-String ist nun auch gelöst, ist ein MD5sum, hier Perl-Beispielcode.


    #!/usr/bin/perl -w


    use MIME::Base64;
    use Digest::MD5;


    my $login = "<login>";
    my $password = "<password>";
    my $token = "EPGSync";


    my $md5 = Digest::MD5->new;
    $md5->add($token . $login . $password);


    print encode_base64($md5->digest);



    Credits to "ltrace" ;) BTW: das tvtvForPC.dat scheint md5 hardcoded drin zu haben. Was das bringt, weiß ich auch nicht, ist es doch gegen libssl gelinkt...


    $ ldd tvtvForPC.dat
    libcurl.so.2 => /usr/lib/libcurl.so.2 (0x00417000)
    libc.so.6 => /lib/tls/libc.so.6 (0x00c75000)
    libssl.so.4 => /lib/libssl.so.4 (0x00f4e000)
    libcrypto.so.4 => /lib/libcrypto.so.4 (0x00a51000)
    libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x00b99000)
    libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x0018f000)
    libcom_err.so.2 => /lib/libcom_err.so.2 (0x00c12000)
    libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x00111000)
    libresolv.so.2 => /lib/libresolv.so.2 (0x003ce000)
    libdl.so.2 => /lib/libdl.so.2 (0x00132000)
    libz.so.1 => /usr/lib/libz.so.1 (0x00136000)
    /lib/ld-linux.so.2 (0x00369000)

    [SIZE=7] PIII-933, 256 MB, 1 x Siemens DVB-C, 2x Technisat DVB-C :: Fedora 9[/SIZE]


  • Bei mir ist <login> = <email>, somit muß zumindest für diesen Fall hier eine Änderung rein:
    asprintf(&s, "EPGSync%s%s%s", sEMail, sUserName, sPassword);

    [SIZE=7] PIII-933, 256 MB, 1 x Siemens DVB-C, 2x Technisat DVB-C :: Fedora 9[/SIZE]

Jetzt mitmachen!

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