Aktuelles
Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Frage an die Spezialisten (xtream + Televizo)

dierose

Hacker
Registriert
3. Januar 2011
Beiträge
430
Reaktionspunkte
222
Punkte
1.025
Per Script filtere ich nach DE und hole die json's aus einem xtream Zugang auf die Festplatte. In Televizo will ich diese Daten im xtream Zugang einlesen.
Damit würde es superschnell gehen (weil nur DE Daten und die ja schon bereitliegen) und nicht jedes Endgerät muss alles umständlich beim Anbieter neu laden.

Leider bleibt Televizo leer. Ich sehe im Wireshark Log, dass über die player_api alle json mit Inhalte erfolgreich geladen/übermittelt werden (http 200 OK).

Irgendwo ist noch ein Fehler, wo mir leider ChatGPT auch nicht helfen kann.

Jetzt braucht es Spezialisten. Hat jemand eine Idee?
 
Hallo dierose,

es klingt, als hättest du bereits einen soliden Ansatz, um die JSON-Daten von deinem Xtream-Zugang zu extrahieren und lokal zu speichern. Wenn Televizo jedoch die Daten nicht korrekt anzeigt, könnte es an verschiedenen Faktoren liegen. Hier sind einige Punkte, die du überprüfen kannst:

1. JSON-Struktur: Stelle sicher, dass die Struktur der JSON-Dateien, die du von Xtream herunterlädst, mit dem übereinstimmt, was Televizo erwartet. Vergleiche die Struktur mit einem Beispiel, das Televizo normalerweise ohne Anpassungen verarbeitet. Ein kleiner Unterschied in der Struktur kann dazu führen, dass Televizo die Daten nicht korrekt einlädt.

2. Dateipfade und Zugriffsrechte: Überprüfe, ob die JSON-Dateien an dem Ort gespeichert werden, den Televizo erwartet. Vergewissere dich, dass die App die erforderlichen Zugriffsberechtigungen hat, um die Dateien zu lesen. Manchmal kann es vorkommen, dass der Pfad nicht korrekt eingegeben ist oder dass die Berechtigungen für den Ordner, in dem die JSON-Dateien gespeichert sind, nicht ausreichen.

3. Caching-Probleme: Televizo könnte möglicherweise Inhalte cachen. Starte die App neu oder leere den Cache, um sicherzustellen, dass die neue JSON-Datenquelle geladen wird.

4. API-Endpoint: Wenn du die JSON-Daten lokal speicherst und diese dann in Televizo einliest, stelle sicher, dass du den richtigen API-Endpoint verwendest. Wenn Televizo standardmäßig auf einen anderen Server zugreift, kann es sein, dass die App nicht auf deine lokal gespeicherten Daten zugreift.

5. Log-Dateien: Da du Wireshark verwendest, um die Netzwerkkommunikation zu überwachen, solltest du auch die Log-Dateien von Televizo überprüfen. Diese könnten Hinweise darauf geben, warum die Daten nicht geladen werden. Achte auf Fehlermeldungen oder Hinweise, dass die Daten nicht gefunden werden.

6. Televizo Einstellungen: Überprüfe die Einstellungen in Televizo, um sicherzustellen, dass alles korrekt konfiguriert ist. Möglicherweise gibt es spezielle Einstellungen für die Datenquelle oder die Art der Daten.

7. Versionskompatibilität: Stelle sicher, dass die Version von Televizo, die du verwendest, mit der Art der JSON-Daten kompatibel ist, die du bereitgestellt hast. Manchmal gibt es Updates oder Änderungen, die die Funktionsweise beeinflussen können.

Wenn du all diese Punkte überprüft hast und das Problem weiterhin besteht, könntest du einen detaillierteren Screenshot der JSON-Struktur und der Televizo-Einstellungen bereitstellen. Vielleicht kann jemand aus der Community spezifischere Hinweise geben. Viel Erfolg, und ich hoffe, du findest eine Lösung!
 
