edEIT - EIT Editor

  • Hallo jp,


    ich habe mal einen Teil meiner Aufnahmen durchgeschaut und die Problemfälle in der ZIP-Datei beigefügt.
    Es gibt zu einen den besagten Fehler mit Index was outside ......, und dann habe ich auch jede Menge Dateien, wo dein Programm sich über überzählige Bytes beschwert.
    Die eit Dateien habe ich zur Unterscheidung in zwei getrennte Verzeichnisse kopiert.


    Ich werde die neue Version mal testen und auf der Dreambox nachschauen, ob dort diese Infos irgendwo angezeigt werden.


    Grüße


    mm

  • Hi,


    @jp
    ich wäre dafür das die zusätzlichen Daten beim speichern nicht verworfen werden. Vielleicht gibt es ja doch irgendwo ein Plugin welches die Daten auswerten kann.
    Falls es nicht zu viel Arbeit macht könntest du ja über eine abschalt Option nachdenken das jeder wählen kann ob die zusätzlichen Infos gespeichert werden sollen.

    MfG
    latte

  • Es gibt wieder ein Update, diesmal mit einigen größeren Änderungen:



    1) Keine automatische Neuanlage einer EIT beim Programmstart


    Am Auffälligsten dürfte sein, dass edEIT nach dem Start nun völlig anders aussieht, weil keine EIT-Datei mehr automatisch erzeugt wird.
    Zulässige Aktionen sind nach dem Start "Datei neu", "Datei öffnen" und "EIT aus .ts.meta erstellen". Die Menüs werden dynamisch angepasst, d.h. "Speichern", "SpeichernAls", usw. sind nur anwählbar, wenn eine EIT in Bearbeitung ist.



    2) Volle Unterstützung von Strukturierten Daten im Extend Event Descriptor


    Das EIT Format erlaubt es in den EED neben dem typischen Text (Sendungsinhaltsbeschreibung) auch strukturierte Daten abzuspeichern.
    Typischerweise werden diese Felder für Angaben zu Schauspielern, Regisseur, usw. verwendet.
    Wichtig:
    Die strukturierten Daten befinden sich im Reiter "Optional" im EED. Gültig ist ein Eintrag nur dann, wenn beide Felder (Feldname und Feldwert) gefüllt sind.
    Wird nur ein Feld gefüllt, wird der Eintrag beim Speichern ignoriert.
    Eine Zeile kann man löschen, in dem man sie markiert und auf die "Entf."-Taste drückt. Die Löschung erfolgt ohne Nachfrage.



    3) Aktive Längenüberwachung bestimmter Felder


    Um zu verhindern, dass zu lange Texte nicht gespeichert werden können (ein Descriptor darf immer nur max. 255 Bytes lang sein), wurde sie bisherige "einfache" Begrenzung gegen eine aktive Überwachung getauscht.
    Betroffen davon sind "Titel" und "Beschreibung" im Short Event Descriptor sowie die einzelnen Felder der strukturierten Daten in den Extend Event Descriptors.
    Die tatsächliche Länge vom ggf. CS-kodierten Text wird während der Eingabe überwacht und bei Überschreitung die weitere Eingabe verhindert. Pro Tastendruck ist dann ein Piep zu hören.
    Auf eine Fehlermeldung als Fenster habe ich bewusst verzichtet. Keine Sorge, mir ist noch keine .eit untergekommen, die die Maximallängen annähernd erreicht hätte. Insofern werdet ihr den Pieps wahrscheinlich niemals hören :winking_face:



    Noch ein Hinweis:


    Die strukturierten Daten in den EEDs haben zur Folge gehabt, dass ich die EED-Kodierungsroutine deutlich überarbeiten musste, die bei der Speicherung von EITs zum Einsatz kommt.
    Ich habe sie mehrfach geprüft und etliche EITs getestet, sie müsste also passen. Dennoch solltet ihr vielleicht die erste Zeit Sicherungskopien der originalen EITs aufheben.
    Sollte ich doch was übersehen/verbockt haben, werdet ihr es sicher schnell finden und melden.



    Ansonsten:
    Auch in diese Version sind wieder in erster Linie Anregungen von euch eingeflossen. Vielen Dank für euren Input.

    Grüße
    ...jp

    2 Mal editiert, zuletzt von juanito_perez ()

  • Hab' noch 'nen kleinen Fehler in der 1.5.0 gefunden:


    Ist keine eit aktiv wird beim Öffnen einer .eit per Drag'n'drop die EIT-Maske nicht eingeschaltet.


    Das ist dann in der 1.5.1 gefixed.
    Zudem unterstützt die 1.5.1 auch die Übergabe mehrerer Dateien gleichzeitig per Drag'n'drop.


    Ich hab' die 1.5.1 zwar schon fertig, warte aber noch mit der Veröffentlichung. Vielleicht findet ihr auch noch was, dann kann ich das da auch gleich fixen/ergänzen.

    Grüße
    ...jp

  • Die angekündigte 1.5.1 kommt doch schon heute [Blockierte Grafik: https://www.i-have-a-dreambox.com/wbb2/images/smilies/smile.gif]


    Der Drag'n'drop-Fehler aus der 1.5.0 wurde behoben und bei der Gelegenheit das D'n'D dahingehend erweitert, dass jetzt auch mehrere Dateien auf einmal übergeben werden können.


    Die Kodierungsroutine für Short Extension Descriptors wurde erweitert und erzeugt nun bei Bedarf zwei SEDs. Das ist nötig, wenn Titel und Beschreibung so lang sind, dass sie nicht in ein Block passen. Anders gesagt: Es können deutlich längere Texte darin gespeichert werden. Ob man das braucht: Wahrscheinlich nicht. Ich hab's dennoch umgesetzt, weil der Standard die Vorgehensweise erlaubt und es also vorkommen kann.


    Ansonsten wurde noch eine kosmetische Korrektur in der CPD Tabelle durchgeführt: "Stream" war - zumindest bei mir - etwas abgeschnitten.


    Viel Spaß mit der 1.5.1

    Grüße
    ...jp

    Einmal editiert, zuletzt von juanito_perez ()

  • Die Kodierungsroutine für Short Extension Descriptors wurde erweitert und erzeugt nun bei Bedarf zwei SEDs. Das ist nötig, wenn Titel und Beschreibung so lang sind, dass sie nicht in ein Block passen. Anders gesagt: Es können deutlich längere Texte darin gespeichert werden. Ob man das braucht: Wahrscheinlich nicht. Ich hab's dennoch umgesetzt, weil der Standard die Vorgehensweise erlaubt und es also vorkommen kann.


    Das steht in den DVB-SI Guidelines aber anders drin:

    Zitat

    This descriptor is allowed more than once in the EIT event loop for different languages. Thus it is not allowed to have more than one
    short_event_descriptor with the same language code.

  • Hi,


    Interessanter Hinweis.


    Alles, was in edEIT hinsichtlich EIT-Format umgesetzt ist, basiert auf den ETSI EN 300 468 V1.14.1 (2014-05).
    Dort kann ich die von dir genannte Restriktion nicht finden.


    Die von dir genannte Restriktion finde ich bisher nur in einem Dokument von 2009.
    Könnte es sein, dass Du von einem alten Stand ausgehst?


    Übrigens kommen .eit mit zwei SED (gleiche Sprache) sogar im "richtigen Leben" vor. Mir wurden solche .eits schon vor geraumer Zeit übermittelt. Erzeugt waren sie mit VUs. Interessant war, dass die Infos problemlos auch in ein SED gepasst haben. edEIT kann also schon lange mehrere SEDs einlesen.

    Grüße
    ...jp

  • Ich hatte das obige Zitat aus ETSI TS 101 211 V1.12.1 (2013-12) übernommen. Ich denke schon, dass das noch aktuell ist. Im aktuellen DVB BlueBook A005 (Juni 2017) steht das auch so drin. :winking_face:

  • Keine Ahnung, wer Vorfahrt hat....


    Ich orientiere mich weiterhin an dem 300 468 und belasse es so, wie es jetzt ist.


    Sollte jemand damit tatsächlich ein Problem bekommen, wird er sich sicher melden.


    Zudem: Wenn man keine Längenüberschreitung provoziert, wird nur ein SED geschrieben. Und das selbst, wenn - wie bei den VU - zwei SEDs in der Ausgangsdatei enthalten waren.

    Grüße
    ...jp

    2 Mal editiert, zuletzt von juanito_perez ()

  • Hab mich jetzt extra registriert, um ein Like abzugeben ...
    Habe gestern ein bischen experimentiert (was macht man sonst im Urlaub vor den Weihnachtstagen), um eine Liste aller Filme (etc.pp) zu erzeugen - mit dem Ziel doppelte zu finden. Ich zeichne von zwei VU+ auf eine NAS auf und sortiere vor dem 'Werbungsentfernen' (TSDoctor) erst mal alles in ein Verzeichniss, bevor es ordentlich in Ordner sortiert wird. Da ich als Name "20161224 1653 - Das Erste HD - Die Feuerzangenbowle" (Beispiel) wähle, kann man auf Anhieb auch mit einer flachen Stucktur nicht erkennen, was denn alles so gesammelt wurde ...


    Ich habe in die .meta reingeschaut und den Titel in der zweiten Zeile gefunden. Da ich schon immer mal ein Phyton Script schreiben wollte (ist gerade hipp unter den Scriptern in der Firma) habe ich damit experimentiert und auch eine .csv mit Name etc, generieren können - die dann in EXCEL sortiert und schon konnte ich die doppelten löschen.


    Dann habe ich das Tool gefunden - weil ich doch mal genauer wissen wollte, das denn in dem File drin steht. Hätte mir aber auch nix genützt. denn - soweit ich die Seiten hier durchstöbert habe (und im Tool geschaut) - gibt es keine Möglichkeit diese XML "alle auf einen Rutsch" zu erzeugen. Da sind die Inhalte ja schön aufbereitet drin und man könnte eine schöne Liste erzeugen (es war mal die Rede von Kommandozeile ... hat sich aber verlaufen?).


    Trotz alledem einen schönen Dank - und frohes Fest :smiling_face:


    Eine Frage - habe ich dann doch: ich habe bei 'ein paar' Dateien (während des Werbungsentfernen) das .ts entfernt (also <FILM>.meta statt <FILM>.ts.meta. So liest edEIT das File nicht ein.

  • Habe gestern ein bischen experimentiert (was macht man sonst im Urlaub vor den Weihnachtstagen), um eine Liste aller Filme (etc.pp) zu erzeugen - mit dem Ziel doppelte zu finden. Ich zeichne von zwei VU+ auf eine NAS auf und sortiere vor dem 'Werbungsentfernen' (TSDoctor) erst mal alles in ein Verzeichniss, bevor es ordentlich in Ordner sortiert wird. Da ich als Name "20161224 1653 - Das Erste HD - Die Feuerzangenbowle" (Beispiel) wähle, kann man auf Anhieb auch mit einer flachen Stucktur nicht erkennen, was denn alles so gesammelt wurde ...


    Ich habe in die .meta reingeschaut und den Titel in der zweiten Zeile gefunden. Da ich schon immer mal ein Phyton Script schreiben wollte (ist gerade hipp unter den Scriptern in der Firma) habe ich damit experimentiert und auch eine .csv mit Name etc, generieren können - die dann in EXCEL sortiert und schon konnte ich die doppelten löschen.


    Dann habe ich das Tool gefunden - weil ich doch mal genauer wissen wollte, das denn in dem File drin steht. Hätte mir aber auch nix genützt. denn - soweit ich die Seiten hier durchstöbert habe (und im Tool geschaut) - gibt es keine Möglichkeit diese XML "alle auf einen Rutsch" zu erzeugen. Da sind die Inhalte ja schön aufbereitet drin und man könnte eine schöne Liste erzeugen (es war mal die Rede von Kommandozeile ... hat sich aber verlaufen?).

    Jetzt hab ich mich auch mal registriert. Like ist abgegeben. :smiling_face:


    Ich hoffe ich ziehe das hier nicht zu sehr ins Offtopic, aber das Problem von Dir oben hatte ich auch. Allerdings bin ich nicht so phyton bewandert, sondern arbeite mit C++. Hab auch angefangen mein Sammelsurium nach doppelten zu durchstöbern, allerdings gehe ich da nach Dateinamen der EIT und schneide Datum, Uhrzeit und Sendernamen einfach ab. Das Ergebnis ist aber ähnlich, denke ich. :smiling_face:


    Hab da für den Eigenbedarf angefangen ein (extrem unübersichtliches und nicht konsistent zu bedienendes) tool mit SQL Datenbank zu programmieren in dem ich nicht nur doppelte finden, sondern die auch Vorsortieren, Filtern und Suchen kann. Falls da größeres Interesse besteht könnt ich das tool eventuell doch mal so aufbereiten das es auch auf anderen PCs lauffähig wäre. (aktuell liegt die Datenbank zwingend auf meinem NAS) - Hab mal nen Screenshot angehängt:

    Dummerweise ist das ganze mit Qt programmiert weil ich mich damit am besten auskenne, die Installationsdatei hätte bestimmt um die 100 MB wegen den vielen benötigten DLL Dateien... :thinking_face:


    Und deshalb ist mein Kommentar hier nicht ganz Offtopic: Könnte ich den Inhalt aller EIT Dateien auch mit in meine Datenbank einpflegen wäre das natürlich der Oberkracher. Aber da edEIT in .NET programmiert ist, weiß ich nicht ob und wie gut das mit meinem Programm aufruf- und automatisierbar wäre wenn es eine Möglichkeit gäbe edEIT extern zu steuern. Deshalb hab ich da auch noch nicht gefragt. Zudem würde es, falls ich mein Programm anderen zugänglich mache die Installation von edEIT voraussetzen... auch eher umständlich.
    Die Doku zu dem EIT Format hab ich mir angesehen... :upside_down_face: ...und mich dann gefragt ob sich der Aufwand für mich tatsächlich lohnt. Vielleicht lässt sich der Autor von EIT aber zu Weihnachten erbarmen und schickt mir unter der Hand den Quellcodeabschnitt in dem er die EIT Daten ausließt in ner privaten Nachricht. :grinning_squinting_face: Ich kann zwar kein .NET, aber ich denke mit ner Vorlage wäre das sicher einfacher es in C++ umzuschreiben und in mein tool zu integrieren. :kissing_face:

  • Hab mich jetzt extra registriert, um ein Like abzugeben ...

    Danke, freut mich, wenn dir das Tool zusagt / hilft :smiling_face:



    Eine Frage - habe ich dann doch: ich habe bei 'ein paar' Dateien (während des Werbungsentfernen) das .ts entfernt (also <FILM>.meta statt <FILM>.ts.meta. So liest edEIT das File nicht ein.

    Das ist logisch und richtig so. Wenn die Meta nicht mehr die Endung .ts.meta hat, dann erkennt sie edEIT nicht als Solche und öffnet sie nicht.
    Es gibt auch keinen Grund der .ts.meta das .ts wegzunehmen. Die Box und andere Tools können dann auch nichts mehr damit anfangen :winking_face:
    Die Dreams würden dir beim Abspielen sogar eine neue .ts.meta erzeugen.


    Zur Kommandozeilenversion siehe nächsten Post.

    Grüße
    ...jp

  • @QtHelex & @Kanzler1959


    Die Kommandozeilenversion ist nie entstanden, weil die Nachfrage nur vereinzelt kam und insbesondere, weil nicht konkretisiert wurde, was diese eigentlich können soll.
    edEIT hat inzwischen so viele Optionen/Funktionen, dass es ein ziemlicher Aufwand wäre das alles in einer CLI-Version umzusetzen und insbesondere zu testen. Dazu fehlt mir ehrlich gesagt die Motivation. Vor allem, weil wahrscheinlich das Meiste davon niemals benutzt werden würde.


    Bitte hab' Verständnis dafür, dass ich aktuell - auch nicht weil Weihnachten ist - den Source - auch nicht teilweise - veröffentlichen / weitergeben möchte. Die Teile zum Einlesen / Decodieren der einzelnen Deskriptoren ist ziemlich umfangreich.


    Grundsätzlich wäre ich durchaus bereit auch eine abgespeckte CLI-Version zu erstellen und zu veröffentlichen.
    Bedingung ist aber, dass die Anforderungen klar gestellt werden und einen nachvollziehbaren Sinn verfolgen.
    Was also genau soll eine CLI-Version alles können? Welche Desktiptoren sollen unterstützt werden?
    Wie soll die Datenausgabe erfolgen? Bitte beachten, dass die Beschreibungstexte auch Zeilenumbüche enthalten können, die z.B. bei einer .csv entfallen müssten.

    Grüße
    ...jp

  • Und da scheitert es schon... mit CLI kann ich soweit ich weiß mit Qt nichts anfangen, ich brächte eine win32 DLL Datei die wiederum von .NET nicht kompiliert werden kann. :frowning_face:


    Trotzdem Danke für die prompte Antwort! :smiling_face:


    Danke übrigens auch an Kanzler1959 für den beiläufigen Tipp für TSDoctor. Hab leider vor 2 Monaten 60€ für ein Schnitttool raus geworfen das jetzt im nachhinein weniger kann als TSDoctor für den halben Preis. Ärgerlich, aber halt passiert. :neutral_face:

  • Über eine DLL könnte ich auch nachdenken. Ich hab' mal angefangen aus Neugierde edEIT nach C# zu portieren...


    Du könntest aber sicher auch mit Qt eine externe .exe ausführen und die Ergebnisse davon - in welcher Form auch immer - in deinem Programm weiter verarbeiten.


    edit: Wg. ext. Anwendung starten schau' mal hier

    Grüße
    ...jp

    Einmal editiert, zuletzt von juanito_perez ()

  • Und da scheitert es schon... mit CLI kann ich soweit ich weiß mit Qt nichts anfangen, ich brächte eine win32 DLL Datei die wiederum von .NET nicht kompiliert werden kann. :frowning_face:


    Trotzdem Danke für die prompte Antwort! :smiling_face:


    Danke übrigens auch an Kanzler1959 für den beiläufigen Tipp für TSDoctor. Hab leider vor 2 Monaten 60€ für ein Schnitttool raus geworfen das jetzt im nachhinein weniger kann als TSDoctor für den halben Preis. Ärgerlich, aber halt passiert. :neutral_face:

    TSDoctor ... Nicht glauben, das es von allein geht (ich glaube es gibt eine Testversion).


    Zu:
    Wenn die Meta nicht mehr die Endung .ts.meta hat, dann erkennt sie edEIT nicht als Solche und öffnet sie nicht.
    Es gibt auch keinen Grund der .ts.meta das .ts wegzunehmen. Die Box und andere Tools können dann auch nichts mehr damit anfange


    Bin halt von der alten Schule - und fand das doch ein wenig merkwürdig (um nicht zu sagen für einen Bug). Nun muss ich alle suchen und das ts einfügen ... schön Beschäftigung für die besinnlichen Tage. Im übrigen - mein Phyton beschränkt sich auf 5h Netzrecherche und am Ende ein Dutzend Zeilen ... ich komme noch aus der 6502 Assemblerwelt :grinning_squinting_face:

    2 Mal editiert, zuletzt von Kanzler1959 () aus folgendem Grund: Board versteht kein {quote} - sah wie ein wiki aus