Seite 10 von 31

Re: Pluto TV

Verfasst: Mo 4. Okt 2021, 22:44
von BPanther
iCarly ist aber alt, den gab es schon, so wie auch die + Variante davon. Neben dieser Sender gab es auch noch Änderungen in den Namen, die IDs sind dabei aber gleich geblieben, z.B. bei South Park.

Re: Pluto TV

Verfasst: Mo 4. Okt 2021, 22:59
von vanhofen
Ab morgen ist eine neue xml mit all den Änderungen im Image.

Re: Pluto TV

Verfasst: Mo 4. Okt 2021, 23:21
von jokel
so muss das ,immer diese neuseeländer. ich hoffe das das so bleibt.

ps: ich schau mehr pluto als zdf oder ard

Re: Pluto TV

Verfasst: Mo 4. Okt 2021, 23:29
von xxmrgreenxx
Also ich hab eben die 2 verlinkten XML auf die Box gepackt.
Bei meiner Link erscheint nach WEBTV Reload trotzdem kein EPG

Re: Pluto TV

Verfasst: Mo 4. Okt 2021, 23:45
von jokel
ich fühle mit dir und hoffe das vanhofen ,wenn er zeit hat sich deiner annimmt , wie er schrieb.
er wollte sich das ja mal anschauen.

Re: Pluto TV

Verfasst: Mo 4. Okt 2021, 23:48
von vanhofen
Auf Boxen der HD2-Platform gibt es derzeit kein funktionierendes XMLTV. Der Grund verschließt sich mir noch. Don hat aber schon ein paar Enthüllungen enthüllt. :)

Re: Pluto TV

Verfasst: Mo 4. Okt 2021, 23:58
von jokel
irgendwo habe ich gelesen das manche provider sachen blocken im bezug auf pluto bzw. rakutentv.

Re: Pluto TV

Verfasst: Di 5. Okt 2021, 06:30
von BPanther
jokel hat geschrieben: Mo 4. Okt 2021, 23:21so muss das ,immer diese neuseeländer. ich hoffe das das so bleibt.
Hoffen kannst Du zwar, ändert sich aber dennoch alle paar Wochen, seien es Umbenennungen, Sender wegfallen oder dazukommen...

Re: Pluto TV

Verfasst: Di 5. Okt 2021, 07:26
von vanhofen
Das wäre kein Problem. Dazu haben wir das PlutoTV-Update-Plugin im Image. Die Sender kann sich jeder aktualisieren, wann er will. Wenn sich der URL des EPG ändert, hat das Plugin jedoch keine Chance. Ich gehe aber mal davon aus, dass Matt Huisman nun eine Weile bei Github bleibt.
Im allerschlimmsten Fall müssen wir das EPG eben direkt von PlutoTV holen und unser eigenes XMLTV-File dafür basteln. Matt Huisman macht ja nichts anderes.

Re: Pluto TV

Verfasst: Di 5. Okt 2021, 15:39
von BPanther
Jo, ich mache mit meinem Plugin im Prinzip das gleiche mit dem Aktualisieren der Sender-XML. Den EPG beziehe ich als "Not"-Version auch von XML oder direkt von Pluto, da dann aber nur Now/Next nach umschalten und ohne Detail Infos. So haben die + Sender aber auch einen kleinen EPG. Ich habe auch schon mal daran gedacht, mir mal einen Konverter zu basteln um auf externe Quellen komplett verzichten zu können. Das müsste dann aber wohl eher auf Shell Basis laufen, damit man den in den crond einbinden kann zur automatischen Aktualisierung.

Re: Pluto TV

Verfasst: Di 5. Okt 2021, 19:22
von vanhofen
Deswegen hab ich jq ins Image aufgenommen. Die erste Version des PlutoTV-Updaters war auch ein Shellscript mit jq als json-Parser.

Re: Pluto TV

