Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Audiostreaming über TCP oder UDP (https://www.delphipraxis.net/106489-audiostreaming-ueber-tcp-oder-udp.html)

hedie 11. Jan 2008 16:24


Audiostreaming über TCP oder UDP
 
Hallo

Ich weiss ich weiss, dieses Thema gabs schon oft...
Ich hab es auch mal gefunden als ich es nicht brauchte...
Doch jetzt, wo ich es brauche finde ich die passenden Links und beiträge nicht :D

Ich hoffe ihr könnt mir schnell ein paar davon Posten...

Und dan häte ich noch ne eigentliche Frage..

Ist es möglich, den "Sound" aus dem Mikrofon mittels UDP zu versenden?

Ich weiss das sich UDP nicht darum kümmert, ob die Packete ankommen.... :D

Liebe Grüsse
Claudio

Der_Unwissende 11. Jan 2008 16:33

Re: Audiostreaming über TCP oder UDP
 
Zitat:

Zitat von hedie
Ist es möglich, den "Sound" aus dem Mikrofon mittels UDP zu versenden?

Ich weiss das sich UDP nicht darum kümmert, ob die Packete ankommen.... :D

Hi,
dann solltest Du doch die Antwort kennen...

An sich kannst Du natürlich alles mit UDP verschicken, warum sollte das nicht gehen? Die Frage sollte eher lauten ob es sinnvoll ist. Da ist jetzt die Frage, was Du machen möchtest? Soll etwas live übertragen werden, so spielt die Reihenfolge in der die Pakete ankommen eine wichtige Rolle. Sehr stark vereinfacht gehe ich einfach mal davon aus, dass jedes Wort in genau einem UDP-Paket landet.
Überträgst Du nun n Worte, können dabei welche verloren gehen. TCP bemerkt das und würde ein verlorenes Wort nachfordern. Kostet Zeit und andere Pakete (die ggf. später abgeschickt wurden) kommen parallel oder vor dem verlorenen an. Entsprechend würde sich der Ton anhören (Verzögerungen ggf. sogar neue Sortierung, ...). Bei UDP geht das Paket einfach nur verloren.
Zurück zur Realität, da steckt natürlich nicht ein ganzes Wort in einem Paket. Das also ggf. etwas verloren geht merkt man nicht immer, UDP ist also sinnvoll für Live-Übertragungen, da man hier die Netzlast und Verzögerungen gering hält, setzt aber natürlich trotzdem (oder gerade?) einen guten Kanal mit wenig Verlusten vorraus.

Gruß,
Der Unwissende

hedie 11. Jan 2008 16:37

Re: Audiostreaming über TCP oder UDP
 
Danke für deinen Langen Post

Ja ich möchte einen Live-Chat realisieren... In demfall am liebsten über UDP

Hast du per zufall noch irgendwelche Links oder so für mich? :D

hedie 11. Jan 2008 18:25

Re: Audiostreaming über TCP oder UDP
 
Wie kann ich aus AData in einen Stream schreiben?

Ich konnte bereits über UDP nen String versenden :D

Nun möchte ich Aus einem Stream in einen Stream schreiben....

Stimmt es eigentlich, das ich für einen Voice Chat einen Client und einen Server im Porgramm benötige??

Client sendet den Ton und der Server empfängt?? Oder reicht die Server Komponente?


Danke schonmal

sirius 11. Jan 2008 18:32

Re: Audiostreaming über TCP oder UDP
 
von Stream to Stream kopierst du mit copyStream.

Bei UDP gibts keine Unterscheidung zwischen Server und Client. Warum es die meisten Komponenten trotzdem tun ist mir Schleierhaft. Bei Indy habe ich festgestellt, dass die Serverkomponente ausreicht.

hedie 11. Jan 2008 18:35

Re: Audiostreaming über TCP oder UDP
 
Ok Danke... Dan werd ich den Client rausnehmen

Ok copyStreammm danke das war aber eigentlich nicht meine frage...

Ich möchte ja schlussendlich den Mikro Eingang Übertragen, und dies muss ich ja als Stream
Ich würde sagen, als TMemoryStream....

Nun wenn ich etwas senden möchte, dan hab ich die Möglichkeit mit .Send oder mit .SendBuffer

Da .Send einen String erwartet, nehme ich mal an, das ich .SendBuffer nehmen muss...

Doch ich habe ja einen Stream und SendBuffer erwartet TBytes. Wie kann ich nun einen Stream per UDP
Senden und wieder als Stream empfangen?

Danke schonmal

sirius 11. Jan 2008 18:46

Re: Audiostreaming über TCP oder UDP
 
Gibt es nicht auch sendstream? Welche Kompo benutzt du jetzt eigentlich?

hedie 11. Jan 2008 18:47

Re: Audiostreaming über TCP oder UDP
 
Ich Benutz TidUDPServer...

Die SendStream is nur im TCP vorhanden aber ich will kein TCP is mir zu lahm... :D

sirius 11. Jan 2008 19:01

Re: Audiostreaming über TCP oder UDP
 
Nö gibts im client auch nicht. Dann eben Sendbuffer mit Tmemorystream evtl. so:
Delphi-Quellcode:
server.sendbuffer('127.0.0.1',2000,stream.memory^,stream.size);
oder etwa so (unabhängig von der Art es Streams)
Delphi-Quellcode:
var x:pointer;
begin
  getmem(x,stream.size);
  stream.read(x^,stream.size);
  server.sendbuffer('127.0.0.1',2000,x^,stream.size);
  freemem(x);

hedie 11. Jan 2008 19:03

Re: Audiostreaming über TCP oder UDP
 
OK DANKE....

Werd ich testen... Wofür ist eigentlich das ^ ??

Das hab ich mich schon so oft gefragt :D


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:52 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz