JohnMullins Posted November 18 Posted November 18 Hallo, Ich würde gerne eine Senderliste über den Media Server als m3u Liste so exportieren, dass beim Import in den DVBViewer Client auch alle Gruppen beibehalten werden. Leider funktioniert das nicht. Alle Sender werden in einen Ordner importiert und soweit ich das sehe liegt das am Format der M3u Liste. Der Media Server schreibt die Gruppen so raus: #EXTINF:-1,Groupname soweit ich das sehe müsste es aber so sein, damit die Gruppen beim m3u Import am DVBViewer korrekt eingelesen werden: #EXTINF:-1,group-title="Group Name" Quote
Griga Posted November 18 Posted November 18 2 hours ago, JohnMullins said: Der Media Server schreibt die Gruppen so raus: #EXTINF:-1,Groupname So passt das für den VLC, der oft als Client verwendet wird. 2 hours ago, JohnMullins said: soweit ich das sehe müsste es aber so sein, damit die Gruppen beim m3u Import am DVBViewer korrekt eingelesen werden: #EXTINF:-1,group-title="Group Name" Es gibt keinen offiziellen Standard für M3U-Listen und deshalb einigen Wildwuchs. group-title und weitere Tags ähnlicher Machart wurden mit dem Simple IPTV Add-On für Kodi eingeführt, soweit ich weiß. Der Media Server lässt sich daran anpassen. Der DVBViewer sollte zumindest group-title auch verstehen. Stoppe den Media Server über das Menü seines Tray-Icons und starte die Datei DMSTweaker.bat aus dem DVBViewer-Programmverzeichnis. Es erscheint ein Fenster mit Einstellungen für Fortgeschrittene und solche, die es werden wollen. Suche nach der Eingabezeile Live Stream M3U Konfiguration. Selektiere sie und lies die Erläuterungen dazu im unteren Teil des Fensters. Gib den für dich passenden Wert ein (z.B. 2 für "Kategorie als group-title Tag, nur wenn sich die Kategorie ändert"). Dann speichern, den Media Server wieder starten und ausprobieren... Quote
JohnMullins Posted November 19 Author Posted November 19 Oh, ich kenne sogar dieses Settings, dachte aber an Hand der Beschreibung, das keines passt, naja, geht nun. Danke. Ich hab dazu ein Follow Up: Kann man beim Media Server eine M3U URL angeben, sprich dass sich die Serverliste aktualisiert? Ich kenne im DVBViewer die -l commandline aber für den Media Server habe ich nichts gefunden und eine Startup CMD würde keinen sinn machen, weil man den Service ja eher nicht startet, sondern immer am Laufen hat. Quote
Griga Posted November 19 Posted November 19 1 hour ago, JohnMullins said: Kann man beim Media Server eine M3U URL angeben, sprich dass sich die Serverliste aktualisiert? Der Media Server kann nur M3U erzeugen, nicht importieren. Alle Änderungen der Senderliste müssen über den DVBViewer laufen. Du kannst natürlich mit einem Skript den DVBViewer starten, ihn den Import durchführen lassen und wieder beenden. Der Media Server übernimmt dann kurze Zeit später die geänderte Senderliste. Wenn du im Media Server den Skript-Aufruf als Task einrichtest, ist zu beachten, dass diese den DVBViewer standardmäßig im Systemkonto startet, nicht in deinem Benutzerkonto. Du siehst davon nichts, außer im Taskmanager. Wichtig ist, dass das Skript den DVBViewer ohne Wiedergabe startet (Kommandoparameter -c) und nach einer gewissen Verzögerung auch wirklich wieder beendet. Mehr dazu bei Bedarf. Quote
JohnMullins Posted November 19 Author Posted November 19 Ok, das ist schade, dass so ein Update nicht direkt geht, aber ich hätte Interesse wie das mit dem beenden nach einer gewissen verzögerung abläuft. Quote
Griga Posted November 20 Posted November 20 10 hours ago, JohnMullins said: aber ich hätte Interesse wie das mit dem beenden nach einer gewissen verzögerung abläuft. Das ist der interessante Teil. Denn wenn der Media Server als Windows Service den Import einer Senderliste mit dem Kommandoparameter -l mittels DVBViewer als Aufgabe ausführt, läuft ja auch der DVBViewer unsichtbar im Systemkonto, und dort herrschen in mancher Hinsicht andere Bedingungen als in einem Benutzerkonto. Aber es geht. Die Art der Ausführung hängt von der Scriptsprache ab. Ich habe es mit einer Batch-Datei namens Test.bat im DVBViewer-Programmverzeichnis probiert. Und außerdem ein kleines Programm namens CloseDVBViewer.exe geschrieben (-> Anhang, EXE im DVBViewer-Programmordner speichern), das in der Lage ist, den DVBViewer auch im Systemkonto zu beenden - vor allem, ohne dass der DVBViewer eine Bestätigung anfordert, die man nicht geben kann, weil man ihn im Benutzerkonto ja nicht sieht. Falls es jemand interessiert, hier der Delphi-Quellcode: Spoiler program CloseDVBViewer; uses Windows, Messages; var Handle: HWND; begin Handle := FindWindow('TfrmMain','DVB Viewer'); if Handle <> 0 then PostMessage(Handle,WM_QUIT,0,0); end. Der inhalt von Test.bat sieht so aus (hier mit einer Senderliste IPTV.m3u, die einen Kategorieordner "IPTV" in der DVBViewer-Senderliste aktualisieren soll): start "" "C:\Program Files (x86)\DVBViewer\DVBViewer.exe" -c -l "D:\Channels\IPTV.m3u" -r "IPTV" timeout /t 1 start "" "C:\Program Files (x86)\DVBViewer\CloseDVBViewer.exe" Der Kommandoparameter -c sorgt hier für den Start ohne Wiedergabe, -l und -r für den Import und die Aktualisierung. Das timeout-Kommando verzögert um eine Sekunde, dann erfolgt der Aufruf von CloseDVBViewer.exe. Eine Sekunde hat bei mir gereicht, aber es könnte auch mehr Zeit nötig sein, z.B. falls der DVBViewer die zu importierende Datei von irgendwo mittels URL herunterladen muss - ausprobieren! Um Test.bat (oder wie auch immer du sie nennst) als Aufgabe im Media Server verfügbar zu machen, musst du die Media Server-Optionen mit Adminrechten starten (Tray-Menü -> Mit Admin-Rechten konfigurieren). Dann weiter mit Aufgaben -> Neu und folgendes eintragen: Mehr zum Start von Batch-Dateien durch den Media Server in einem anderen Fall hier. Nach dem Einrichten sollte die neue Aufgabe im Webinterface auf der Aufgaben-Seite erscheinen, was den manuellen Start ermöglicht. Du kannst die Aufgabe auch mit einem "Externen Task Timer" automatisch täglich ausführen lassen - siehe Timer-Seite -> Timerart auswählen -> Neuer Timer. Getestet habe ich bei meinen Versuchen so: Erst den DVBViewer normal gestartet, im Senderlisten-Editor den Stammordner "IPTV" gelöscht, DVBViewer wieder beendet. Dann im Webinterface -> Aufgaben die Aufgabe "Test Task" ausgeführt, einen Moment gewartet und auf der Programm-Seite des Webinterface in der Stammordner-Auwahlliste nachgeschaut, ob "IPTV" wieder da ist. Und auch im Taskmanager beobachtet, ob der DVBViewer dort unter Prozesse -> Hintergrundprozesse kurz erscheint und wieder verschwindet. CloseDVBViewer.zip Quote
JohnMullins Posted November 20 Author Posted November 20 Ok cool. Mir ist noch aufgefallen, dass der -r parameter vorraussetzt, dass der root bereits erstellt wird. Könnt ihr das vielleicht in einem Update ändern, sodass wenn der root nicht vorhanden ist, erstellt wrid? Quote
Griga Posted November 20 Posted November 20 5 hours ago, JohnMullins said: Mir ist noch aufgefallen, dass der -r parameter vorraussetzt, dass der root bereits erstellt wird. Bei mir wird der nach -r angegebene Stammordner automatisch angelegt, falls er noch nicht existiert. Oder wie meinst du das? -r setzt natürlich ein vorangehendes -l voraus, das auch Sender liefert. Ohne macht -r keinen Sinn. 5 hours ago, JohnMullins said: Könnt ihr das vielleicht in einem Update ändern Wenn du mich schon respektvoll in der Mehrzahl anredest, dann gefälligst groß geschrieben, und in Zukunft erwarte ich "Ihro Gnaden" oder "Ihro Durchlaucht", wenn du etwas von mir willst. Alles klar? Quote
JohnMullins Posted November 27 Author Posted November 27 Ok, es ging nun endlich, ich hatte anscheinend die Version nicht richtig installiert. Aber eine Sache ist schon eher suboptimal. Wenn man favoriten hat und dann ein channellist update macht, gehen die Favoriten nicht mehr. Könnte man hier eine Update funktion der Channellist entries einbauen? Quote
Griga Posted November 27 Posted November 27 1 hour ago, JohnMullins said: Wenn man favoriten hat und dann ein channellist update macht, gehen die Favoriten nicht mehr. Wenn sich die URL von Sendern des Typs TS Stream ändert, ändert sich auch die Sender-ID. Das ist wahrscheinlich die Ursache, da Favoriten "ihren" Senderlisten-Eintrag anhand der Sender-ID erkennen. Es gibt ein Gegenmittel: Bei geschlossenem DVBViewer Tweaker.exe aus dem DVBViewer-Programmordner aufrufen und die Einstellung "TS Stream Sender am Namen wiedererkennen, falls notwendig" suchen, einschalten und die Erläuterungen im unteren Teil des Fensters lesen. Da steht, auf was du dabei zu achten hast. Entsprechend für den Media Server: Wenn er gestoppt ist, DMSTweaker.bat starten. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.