Verfasst: Di 5. Okt 2021, 21:34
von BPanther
Nunja, auch möglich, wobei jq nichts weiter konvertiert, allerdings diese eine einzelne Zeile auflöst in normale und vielleicht einfacher lesbare Strukturen. Aber zum einlesen würde es auch ohne jq gehen, da die Begrenzer bekannt sind.
Mir ginge es eher um einen Konverter der JSON direkt nach XML wandeln kann, so daß die XML auch in die Box eingebunden werden kann wie das derzeit per URL gemacht wird. Ansonsten ist das Auslesen des aktuellen und nächsten EPG direkt aus der JSON für eine direkte Anzeige auch nicht das Problem per Shell Script oder LUA, wobei LUA das wichtigste eh dazu schon mitbringt.

Re: Pluto TV

Verfasst: So 10. Okt 2021, 21:09
von Don de Deckelwech
Hi,
Don de Deckelwech hat geschrieben: Do 30. Sep 2021, 19:19 Auf meiner Tank habe ich es auch von Anfang an nie hinbekommen, den EPG auf Rakuten/Pluto zu bekommen, bzw habe ich immer nur einen einzigen Eintrag der mehrere Monate in der Zukunft liegt, mit unrealistischen Sendungsdauern , komischerweise bei den Sendern teils zur selben Uhrzeit.

Mal ein paar Bilder:
Vor ein paar Tagen schrieb ich irgendwo: ;)
Jemand war so freundlich, mir ein testimage für die tank zu bauen, wo diese debug-ausgabe aktiviert ist:
https://github.com/neutrino-images/ni-n ... l.cpp#L493

