Ü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