Übertragung
Will man parallel zu einer bereits laufenden Videokonferenz einem
Teilnehmer Ausschnitte eines lokalen Videos vorführen und
gleichzeitig mit ihm darüber diskutieren, so muss es
möglich sein, einzelne A/V-Ströme separat übertragen
zu können. Hierfür bietet Homer die Möglichkeit
einzelne A/V-Daten in Echtzeit (auch ohne parallel laufende
Videokonferenz) über separate Übertragungskanäle zu
senden. Hierfür ist keine Infrastruktur notwendig. Die
Gegenstelle kann die Daten direkt entgegen nehmen und weiter
verarbeiten. Im Allgemeinen verwendet Homer für die
Übertragung bekannte Codecs sowohl für Videodaten (H.261,
H.263(+), H.264, MPEG1/2/4,..) als auch für Audiodaten (MP3,
aLAW, uLAW,..). Die jeweils verwendete Qualität der A/V-Daten
kann mit Hilfe der GUI eingestellt werden. Es ist möglich,
A/V-Ströme sowohl mit sehr niedriger als auch mit sehr hoher
Qualität (bspw. HDTV) zu übertragen. Die tatsächlichen
Möglichkeiten sind von der jeweils eingesetzten Hardware
begrenzt. Aber die Softwarearchitektur von Homer ist für
Parallelisierung von internen Verarbeitungsschritten ausgelegt. Es
werden möglichst alle verfügbaren Prozessorkerne
gleichzeitig genutzt, um so hohe Qualitätseinstellungen zu
möglichen.
Netzwerkprotokolle
Grundsätzlich unterstützt Homer für die
Übertragung von A/V-Strömen sowohl IPv4 als auch IPv6. Die
jweilige Protokollversion wird automatisch gewählt. Für die
Übertragung der A/V-Daten kann Homer nicht nur die klassischen
Transportprotokolle TCP und UDP verwenden, sondern es werden auch
alternative Protokolle wie bspw. UDPLite und SCTP unterstützt.
Die Möglichkeiten sind hierbei jedoch vom eingesetzten
Betriebssystem und den damit verfügbaren Funktionen begrenzt.
Experimente
Homer wird zusätzlich zur Standardanwendung von einigen
Entwicklern auch für Experimente verwendet und bietet
hierfür im sogenannten Entwickler/Debug-Modus einige
Zusatzfunktionen an. So ist es bspw. möglich, einem jeden
A/V-Strom zusätzliche Übertragungsanforderungen zuzuweisen.
Dies können bspw. QoS-Parameter enthalten oder sie können
festlegen, dass transportierte Daten verlustfrei auf
Empfängerseite eintreffen müssen. Homer ist in der Lage
solche Übertragungsanforderungen in Richtung des Netzwerkes zu
signalisieren. Die möglichen Auswirkungen solcher
Zusatzanforderungen sind von der jeweils eingesetzten Netzwerk-API
abhängig und können entsprechend variieren. Zusätzlich
kann mit Hilfe der GUI die maximale Paketgröße für
A/V-Ströme festgelegt werden und somit das Verhalten
während der Paketgenerierung beeinflussen werden. Jedoch
enthalten die verfügbaren offiziellen Release-Versionen keine
explizite Unterstützung für Experimente und
beschränken sich auf den Standardfall, der die bekannten
Berkeley-Sockets als Schnittstelle zum Netzwerk verwendet. Einzig die
Paketgrößenlimitierung ist enthalten und kann für die
Optimierung der Übertragungsqualität genutzt werden.
Grafik: die Videoausgabe soll an einen Netzwerkempfänger übertragen werden
Grafik: der Dialog zur Auswahl des gewünschten Netzwerkempfängers
Grafik: der Dialog zur Konfiguration des Empfangs eines Videostroms
Grafik: der Dialog zur Konfiguation der Vorpufferung, welches zum Video- & Audioempfang genutzt wird