Seite 1 von 1
Voice Chat
Verfasst: Freitag 14. Januar 2011, 19:08
von waki
Hey,
ich habe einen einfachen Voice Chat geschrieben, erstmal wird nur in eine Richtung Sound übertragen. Mein Programm läuft einfach mit pyaudio und schick dann einfach per socket verbindung die daten zum client. Jedoch passiert das ganze schon so verzögert, wobei ich eim 16000 DSL habe, also sollte das schon reichen. Bei Skype, etc. funktioniert es doch auch, aber was macht Skype anderst? Wie kann ich das ganze Beschleunigen, damit nur eine minimale Verzögerung vorliegt?
gruß
Re: Voice Chat
Verfasst: Freitag 14. Januar 2011, 19:15
von lunar
@waki: Die Daten vor der Übertragung komprimieren?
Re: Voice Chat
Verfasst: Freitag 14. Januar 2011, 19:42
von waki
Jo, und wie mache ich das am geschicktesten?
Re: Voice Chat
Verfasst: Freitag 14. Januar 2011, 19:47
von lunar
Nun ja, eben mit irgendeinem „passenden“ Algorithmus zur Kompression von Audiodaten. Wenn Du davon so gar keine Ahnung hast, dann wirst Du nur mit Fragen hier im Forum nicht weit kommen, sondern schon ein bisschen Zeit und Eigenengagement in Recherche investieren.
Re: Voice Chat
Verfasst: Freitag 14. Januar 2011, 23:44
von waki
Welches wäre denn das am Besten dafür geeignete Format?
Re: Voice Chat
Verfasst: Samstag 15. Januar 2011, 00:17
von BlackJack
@waki: Das welches Du durch ein bisschen Zeit, Eigenengagement, und Recherche herausfindest ohne hier zu fragen.

Re: Voice Chat
Verfasst: Sonntag 16. Januar 2011, 04:02
von Leonidas
Nun, die typische wahl für Voice over IP war vor einiger Zeit Speex. Dieses wurde inzwischen wohl durch CELT ersetzt welches mit dem Skype-eigenen SILK dann zusammen von der IETF zu verabschiedende Opus bilden.
Re: Voice Chat
Verfasst: Montag 17. Januar 2011, 21:16
von waki
Herzlichen Dank, Speex funktioniert shcon ziemlich gut, zu CELT hab ich leider nichts wirkliches in Verbindung mit Python gefunden. Ich hätte noch eine andere Frage: ist es möglich das aufgenommene lauter zu machen? Oder ist es möglich mit Python die Mikrofon Aufnahmelautstärke zu verändern?
Wäre aac eigentlich eine alternative zu speex? Hab schon mehere Radiosender gesehen welche damit streamen...
Herzlichen Dank schonmal
Re: Voice Chat
Verfasst: Montag 17. Januar 2011, 21:31
von Leonidas
waki hat geschrieben:Herzlichen Dank, Speex funktioniert shcon ziemlich gut, zu CELT hab ich leider nichts wirkliches in Verbindung mit Python gefunden.
Also ein Binding mit ctypes zu schreiben sollte eigentlich das geringste Problem sein, denke ich.
waki hat geschrieben:Wäre aac eigentlich eine alternative zu speex? Hab schon mehere Radiosender gesehen welche damit streamen...
Nein. Denn wenn du freie Encoder suchst hast du eigentlich nur FAAC und der ist, hrm, naja. Aber was noch viel mehr dagegen spricht ist, dass AAC wohl kaum den Latenz-Anforderungen entspricht. Deswegen nutzt man für Voice auch kein Vorbis sondern CELT (welches womöglich auch Vorbis ablösen kann).
Re: Voice Chat
Verfasst: Montag 17. Januar 2011, 21:37
von BlackJack
@waki: AAC hat ein Patentproblem -- Du darfst nur Encoder verwenden, für die entsprechende Lizenzgebühren abgeführt wurden.
Re: Voice Chat
Verfasst: Montag 17. Januar 2011, 21:43
von lunar
@BlackJack: Naja, noch ist das ja hierzulande egal ... und ich gehe jetzt per se erst einmal nicht davon aus, dass der OP mit seinem Programm den großen internationalen Wurf landen wird (und selbst dann wäre es per se erst mal egal).
Re: Voice Chat
Verfasst: Montag 17. Januar 2011, 21:53
von Leonidas
Aber man muss ja nicht potentiellen Nutzern eventuelle patentrechtliche Schwierigkeiten noch zusätzlich andrehen. Es reicht ja schon das AAC aus anderen Gründen wegfällt

Re: Voice Chat
Verfasst: Dienstag 18. Januar 2011, 13:22
von waki
http://www.celt-codec.org/downloads/
Ok, hab jetzt gerade nach einer .dll oder so gesucht, finde auf der homepage jedoch nur eine tar.gz mit jede Menge Dateien. Jedoch peil ich da jetzt gerade nicht ganz durch, wie ich das mit Windows und Python genau nutzen kann. Muss ich da etwas mit makefile machen oder kann ich mir da direkt ne Datei rausziehen? Hab in Tools celtenc.c und eine celtdec.c gefunden, kann ich die direkt ohne die anderen Dateien nutzen?
Re: Voice Chat
Verfasst: Dienstag 18. Januar 2011, 15:29
von BlackJack
@waki: Wenn Du nicht weisst wie man den Quelltext übersetzt, dann würde ich die Finger davon lassen. Der Codec ist noch experimentell und das Datenformat ist auch noch nicht endgültig festgelegt und ändert sich von Version zu Version. Alle Teilnehmer brauchen also immer die passende Version der Bibliothek.
Wenn `speex` funktioniert, dann bleib doch erst einmal dabei. Du könntest das Programm ja so weit ausarbeiten, dass es später mehrere Codecs benutzen kann.