Audio streamen/verschicken

  • Themenstarter Themenstarter tuxedo
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
T

tuxedo

Gast
Hallo zusammen,

ich wollte mal in die Runde fragen ob jemand noch was einfällt wie man eine Audio-Konferenz vom Client zum Server und wieder zurück übertragen kann. Also mir gehts jetzt um das Protokoll bzw. die Technik. Grundlage ist "natürlich" TCP/IP.

Als erstes fällt mir hier die einfach Socket-Kommunikation mit Streams ein. Da kann man sich dann austoben alles selbst machen.

Kennt sich jemand mit dem RealTime Streaming Protokol aus und weiß wo da die Vorteile liegen könnten wenn man eine Client-Server-Audio-Konferenz-Software basteln _muss_?

Das SIP-Protokoll ist mir auch noch eingefallen. Aber da weiß ich noch nicht wie es mit der Kommunikation zwischen den Clients aussieht? Die Vorgabe wäre dass die Clients als gemeinsame Basis einen Server haben. Aber ich hab noch keine Ich hab bei "SIP" immer den Begriff "VoIP" im klassischen Sinn im Hinterkopf. Eine Anwendung/Server den man mit einen SIP-Telefon benutzen kann will ich eigentlich nicht.


Any other ideas?

- Alex
 
Okay, vielleicht war/bin ich hier im falschen Board. Hätte vielleicht doch eher in "Netzwerkprogrammierung mit Java" gehört.

Vielleicht kanns einer der Mods verschieben?

Und vielleicht fällt ja doch noch jemandem was ein?!

- Alex
 
Das Hauptproblem wird wohl sein, daß das alles in Echtzeit passieren muß. Also solltest Du die Daten natürlich runtersamplen auf z.B. 11kHz und 8 Bit (ist ja eh nur Sprache).

Dann solltest Du, wenn möglich UDP nehmen. Da können zwar Pakete verloren gehen, aber das dürfte sich höchstens in einem kurzen Stocken bemerkbar machen. Wenige Millisekunden später ist das Datenpaket dann eh nicht mehr interessant. Ich weiß allerdings nicht, ob man unter Java direkt UDP verwenden kann (habe die Socket-Klassen usw. noch nie oft benutzt). Bei TCP könnte es halt sein, daß das Gespräch mit einer starken Verzögerung ankommt.

Ansonsten gibt's erstmal nicht viel zu sagen, Du mußt halt 'nen Server machen, der Daten empfängt und sie sofort an alle verbleibenden Clients zurücksendet. Und Clients spielen beim Empfangen einfach ab und schicken an den Server, wenn etwas gesprochen wird. Evtl. kannst Du noch einen Lautstärke-Schwellenwert einbauen, sodaß wirklich nur dann gesendet wird, wenn einer ins Mikrofon reinspricht. Somit sparst Du ein bißchen Traffic ein.
 
Naja, 11khz mit 8 Bit hören sich nicht wirklich gut an. Auch für Sprache nicht. Werde natürlich diverse Sprachcodecs einsetzen um Bandbreite zu sparen.

TCP/UDP ... Jo, hätt ich fast vergessen. Gehört ja auch zu den Techniken. Gehört dann aber eher zur Low-Level KOmmunikation auf Socket-Ebene.
Gibts noch was "darüber"? Außer SIP und RTP/RTSP?
Oder kennt sich jemand mit SIP aus und kann mir da ein Paar Tipps geben? Hab ne SIP-Library gefunden. Aber nur Clientseitig ...

- Alex
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben