Aufnahmesteuerung: versuchen externe Sendernamen aus Textdatei zuzuordnen

Antworten
buers
Junior Member
Beiträge: 26
Registriert: 18 Mär 2021, 10:32

Aufnahmesteuerung: versuchen externe Sendernamen aus Textdatei zuzuordnen

Beitrag von buers »

Hallo. Gibt es eine Beschreibung des Formats der Textdatei für die Funktionalität: "Versuchen externe Sendernamen aus Textdatei zuzuordnen" unter Plugins -> Aufnahmesteuerung -> Gerät konfigurieren -> Sender? Ich habe die Beschreibung des Formats auf tvbrowser.org nicht gefunden.
ds10
Site Admin
Beiträge: 19095
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: Aufnahmesteuerung: versuchen externe Sendernamen aus Textdatei zuzuordnen

Beitrag von ds10 »

Ist glaube ich nirgendwo beschrieben, ich habe mal im Quellcode nachgesehen und das Format ist demnach:

Code: Alles auswählen

Externer Name:Interner Name
Der interne Name muss dabei dem Namen des Senders in TV-Browser entsprechen. Sollte also ein Doppelpunkt im externen Namen vorkommen, wird es nicht funktionieren.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
buers
Junior Member
Beiträge: 26
Registriert: 18 Mär 2021, 10:32

Re: Aufnahmesteuerung: versuchen externe Sendernamen aus Textdatei zuzuordnen

Beitrag von buers »

Danke für die schnelle Antwort. D.h. (realistisches Beispiel: Magenta-TV-Multicast-Stream) sowas wie

Code: Alles auswählen

rtp://87.141.215.251@232.0.20.234:10000:ZDF
wird man nicht ohne weiteres hinkriegen? Aber grundsätzlich wäre das schon richtig? Als Workaround könnte man dann Hexencoding nehmen:

Code: Alles auswählen

rtp%3a//87.141.215.251@232.0.20.234%3a10000:ZDF
Der interne Name ist exakt, wie ich das sehe im Display, also z.B. "Das Erste (ARD)" und "BR Süd"? Und welche Textformatierung sollte die Text-Datei haben? UTF8? Mit oder ohne BOM? Sonst was?

Gibt es eine Möglichkeit die internen Namen zu exportieren? (Danach habe ich jetzt ehrlich gesagt noch nicht gesucht)
ds10
Site Admin
Beiträge: 19095
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: Aufnahmesteuerung: versuchen externe Sendernamen aus Textdatei zuzuordnen

Beitrag von ds10 »

Format ist UTF-8, ob es mit Hexcodierung funktioniert musst du probieren. Für den Export der Namen, habe ich auf die Schnelle ein simples Plugin programmiert. Einfach per DragAndDrop in die Programmtabelle installieren und dann kann man über Extras->Export channel names to clipboard die Sendernamen in die Zwischenablage kopieren. Den Inhalt kann man dann leicht in eine Textdatei einfügen.
Dateianhänge
ChannelNameExporter.jar
(2.2 KiB) 205-mal heruntergeladen
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
buers
Junior Member
Beiträge: 26
Registriert: 18 Mär 2021, 10:32

Re: Aufnahmesteuerung: versuchen externe Sendernamen aus Textdatei zuzuordnen

Beitrag von buers »

Danke sehr! Export scheint perfekt zu funktionieren. Wird "OK:TV Mainz" wohl funktionieren (wegen des Doppelpunkts)?

Kannst du bitte noch beantworten, ob die UTF8-Datei eine BOM haben sollte oder nicht oder wurscht? https://de.wikipedia.org/wiki/Byte_Order_Mark

Da die Aufnahme von selbstgeschriebenem Programm gemacht werden wird, kann ich das Hex-Encoding von der Seite leicht hinzufügen (oder auch andere Methode).
ds10
Site Admin
Beiträge: 19095
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: Aufnahmesteuerung: versuchen externe Sendernamen aus Textdatei zuzuordnen

Beitrag von ds10 »

buers hat geschrieben: 17 Mai 2021, 13:29Wird "OK:TV Mainz" wohl funktionieren (wegen des Doppelpunkts)?
Dürfte funktionieren, da nur der erste Doppelpunkt beachtet wird.
buers hat geschrieben: 17 Mai 2021, 13:29Kannst du bitte noch beantworten, ob die UTF8-Datei eine BOM haben sollte oder nicht oder wurscht?
Dürfte egal sein, also kann man sie auch gleich weglassen.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
buers
Junior Member
Beiträge: 26
Registriert: 18 Mär 2021, 10:32

Re: Aufnahmesteuerung: versuchen externe Sendernamen aus Textdatei zuzuordnen

Beitrag von buers »

Funktioniert leider nicht ganz wie erwartet. Aber da scheinen mehrere Fallen oder Fehler zu lauern.

Bei der ersten Zeile der UTF8-Text-Datei für die Zuordnung wird in meinen Tests der erste Buchstabe weggeschnitten.

Code: Alles auswählen

rtp%3a//87.141.215.251@232.0.20.35%3a10000:Das Erste (ARD)
rtp%3a//87.141.215.251@232.0.20.234%3a10000:ZDF
Für ZDF ist alles ok, bei das Erste wird mir "tp%3a//87.141.215.251@232.0.20.35%3a10000" angezeigt unter Sender. Das "r" am Anfang ist verschwunden.

Leider noch schlimmer, wenn ich nun "{channel_name}" verwende, kriegt das aufgerufene Programm (sagen wir bei ZDF) "rtp3a//87.141.215.251@232.0.20.2343a10000" übermittelt. Das %-Zeichen fehlt. Nutze ich $ statt % in der Senderliste, werden die Aufrufparameter wie erwartet übermittelt.

Irgendwie scheint das leider immer mehr vermurkst. Bei der Aktion "versuche externe Sendernamen aus Textdatei zuzuordnen" wird dem Sender "ATV" kurioserweise der externe String von "ANIXE HD Serie" zugewiesen. In der Textdatei ist ATV gar nicht vorhanden. Für die anderen Sendernamen hat es gepasst (habe das aber nicht sorgfältig vollständig geprüft bisher). [Ich kann ATV gar nicht mehr empfangen. Ist ein uraltes Überbleibsel. Dass da aber Anixe zugeordnet wird - ???]
ds10
Site Admin
Beiträge: 19095
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: Aufnahmesteuerung: versuchen externe Sendernamen aus Textdatei zuzuordnen

Beitrag von ds10 »

Eine falsch-positive Zuordnung lässt sich nicht wirklich verhindern, denn es wird ja versucht Ähnlichkeiten zu finden. Da es aber generell wohl von niemandem verwendet wurde und es nicht so richtig funktioniert, habe ich das jetzt umprogrammiert. Jetzt wird der Import aus einer CSV-Datei gelesen und es gibt direkt eine Hilfe. Die neue Version ist über das tvb://Plugin-Update verfügbar.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
buers
Junior Member
Beiträge: 26
Registriert: 18 Mär 2021, 10:32

Re: Aufnahmesteuerung: versuchen externe Sendernamen aus Textdatei zuzuordnen

Beitrag von buers »

Danke, funktioniert! Auch ein guter Hilfe-Text!

Jetzt wird auch das %Zeichen bei Hexcodierung nicht mehr verschluckt (obwohl ich das jetzt im Moment auch nicht mehr bräuchte ...). Falsche Zuordnung habe ich jetzt auch nicht mehr gesehen.

Zwei kleine Hinweise noch - BOM am Anfang der csv-Datei mag er wohl nicht, Excel und andere Programme erkennen die BOM und interpretieren die csv dann mit UTF-8 Kodierung. (Abgesehen vom BOM habe ich ANSI und UTF-8 probiert - funktionierte beides bei den Sendernamen mit Umlaut!) Laut https://datatracker.ietf.org/doc/html/rfc4180 ist das \ eigentlich nicht vorgesehen als Escape, sondern die Zelle sollte in "Inhalt;mit Semikolon" stehen.