Was sind das für json?
Was bleibt leer?
Was fütterst du wie in Televizo?
 
Dann entspricht deine json nicht der Form die televizo erwartet.... Oder iwelche Sonderzeichen sind enthalten
 
@salidos
Alle Kategorien (live, movie, serie) und die Streams aus den jeweiligen "Ordnern". Ist aber auf DE/AT gefiltert. Televizo bekommt die als xtream Zugang testweise von meiner player_api in xampp, zeigt keinerlei Inhalt an, weil das Aktualisieren der Playlist fehlschlägt. Im Log steht aber überall 200 OK.

@clever999
Ich denke ja auch ans Format, aber wie will ich das rausfinden? :unsure:
 
cat bla.json | jq

Sollte schonmal nen anhalt sein

Link im Browser öffnen usw

Mit xtreammulti kannst das aber auch machen...
 
@dierose
Also arbeitest du sozusagen über deinen eigenen Proxy?

Ich kann da nur von Tivimate (und Portals) sprechen, wird aber vermutlich bei Televizo nicht wirklich anders sein:
Wenn du in Televizo die Adresse deines Proxies eingegeben hast, aber die json mit den original Xtream Daten zurückgibst, dann wird das nix.
Dann bekommst du keine Links zurück die funktionieren werden.

Tivimate nimmt als Basis IMMER nur die URL, die du da eingegeben hast!
Steht in der json eine andere Basis URL (weil die richtige vom Portal), dann baut Tivimate (und vermutlich Televizo auch) die Anfragen falsch zusammen und du bekommst NIX zurück!

Wenn, musst du wie bei xtreammulti mit rewrite Rules arbeiten oder wie bei Portals die ganzen Links in der json auf dem Hin- und Rückweg vom Player zum Portal oder umgekehrt austauschen!
 
Zuletzt bearbeitet:
Ja genau, ich bin in php unterwegs.
Da hole ich mir die Sachen ab.
// Kategorien laden
function req($act,$u,$p,$url){return json_decode(file_get_contents("$url/player_api.php?action=$act&username=$u&password=$p"),1);}
$live = req('get_live_categories',$username,$password,$panel_url);
$vod = req('get_vod_categories' ,$username,$password,$panel_url);
$series = req('get_series_categories',$username,$password,$panel_url);

// Filtern
$live = array_values(array_filter($live,fn($c)=>preg_match('/^(DE|AT|CH)/',$c['category_name']??'')));
$vod = array_values(array_filter($vod,fn($c)=>strpos($c['category_name']??'','(V|DE)')===0));
$series = array_values(array_filter($series,fn($c)=>strpos($c['category_name']??'','(S|DE)')===0));

// Speichern Kategorien
file_put_contents("$cacheDir/live_categories.json",json_encode($live));
file_put_contents("$cacheDir/vod_categories.json", json_encode($vod));
file_put_contents("$cacheDir/series_categories.json",json_encode($series));
und gebe sie an Televizo bei Anfrage zurück.
// Aktions-Request von Televizo
$action = $_GET['action'] ?? '';

// === Wenn Cache für die action vorhanden, gib ihn direkt zurück ===
$cachedFile = match ($action) {
'get_live_categories' => "$cacheDir/live_categories.json",
'get_vod_categories' => "$cacheDir/vod_categories.json",
'get_series_categories' => "$cacheDir/series_categories.json",
default => null,
};