ich greif mal einen rakuten-sender raus:
2021-10-03 17:49:20.335 [sectionsd] [1;34mreadEventsFromXMLTV - 493 - ATAJ3500003Y1 0xffffa377d538(1676738043) (302503736)[0m
2021-10-03 17:49:20.336 [sectionsd] [1;34mreadEventsFromXMLTV - 493 - ATAJ3500003Y1 0xffffa377d538(1676738043) (302503736)[0m
2021-10-03 17:49:20.355 [sectionsd] [1;34mreadEventsFromXMLTV - 493 - ATAJ3500003Y1 0xffffa377d538(1676738043) (302503736)[0m
2021-10-03 17:49:20.361 [sectionsd] [1;34mreadEventsFromXMLTV - 493 - ATAJ3500003Y1 0xffffa377d538(1676738043) (302503736)[0m
2021-10-03 17:49:20.365 [sectionsd] [1;34mreadEventsFromXMLTV - 493 - ATAJ3500003Y1 0xffffa377d538(1676738043) (302503736)[0m
2021-10-03 17:49:20.367 [sectionsd] [1;34mreadEventsFromXMLTV - 493 - ATAJ3500003Y1 0xffffa377d538(1676738043) (302503736)[0m
image_2021_10_03T16_16_57_481Z.png
also zB der letzte eintrag:
2021-10-03 17:49:20.367 [sectionsd] [1;34mreadEventsFromXMLTV - 493 - ATAJ3500003Y1 0xffffa377d538(1676738043) (302503736)[0m
(1676738043) ist dabei die startzeit, das entspricht umgerechnet Sat Feb 18 2023 17:34:03 GMT+0100 (Mitteleuropäische Normalzeit) , das passt also.
(302503736) ist die dauer des events in sekunden, durch 60 geteilt = 5041728,933333333 , das passt also auch.

bloss: diese werte sind ja völlig falsch! in der xml vom xmltv steht ja:
<programme channel="ATAJ3500003Y1" start="20211003210545 +0000" stop="20211003225347 +0000">

also heute abend 21:05 bis 22:53

und da die startzeiten und dauern von allen sechs events alle gleich (falsch) sind, ist auch klar, warum ich nur einen einzigen event im epg habe
hier auch noch zum vergleich der auf die sd-karte abgespeicherte epg für diesen sender, hat nur 1 eintrag:
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file was automatically generated by the sectionsd.
It contains all event entries which have been cached
at time the box was shut down.
-->
<dvbepg>
<service original_network_id="a377" transport_stream_id="ffff" service_id="d538">
<event id="8011" tid="50">
<name lang="deu" string="The Heyday of the Insensitive Bastards"/>
<extended_text lang="deu" string="Basierend auf der gleichnamigen Kurzgeschichtensammlung der US-Autos Robert Boswell erzählt &quot;The Hey day of the Insensitive Bastards&quot; in sieben Geschichten zwischen Realität und Fantasie von Liebe und Verlust (&apos;Guests&apos;, &apos;Lacunae&apos;)
, Familie und Erinnerungen (&apos;Almost Not Beautiful&apos;, &apos;Miss Famous&apos;)
, Drogen und Tod (&apos;A Walk In Winter&apos;, &apos;The Heyday...&apos;)
in der zeitgenössischen amerikanischen Gesellschaft."/>
<time start_time="1676738043" duration="302503736"/>
</event>
</service>
</dvbepg>
hab ich nach neustart so drin. start_time und duration sind dabei genauso falsch, wie beim einlesen, ist ja auch kein wirkliches wunder.

also kann man wohl sagen, dass die xml korrekt runtergeladen wird, und auch prinzipiell verarbeitet wird, aber dabei etwas falsch läuft.
@ TangoCash, vllt kannst du das ein wenig eingrenzen, auch wenn die CSTs noch mit Dampf laufen... ;)
Ich als absoluter Laie verstehe dabei nicht, wieso in diesem kurzen und eigentlich korrekt aussehenden Codeabschnitt, so ein Fehler entstehen kann, und zwar nur auf CST-HD2-Plattform:
[+] Spoiler

Code: Alles auswählen

bool readEventsFromXMLTV(std::string &epgname, int &ev_count)
{
	xmlDocPtr event_parser = NULL;
	xmlNodePtr tv;
	xmlNodePtr programme;
	t_original_network_id onid = 0;
	t_transport_stream_id tsid = 0;
	t_service_id sid = 0;

	if (!(event_parser = parseXmlFile(epgname.c_str())))
	{
		debug(DEBUG_NORMAL, "unable to open %s for reading", epgname.c_str());
		return false;
	}

	tv = xmlDocGetRootElement(event_parser);
	programme = xmlChildrenNode(tv);

	while ((programme = xmlGetNextOccurence(programme,"programme")))
	{
		const char *chan = xmlGetAttribute(programme, "channel");
		const char *start = xmlGetAttribute(programme, "start");
		const char *stop  = xmlGetAttribute(programme, "stop");

		struct tm starttime, stoptime;
		strptime(start, "%Y%m%d%H%M%S %z", &starttime);
		strptime(stop, "%Y%m%d%H%M%S %z", &stoptime);
		time_t start_time = mktime(&starttime) + starttime.tm_gmtoff;
 		time_t duration = mktime(&stoptime) + stoptime.tm_gmtoff - start_time;

		t_channel_id epgid = 0;
		time_t current_time;
		time(&current_time);
		double time_diff = difftime(current_time, start_time + duration);

		// just loads events if they end is in the future
		if (time_diff < 0)
			epgid = getepgid(chan);

		if (epgid != 0)
		{
			//debug(DEBUG_NORMAL, "\e[1;34m%s - %d - %s 0x%012" PRIx64 "(%ld) (%ld)\e[0m",__func__, __LINE__,chan, epgid, start_time, duration);
Vllt ein Lib-Problem oder ein fehlendes/falsches Include??? kA

Danke im Voraus.

Ciao,
DdD.

Re: Pluto TV

Verfasst: Mo 11. Okt 2021, 00:37
von TangoCash
Zum auslesen wird strptime benutzt, das wiederum in der glibc implementiert ist.
Hat den die HD2 eine andere spezielle glibc version ?

Irgendwo hatte ich mal gelesen das es bei älteren compilern oder sowas probleme mit dem timeoffset gab....in unserem beispiel das %z (strptime(start, "%Y%m%d%H%M%S %z", &starttime);)

EDIT:
Ja hab mal genauer geschaut, liegt an der libuClibc die die HD2 Boxen verwenden, da klappt das mit dem strptime nicht richtig.

EDIT2:
Sowas in der Art als würgaround einbauen, nicht getest nur aus dem kopf für starttime geschrieben (analog dann für stoptime):

Code: Alles auswählen

  //strptime(start, "%Y%m%d%H%M%S %z", &starttime);
  char sign;
  int  offset_h;
  int  offset_m;
  sscanf(start, "%04d%02d%02d%02d%02d%02d %c%02d%02d", &(starttime.tm_year), &(starttime.tm_mon), &(starttime.tm_mday), &(starttime.tm_hour), &(starttime.tm_min), &(starttime.tm_sec), &c, &offset_h, &offset_m);
  starttime.tm_year -= 1900;
  starttime.tm_mon -= 1;
  starttime.tm_isdst = 0;
  starttime.gmt_off = (sign == '-' ? -1: 1) * (offset_h*60+offset_m);

Re: Pluto TV

Verfasst: Mo 11. Okt 2021, 12:30
von satbaby
Hier schreibt man drüber:
https://lists.uclibc.org/pipermail/ucli ... 27294.html
http://lists.busybox.net/pipermail/ucli ... tachment.c
Vielleicht reich memset, aber biete nur für hd2 nutzen.

Gruß

Re: Pluto TV

Verfasst: Mo 11. Okt 2021, 13:41
von TangoCash
Also den part so abändern, und mal testen:
(wobei ich dann noch nicht weiss ob due ulibc die timezone richtig auswertet.)

Code: Alles auswählen

		struct tm starttime, stoptime;
#ifdef BOXMODEL_CS_HD2
		memset(&starttime, 0, sizeof(starttime));
		starttime.tm_mday = 1;
		starttime.tm_isdst = -1;
		 /* Not set by strptime(); tells mktime() to determine whether daylight saving time is in effect
		 The Daylight Saving Time flag (tm_isdst) is greater than zero if Daylight Saving Time is in effect,
		  zero if Daylight Saving Time is not in effect, and less than zero if the information is not available. */
		memset(&stoptime, 0, sizeof(stoptime));
		stoptime.tm_mday = 1;
		stoptime.tm_isdst = -1;
#endif
		strptime(start, "%Y%m%d%H%M%S %z", &starttime);
		strptime(stop, "%Y%m%d%H%M%S %z", &stoptime);

Re: Pluto TV

Verfasst: Mo 11. Okt 2021, 22:27
von annie
vanhofen hat eine Neutrino für Apollo Tank mit den Änderungen zur Verfügung gestellt.

Leider hilft das auf CST Tank nicht bei Pluto/Rakuten EPG.
Habe nur Pluto im WebTV Menü geladen, damit die Tank von der Bedienung nicht zu langsam wird.

Ich hab vom Start der Box mal einen Log angehängt
putty-serial.log
(94.63 KiB) 64-mal heruntergeladen

Re: Pluto TV

Verfasst: Mo 11. Okt 2021, 23:25
von TangoCash
Dein log sagt was anderes:
2021-10-11 22:12:31.139 [sectionsd] Reading data finished after 51097 ms (2430 events) from https://raw.githubusercontent.com/matth ... oTV/de.xml

Re: Pluto TV

Verfasst: Di 12. Okt 2021, 07:15
von annie
das sagte Vanhofen auch

Es wird zwar EPG in der Vorschau angezeigt, der passt aber nicht, war vorher auch schon so ...
Now und Next wird nicht angezeigt.

Muß für EPG eigentlich unter EPG dafür irgendwas eigestellt werden, ich denke doch nicht.
33.png
Guck mal das EPG Datum !!!
55.png

Re: Pluto TV

Verfasst: Di 12. Okt 2021, 08:26
von Gorcon
annie hat geschrieben: Di 12. Okt 2021, 07:15 Muß für EPG eigentlich unter EPG dafür irgendwas eigestellt werden, ich denke doch nicht.
Nein nicht zwingend. Die Standardeinstellungen reichen. Allerdings ist es ratsam ihn auch speichern zu lassen.
Das Problem wird wohl in einem Timeout liegen das der EPG nicht vollständig von den HD1 Boxen eingelesen wird. Aber eingelesen wird normal etwas.