Da ich jetzt das Prozentzeichen nicht mehr brauche hat sich auch das Problem mit dem verschluckten Prozentzeichen bei "{channel_name_external}" erübrigt. (Hatte das leider in meinem vorigen Beitrag falsch geschrieben, da hatte ich das "_external" vergessen. Kann den Beitrag auch nicht mehr editieren). Dennoch - ich vermute früher oder später werde ich wieder drüber stolpern (Prozentzeichen ist ja nicht ganz unüblich in URLs). Hast du dazu noch ne Idee? Braucht man da nochmals spezielles Escape?
ds10
Site Admin
Beiträge: 19095
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: Aufnahmesteuerung: versuchen externe Sendernamen aus Textdatei zuzuordnen

Beitrag von ds10 »

buers hat geschrieben: 18 Mai 2021, 15:18Zwei kleine Hinweise noch - BOM am Anfang der csv-Datei mag er wohl nicht, Excel und andere Programme erkennen die BOM und interpretieren die csv dann mit UTF-8 Kodierung.
Ich verwende halt Linux und da hier alles in UTF-8 ist, gibt es in der Regel keine BOM. Außerdem wird ja jetzt von einer typischen Systemkodierung ausgegangen, so dass UTF-8 unter Windows eher nicht verwendet wird. Ich habe jetzt aber eine Erkennung für die BOM eingebaut, dann sollte es so oder so keine Probleme mehr geben.
buers hat geschrieben: 18 Mai 2021, 15:18Laut https://datatracker.ietf.org/doc/html/rfc4180 ist das \ eigentlich nicht vorgesehen als Escape, sondern die Zelle sollte in "Inhalt;mit Semikolon" stehen.
Ja, aber für solche Regeln muss ich mich ja nicht interessieren (insbesondere da es dort auch gerade um CSV-Dateien mit Kommas geht), ich definiere das hier einfach anders. Mit Anführungszeichen wäre es nämlich deutlich komplizierter, auch für den Anwender, gerade wenn Semikolon und Anführungszeichen im Text stehen sollten.
buers hat geschrieben: 18 Mai 2021, 15:18Da ich jetzt das Prozentzeichen nicht mehr brauche hat sich auch das Problem mit dem verschluckten Prozentzeichen bei "{channel_name_external}" erübrigt. (Hatte das leider in meinem vorigen Beitrag falsch geschrieben, da hatte ich das "_external" vergessen. Kann den Beitrag auch nicht mehr editieren). Dennoch - ich vermute früher oder später werde ich wieder drüber stolpern (Prozentzeichen ist ja nicht ganz unüblich in URLs). Hast du dazu noch ne Idee? Braucht man da nochmals spezielles Escape?
Das ist ein Bug. Das %-Zeichen dient ja ab 4.2.3 als String-Escape-Sequenz, wird aber fälschlicher Weise auch außerhalb von Strings angewendet. Das sollte in der aktuellen Nightly bereits behoben sein.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
buers
Junior Member
Beiträge: 26
Registriert: 18 Mär 2021, 10:32

Re: Aufnahmesteuerung: versuchen externe Sendernamen aus Textdatei zuzuordnen

Beitrag von buers »

Super, danke.

OT: Bin auch Linux Nutzer (seit Version 0.1x ...) im Wechsel, gerade daher bin ich bisschen sensibilisiert was die Kodierung von Texten angeht. Im Zweifel/wenn die Wahl besteht/bei selbstgeschriebenen Programmen bevorzuge ich auch unter Windows UTF-8 und UNix Zeilenende, spielt hier aber keine Rolle. Es funktioniert so, wie definiert. Und in der Tat ist es gar nicht ganz trivial, einen korrekten Parser für csv zu schreiben und die zu erwartende Größe der Nutzerschar dieses Features wird das kaum rechtfertigen--. Das selbst-definierte hat halt den kleinen Nachteil, dass Excel und Co nicht mehr alle Dateien korrekt lesen kann oder nicht alle vor TV-Browser geeigneten Daten korrekt schreiben kann. Aber, wie gesagt, absolut nebensächlich, zumindest für mich.
Antworten