if ($cachedFile && file_exists($cachedFile)) {
header("Content-Type: application/json");
echo file_get_contents($cachedFile);
exit;
}
Die live_categories.json sieht dabei so aus:
[{"category_id":"40","category_name":"DE DEUTSCHLAND","parent_id":0},{"category_id":"2370","category_name":"DE VIP DEUTSCHLAND","parent_id":0},{"category_id":"2470","category_name":"DE REGIONAL","parent_id":0},{"category_id":"2365","category_name":"DE HEVC - QHD - 4K","parent_id":0},{"category_id":"2163","category_name":"DE NEWS - INFORMATION","parent_id":0},{"category_id":"44","category_name":"DE SPORT","parent_id":0},{"category_id":"2544","category_name":"DE VIP SPORT","parent_id":0},{"category_id":"2579","category_name":"DE DYN SPORT - RTL+ SPORT","parent_id":0},{"category_id":"2577","category_name":"DE EUROSPORT EXTRA - DISCOVERY+","parent_id":0},{"category_id":"2568","category_name":"DE FORMEL 1","parent_id":0},{"category_id":"2576","category_name":"DE SPORT DEUTSCHLAND - SPORT TOTAL","parent_id":0},{"category_id":"48","category_name":"DE DOKU","parent_id":0},{"category_id":"42","category_name":"DE KINO - SERIEN","parent_id":0},{"category_id":"2574","category_name":"DE KINO - SERIEN 24 - 7","parent_id":0},{"category_id":"46","category_name":"DE KINDER","parent_id":0},{"category_id":"50","category_name":"DE MUSIK","parent_id":0},{"category_id":"2253","category_name":"AT AUSTRIA","parent_id":0}]

xtreammulti funzt prima, ist aber in sh.
Ich schau mir die category.sh mal genauer an.

Unterschied ist, dass ich wirklich über xtream Zugang die Sachen abhole und auch später nutzen möchte. Wäre auch der einfachere Weg.
 
Zuletzt bearbeitet:
Lies dir meinen letzten Post nochmal durch.

Wenn du im Player deine Proxy URL nutzt, dann musst du die Links in der json auch ändern, sonst passt es nicht mehr.
(wie gesagt: so isses bei Tivimate, wird bei Televizo auch so sein oder woher soll Televizo wissen, was du eigentlich willst)
 
Zuletzt bearbeitet:
die Boquets und Channel sollten aber immer angezeigt werden, das url problem kommt ja erst beim stream starten, zumindest wenn get_live_streams und get_live_category vorhanden sind
 
Die stream.php soll ja später einen freien Zugang suchen und die Stream ID darüber öffnen.
Ich brauche aber erst die Übersicht der Streams und noch davor die Übersicht der Kategorien.

@salidos
Televizo macht die Anfrage ohne es zu wissen nicht bei besttv, sondern bei mir und soll die selbe Antwort von mir bekommen wie vom Anbieter. Aktuell ist meine Antwort wohl irgendwie etwas anders.
 
Zuletzt bearbeitet:
Warum das Rad neu erfinden?
(xtreammulti, Portals, Stalker Portal Manager...)
Aber gut!
Eigeninitiative ist löblich...🙃

Nimm httpdebugger und nicht wireshark.
Das ist einfacher und übersichtlicher.

Schau dir damit an wie die json vom Portal aussieht und was du sendest.
 
xtreammulti ist in ps und das läuft nicht auf meinem Webspace. Dein Portal (nutze ich auch gerne) kann leider kein besttv. Daher dachte ich, ich setze mich selbst ran.

Ich habe fast alle wichtigen Portale mit Miniscripten am Laufen und dabei viel gelernt. Und laufend bekomme ich neue Ideen. Was soll ich machen... :ROFLMAO: :ROFLMAO:

PS: wenn Du besttv nachbesserst, kann ich mich zur Ruhe setzen. :ROFLMAO:
 
Gibst du die jsons als array [ ] oder als Object { } zurück? oder als array mit objects?

Ablauf sollte später ungefähr so sein:

Du musst Regestriert sein, um das angehängte Bild zusehen.
 

Anhänge

Du musst angemeldet sein, um die Anhangsliste zu sehen.
Zuletzt bearbeitet:
Die Frage kann ich Dir jetzt gar nicht genau beantworten.

Ich arbeite aber zweigeteilt. Einmal hole ich selber ab und speichere. Das mache ich bei Bedarf.
Und dann holt Televizo wann immer gewünscht den gespeicherten Stand.
 
Zurück
Oben