Beiträge von HelmutB

    Ich habe mir gestern den Patch angesehen - und ich hoffe, auch verstanden.

    Neu ist, dass fd_frontend jetzt von DvbTuner verwaltet wird und dei Funktion cDvbTuner::ProvidesFrontend(const cChannel *Channel, bool Activate),

    wo im Fall von "Activate" das aktuelle frontend geschlossen und das neue geöffnet wird.


    !!!!

    weil ich gerade den Patch wieder ansehe - hier in cDvbTuner::ProvidesFrontend():

    !!!!


    + dvbFrontend->Close();

    + dvbFrontend = dvbFrontends[i];

    + fd_frontend = dvbFrontend->Open(); **** offnet doch wieder das alte frontend

    + frontend = i; **** weil die neue frontendnummer erst jetzt gesetzt wird


    Helmut

    Hier noch ein kurzer Nachtrag - ich habe inzwischen den Datendurchsatz mit einem kleinen Perl-script auch getestet und komme ziemlich gut an das Limit von 48 Mbit/s. (Script als zip im Anhang).

    Code
    gentoo2 ~/bin/wintvci # ./ci_throughput.pl
    Writing to '/dev/dvb/adapter0/sec0' in blocks of 3840 TS (721920 bytes) for 20 seconds ...
    Bitrate OUT(629760 TS): 47.23 Mbit/s
    Bitrate IN (626390 TS): 46.98 Mbit/s


    Helmut

    Ich muß mich korrigieren. Ich hatte doch "Pass Through" eingestellt.


    Bei "Einstellungen->Plugins->xineliboutput->Local Frontend->Speakers"

    sind von "Mono 1.0" bis "Sorround 4.1" alle Tonspuren zu hören.

    Als Treiber funktioniert Automatic/OSS - mit ALSA gibt es keinen Ton.


    Mein Problem ist damit gelöst - Danke.


    Helmut


    PS:

    Meine kurze Aufnahme ist leider nicht ganz optimal. Beim Abspielen als Aufzeichnung werden die letzten 2 Sekunden nicht wiedergegeben und mit "Media Player->Play File" gibt es am Ende einen VDR-restart.

    Danke an

    Stream1 1011 laut Deinem git hat 3F2M/LFE . Also drei Front (Links, Rechts,Center) und zwei Mitten + LFE für Infra Bässe. Normalerweise wird ja 3F2R/LFE ausgestrahlt also 3 Front und 2 Rear + LFE.

    und

    Eventuell lässt xineliboutput einfach alles außer den ersten beiden Tonspuren weg

    Das wird es wohl sein - ich muß am Abend nachsehen ob ich DD5.1 überhaupt zulasse. Wenn nicht, ist eigentlich klar, dass nur die beiden ersten Spuren genommen werden.


    Helmut

    Lässt du den Ton decodieren

    Ja, ganz normal direkt auf dem Notebook mit Intel-hda in Stereo.


    vielleicht hat es was mit der Audiodeskription zu tun

    Die Audiodescription ist im 2.Audiostream (#1012) und da ist der Kommentator zu hören.


    Aber ich bin schon etwas weiter


    Ich habe den ersten Audiostream #1011 mit

    'mplayer -aid 1011 00001.ts -dumpaudio -dumpfile audio1.ac3'

    extrahiert und dann mit Audacity geöffnet.


    Hier sieht man 6 Tonspuren. Der "Sebastian" ist auf Tonspur 3, Alle anderen Spuren sind ohne Kommentar.

    Im zweiten Stream #1012 ist der Kommentar auch auf Tonspur 1 und 2 enthalten


    Helmut

    Ich habe heute ein interessantes Phänomen festgestellt. Bei der F1 Übertragung auf ORF1-HD über DVB.T2 höre ich im 1.Audiostream nur den Originalton (also Motorgeräusche, Inteviews) aber nicht den ORF-Kommentator. Auf der 2.Tonspur ist beides zu hören.


    Ich verwende das xineliboutput Plugin und ffmeg-3.3.6 mit eac3 Unterstützung.

    Ich habe eine kurze Aufnahme von ca. 5 Sekunden gemacht. Mit vlc oder mplayer ist bei der 1.Audiospur am Ende eindeutig der Kommentator mit "Sebastian Ve." zu hören. Mit ffplay und im VDR eben nicht, nur das Motorengeräusch.


    So siehr ffplay die Streams:


    Das ist mit etwas unerklärlich - obwohl, bei manchen Fußballübertragungen hätte ich mir so eine Funktion zu Stummschalten des Kommentators schon öfter gewünscht.

    Hier die Aufnahme falls es jemand testen will (Größe ca.3,5 Mb)

    [Entfernt]

    Edit:

    Ich habe die Datei wieder entfernt, die relevanten Audiodateien sin in Post #4.


    Helmut

    Das ist ja auch das Schaltbild des Si21832 Dual Demodulators (zwei Si2183 in einem IC).


    Der TBS Treiber erstellt für alles das oberhalb und unterhalb der Bildmitte ist je einen Adapter, in jedem Adapter ein demux0 für den Demodulator (A oder B) und 2 Frontends wegen der beiden Tuner die am Demod hängen. Beide "TV-Tuner" sind für DVB-T/T2/C geeignet.

    Der Treiber Ist schon ok.


    Helmut

    Ich meinte eigentlich mein eigenes "kann man" von hier:

    Vielleicht kann man aus den einzelne Frontends auch ein "Masterfrontend" erstellen,

    Wahrscheilich könnter der TBS-Treiber genauso die beiden realen Tuner hinter einem einzelnem "Multi Standard Mastertuner" verstecken und über die Frontendparameter dann den geigneten auswählen.

    Aber wenn es der Treiber nicht macht, macht es eben VDR und es werden nun aus den 2 Frontends ein einzelnes "Multi Standard Masterfrontend". Klingt doch auch gut, oder ?

    Helmut

    Das"kann man" ist eigentlich durch "sollte man" zu ersetzten.

    Da man die einzelnen Frontends nur exklusiv zu verwenden kann, ist es besser sie hinter einem gemeinsamen Frontend zu verstecken.


    Eine Schwierigkeit gibt es noch wenn das gemeinsame Bauteil der Tuner ist.

    Hier muss eigentlich vor dem Anlegen des cDvbDevice für frontend1 das frontend0 wieder geschlossen werden weil DvbOpen() sonst nicht klappt.


    Helmut

    dass es, wenn von den Frontends immer nur *eines* exklusiv verwendet werden kann, nur genau *ein* ca0, demux0 und dvr0 und *keine* caN, demuxN und dvrN (N > 0) gibt?

    Das würde ich genau so sehen, ca0 ist natürlich optional, aber demux0 und dvr0 werden in dvb-core/dmxdev.c immer zugleich erstellt.

    Ich glaube auch das der Fall frontendN/demuxN gar nicht vorkommt da für dieses Frontend (mit eigenem Tuner und eigenem Demodulator) gleich ein eigener Adapter erstellt werden würde.

    Ein Tuner hat zwei frontends einen für DVB-C/T und einen für DVB-S/S2

    Eher so: Ein Adapter hat für jeden der 2 Tuner ein Frontend, eines für DVB-T/C eines für DVB-S/S2.

    Als Anhang das Schema aus Si21832-B60-short.pdf dem die TBS6590 (und auch der TBS6522) ziemlich genau entspricht.


    Vielleicht kann man aus den einzelne Frontends auch ein "Masterfrontend" erstellen, in dem die Delivery-Systems und fe.caps "aufaddiert" werden und in dem dann je nach Bedarf das richtige "Subfrontend" ausgewählt wird.


    Helmut

    Ich habe gerade gesehen das es den Si2183 Demod auch in dezidierter Dual Ausführung als Si21832 gibt.


    Aus den Beschreibungen:

    "The Si218x2 embeds two independent programmable transport stream interfaces ...."

    und

    "Connecting the Si218x2 to both a dual terrestrial/cable TV tuner, and a dual satellite tuner, results in a high-performance and cost optimized dual-channel TV or STB front-end solution"


    ist meine Frage indirekt beantwortet und ich schliesse daraus, dass bei nur einem Demux Device mehrere Fronends nicht gleichzeitig verwendet werden können.


    Helmut

    Ich meine den Si2183 Demodulator der bei der TBS in jedem Adapter nur 1x vorhanden ist: Si2183

    Die Tuner sind je Adapter 1x Si2157 für DVB-T/T2/C und 1x av2011 oder av2012 für DVB-S/S2/S2X.


    Ich frage mich auch warum die Karte nur als "Dual Tuner" bezeichnet wird, obwohl real 4 Tuner-ICs verbaut sind.

    Das hat sicher einen Grund.


    Helmut

    Noch eine Frage dazu:

    Wenn ein Adapter zwei Frontends hat, dann wird davon ausgegangen, dass die auch *gleichzeitig* verwendet werden können.

    Diese Annahme stimmt ziemlich sicher wenn es zu einem FrontendX auch ein DemuxX gibt (vom Treiber erstellt - kein Symlink).

    Wenn dem nicht so ist, müssen sich die Frontends gewisse Hardware teilen (Tuner oder Demodulator) .


    Das ein Tuner nicht von 2 Frontends gleichzeitig verwendet werden kann ist einleuchtend.

    WIe sieht es aber mit einem gemeinsamen Demodulator aus (wie bei der TBS 6590) - gibt es da keine Konflikte beim Zugriff?


    Hat das hier schon wer versucht und weiß eine Antwort?


    Helmut

    Wenn ein Adapter zwei Frontends hat, dann wird davon ausgegangen, dass die auch *gleichzeitig* verwendet werden können. Ist dies nicht der Fall, dann darf der Treiber nur *ein* Frontend implementieren,

    Ich glaube nicht, dass ein voll funktionsfähiges Frontend jemals aus dem Kerneltreiber entfernt wird.

    Da ein dafür notwendiger Patch (der erst geschrieben werden muß) auch nicht von allen VDR-Usern so einfach eingespielt werden kann fände ich es besser so hardwarebezogenen Einzelfälle in cDvbDevice::Initialize() direkt zu behandeln. Für den Astrometa-T2 z.B.:

    Helmut

    Es wird genau der Sender verwendet, der live oder für eine Aufzeichnung genommen werden

    Alles klar - ich habe gedacht, es sollen wie jetzt bereits beim Start von VDR alle Adapter geprüft werden.


    Eines noch - beim Astrometa DVB-T2 USB Adapter kann von den 2 Frontends immer nur eines geöffnet sein. Deshalb schlägt derzeit DvbOpen für das Frontend1 (DVB-T2) fehl. Wird sich daran etwas ändern (DvbOpen nach Bedarf) ?

    Helmut