Beschreibung der Audio Spuren

  • Über ähnliche Themen wurde zwar schon geschrieben, aber entweder nicht exakt über mein Problem oder ich habs nicht verstanden ;)


    Bei mir werden die Audiospuren auf einigen Sendern mit falschem Namen angezeigt. Das betrifft auch immer wieder dieselben Sender. Vor allem Sky Sport HD 1/2 und Das Erste HD.


    Das äußert sich so:
    Beispiel Sky Sport HD 1:
    Sendung laut epg.data:
    X 5 0B deu 16:9
    X 2 03 deu STEREO Kommentar
    X 4 2C deu DOLBY Kommentar
    X 4 2C deu STEREO Stadion



    Es sind auch 3 Spuren vorhanden:


    770=deu@106,771=deu@106,772=eng@106


    Also ist, wenn ich das richtig verstehe, die Info vorhanden, dass zwei deutsche und eine englische Spur vorhanden sind.


    Im OSD werden auch 3 Kanäle angezeigt:
    - DOLBY Kommentar
    - STEREO Stadion
    - eng


    Korrekt wäre:
    - STEREO Kommentar
    - DOLBY Kommentar
    - STEREO Stadion


    Wieso werden die Spuren falsch zugeordnet? Im EPG stehen sie doch in der korrekten Reihenfolge. Liegt es an der falschen Zuordnung der dritten Spur (eng statt deu)? Warum werden dann nicht zumindest die ersten zwei Spuren korrekt zugeordnet? Ist das Verhalten nur bei mir so?


    Bei "Das Erste HD" äußert sich das Verhalten so:


    Im OSD wird angezeigt:
    - stereo
    - ohne Audiodeskription
    - Dolby DIgital 2.0


    Dabei ist die dritte Spur tatsächlich Dolby Digital, die ersten beiden Spuren scheinen identisch zu sein.


    channels.conf:
    5102=deu@3,5103=mis@3;5106=deu@106


    epg.data:
    X 1 03 deu 16:9
    X 2 03 deu stereo
    X 4 42 deu Dolby Digital 2.0
    X 3 01 deu
    X 2 03 deu ohne Audiodeskription
    X 3 20 deu DVB-Untertitel


    Anhand der Info hätte ich eine andere Sortierung im OSD erwartet (stereo, Dolby Digital, ohne Audiodeskription). Wie kommt es zu der in diesem Fall korrekten Zuordnung der DD Spur? Hat es auch wieder etwas mit der falschen Sprach-Bezeichnung mis statt deu zu tun? Wird die anscheinend eigentlich gar nicht vorhandene Spur "ohne Audiodeskription" bei euch auch so angezeigt oder ist das ein Konfigurationsproblem?

  • Sky koch sein eigenes Süppchen und die Receiver, die das verstehen dürfen sich "zertifiziert" nennen.
    Zu Das Erste HD: wieso sollte die Spur "ohne Audiodeskription" nicht vorhanden sein? Die wird einfach mitgesendet so dass halt die mp2-stereo-Spur und die Audiodeskriptions-Spur identisch sind wenn keine Audiodeskription gesendet wird. Wenn mal eine Audiodeskription gesendet wird hat die Spur die Bezeichnung "Audiodeskription". Wenn sie normalerweise leer wäre würden sich evtl. einige Receiver verschlucken, d.h. gar keinen Ton mehr wiedergeben wenn vorher etwas mit Audiodeskriptionspur lief, da ist es für die Sender einfacher, die Spur immer mitzusenden auch wenns nur Stereo ist.
    Es kann natürlich sein, dass durch externes EPG die EPG-Einträge geändert werden und dann werden z.B. die Tonspuren vom VDR nicht mehr modifiziert wenn der Sender sie aktualisiert.

  • Schon zich mal disktutiert, aber irgendwie noch keine für mich zufriedenstellende Lösung Im VDR. Ich wünsche mir da, dass die Audiospuren live analysiert werden und die Beschreibungen dynamisch mit sinnvollen Texten angepasst werden. Ich geb die Hoffnung nicht auf. :D Bei XBMC wird auch anders gemacht.

    - Client1: Thermaltake DH 102 mit 7" TouchTFT * Debian Stretch/vdr-2.4.0/graphtft/MainMenuHooks-Patch * Zotac H55-ITX WiFi * Core i3 540 * 4GB RAM ** Zotac GT630 * 1 TB System HDD * 4 GB RAM * Harmony 900 * satip-Plugin

    - Client2: Alfawise H96 Pro Plus * KODI
    - Server: Intel Pentium G3220 * DH87RL * 16GB RAM * 4x4TB 3.5" WD RED + 1x500GB 2.5" * satip-Plugin
    - SAT>IP: Inverto iLNB

  • Die Beschreibung der Audio-Spuren kommt aus dem "Component Descriptor" des EPG.
    Siehe cEIT::cEIT() in eit.c:


    Wenn der Sender da nichts sinnvolles reinschreibt kann VDR auch nichts dafür.


    Klaus

  • Aber muss man sich denn darauf verlassen, was der Sender sendet? Kann man die Audiospuren nicht selbst auswerten, wie sie gerade über den DVB-Stream kommen?

    - Client1: Thermaltake DH 102 mit 7" TouchTFT * Debian Stretch/vdr-2.4.0/graphtft/MainMenuHooks-Patch * Zotac H55-ITX WiFi * Core i3 540 * 4GB RAM ** Zotac GT630 * 1 TB System HDD * 4 GB RAM * Harmony 900 * satip-Plugin

    - Client2: Alfawise H96 Pro Plus * KODI
    - Server: Intel Pentium G3220 * DH87RL * 16GB RAM * 4x4TB 3.5" WD RED + 1x500GB 2.5" * satip-Plugin
    - SAT>IP: Inverto iLNB

  • Aber muss man sich denn darauf verlassen, was der Sender sendet? Kann man die Audiospuren nicht selbst auswerten, wie sie gerade über den DVB-Stream kommen?


    VDR wertet im Live-Modus den DVB-Stream nicht aus.
    Außerdem: was sollte man denn da auswerten? Die Beschreibungen der Audio-Spuren stehen in den Component-Descriptoren des EPG, und der wird ständig ausgewertet.


    Klaus

  • OK, prinzipiell verstehe ich das Verhalten und auch, dass die ARD anscheinend nicht die Anzahl der Audiospuren pro Sendung ändern will und daher einfach nicht benutzte weiterhin als "ohne Audiodeskription" meldet.
    Was ich aber nicht verstehe ist, wie die Zuordnung der im EPG genannten Spuren zu den tatsächlich vorhandenen funktioniert. Aus irgendeinem Grund sind die Audiospuren in der epg.data ja in einer anderen Reihenfolge vorhanden als sie im OSD angezeigt werden. Die Audio-PID ist im EPG ja anscheinend noch nicht vorhanden, oder?
    Ich will euch aber auch nicht eure Zeit klauen. Ich schaue heute abend mal selber im Quelltext nach. Eigentlich wollte ich hauptsächlich wissen ob es ein Konfigurationsproblem auf meiner Seite ist oder ein prinzipielles Problem.


  • VDR wertet im Live-Modus den DVB-Stream nicht aus.
    Außerdem: was sollte man denn da auswerten? Die Beschreibungen der Audio-Spuren stehen in den Component-Descriptoren des EPG, und der wird ständig ausgewertet.


    Klaus


    Da drehen wir uns eben im Kreis. Wenn die ständig ausgewertet werden, warum hab ich dann (mit externem EPG) keine Beschreibungen der Audiospuren? Wenn die Component-Descriptoren des EPG ständig ausgewertet werden, kann man die Audiospuren dann nicht direkt setzen, als über den Weg übers EPG (epg.data)? Geht das denn, wäre zumindets mal ein Anfang?


    Auf der anderen Seite gibts es eben Sender, die Blödsinn senden, siehe Anfangsthread. Daher wäre die Frage gewesen, ob man nicht irgendwie die Spuren selbst analysieren kann, anstatt sich darauf zu verlassen, was der Sender mitliefert.


    Vielleicht ähnlich wie es ffmpeg macht:


    Code
    1. Input #0, mpegts, from '/volume1/vdr/Marvel's_The_Avengers/2013-02-10.21.50.158-0.rec/00001.ts':
    2. Duration: 00:06:55.05, start: 64503.532878, bitrate: 6979 kb/s
    3. Program 132
    4. Stream #0:0[0x4ff]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 50 fps, 50 tbr, 90k tbn, 50 tbc
    5. Stream #0:1[0x503](deu): Audio: ac3 ([6][0][0][0] / 0x0006), 48000 Hz, 5.1(side), s16, 384 kb/s
    6. Stream #0:2[0x504](eng): Audio: ac3 ([6][0][0][0] / 0x0006), 48000 Hz, stereo, s16, 384 kb/s


    oder


    Code
    1. Input #0, mpegts, from '/volume1/vdr/XNeu/Memento/2012-03-15.02.09.72-0.rec/00001.ts':
    2. Duration: 00:28:13.68, start: 7411.349356, bitrate: 9906 kb/s
    3. Program 132
    4. Stream #0:0[0xdff]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
    5. Stream #0:1[0xe00](deu): Audio: mp2 ([4][0][0][0] / 0x0004), 48000 Hz, stereo, s16, 160 kb/s
    6. Stream #0:2[0xe01](deu): Audio: mp2 ([4][0][0][0] / 0x0004), 48000 Hz, stereo, s16, 160 kb/s
    7. Stream #0:3[0xe03](deu): Audio: ac3 ([6][0][0][0] / 0x0006), 48000 Hz, 5.1(side), s16, 448 kb/s


    Weiß halt auch nicht :)

    - Client1: Thermaltake DH 102 mit 7" TouchTFT * Debian Stretch/vdr-2.4.0/graphtft/MainMenuHooks-Patch * Zotac H55-ITX WiFi * Core i3 540 * 4GB RAM ** Zotac GT630 * 1 TB System HDD * 4 GB RAM * Harmony 900 * satip-Plugin

    - Client2: Alfawise H96 Pro Plus * KODI
    - Server: Intel Pentium G3220 * DH87RL * 16GB RAM * 4x4TB 3.5" WD RED + 1x500GB 2.5" * satip-Plugin
    - SAT>IP: Inverto iLNB

  • Da drehen wir uns eben im Kreis. Wenn die ständig ausgewertet werden, warum hab ich dann (mit externem EPG) keine Beschreibungen der Audiospuren?


    Da musst du denjenigen fragen, der den externen EPG einspeist ;-).
    Die Components werden den EPG-Handlern über EpgHandlers.SetComponents() angeboten. Was der Handler damit macht, ist seine Sache.


    Quote


    Wenn die Component-Descriptoren des EPG ständig ausgewertet werden, kann man die Audiospuren dann nicht direkt setzen, als über den Weg übers EPG (epg.data)?


    Das verstehe ich nicht. Die Component-Descriptoren sind Teil des EPG und werden in diesen eingespeist. Wenn VDR die Audio-Spuren anzeigen soll, nimmt er die aktuellen Beschreibungen aus dem EPG für den aktuellen Event. Ich sehe nicht, was man da "direkt" machen sollte.



    VDR macht keine solch "tiefgehenden" Analysen.
    Wenn im EPG Quatsch steht, dann sollte man sich beim Sender beschweren.


    Klaus

  • OK, ich gebs auf. :)

    - Client1: Thermaltake DH 102 mit 7" TouchTFT * Debian Stretch/vdr-2.4.0/graphtft/MainMenuHooks-Patch * Zotac H55-ITX WiFi * Core i3 540 * 4GB RAM ** Zotac GT630 * 1 TB System HDD * 4 GB RAM * Harmony 900 * satip-Plugin

    - Client2: Alfawise H96 Pro Plus * KODI
    - Server: Intel Pentium G3220 * DH87RL * 16GB RAM * 4x4TB 3.5" WD RED + 1x500GB 2.5" * satip-Plugin
    - SAT>IP: Inverto iLNB

  • OK, prinzipiell verstehe ich das Verhalten und auch, dass die ARD anscheinend nicht die Anzahl der Audiospuren pro Sendung ändern will und daher einfach nicht benutzte weiterhin als "ohne Audiodeskription" meldet.
    Was ich aber nicht verstehe ist, wie die Zuordnung der im EPG genannten Spuren zu den tatsächlich vorhandenen funktioniert. Aus irgendeinem Grund sind die Audiospuren in der epg.data ja in einer anderen Reihenfolge vorhanden als sie im OSD angezeigt werden. Die Audio-PID ist im EPG ja anscheinend noch nicht vorhanden, oder?
    Ich will euch aber auch nicht eure Zeit klauen. Ich schaue heute abend mal selber im Quelltext nach. Eigentlich wollte ich hauptsächlich wissen ob es ein Konfigurationsproblem auf meiner Seite ist oder ein prinzipielles Problem.

    Jetzt habe ichs verstanden. Sky sendet drei DD-Spuren, gibt aber im EPG an 1 Stereo- und 2 DD-Spuren zu senden. Also werden die beiden DD-Spuren aus dem EPG den ersten beiden vorhanden DD-Spuren zugewiesen. Für eine dritte DD-Spur gibt es keinen EPG-Eintrag. Bei der ARD passt alles, weil sie den korrekten Audio-Track-Typ im EPG senden. Die "ohne Audiodeskription" Spur wird gesendet, entspricht aber der normalen Stereo-Spur.
    Da fällt mir auch nichts ein um die Sky-Spuren besser zuzuordnen. ;(

  • Ich habe mich nun nochmal etwas weiter eingelesen und wenn ich das richtig verstehe sollte die Zuordnung der Beschreibungen aus dem Component Descriptor zum Audiostream per "Component Tag" erfolgen falls mehrere Streams eines Typs vorhanden sind. Der Component Tag aus dem Component Descriptor sollte im Stream Identifier Descriptor in der PMT wieder auftauchen und somit eine eindeutige Zuordnung ermöglichen. Weiß jemand ob dies in der Praxis von den Sendern auch so umgesetzt wird? Im VDR wird der Component Tag anscheinend überhaupt nicht benutzt. Möglicherweise weil er sowieso nicht oder nicht korrekt gesendet wird?

  • Klaus hatte mir mal geschrieben, dass die Tracks in Components() in in der Reihenfolge drinstehen, die sie in der PMT haben.

    Zumindest theoretisch können die Tracks in der PMT aber eine andere Reihenfolge als in der EIT haben. Die Zuordnung soll laut Standard per Component Tag erfolgen. Falls alle Sender das zuverlässig senden würde ich vorschlagen die Zuordnung der Beschreibungen zu den Spuren auf diese Art umzustellen statt wie bisher die Beschreibungen aus der EIT in MPEG/AC-3 Spuren aufzuteilen und diese einfach der Reihenfolge nach den jeweiligen Spuren aus der PMT zuzuordnen. Hätte für mich möglicherweise den Vorteil, dass die falschen Einträge in der EIT bei Sky Sport nicht mehr zu falschen Beschreibungen führen :)

  • Moin!


    Jetzt, wo ich das alles lese, fällt mir auf, dass bei mir ab und an auf arte die Audioauswahl "falsch" war und nicht dort deutscher Ton rauskam, wo "deutsch" dran stand - oder so ähnlich. Kann mich nicht mehr genau erinnern, weiß aber, dass ich da über irgendwas gestolpert bin.


    Lars.

  • Zumindest theoretisch können die Tracks in der PMT aber eine andere Reihenfolge als in der EIT haben. Die Zuordnung soll laut Standard per Component Tag erfolgen.

    Klaus hatte mir damals noch weiter aus dem Gedächtnis geschrieben, dass VDR diese "Querverbindung" nicht benutzt, da VDR an der Stelle, wo er es bräuchte die nötige Info nicht hat. Da ich nie Probleme hatte, habe ich das nicht weiter verfolgt.

  • Klaus hatte mir damals noch weiter aus dem Gedächtnis geschrieben, dass VDR diese "Querverbindung" nicht benutzt, da VDR an der Stelle, wo er es bräuchte die nötige Info nicht hat. Da ich nie Probleme hatte, habe ich das nicht weiter verfolgt.

    In der epg.data sind sie jedenfalls nicht vorhanden. Im Stream aber anscheinend schon. Wäre also vermutlich etwas aufwendiger und für den Großteil der User vermutlich mit geringem Nutzen, aber Standard ist Standard ;)

  • In der epg.data sind sie jedenfalls nicht vorhanden. Im Stream aber anscheinend schon. Wäre also vermutlich etwas aufwendiger und für den Großteil der User vermutlich mit geringem Nutzen, aber Standard ist Standard ;)


    Ich hatte mir das vor längerer Zeit schon mal angeschaut, aber keine schöne Lösung gefunden. Und da die Sender das, soweit ich sehen konnte, immer (vernünftigerweise) in der selben Reihenfolge übertragen haben, habe ich da nicht weiter Zeit investiert. Das ist eine der diversen Stellen, wo der DVB-Standard völlig unnötige Freiheiten zulässt, die alles nur verkomplizieren...


    Ich schau mir das in der 2.1.x nochmal an.


    Klaus

  • Hallo Klaus/Portal,


    es passt nicht ganz zum Thema aber da es um die Zuordnung der Spuren geht möchte ich gerne einen Vorschlag machen:


    Leider werden die Dolby Tonspuren immer mit einem weitaus leiseren Ton gesendet als die "normalen" mp2 Tonspuren. Wenn man sich also dazu entscheidet sozusagen standardmäßig die Dolby Tonspur ausgeben zu lassen (falls vorhanden) wird man meistens beim Umschalten auf einen Kanal ohne Dolby Spur jedesmal etwas überrascht und muss schnell die Fernbedienung suchen um leiser zu machen. Umgekehrt hat man das Problem natürlich nur falls man nach einem Film in DolbyD vergisst die Tonspur wieder auf mp2 zu wechseln. Daher wünsche ich mir schon lange, dass die Tonspur automatisch gewechselt wird wenn ein echtes 5.1 Signal anliegt. Das hätte gleichzeitig den Vorteil, dass man immer den besten Ton bekommt, häufig seh ich Filme ohne DolbyD an weil ich garnicht nachschaue ob 5.1 Sound verfügbar ist.


    Leider entstehen dadurch natürlich auch Nachteile die wiederum Störend sein könnten:


    - In der Werbung würde wieder auf mp2 Ton umgeschaltet und man hätte zusätzlich zum erhöhten Werbepegel noch die Lautsärkeerhöhung durch den Tonspurwechsel
    - Evtl. würde die falsche DolbyD Tonspur ausgewählt falls mehrere verfügbar sind (Beispiel oben Sky - mehrere DolbyD Tonspuren die anscheinend unterschielichen 5.1 Sound senden)
    - Es müsste eine Analyse des Streams stattfinden, weil man sich nicht auf die EPG Aussagen alleine verlassen kann. Die öffentlichen Senden z.B. explizit "Dolby Digital 5.1" über den epg aus. Die meisten Privaten schreiben nur "dolbyd" oder dolbydigital" (etc.) und man weiss nicht ob es 5.1 ist oder nicht.


    Gibt es grundsätzlich Interesse das Problem anzugehen und evtl. Lösungsideen für die damit auftretenden Probleme? Gibt es weitere Probleme die ich übersehen habe?


    Gruß
    Atech

    HTPC:
    Softtware: Archlinux mit VDR aus Archvdr repo (1.7.31 mit softhddevice) und xbmc 12.2 Frodo stable
    Hardware: Coolermaster 260 mit Core I3 540, 4 GB Kingst. Ram, GA.H55M-D2H, PCIe 16X RiserCard, NVIDIA 430GT, TT3600USB, TT3650-CI USB, Samsung SSD 640, WD Blue 1TB (WD10TP), IR Einschalter, imon Display, mce FB und 12 Kanal Atmolight (4 Led Streifen) über DFatmo und Boblight


  • Ich hatte mir das vor längerer Zeit schon mal angeschaut, aber keine schöne Lösung gefunden. Und da die Sender das, soweit ich sehen konnte, immer (vernünftigerweise) in der selben Reihenfolge übertragen haben, habe ich da nicht weiter Zeit investiert. Das ist eine der diversen Stellen, wo der DVB-Standard völlig unnötige Freiheiten zulässt, die alles nur verkomplizieren...


    Ich schau mir das in der 2.1.x nochmal an.


    Klaus

    Sehr gut, danke! Normalerweise funktioniert die aktuelle Logik ja auch. Mein Problem ist ja eigentlich ein Fehler im EPG des Senders. Das Problem an der aktuellen VDR-Logik ist nur, dass die falsche Info zu einer Audiospur die Zuordnungen zu allen Audiospuren zerstört. Bei Benutzung des Component Tags hätte das (maximal) Auswirkungen auf die eine falsch zugeordnete Spur.