Einzelnen Beitrag anzeigen

Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.130 Beiträge
 
Delphi 10.3 Rio
 
#28

AW: Voice-/Sprach-Chat

  Alt 16. Jun 2014, 11:13
Was ich aber am geilsten finde an diesem Thread, dass hier so viele "bekannte" Gesichter reinschreiben.
Ups... Sieh mal einer an zu welchem Club ich hier gehöre...

Zitat von Groucho-Marx:
"Ich mag keinem Club angehören, der mich als Mitglied aufnimmt."
Na egal...

BTB:

Thema 1 Audioaufnahme:
Die "Komponente" muss einen möglichst kleinen zum UDP Package großen Audiostream aufnehmen (Größe nach dem Codec). Bedeutet
Die nativen Audiodaten in Puffer 1 schreiben. Wenn der Puffer voll ist diesen durch einen Codec jagen und zwar einen der
KEINE Datei braucht. Hierfür sind VOIP/Telefon Codecs besser geeignet.
Die Routinen muss also einen Backcall/Interrupt auslösen, um das Samplen auf Puffer 2 um zu stellen und den Codec starten.

Thema 2 Übertragung:
Wenn der Codec fertig ist, müssen die Daten per TCP/IP oder UDP übertragen werden. Also müssen die Daten so klein sein, dass diese
genau so schnell oder schneller übertragen werden können, als dass aufnehmen des Puffers dauert. (inkl.Codec)
Also brauchst Du eine adaptive Qualitätseinstellung um die Größe an zu passen.

Weil? Was tun, wenn der Puffer2 schon voll ist, aber der Puffer 1 noch nicht codiert ist?
- Codec zu langsam

Was ist wenn der Codec schon wieder gestartet wird, obwohl der Übertragungspuffen noch nicht leer ist?
- 2. Puffer anlegen... 3. Puffer anlegen 4. usw. und hoffen, das der Sprechende mal ne pause macht. bzw.
Ab dem 3. Puffer die Aufnahme Qualität runter bzw. die Codec Kompression hoch setzen.

Ach ja unnötig zu erwähnen, dass Du natürlich parallel dazu die ganze Zeit auch noch Audio Streams empfangen musst und diese an die Soundkarte ausgeben musst.

Optimierung:
Sprachpausen, Hintergrund Geräusche und Echos erkennen und eliminieren.

Sprachpausen als Token (Warte n Millisekunden) (5 Byte) übertragen und nicht das dem Codec überlassen.

So kann es etwas werden...

Mavarik
  Mit Zitat antworten Zitat