Tuesday, May 14, 2013

TCP Audio Streamer and Player (VoIP)

Inline image 1

Introduction    
This is a proprietary VoIP project to send and receive audio data by TCP. It's an extension of my first article Play or Capture Audio Sound. Send and Receive as Multicast (RTP). Unlike this application streams the audio data not by multicast but by TCP. So you can be sure there are no data lost and you can transfer them over subnets and routers away. The audio codec is U-Law. The samplerate is selectable from 5000 to 44100.


Note !!! This is a proprietary project. You can't use my servers or clients with any other standardized servers or clients. I don't use standards like RCTP or SDP.

Background   
Because of network traffic and time clock differences, you have to use Jitter-Buffers to compensate data transfer. You can set the Jitter-Buffer for each server, so all clients will use the same amount. One Jitter-Buffer represents one data-packet, included in a TCP-Stream. The server starts playing, when the Jitter-Buffer reaches the half of maximum. You can watch this in the progressbar which is shown for each client. The more Jitter-Buffers you set, than more delay will occur. You can run the TCPStreamer as client or as server. One server can connect to one or more clients. 

Note !!! Use the same sound-settings for client and server (SamplesPerSecond).

Read more: Codeproject
QR: Inline image 2