SAT>IP Proxyserver für IPTV
Die Erfindung betrifft ein Verfahren und ein System zur Übertragung von IPTV (Internet Protocol Television) Signalen an einen Client, der in eine IP-basierte Architektur für den Empfang und die Verteilung von Satelliten-Signalen über ein lokales Netz eingebunden ist, wobei die Kommunikation Satelliten-Signale über das Netz auf der Grundlage des Satellit zu Internet Protokolls (SAT-IP oder synonym SAT>IP) geschieht.
Bekannte Satelliten-TV-Empfangsanlagen setzen die von den Satelliten im Frequenzbereich zwischen 1 1 ,7 GHz und 12,95 GHz empfangenen Signale zunächst auf eine Zwischenfrequenz im Frequenzbereich 950-2150 MHz um und verteilen die Signale dann nach dem DVB-S (Satellit) oder DVB-S2 Standard über Koaxialkabel oder - mit Hilfe von Multischaitern - an einen oder mehrere Satelliten-Empfänger und Set-Top-Boxen. Dabei wurde kürzlich mit dem SAT>IP Protokoll ein Standard veröffentlicht, mit dem DVB-S Signale konvertiert und in IP-Pakete gekapselt werden können, wobei diese Pakete dann wie vom herkömmlichen IPTV bekannt über beliebige IP-Netzwerke verteilt werden können.
Mit diesem SAT>IP Protokoll werden die digitalen DVB Satellitensignale, wie sie von einem LNB (Low Noise Block) oder einem Multischalter kommen, direkt in IP-Signale umgesetzt und über das festnetz- oder funknetzgestützte IP-Netz verteilt. Auf diese Weise lassen sich über Satellit empfangene Sendungen unmittelbar auf entsprechenden Multimedia-IP-Geräten, sogenannten SAT>IP-Clients ausgeben. Dabei nutzt solch ein SAT>IP-Client den SAT>IP-Server quasi als „virtuellen" Empfänger. Der besondere Vorteil dieser Übertragung in Form von IP-Signalen ist, dass die Verbreitung der Satellitensignale über die bestehenden IP-Netzwerke erfolgen kann und keine aufwendigen Koaxialkabelnetze nötig sind. Das SAT>IP Protokoll wurde extra dazu entwickelt, um Geräten, die dieses Protokoll„verstehen", die Kommunikation mit entsprechenden SAT>IP-Servern zu ermöglichen.
Das SAT>IP Protokoll ist dabei ein Remote-Tuner-Protokoll, das auf bestehende Protokolle, wie IP und UPnP (Universal Plug and Play), RTSP (RealTime Streaming Protokoll) und HTTP (Hypertext Transfer Protokoll) aufbaut. Es bietet eine Mediaebene und eine Steuerebene, wobei auf der Mediaebene der SAT>IP Server Media-Stream in Unicast- oder Multicast-RTP/UDP (User Datagram Protocol) gesendet wird. Auf der Steuerebene fordern beispielsweise die Clients den Zugriff auf Satelliten-, Transponder- und MPEG Streams über RTSP oder HTTP an. Die für die angeforderte TV-Übertragung benötigten Pakete werden dann über das IP- Netzwerk versendet.
Das SAT>IP Protokoll hat sich zwischenzeitlich so weit durchgesetzt, dass immer mehr entsprechende Endgeräte, mithin SAT>IP Clients, auf den Markt kommen, die über diesen Standard kommunizieren können. Auch die Integration in neue Smart- TV Geräte ist geplant. Mit der Verbreitung des SAT>IP Protokolls wird es für Nutzer zunehmend schwieriger, respektive unkomfortabler, Sendungen über andere derzeit weit verbreitete Übertragungsstandards zu empfangen. Im schlimmsten Fall gibt es irgendwann Endgeräte, die nur noch SAT>IP verstehen können.
Aufgabe der Erfindung ist es nunmehr, ein Verfahren vorzuschlagen, mit dem sich Sendungen, die schon heute via IPTV über das (V)DSL oder Glasfaser Netz verbreitet werden, auf technisch einfache und kostengünstige Weise vermittels SAT>IP Clients darstellen lassen. Aufgabe ist es weiterhin, ein entsprechendes System zur Umsetzung des Verfahrens vorzuschlagen.
Aus der WO 2014/029 817 A1 ist eine Vorrichtung („crossover box") offenbart, die Anfragen von einem Client gemäß dem SAT-IP Protokoll empfängt und entsprechende Empfangsparameter auswertet, um dem SAT-IP Client eine entsprechende Antwort senden zu können. Zudem wird durch diese Vorrichtung ein kombinierter Ausgangsdatenstrom gemäß dem SAT-IP Protokoll erzeugt, der nicht nur Daten eines empfangenen TV-Programms enthält, sondern auch weitere über das Internet abgerufene Daten bereitstellt.
Diese Aufgaben werden durch das Verfahren nach Anspruch 1 und das System nach Anspruch 7 gelöst. Bevorzugte Ausgestaltungen ergeben sich aus den jeweiligen Unteransprüchen.
Die Grundidee des erfindungsgemäßen Verfahrens liegt einfach ausgedrückt darin, dem SAT-IP Client vermittels einer in der Schnittstelle zum IPTV integrierten Funktionalität einen SAT-IP Server„vorzugaukeln", wobei dem SAT-IP Client der IPTV Inhalt in der von einem SAT-IP Server genutzten Parameterumgebung übertragen wird. Das geschieht mit einer erfindungsgemäßen IPTV Serverfunktion, die dem anfragenden SAT-IP Client die Funktionalität eines SAT-IP Servers vorgibt. Vorteilhafterweise ist die IPTV Serverfunktionalität als Modul in ein IAD (Integrated Access Device) respektive einen Router integriert.
Im Rahmen der Datenübertragung sucht der SAT-IP Client mittels einer Anfrage einen durch bestimmte Empfangsparameter gekennzeichneten Satelliten Sender, wobei der SAT-IP Client schon zusammen mit der Anfrage die gewünschten Empfangsparameter vorgeben oder sie erst im Sinne eines Sendersuchlaufes in Erfahrung bringen kann. Die IPTV Serverfunktion wertet die Anfrage des SAT-IP Clients aus, ordnet dieser einen IPTV Sender zu und sendet dem SAT-IP Client eine Antwort entsprechend der SAT IP Spezifikation.
Somit wird der vormals benötigte SAT>IP Server erfindungsgemäß durch die IPTV Serverfunktion ersetzt. Mit dieser Vorgehensweise ist es nunmehr möglich, Sendungen, die mittels IPTV beispielsweise über VDSL oder Glasfaser verschickt werden, auf SAT-IP Clients auszugeben. In Folge dessen muss der Nutzer nicht beim Wechsel des Übertragungsstandards von einem zum anderen Ausgabemedium oder zu einer anderen Applikation wechseln, sondern kann mit einem Gerät und einer Applikation Sendungen sowohl über Satellit als auch über IPTV empfangen. Der Nutzer merkt dabei noch nicht einmal, dass er auf das Angebot des jeweils anderen Mediums zugreift.
Bei der Netzwerkkommunikation kann sich das erfindungsgemäße Verfahren bewährter Techniken bedienen, die es von DLNA/UPnP (Digital Living Network
Alliance/Universal Plug and Play) übernehmen kann. Da das Grundgerüst beider Spezifikationen nahezu identisch ist, lassen sich SAT>IP Geräte einfach zu DLNA Servern respektive Clients erweitern. Zur Steuerung der IPTV-Serverfunktion durch den SAT>IP Client nutzt das erfindungsgemäße Verfahren vorteilhafterweise das Real-Time Streaming Protokoll (RTSP) oder HTTP. Das eigentliche Streaming kann dann auch mittels Real-Time Transport Protokoll oder HTTP abgewickelt werden. Die eigentlichen Daten können in dem bei DVB üblichen MPEG-2 Transportstrom- Format übertragen werden. Zusammen mit dem IP-, UDP- und RTP Header und den Transportstrom Blöcken werden entsprechende Pakete gebildet. Bei Bedarf kann die IPTV Serverfunktionalität zusätzlich die Tabellen um IPTV spezifische Werte in DVB- S T konforme Werte übersetzen.
Da die Programminhalte der IPTV-Streams von dem erfindungsgemäßen Verfahren nicht angetastet werden, können neben den frei empfangbaren Kanälen prinzipiell auch verschlüsselte PAY-TV Kanäle wiedergegeben werden, was ein wesentlicher Vorteil des erfindungsgemäßen Verfahrens ist.
Die technische Realisierung der Integration von IPTV wird vorteilhafterweise über eine interne Zuordnung („Mapping") von IPTV Parametern auf die von den SAT-IP Parametern vorgegebene Struktur erfolgen. Dieses Mapping der zur Steuerung des Empfangsteils nötigen Parameter wird von der IPTV Serverfunktion realisiert. Da ihm die IPTV Streams im SAT>IP Format angeboten werden, bekommt der SAT>IP Client nicht mit, dass er IPTV Daten statt SAT>IP Daten empfängt.
In einer besonders einfachen Version der IPTV Serverfunktion werden alle Streams und Frequenzen fest in den Code des Betriebssystems integriert. Da bei einer Änderung der Frequenzen eine neue Programmierung mit entsprechender Kompilierung notwendig ist, ist es vorteilhaft, die zu streamenden IPTV Kanäle und die Frequenzen, auf welche die Sender gemappt werden, aus einer Datei auszulesen.
Um nun für die IPTV Serverfunktion die Möglichkeit zu schaffen, alle verfügbaren IPTV Programme weiterleiten zu können, müssen deren Parameter sinnvoll verwaltet
werden. Dazu ist es vorteilhaft, einen Variablen Typ, hier SATIPmaps, zu definieren und für jedes IPTV Programm eine Variable dieses Typs anzulegen. In dieser nachfolgend wiedergegebenen Variablen können die nötigen Parameter gespeichert werden.
typedef struct SATIPmaps {
string name;
string IP;
u_intl6_t Port;
vector<float> Freqs;
u_intl6_t ServicelD;
u_intl6_t TransportStreamID;
u_intl6_t NetworkID;
} SATIPmaps]
Die Zeiger auf die Variablen können dann in einer HashTable als Parameter übergeben werden und ermöglichen den Zugriff auf alle Parameter. Ein Beispiel für eine Funktion zum Auffinden von Stream-Parametern über die Frequenz zeigt die nachfolgend wiedergegebene Funktion lookupStreamName(...) : string lookupStreamName(float aktFreq) {
HashTable: : Iterator* iter = HashTable: :Iterator: : create( *fTable) ; string StreamName;
char const* key;
for (SATIPmaps* map; (map = (SATIPmaps*) (iter->next(key) ) ) != NULL; ) for(vector<float> : : const_iterator i = map- >Freqs . begin( ) ; i != map->Freqs.end(); ++i)
if (aktFreq == *i)
StreamName = key;
return StreamName;
}
Zum Einlesen der Stream Parameter kann eine Funktion dienen, die es ermöglicht, die Multicast-Adresse und den Namen eines Streams aus einer M3U-Datei, einem offenen Playlist-Format für Mediendateien, die als Liste zusammengefasst sind, einzulesen. Der Inhalt einer solchen M3U-Datei im EXTM3U Format ist nachfolgend wiedergegeben:
#EXTM3U
#EXTINF: -1, Das Erste
rtp:// 0239.35.10. : 10000
#EXTINF : -1 , ZDF
rtp: //@239.35.10.5: 10000
#EXTINF : -1 , RTL
rtp://@239.35.20.10:10000
Der Inhalt bedeutet in diesem Fall, dass beispielsweise die ARD einen Stream vermittels des Real-Time Transfer Protokoll (RTP) überträgt und dieser über die IP Adresse 239.35.10.4 und die Portadresse 10.000 zu erreichen ist.
Für die Zuordnung der Frequenzen kann der DVB-S und der DVB-T Frequenzbereich genutzt werden. Im DVB-S Frequenzbereich kann die Zuteilung aus der aktuellen DVBViewer Senderliste für den Satellitenempfang auf Astra 19,2°Ost genutzt werden. Die Frequenzen im DVB-T Bereich werden, wie im nachfolgend wiedergegebenen Listing zu erkennen ist, automatisch vergeben. Dabei entspricht die Reihenfolge nicht der Reihenfolge in der die SATiPmaps Objekte der HashTable hinzugefügt werden. void cleanUpFreqs(Boolean addDVBT) {
HashTable: :Iterator* iter = HashTable: :Iterator: :create(*f Table); char const* key;
float freq = 474;
for (SATiPmaps* map; (map = (SATiPmaps*) (iter- >next( key) ) ) !=
NULL; )
{
if (addDVBT) {
map->Freqs . push_back(freq);
freq += 8;
}
map->name = key;
sort(map->Freqs . begin( ) , map- >Freqs . end ());
map->Freqs.erase( unique(map- >Freqs . begin( ) , map->Freqs.end()), map->Freqs.end());
}
}
Im oben genannten Beispiel des ARD Streams kann dieser beispielsweise der Frequenz 10748 MHz zugeordnet werden.
Eine weitere Möglichkeit der Zuteilung besteht über eine separate Konfigurations-Datei, in der die zuzuteilenden Frequenzen nach dem, von einem Doppelpunkt gefolgten, Sendernamen, durch Leerzeichen getrennt, gelistet werden. Eine Zuteilung von Frequenzen im DVB-C Bereich ist auf eine dieser Arten problemlos möglich.
Um die vom SAT>IP Parser eingelesenen Parameter besser zu organisieren und deren Speicherung übersichtlicher zu gestalten, ist es vorteilhaft, analog zum SATiPmaps Typ einen neuen Typ SATiPParams zu definieren. Dabei kann der Parser in die SATiPmapping Klasse integriert und mit der Methode calcPids (...) eine Funktion integriert werden, um die aktuell angeforderten PIDs zu berechnen.
Für Konsumenten von IPTV ist die erfindungsgemäße Vorgehensweise von großem Vorteil, da der Dienst nicht mehr auf die Set-Top-Box beschränkt ist. Mit der Unterstützung von SAT>IP durch die neue Generation von Smart-TVs ist es somit erstmals möglich, auch IPTV ohne zusätzliche Fernbedienung direkt am Fernseher zu empfangen.
Die Erfindung wird anhand der Figur nachfolgend näher beschrieben.
Die Figur zeigt ein Netzelement 1 eines Telekommunikationsnetzes, das einen IPTV Stream seitens eines Servers empfängt. Das Netzelement 1 ist über eine (V)DSL oder Glasfaser Leitung 2 mit einem Zugangsmittel 3 in Form eines Routers respektive eines IAD (Integrated Access Device) verbunden. Der Router 3 kann den IPTV Stream über Funkschnittstellen 4, insbesondere über WLAN, an ein Notebook 5, einen Tablet-PC 6 oder ein Smartphone 7 senden. Auf diesen Geräten wird der IPTV Stream auf bekannte Weise mittels eines entsprechenden Media-Players abgespielt.
Zudem ist der Router 3 über eine Festnetzleitung 8 mit einer Set-Top-Box 9 verbunden, die einem Fernsehgerät 10 zugeordnet ist. Über die Set-Top-Box 9 können auf dem Fernsehgerät 10 Satellitenprogramme abgespielt werden, die im SAT>IP Standard übertragen werden. Insofern nimmt die Set-Top-Box 9 die Rolle eines SAT>IP Clients ein.
Im Router 3 ist die erfindungsgemäße IPTV Serverfunktion realisiert, mit welcher der IPTV Stream in das für den SAT>IP Client, die Set-Top-Box 9, verständliche SAT>IP Protokoll gewandelt wird. Alternativ kann die IPTV Serverfunktion auch in einem eigenständigen Gerät implementiert werden, das z.B. über einen freien LAN Port mit dem IAD oder Router verbunden wird.
Beim Einschalten der Set-Top-Box 9 kann diese eine Anfrage, beispielsweise in Form eines Such lauf es starten, die von der im Router 3 realisierten IPTV-
Serverfunktion aufgegriffen wird. Die IPTV-Serverfunktion sendet als Antwort einen auf eine für die Set-Top-Box 9 verarbeitbare Frequenz gemappten IPTV-Stream, den er vom Netzelement 1 empfängt.