Manchmal frage ich mich, warum ich etwas so und nicht besser gemacht habe. Naja. Die Datenbank wurde neu erstellt. Probiere es mal mit der neuen Version.
naja, so hast Du immer noch Luft nach oben...
Passt jetzt wieder, Danke!
Christian
Manchmal frage ich mich, warum ich etwas so und nicht besser gemacht habe. Naja. Die Datenbank wurde neu erstellt. Probiere es mal mit der neuen Version.
naja, so hast Du immer noch Luft nach oben...
Passt jetzt wieder, Danke!
Christian
Hi,
irgendwas habe ich wohl verstellt.
Ich erhalte im eismann keine EPG-Provider mehr angezeigt. Die Spalte ist bei allen Sendern leer. Außerdem fehlen mir einige Sender, z.B. SAT.1.
Verwende die aktuelle database von https://github.com/Zabrimus/iptvdb/releases und weiß grad nicht mehr weiter.
Beim export erscheinen dann Zeilen in dieser Art:
<!-- Dieser Kanal kann nicht gefunden werden. Wahrscheinlich stimmt die xmltv_id nicht.
<channel site="web.magentatv.de" lang="de" xmltv_id="DasErste.de" site_id="null">null</channel>
-->
Christian
Ich bin mit automatischen Übersetzern ein wenig auf Kriegsfuß, zumal, wenn ich nicht einschätzen kann, was der Empfänger dann serviert bekommt, weil ich die Sprache nicht beherrsche. Ich würde nur händisch übersetzte Sprachen aufnehmen.
Mein schönstes Erlebnis war mal eine Navi-App, die mir die Installation einer "Karte für Truthahn" vorgeschlagen hat.
wer nicht drauf kommt: Türkei=Turkey=Truthahn
leider keine Besserung mit 18.diff
bt full
(gdb) bt full
#0 cDvbTuner::Frontend (this=0xc4cfac) at dvbdevice.c:580
#1 cDvbDevice::Frontend (this=this@entry=0x5589d0406780) at dvbdevice.c:1932
#2 0x00007f16049ef53c in InfoResponder::getDeviceSerializeInfo (this=this@entry=0x7f158400dbc0, index=index@entry=0) at info.cpp:276
fe = <optimized out>
sd = Python Exception <class 'gdb.error'>: There is no member or method named _M_dataplus.
Python Exception <class 'gdb.error'>: There is no member or method named _M_dataplus.
{Name = , dvbc = 9, dvbs = false, dvbt = false, atsc = false, primary = false, hasDecoder = false, HasCi = false, SignalStrength = 1802725732, SignalQuality = 1734439797, str = 101, snr = 0, ber = 0, unc = 2348804264, status = , Adapter = -2080345184, Frontend = 32533, Type = , Number = -2080303984, ChannelId = , ChannelName = , ChannelNr = -1945916576, Live = 21}
dev = 0x5589d0406780
deviceName = {_vptr.cString = 0x5589b288ecf8 <vtable for cString+16>, s = 0x7f158400d3f0 "SAT>IP 0 10.75.157.12|DVBS2-8|octonet-pro\n"}
name = <optimized out>
chan = 0x5589d04092d8
channelName = "Das Erste HD"
channelId = "S19.2E-1-1019-10301"
hasCi = false
signalStrength = 72
signalQuality = 100
str = 0
snr = 0
ber = 0
unc = 0
statusValue = (FE_REINIT | unknown: 0x53000080)
status = "@\025\001\204\025\177\000\000@\025\001\204\025\177\000\000@\027\001\204\025\177\000\000`\024\001\204\025\177\000\000P\030\001\204\025\177\000\000P\030\001\204\025\177\000\000P\032"
adapter = 90484944
frontend = -1
type = "n.a."
channelNr = 1
live = true
#3 0x00007f16049f13a2 in InfoResponder::replyJson (this=0x7f158400dbc0, se=<optimized out>) at info.cpp:118
sd = Python Exception <class 'gdb.error'>: There is no member or method named _M_dataplus.
Python Exception <class 'gdb.error'>: There is no member or method named _M_dataplus.
{Name = , dvbc = 9, dvbs = false, dvbt = false, atsc = false, primary = false, hasDecoder = false, HasCi = false, SignalStrength = 1802725732, SignalQuality = 1734439797, str = 101, snr = 0, ber = 0, unc = 2348804264, status = , Adapter = -2080345184, Frontend = 32533, Type = , Number = -2080303984, ChannelId = , ChannelName = , ChannelNr = -1945916576, Live = 21}
now = <optimized out>
statm = <optimized out>
serializer = {_formatter = <incomplete type>, _os = 0x5589ddbf36b8, _inObject = true}
services = Python Exception <class 'gdb.error'>: There is no member or method named _M_dataplus.
Python Exception <class 'gdb.error'>: There is no member or method named _M_dataplus.
std::vector of length 19, capacity 32 = {{Path = , Version = 1, Internal = true}, {Path = , Version = 1, Internal = true}, {Path = , Version = 1, Internal = true}, {Path = , Version = 1, Internal = true}, {Path = , Version = 1, Internal = true}, {Path = , Version = 1, Internal = true}, {Path = , Version = 1, Internal = false}, {Path = , Version = 1, Internal = true}, {Path = , Version = 1, Internal = true}, {Path = , Version = 1, Internal = true}, {Path = , Version = 1, Internal = true}, {Path = , Version = 1, Internal = true}, {Path = , Version = 1, Internal = true}, {Path = , Version = 1, Internal = false}, {Path = , Version = 1, Internal = true}, {Path = , Version = 1, Internal = true}, {Path = , Version = 1, Internal = true}, {Path = , Version = 1, Internal = true}, {Path = , Version = 1, Internal = true}}
restful_services = std::vector of length 19, capacity 32 = {0x7f158c001040, 0x7f158c005040, 0x7f158c008730, 0x7f158c00c6d0, 0x7f158c00fea0, 0x7f158c012ec0, 0x7f158c012f00, 0x7f158c016450, 0x7f158c01cca0, 0x7f158c01fca0, 0x7f158c0236c0, 0x7f158c026000, 0x7f158c0289b0, 0x7f158c02b320, 0x7f158c02b360, 0x7f158c030c60, 0x7f158c0338e0, 0x7f158c037980, 0x7f158c03a7e0}
s = Python Exception <class 'gdb.error'>: There is no member or method named _M_dataplus.
{Path = , Version = 1, Internal = true}
vdr = Python Exception <class 'gdb.error'>: There is no member or method named _M_dataplus.
Python Exception <class 'gdb.error'>: There is no member or method named _M_dataplus.
[...]
Python Exception <class 'gdb.error'>: There is no member or method named _M_dataplus.
{version = "", plugins = std::vector of length 12, capacity 16 = {{Name = , Version = }, {Name = , Version = }, {Name = , Version = }, {Name = , Version = }, {Name = , Version = }, {Name = , Version = }, {Name = , Version = }, {Name = , Version = }, {Name = , Version = }, {Name = , Version = }, {Name = , Version = }, {Name = , Version = }}, devices = std::vector of length 0, capacity 0}
p = <optimized out>
counter = <optimized out>
ds = {FreeMB = 1702123, UsedPercent = 68, FreeMinutes = 27440, Description = "Disk 68% - 457:20 frei"}
numDevices = 3
i = 0
#4 0x00007f16049e9723 in InfoResponder::reply (this=0x7f158400dbc0, out=<optimized out>, request=<optimized out>, reply=...) at info.cpp:27
q = {_url = "/info.json", _service = "/info", _params = std::vector of length 1, capacity 1 = {".json"}, _options = {_values = std::vector of length 0, capacity 0}, _body = {_values = std::vector of length 0, capacity 0}, jsonParser = {QUOTATIONCHAR = -20 '\354'}, jsonObject = 0x0, _format = ".json"}
se = {_out = 0x5589ddbf36b8}
#5 0x00007f160492fa3f in cxxtools::http::Socket::doReply() () at /usr/lib64/libcxxtools-http.so.10
#6 0x00007f1604cc3bb3 in cxxtools::StreamBuffer::onRead(cxxtools::IODevice&) () at /usr/lib64/libcxxtools.so.10
#7 0x00007f1604c296b3 in cxxtools::IODeviceImpl::inputReady() () at /usr/lib64/libcxxtools.so.10
#8 0x00007f1604d1bc90 in cxxtools::net::TcpSocketImpl::inputReady() () at /usr/lib64/libcxxtools.so.10
#9 0x00007f1604c2996d in cxxtools::IODeviceImpl::checkPollEvent(pollfd&) () at /usr/lib64/libcxxtools.so.10
#10 0x00007f1604d1b42e in cxxtools::net::TcpSocketImpl::checkPollEvent(pollfd&) () at /usr/lib64/libcxxtools.so.10
#11 0x00007f1604c297f2 in cxxtools::IODeviceImpl::wait(cxxtools::Timespan) () at /usr/lib64/libcxxtools.so.10
#12 0x00007f16049379ff in cxxtools::http::Worker::run() () at /usr/lib64/libcxxtools-http.so.10
#13 0x00007f1604ce50a9 in ??? () at /usr/lib64/libcxxtools.so.10
#14 0x00007f160e240921 in ??? () at /usr/lib64/libc.so.6
#15 0x00007f160e2c0e3c in ??? () at /usr/lib64/libc.so.6
(gdb)
wie ich in gdb die Python exceptions wegbekomme, habe ich keine Ahnung.
Hi,
wenn ich http://vdr:8002/info.json aufrufe, stürzt restfulapi bei mir reproduzierbar ab, wenn der vdr komplett gestartet ist. Während der Startphase geht's noch.
Wenn ich einige plugins deaktiviere (live, scraper2vdr) tritt der Absturz seltener auf.
log:
Sep 21 09:33:20 vdr vdr[1089]: 5:185m5:185mepg2vdr: Updating table timers (and remove deleted and finished timers older than 2 d>:20 vdr vdr[1089]: 5:185m5:185mepg2vdr: Updating table timers done
Sep 21 09:33:51 vdr kernel: Restfulapi Serv[1134]: segfault at e8b7c0 ip 000056398260bc40 sp 00007f075d7f9408 error >Sep 21 09:33:51 vdr kernel: Code: 2b 04 25 28 00 00 00 75 09 48 83 c4 10 48 89 d8 5b c3 e8 63 1d fc ff 90 66 90 f3 0>Sep 21 09:33:51 vdr systemd[1]: 5:185m5:185mvdr.service: Main process exited, code=killed, status=11/SEGV
Sep 21 09:33:51 vdr systemd[1]: 5:185m5:185mvdr.service: Failed with result 'signal'.
Sep 21 09:33:51 vdr systemd[1]: vdr.service: Consumed 13.275s CPU time.
Sep 21 09:33:51 vdr systemd[1]: Stopping X on vt7 for vdr...
vdr --showargs
vdr ~ # vdr --showargs
--plugin=skindesigner -l /var/cache/vdr/channellogos/logos-vdr/ -e /var/cache/vdr/epgimages/ -s /etc/vdr/etc/plugins/skindesigner/skins/
--plugin=dbus2vdr
--plugin=epg2vdr
--plugin=mpv -a alsa -v gpu -h auto -b /video/movies
--plugin=satip -d2
--plugin=softhddevice -f -v cuvid -a default
--plugin=imonlcd
--plugin=live --epgimages=/var/cache/vdr/epgimages
--plugin=remote -p tcp:3333 -i /dev/input/irremote
--plugin=restfulapi --epgimages=/var/cache/vdr/epgimages --channellogos=/var/cache/vdr/channellogos/logos-vdr
--plugin=scraper2vdr --mode client --imagedir /var/cache/vdr/epgimages/
--plugin=dvbapi -o4
-c
/etc/vdr/etc
-s
/usr/local/bin/vdrshutdown
-r
/usr/local/bin/rwrapper.sh
-t
/dev/tty8
-v
/video
--localedir=/usr/local/src/VDR/locale
-E
/etc/vdr/etc/epg.data
--grab=/tmp
-l
3.7
-u
vdr
--vfat
-w
45
-L
/usr/local/src/VDR/PLUGINS/lib
--chartab=ISO-8859-9
vdr ~ #
bt
(gdb) bt
#0 cDvbTuner::Frontend (this=0xc4cfac) at dvbdevice.c:580
#1 cDvbDevice::Frontend (this=this@entry=0x5589d0406780) at dvbdevice.c:1932
#2 0x00007f16049ef53c in InfoResponder::getDeviceSerializeInfo (this=this@entry=0x7f158400dbc0, index=index@entry=0) at info.cpp:276
#3 0x00007f16049f13a2 in InfoResponder::replyJson (this=0x7f158400dbc0, se=<optimized out>) at info.cpp:118
#4 0x00007f16049e9723 in InfoResponder::reply (this=0x7f158400dbc0, out=<optimized out>, request=<optimized out>, reply=...) at info.cpp:27
#5 0x00007f160492fa3f in cxxtools::http::Socket::doReply() () at /usr/lib64/libcxxtools-http.so.10
#6 0x00007f1604cc3bb3 in cxxtools::StreamBuffer::onRead(cxxtools::IODevice&) () at /usr/lib64/libcxxtools.so.10
#7 0x00007f1604c296b3 in cxxtools::IODeviceImpl::inputReady() () at /usr/lib64/libcxxtools.so.10
#8 0x00007f1604d1bc90 in cxxtools::net::TcpSocketImpl::inputReady() () at /usr/lib64/libcxxtools.so.10
#9 0x00007f1604c2996d in cxxtools::IODeviceImpl::checkPollEvent(pollfd&) () at /usr/lib64/libcxxtools.so.10
#10 0x00007f1604d1b42e in cxxtools::net::TcpSocketImpl::checkPollEvent(pollfd&) () at /usr/lib64/libcxxtools.so.10
#11 0x00007f1604c297f2 in cxxtools::IODeviceImpl::wait(cxxtools::Timespan) () at /usr/lib64/libcxxtools.so.10
#12 0x00007f16049379ff in cxxtools::http::Worker::run() () at /usr/lib64/libcxxtools-http.so.10
#13 0x00007f1604ce50a9 in ??? () at /usr/lib64/libcxxtools.so.10
#14 0x00007f160e240921 in ??? () at /usr/lib64/libc.so.6
#15 0x00007f160e2c0e3c in ??? () at /usr/lib64/libc.so.6
(gdb)
Ideen?
Christian
So wie ich das sehe, hat restfulapi den Titel der aktuellen Sendung (live und Wiedergabe) mit im info. Leider stürzt das Plugin bei mir auf der info-Seite praktisch immer ab. Abfrage klappt hier nur, während vdr noch startet. Danach segfault. Muss ich mal noch mit rumspielen.
Edit: stürzt seltener ab, wenn ich live und scraper2vdr deaktiviere.
| channel | "S19.2E-1-1019-10301" |
| eventid | 1035 |
| start_time | 1758028200 |
| duration | 3000 |
| title | "Sturm der Liebe (4458)" |
Hm. Live wird schwierig, da diese Daten erst dynamisch gefüllt werden. Das ist im html per curl nicht mit drin.
Hmm. Das Live-Plugin weiß doch nicht, was am Fernseher läuft? In Live selbst kann man sich unter "Frenbedienung" was ansehen, aber das muß (bei mehreren Tunern jedenfalls) nicht das sein, was gerade über HDMI rausgeht.
doch, live zeigt an, welcher Sender gerade auf dem Bildschirm ist und welche Sendung dieser zeigt bzw. als "Wiedergabe" den Titel der Sendung. Das ist meines Wissens immer das, was gerade am Fernseher dann auch zu sehen ist.
http://www.vdr-wiki.de/wiki/images/th…e-plugin-02.jpg
Vermutlich wird es auf live rauslaufen.
Wie kann ich denn den Titel der aktuell laufenden Sendung bzw. Wiedergabe von extern abfragen? Bevorzugt z.B. mit dem restfulapi-Plugin, aber da finde ich keine Lösung dafür.
Ich benötige einfach das, was das imonlcd ausgibt, also z.B. "Tagesschau".
Notfalls könnte man vermutlich das live-Plugin parsen, aber das ist mir für so häufige Abfragen eigentlich zu schwergewichtig.
Würde das gerne mit scripten bzw. mit fhem weiterverarbeiten.
tvsp ist nun komplett stumm und tvm funktioniert bei mir leider schon sehr lange nicht, erhalte immer "XSLT transformation failed", für alle Sender und an allen Tagen.
Mai 16 08:26:25 web epgd[46317]: Updating 'tvm' day today+0 now
Mai 16 08:26:25 web epgd[46317]: Checking tvm id 1
Mai 16 08:26:25 web epgd[46317]: Downloaded file 'http://www.clickfinder.de/daten/onlineda…-premium-1.cftv' with (101304) Bytes
Mai 16 08:26:25 web epgd[46317]: Extracting 'tvdaten-premium-1.cftv'
Mai 16 08:26:25 web epgd[46317]: Creating xml of 1
Mai 16 08:26:26 web epgd[46317]: tmp.xml.gz:26353: parser error : Extra content at the end of the document
Mai 16 08:26:26 web epgd[46317]: ^
Mai 16 08:26:26 web epgd[46317]: Error parsing XML File 'tvdaten-premium-1.cftv'
Mai 16 08:26:26 web epgd[46317]: XSLT transformation for 'tvdaten-premium-1.cftv' failed, ignoring
Mai 16 08:26:26 web epgd[46317]: Processing of 'tvdaten-premium-1.cftv' failed
Irgendjemand eine Idee, woran das liegen könnte. Bin mit meinem Latein am Ende. Datenbank habe ich schon geleert und neu anlegen lassen, kein Erfolg.
Gibt es eine neuere Plugin-Version als die von 3PO mit letztem Update vor 6 Jahren?
Ok, die "cellular" hab ich schon getauscht, aber im Plugin nur eine Stelle gefunden. Die epg-Downloads funktionieren ja wieder, muß für die "images" noch wo ein Eintrag sein.
die images sind in den xml-Dateien hart verlinkt. Gehe mal davon aus, dass tvsp das selbst irgendwann merkt und umstellt.
Christian
im tvsp-Plugin des epgd hab ich die "live"-URL gewechselt, passt. Nur da hat sich noch was geändert:
epgd[2036]: Error: Download failed, got 0 bytes; Couldn't resolve host name (6); http code was (0) [http://live.tvspielfilm.de/static/images/…bb8dcad4bce.jpg]
mir geht es auch um das tvsp-Plugin, bei dem ich nur noch eine Woche erhalte.
Du beziehst noch von der alten 'live'-Adresse. Die neue ist im git.
Christian
Das war nur als Sicherheitskorrektur gedacht, falls VDR doch mal 2-stellige Versionsnummern machen will. Sollte eigentlich inhaltlich nichts ändern.
Welche Kombination VDR / markad Version baute bei dir nicht ?
VDR plugin API version is 5
Makefile:67: *** VDR plugin API version not supported, please update VDR. Schluss.
make[1]: Verzeichnis „/usr/local/src/vdr-2.6-git/PLUGINS/src/vdr-plugin-markad/plugin“ wird verlassen
make: *** [Makefile:74: clean] Fehler 2
vdr 2.7.3 mit markad 3.6.8.
und "ifeq ($(shell expr ${APINUM} \< 20200), 1)" 5 ist kleiner 20200.
Ich habe jetzt mal recherchiert, wofür ich das damals installiert hatte. Kurzversion: ich brauche es gar nicht mehr...
Quote- Ich sehe bei showargs nichts von markad. Was steht in der /etc/vdr/conf.d/50-markad.conf ?
[markad]
--cDecoder
--autologo=2
--astopoffs=0
hatte ich vermutlich zum Zeitpunkt von --showargs deaktiviert. Sorry.
Loglevel ist -l 3.7
Das kann nicht sein. Es gibt seit Jahren keine Änderung der API Versionsprüfung im Plugin.
doch...
https://github.com/kfb77/vdr-plug…a41fe173b941695
Ich baue unter gentoo mittels make im vdr-Verzeichnis.
Christian
Beispiel zum Reproduzieren ?
Wenn das wirklich so wäre, müsste man das fixen. Crash ist keine Fehlermeldung für falsche Konfiguration.
Um genau zu sein, hatte ich crashs bei jeglichem Inhalt in der markad.conf, der über "[markad]" hinausging.
Christian