Das Demuxen (bzw. genauer ja das Filtern nach PIDs) des kompletten TS auf dem Transponder dürfte "in Hardware" erfolgen ... es gibt einen entsprechenden Kernel-Driver in der Box (ismddemux_v3).
Schaff' Dir doch einfach mal einen Shell-Zugang zur Box an, da kann man doch vieles dann tatsächlich nachprüfen/-lesen/-sehen und ist nicht mehr überall auf Vermutungen angewiesen - den Demuxer findet man z.B. dann sofort mit "lsmod".
Da es auf der Box selbst ja keine Anzeige-/Ausgabemöglichkeiten gibt (headless device), fehlen aber alle anderen "ismd"-Treiber (das "ISMD" steht für "Intel Streaming Media Driver"), die man ansonsten noch in den Intel-CE-Geräten (z.B. Google-TV oder Boxee) finden konnte, wie "ismdviddec_v2", "ismdaudio" oder "ismdvidpproc". Der CE2600 kann theoretisch sogar noch vieles mehr, wird aber in der AVM-Box praktisch auf das Filtern von TS geschrumpft - das Ergebnis wird dann ins Netz verteilt.
Wenn Du Dich mit dem Thema befassen willst, wirst Du ja sicherlich die Theorie hinter einem "Transport Stream" (MPEG-TS) kennen und mit den Begriffen "MPEG-PS", "PES", "PID", "PMT" und "PAT" genauso etwas anfangen können, wie mit "Demuxen" und "Muxen".
Daß der RTP-Stream zum Client gar nicht mehr alle PIDs eines Transponders enthält, kann man sich spätestens mit dem VLC (unter Codec-Informationen) auch ansehen, wenn man es nicht schon aus der URL für einen Stream schließen will, wo z.B. solche Parameter enthalten sind: pids=0,16,17,18,20,100,101,102,103,104,105,106,2070,2171 - von spezialisierten Tools zur Analyse von TS, PES und PS fange ich gar nicht erst an.
Also muß es zwangsläufig irgendwo einen "Filter" geben, der die nicht benötigten PIDs ausfiltert - es wäre auch ziemlich weich im Kopf, wenn man tatsächlich den gesamten Transponder mit allen dort gesendeten Daten auf die Reise ins Netzwerk schicken würde ... dieser TV-Empfang über die FRITZ!Box zielt ja eher auf einzelne Clients "zum Sehen" ab als auf irgendwelche Media-Center als Konzentratoren oder Recorder dahinter, die dann ihrerseits den kompletten TS erst mal demuxen.
Bei DVB-C in Europa (mit 8 MHz-Kanälen) kann ein MPEG-TS mehr als 50 Mbit/s transportieren (bei QAM256) und da sind dann bei den meisten Providern auch mal 3 MPEG-PS für HD-Sender auf demselben Transponder und bei SD-Programmen sogar noch mehr, je nachdem, wie die VBR-Festlegungen im Encoding (oder Recoding) beim Provider so sind.
Warum sollte man jetzt - solange der Client nur einen Stream "sehen" will - 2/3 der Daten (bei HD, bei SD noch sehr viel mehr) vollkommen umsonst senden und dadurch nicht nur Energie auf der Box verbraten, sondern auch noch Durchsatz im Netzwerk - im schlimmsten Fall sogar im WLAN?
---------------------------------------------------------------------------------------------------------
Auch kann ich bei "vernünftig macht" nur noch in Grenzen folgen, denn die "Grundüberlegungen" (und dafür die passenden Grundkenntnisse) gehören da eben auch dazu - wie man bei einem Wunsch nach einem "24-Kanal-Tuner" (ich übersetze hier mal "Kanal" mit "Transponder", weil Du das vermutlich von anderen STB her kennst und "ein Kanal" halt sowohl "ein Programm" (also ein PS) als auch ein kompletter Transponder (also der gesamte TS) sein könnte) davon ausgehen kann, daß es "wahrscheinlich dann tatsächlich mit der Bandbreite eng wird", ist mir einigermaßen unbegreiflich.
Selbst wenn man mal den Overhead durch Netzwerk-Protokolle nicht einrechnet (der TS auf dem Transponder hat keine "Verpackung" weiter, auch wenn er aus PES-Blöcken an sich besteht - die Daten, um das im Netzwerk zu verteilen, muß der (DVB-C-)"Receiver" dann hinzufügen), wäre bei jeder GbE-Verbindung bereits bei 20 * 51,something Mbit/s deutlich "overload" und die Annahme, dem könnte man dann ja mittels LACP einfach mehr als einen GbE-Port verpassen, läßt eben wieder den physikalischen Aufbau der Box (Dir wurde ja schon eine Quelle dafür ans Herz gelegt) vollkommen außer acht, weil eben der Prozessor nicht einfach über zwei interne Ports an den Switch angebunden werden kann (und von dem kommen die Daten immer noch).
Die Frage, ob das tatsächlich der Prozessor noch schaffen würde, die Daten schnell genug (mit einem "user-land program" und damit verbundenen Kontext-Wechseln) aus dem I/O-Memory des Demuxers (ich nehme mal an, daß der auch mit DMA arbeitet, ist aber nur geraten) in Netzwerk-Pakete zu packen und zu senden, um damit mehr als einen GbE-Port zu bedienen, lasse ich mal komplett außen vor - das kann man wohl nur selbst messen.
Ich kenne jedenfalls den Demuxer im Chipset auch nicht und vielleicht kriegt man es sogar hin, den kompletten TS zu übertragen ins Netzwerk und auf das eigentliche Filtern nach PIDs zu verzichten (notfalls, indem man alle PIDs für den TS irgendwo auflistet) ... aber ich kann mir wieder nur schwer vorstellen, daß der Demuxer tatsächlich über die Möglichkeit verfügt, über seine Backplane die Daten von
24 Tunern (sprich: 24 Transpondern) entgegenzunehmen (ich glaube nicht, daß diese wieder direkt in den Speicher schreiben können) und die dann (und zwar auch alle schön zeitgerecht, denn wir reden hier von Echtzeitverarbeitung und nicht vom Buffern eines YouTube-Streams) im Speicher so abzulegen, daß irgendein "user-land process" wie "cableinfo" die dort abholen und im Netzwerk versenden kann.
Wir reden hier über eine FRITZ!Box, mit einem Dual-Core-ATOM:
Code:
# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 53
model name : Intel(R) Atom(TM) CPU 652 @ 1.20GHz
stepping : 8
cpu MHz : 1200.052
cache size : 256 KB
und nicht von DVB-C-Hardware bei einen KNB, der seine TS damit recoded und remixt, bevor er sie aussendet.
Mit ein wenig Pech - ich kenne das auch nicht gut genug für eine definitive Aussage - ist bereits bei 4 Demux-Prozessen dann auch wieder Schluß ... das würde ja auch für vier Streams von vier verschiedenen Transpondern bereits reichen und damit für eine (raw) Bitrate von > 200 Mbit/s, wenn es sich um (DVB-C-)Kanäle mit QAM256 handelt (bei QAM64 sind es "nur" noch knapp 40 Mbit/s pro Channel).
Wie gesagt ... ich habe mich auch nur am Rande damit befaßt, aber man sollte bei seinen "Plänen" schon halbwegs realistisch bleiben und zumindest die Grundlagen des Ganzen auch kennen und einigermaßen verstehen - sonst ist's am Ende alles nur heiße Luft, was dabei herauskommt.
---------------------------------------------------------------------------------------------------------
Ich würde mich jedenfalls erst mal mit den Komponenten des "Intel Media Processor SDK" befassen und mit dem, was man auch auf dem ATOM-Prozessor davon sehen kann (von "/scripts/*" über (ungenutzte Skripte in) "/etc/init.d" bis zu den Modulen aus dem CESDK, die sich im "/lib"-Verzeichnis finden und wo man mal einen Blick mit "strings" hineinwerfen kann) - dann wird so ein Plan ggf. auch etwas realistischer als die Absicht, "cableinfo" durch Reverse-Engineering auf 1001 Tuner aufzublasen (wem die Zahl zu hochgegriffen erscheint, der ändert einfach das zugrundeliegende Zahlensystem).