AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Voice-/Sprach-Chat

Offene Frage von "onepiecefreak2"
Ein Thema von onepiecefreak2 · begonnen am 13. Jun 2014 · letzter Beitrag vom 20. Jun 2014
 
Benutzerbild von Mavarik
Mavarik

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

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
 

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz