Premiereepg2vdr 0.0.4

  • In der neuen Version wurde ein paar kleine Fehler beseitigt und es werden die kompletten Daten (Bestell- und Jugendschutzinformation) von Premiere ausgewertet. Aus dem Chnagelog:


    Version 0.0.4


    - bug fix on false warning on older compilers, thanks to armageddon
    - bug fix for endlos loops by get the vdr source thanks to maddle
    - added order and parental information
    - changes to create event id to prevent double entries
    - add function to zap to old channel
    - add functions to exit director plugin


    Das ganze ist hier erhältlich und das ebuild wird demnächst verfügbar sein.


    whitman

  • hab versucht diese und die vorversion zu installieren, bekomme bei ./configure
    folgendes (vdr.1.3.33)


    This file contains any messages produced by compilers while
    running configure, to aid debugging if configure makes a mistake.


    It was created by premiereepg2vdr configure 0.0.3, which was
    generated by GNU Autoconf 2.59. Invocation command line was


    $ ./configure


    ## --------- ##
    ## Platform. ##
    ## --------- ##


    hostname = debian
    uname -m = i686
    uname -r = 2.6.12-rc4-ct-2
    uname -s = Linux
    uname -v = #1 Mon May 9 11:47:46 UTC 2005


    /usr/bin/uname -p = unknown
    /bin/uname -X = unknown


    /bin/arch = i686
    /usr/bin/arch -k = unknown
    /usr/convex/getsysinfo = unknown
    hostinfo = unknown
    /bin/machine = unknown
    /usr/bin/oslevel = unknown
    /bin/universe = unknown


    PATH: /usr/local/sbin
    PATH: /usr/local/bin
    PATH: /usr/sbin
    PATH: /usr/bin
    PATH: /sbin
    PATH: /bin
    PATH: /usr/bin/X11



    ## ----------- ##
    ## Core tests. ##
    ## ----------- ##


    configure:1365: checking for a BSD-compatible install
    configure:1420: result: /usr/bin/install -c
    configure:1431: checking whether build environment is sane
    configure:1474: result: yes
    configure:1539: checking for gawk
    configure:1568: result: no
    configure:1539: checking for mawk
    configure:1555: found /usr/bin/mawk
    configure:1565: result: mawk
    configure:1575: checking whether make sets $(MAKE)
    configure:1599: result: no
    configure:1817: checking for g++
    configure:1846: result: no
    configure:1817: checking for c++
    configure:1846: result: no
    configure:1817: checking for gpp
    configure:1846: result: no
    configure:1817: checking for aCC
    configure:1846: result: no
    configure:1817: checking for CC
    configure:1846: result: no
    configure:1817: checking for cxx
    configure:1846: result: no
    configure:1817: checking for cc++
    configure:1846: result: no
    configure:1817: checking for cl
    configure:1846: result: no
    configure:1817: checking for FCC
    configure:1846: result: no
    configure:1817: checking for KCC
    configure:1846: result: no
    configure:1817: checking for RCC
    configure:1846: result: no
    configure:1817: checking for xlC_r
    configure:1846: result: no
    configure:1817: checking for xlC
    configure:1846: result: no
    configure:1859: checking for C++ compiler version
    configure:1862: g++ --version </dev/null >&5
    ./configure: line 1: g++: command not found
    configure:1865: $? = 127
    configure:1867: g++ -v </dev/null >&5
    ./configure: line 1: g++: command not found
    configure:1870: $? = 127
    configure:1872: g++ -V </dev/null >&5
    ./configure: line 1: g++: command not found
    configure:1875: $? = 127
    configure:1898: checking for C++ compiler default output file name
    configure:1901: g++ conftest.cc >&5
    ./configure: line 1: g++: command not found
    configure:1904: $? = 127
    configure: failed program was:
    | /* confdefs.h. */
    |
    | #define PACKAGE_NAME "premiereepg2vdr"
    | #define PACKAGE_TARNAME "premiereepg2vdr"
    | #define PACKAGE_VERSION "0.0.3"
    | #define PACKAGE_STRING "premiereepg2vdr 0.0.3"
    | #define PACKAGE_BUGREPORT "software@katzur.de"
    | #define PACKAGE "premiereepg2vdr"
    | #define VERSION "0.0.3"
    | /* end confdefs.h. */
    |
    | int
    | main ()
    | {
    |
    | ;
    | return 0;
    | }
    configure:1943: error: C++ compiler cannot create executables
    See `config.log' for more details.


    ## ---------------- ##
    ## Cache variables. ##
    ## ---------------- ##


    ac_cv_env_CC_set=
    ac_cv_env_CC_value=
    ac_cv_env_CFLAGS_set=
    ac_cv_env_CFLAGS_value=
    ac_cv_env_CPPFLAGS_set=
    ac_cv_env_CPPFLAGS_value=
    ac_cv_env_CPP_set=
    ac_cv_env_CPP_value=
    ac_cv_env_CXXFLAGS_set=
    ac_cv_env_CXXFLAGS_value=
    ac_cv_env_CXX_set=
    ac_cv_env_CXX_value=
    ac_cv_env_LDFLAGS_set=
    ac_cv_env_LDFLAGS_value=
    ac_cv_env_build_alias_set=
    ac_cv_env_build_alias_value=
    ac_cv_env_host_alias_set=
    ac_cv_env_host_alias_value=
    ac_cv_env_target_alias_set=
    ac_cv_env_target_alias_value=
    ac_cv_path_install='/usr/bin/install -c'
    ac_cv_prog_AWK=mawk
    ac_cv_prog_make_make_set=no


    ## ----------------- ##
    ## Output variables. ##
    ## ----------------- ##


    ACLOCAL='${SHELL} /premiereepg2vdr-0.0.3/missing --run aclocal-1.9'
    AMDEPBACKSLASH=''
    AMDEP_FALSE=''
    AMDEP_TRUE=''
    AMTAR='${SHELL} /premiereepg2vdr-0.0.3/missing --run tar'
    AUTOCONF='${SHELL} /premiereepg2vdr-0.0.3/missing --run autoconf'
    AUTOHEADER='${SHELL} /premiereepg2vdr-0.0.3/missing --run autoheader'
    AUTOMAKE='${SHELL} /premiereepg2vdr-0.0.3/missing --run automake-1.9'
    AWK='mawk'
    CC=''
    CCDEPMODE=''
    CFLAGS=''
    CPP=''
    CPPFLAGS=''
    CXX='g++'
    CXXDEPMODE=''
    CXXFLAGS=''
    CYGPATH_W='echo'
    DEFS=''
    DEPDIR=''
    ECHO_C=''
    ECHO_N='-n'
    ECHO_T=''
    EGREP=''
    EXEEXT=''
    INSTALL_DATA='${INSTALL} -m 644'
    INSTALL_PROGRAM='${INSTALL}'
    INSTALL_SCRIPT='${INSTALL}'
    INSTALL_STRIP_PROGRAM='${SHELL} $(install_sh) -c -s'
    LDFLAGS=''
    LIBOBJS=''
    LIBS=''
    LTLIBOBJS=''
    MAKEINFO='${SHELL} /premiereepg2vdr-0.0.3/missing --run makeinfo'
    OBJEXT=''
    PACKAGE='premiereepg2vdr'
    PACKAGE_BUGREPORT='software@katzur.de'
    PACKAGE_NAME='premiereepg2vdr'
    PACKAGE_STRING='premiereepg2vdr 0.0.3'
    PACKAGE_TARNAME='premiereepg2vdr'
    PACKAGE_VERSION='0.0.3'
    PATH_SEPARATOR=':'
    SET_MAKE='MAKE=make'
    SHELL='/bin/sh'
    STRIP=''
    VERSION='0.0.3'
    ac_ct_CC=''
    ac_ct_CXX='g++'
    ac_ct_STRIP=''
    am__fastdepCC_FALSE=''
    am__fastdepCC_TRUE=''
    am__fastdepCXX_FALSE=''
    am__fastdepCXX_TRUE=''
    am__include=''
    am__leading_dot='.'
    am__quote=''
    am__tar='${AMTAR} chof - "$$tardir"'
    am__untar='${AMTAR} xf -'
    bindir='${exec_prefix}/bin'
    build_alias=''
    datadir='${prefix}/share'
    exec_prefix='NONE'
    host_alias=''
    includedir='${prefix}/include'
    infodir='${prefix}/info'
    install_sh='/premiereepg2vdr-0.0.3/install-sh'
    libdir='${exec_prefix}/lib'
    libexecdir='${exec_prefix}/libexec'
    localstatedir='${prefix}/var'
    mandir='${prefix}/man'
    mkdir_p='mkdir -p --'
    oldincludedir='/usr/include'
    prefix='NONE'
    program_transform_name='s,x,x,'
    sbindir='${exec_prefix}/sbin'
    sharedstatedir='${prefix}/com'
    sysconfdir='${prefix}/etc'
    target_alias=''


    ## ----------- ##
    ## confdefs.h. ##
    ## ----------- ##


    #define PACKAGE "premiereepg2vdr"
    #define PACKAGE_BUGREPORT "software@katzur.de"
    #define PACKAGE_NAME "premiereepg2vdr"
    #define PACKAGE_STRING "premiereepg2vdr 0.0.3"
    #define PACKAGE_TARNAME "premiereepg2vdr"
    #define PACKAGE_VERSION "0.0.3"
    #define VERSION "0.0.3"


    configure: exit 77

    **************************************************************
    c't VDR: 1.4.5-1ctvdr1 / Kernel : 2.6.12-rc4-ct-2
    TT1.6, TT Budget, CI: Alphacrypt
    Intel PIV 1Ghz, 1GB Ram / Harman Kardon AVR 635
    HDD 160 GB Samsung + 2x 250 Hitachii
    Promise Ultra133 TX2 + 250 GB Samsung
    Wien - Österreich


    c't VDR: 1.4.5-1ctvdr1
    Kernel : 2.6.12-rc4-ct-2
    **************************************************************


  • Es gibt scheinbar keinen compiler auf Deinem System zu sein oder er befindet sich nicht im Pfad. Schaue mal ob ein Compiler installisert ist, oder installiere einen.


    whitman

  • Hab grad nen Update auf die neue Version gemacht, funzt hier ohne Probleme!

    FSC Primergy TX 300 S4 | 2 x Intel(R) Xeon(R) CPU X5460 @ 3.16GHz | RAM 16GB | VDR-SERVER | Centos 7 Kernel-4.19.0 | DVBSky S952 v3 & DVBSKy S950 v3 | VDR-2.2.0 | iptv, dummydevice, dvbhddevice, svdrposd, streamdev-server.
    Raspbery Pi 1 Model B + | Debian wheezy Kernel-4.4.50+ | VDR-2.2.0 | epgsearch, remotetimers, skinsoppalusikka, svdrpservice, mailbox, rpihddevice, sleeptimer, osdteletext, streamdev-client
    Raspbery Pi 2 - Model B | Debian jessie Kernel-4.4.50-v7+ | VDR-2.2.0 | epgsearch, remotetimers, skinsoppalusikka, svdrpservice, mailbox, rpihddevice, sleeptimer, osdteletext, streamdev-client


  • danke, wie mach ich das? einen compiler installieren?

    **************************************************************
    c't VDR: 1.4.5-1ctvdr1 / Kernel : 2.6.12-rc4-ct-2
    TT1.6, TT Budget, CI: Alphacrypt
    Intel PIV 1Ghz, 1GB Ram / Harman Kardon AVR 635
    HDD 160 GB Samsung + 2x 250 Hitachii
    Promise Ultra133 TX2 + 250 GB Samsung
    Wien - Österreich


    c't VDR: 1.4.5-1ctvdr1
    Kernel : 2.6.12-rc4-ct-2
    **************************************************************

    Einmal editiert, zuletzt von madle ()

  • hallo whitman,
    Vielen dank für deine antwort. war über das wiki auf den alten thread gekommen, deshalb hatte ich auch dort gepostet.


    Also, bin jetzt um/aufgestiegen auf deine neue version 0.0.4 und somit richtig hier. also dein tool arbeitet wunderbat, erzeugt die epg-einträge usw, aber beim einstellen via svdrp gibt es probleme. und das ist auch normal, ich hatte die gleichen probs auch beim tvmovie und anderen tools.


    Hier ein auszug aus der man 5 seite des vdr 1.26:


    A particular channel can be uniquely identified by its channel ID,
    which is a string that looks like this:


    S19.2E-0-12188-12003-0


    The components of this string are the Source (S19.2E), Frequency
    (12188, MHz) and SID (12003) as defined above. The parts that are currently
    0 are reserved for future use (the last part can be omitted if it is 0,
    so the above example could also be written as S19.2E-0-12188-12003).


    Ich habee mal hier einige Beispiele für eintrag aus der channels.conf und korrespondierendem ID-String.


    S19.2E-0-12032-18 PREMIERE DIREKT (PREMIERE):12032:h:S19.2E:27500:2815:2816,2817;2819:0:0:18:0:0:0
    S19.2E-0-12032-208 [00d0]:12032:h:S19.2E:27500:3071:3072,3073;3075:0:102:208:0:0:0
    S19.2E-0-12032-209 [00d1]:12032:h:S19.2E:27500:3327:3328,3329;3331:0:102:209:0:0:0
    S19.2E-0-12032-210 [00d2]:12032:h:S19.2E:27500:2303:2304,2305;2307:0:102:210:0:0:0


    Im Log von premiere2epg das dann so aus:


    Transfer data 37 of 605
    Data:
    C S19.2E-133-4-208


    Transfer data 38 of 605
    Data:
    E 1143083518 1141369224 7841 A0
    T Coach Carter
    S Sportfilm
    D Geschäftsmann Ken Carter (Samuel L. Jackson) kehrt ........


    Ich nehme mal an das C S19.2E-133-4-208 = S19.2E-0-12032-208 (wg. der SID) ist. Weil das svdrp natürlich diesen kanal nicht findet wird er auch leider nicht eingetragen.


    Ich habe mal in Deinen Code geguckt, man könnte (wenn man die frequenz hat) sehr leicht einen kompatiblen eintrag für vdr 1.26 bauen


    aus premierecit.cpp


    // source
    strEpg = "C ";
    strEpg += m_strSourcePrefix;
    strEpg += "-0-";
    strEpg += Number2String(DescriptorContentTransmition.GetTransportFrequency());
    strEpg += "-";
    strEpg += Number2String(DescriptorContentTransmition.GetServiceId());
    strEpg += "\n";


    Nur wie krieg ich die frequenz?




    danke


    klaus

  • In Ergänzung: Weiss natürlich nicht ob die frequenzangabe irgendwo in deinem pchbuffer enthalten ist oder ob p***** das überhaupt mitsendet ......


    klaus

  • Die Info zeigen es so, wie Du schon beschrieben hast (insbesonders der man page Auszug). Im vdr-wiki (Thread link aktualisiert) findet man nur die aktuelle epg.data Infos.
    Wie Du schon selbst geschrieben hast ist die größte Schwierigkeit dürfte das mapping der Mhz sein. In den empfangenden Daten ist nichts drin (die allgemeine service Identifizierung läuft fast so ab wie im aktuellen VDR).
    Dort bliebe entweder die NIT zu parsen (dort würde man die MHz finden) oder vielleicht die Daten per svdrp zu erhalten.
    Ich schaue mal heute Abend was einfacher ist.


    BTW: Gibt es noch weitere relevante Unterschiede in der epg.data?
    Könntest Du per einfacher Ersetzung die Daten in der VDR bekommen?


    whitman

  • Hallo whitman,


    Eigentlich komisch das das noch nie jemandem aufgefallen ist....
    Benutzen denn alle nur noch den 1.3x ??? Die letzte stable ist doch immerhin noch die 1.26??


    Zitat

    Könntest Du per einfacher Ersetzung die Daten in der VDR bekommen?


    Da habe ich heute auch intensiv drüber nachgedacht. Der mist ist das auch mein scan weder tid noch nid anzeigt, egal was ich ihm im -e parameter übergebe. Meine idee war folgende. Sobald du den id string hast schauen wir in eine textdatei rein die folgendermassen aufgebaut ist:


    newid oldid
    S19.2E-133-4-208 S19.2E-133-4-208


    a) wenn du den eintrag dort findest, nimmst du den 2ten teil als parameter fürs pute kommando.
    b) findest du den eintrag nicht erzeugst du eine neue zeile in der textdatei mit dem eintrag und nimmst den string wie er war fürs puten


    So dann könnte man hergehen, das teil einmal laufen lassen und anschliessend von hand die einträge abändern in


    newid oldid
    S19.2E-133-4-208 S19.2E-0-12032-208


    dann noch einen schalter einbau (-r replace mode oder sonstwie), wenn premiereepg2vdr damit aufgerufen wird läuft es wie oben beschrieben, ansonsten wie bisher.
    bischen quick and dirty, aber würde funzen.


    danke


    klaus

  • Hallo whitman,


    Habe jetzt immer neugierig ins portal geschaut ob du da irgendeine idee oder ansatz verfolgst.
    Wenn nein dann wuerde ich mir was scripten. Habe bereits entsprechende experimente gemacht. Wenn ich aus dem logfile deine Kommandos rausparse und diese mit dem korrekten channel id versehe fluppt es nämlich prima.
    Waere es dir vielleicht moeglich mir dann eine korrekte channels.conf fuer den vdr in der 1.3 Version zuzuschicken, damit ich mir da mal die fehlenden id's rausparsen kann und mir damit einen mapper bauen kann ?
    Wenn Du allerdings gerade irgendwas unternimmst warte ich natuerlich geduldig, aber ich haette es natuerlich schon sehr gerne, weil dein tool und die idee einfach supergeil ist ! Besonders Samstags nachmittag, obwohl du da wahrscheinlich (muenchen!) immer einen anderen optionskanal einschaltest als ich ;D (ich aergere mich ohne ende) aber na ja so is dat halt.......


    Danke


    Klaus

  • Keine Angst vergessen bist Du nicht, aber es kommt ja imemr anderes als man denkt. Nun das Auslesen via svdrp haut nicht hin, da ich nichts passendes finde.
    Also habe ich nun eine extra Datei zur Ersetzung des Transportstrream ids zur Frequenz hinzugefügt. Dafür gibt es die Option -O, aber ist eh alles beschrieben, allerdings konnte ich es nicht testen. Klick.
    chaue mal ob es so funtioniert, bzw. was falsch ist.


    Samstag schaue ich selten Fussball (1860 spielt Freitag oder Sonntags), aber was ist schon Fussball, der Motorsport / NFL sind es :D


    whitman

  • hi whitman,


    Zunächst 1000 dank, allmählich wirds. Was noch gar nicht tut ist der kommandozeilenparameter.


    Aber wenn ich das hier manuell setze gehts los:


    CPremiereCit::CPremiereCit(unsigned char *pchBuffer, long nLength)
    {
    // set default output values
    ......
    m_bUseOldVdrSyntax = true;


    Hier drin zwei kleine bugs, a der name der datei (war ohne u), dann im substr ausdruck vom transport stream keine -1 !


    void CPremiereCit::ReadFrequencys()
    {
    std::fstream file;
    file.open("frequency.conf", std::fstream::in);
    ......
    strTransportStream = strLine.substr(0, Position);
    strFrequency = strLine.substr(Position + 1);


    Der Aufabau von frequency.conf, keine leerzeichen zwischen den kommas.


    # transportstream number, frequency (in Mhz
    1,12070
    2,11798
    3,11720
    4,12032
    17,11758


    Soweit so gut



    klaus

  • Du machst ein gute Fehleranlyse, aber der Fehler sitzt hier vor dem Monitor. Hatte die genannten Dinge korrigiert (getest hatte ich ja). So wird die Option richtig übergeben, der Dateiname ist richtig als auch die Leerzeichen werden entfernt. Allerdings habe ich Dir ein veraltes Archiv bereitgestellt :(


    Nunja, ich habe es nochmal neu gepackt ohne jegliche andere Änderung und würde Dich nochmal bitte zu testen. Wenn es soweit läuft würde ich die Version final machen.


    Danke
    whitman

  • oh scheisse,
    und das wo ich c so gut kann wie ne kuh tanzen ....
    na ja hab ich wenigstens was gelernt. Teste heute im laufe des tages.


    danke


    klaus

  • Zitat

    Original von kdeiss
    und das wo ich c so gut kann wie ne kuh tanzen ....
    na ja hab ich wenigstens was gelernt.


    Tanzende Kühe habe ich schon gesehen, aber das war wohl nur im Film :D


    Tut mir leid wegen der Umstände, es war wohl zu spät gewesen... :rolleyes:
    Naja, hauptsache ist das es nun bei Dir gehen wird (wovon ich nach Deinem ersten Bericht ausgehe).


    whitman

  • Ah ja stimmt, da diese KungPow, kenn ich auch, ziemlich lustig.


    Zurück zum pre: Also die Version von heute ist ziemlich gut und arbeitet wie beschrieben, einzig die frequency.conf enthielt diese leerzeichen.
    Bei mir liegt die tid 1 auf 12071.


    Aber nicht auf allen O-Kanaelen liegt danach EPG an. Z.B auf 12071 habe ich nur einen Kanal mit EPG, die anderen sind leer. Die Bluemovie Abteilung ist komplett leer, hatte auch mal auf der EROS startseite den scan gemacht, der hatte auch Einträge, aber nix im EPG. Das muss ich mir mal noch intensiver anschauen, das sind alles wahrscheinlich nur Zuordnungsprobleme.


    Das Tool selber scheint einwandfrei zu funktionieren.


    Klaus

  • Zitat

    Original von kdeiss
    Zurück zum pre: Also die Version von heute ist ziemlich gut und arbeitet wie beschrieben, einzig die frequency.conf enthielt diese leerzeichen.
    Bei mir liegt die tid 1 auf 12071.


    Die Leerzeichen werden ignoriert, wenn dies bei Dir nicht der Fall sein sollte, schaue ich es mir nochmal an.
    Der offizelle Wert ist 12070,5 daher gibt es mal die oder die andere Angabe. Dies gilt auch bei einigen anderen Transpondern. Ich werde einen Hinweis ins Readme aufnehmen.


    Zitat

    Aber nicht auf allen O-Kanaelen liegt danach EPG an. Z.B auf 12071 habe ich nur einen Kanal mit EPG, die anderen sind leer. Die Bluemovie Abteilung ist komplett leer, hatte auch mal auf der EROS startseite den scan gemacht, der hatte auch Einträge, aber nix im EPG.


    Da es beim EPG dort Lücken gibt, muss ich kurz fragen, wie hast Du nachgeschaut, nur in der VDR übersicht oder per Programm auf dem Kanal?
    Welche Kanäle fehlen (SID reicht)?
    Ob Ab18 Daten hat weiss ich nicht, muss ich mir anschauen.


    Zitat

    Das Tool selber scheint einwandfrei zu funktionieren.


    Das ist doch schon gut.


    whitman

  • Hi,
    Das mit den leerzeichen hatte ich direkt gemacht ohne vorher zu testen (wg der Erfahrung von gestern...).


    Hoppelsender: Ich denke ich muss jetzt auch erst mal ein bischen regelmässig gucken was geht und was nicht. Ich denke auf jeden Fall kann man das erst mal releasen....
    Habe auf jeden Fall sowohl Übersicht als auch einzelne Sender geguckt.


    Nochmals, wirklich ein supertool!
    1000 dank!


    klaus

Jetzt mitmachen!

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