TeamTalk 4 C-API DLL
Version 4.5A
|
The client is able to encode audio in Speex and CELT format whereas video can be encoded in Theora format. Speex is recommended for voice and CELT for music. More...
Classes | |
struct | SpeexCodec |
Speex audio codec settings for Constant Bitrate mode (CBR). The Speex codec is recommended for voice and uses less bandwidth than CELTCodec. More... | |
struct | SpeexVBRCodec |
Speex audio codec settings for Variable Bitrate mode (VBR). The Speex codec is recommended for voice and uses less bandwidth than CELTCodec. The Speex VBR codec was introduced in version 4.2. More... | |
struct | CELTCodec |
CELT audio codec settings. The CELT codec is recommended for music and speech. It has a higher bandwidth usage than SpeexCodec. More... | |
struct | CELTVBRCodec |
CELT audio codec settings. The CELT codec is recommended for music and speech. It has a higher bandwidth usage than SpeexCodec. More... | |
struct | TheoraCodec |
Theora video codec settings. More... | |
struct | AudioCodec |
Struct used for specifying which audio codec a channel uses. More... | |
struct | AudioConfig |
Common audio configuration which should be used by users in the same Channel. More... | |
struct | VideoCodec |
Struct used for specifying the video codec to use. More... | |
Macros | |
#define | SPEEX_NB_MIN_BITRATE 2150 |
The minimum bitrate for Speex codec in 8 KHz mode. Bandmode = 0. More... | |
#define | SPEEX_NB_MAX_BITRATE 24600 |
The maximum bitrate for Speex codec in 8 KHz mode. Bandmode = 0. More... | |
#define | SPEEX_WB_MIN_BITRATE 3950 |
The minimum bitrate for Speex codec in 16 KHz mode. Bandmode = 1. More... | |
#define | SPEEX_WB_MAX_BITRATE 42200 |
The maximum bitrate for Speex codec in 16 KHz mode. Bandmode = 1. More... | |
#define | SPEEX_UWB_MIN_BITRATE 4150 |
The minimum bitrate for Speex codec in 32 KHz mode. Bandmode = 2. More... | |
#define | SPEEX_UWB_MAX_BITRATE 44000 |
The maximum bitrate for Speex codec in 32 KHz mode. Bandmode = 2. More... | |
#define | CELT_MIN_BITRATE 35000 |
The minimum bitrate supported for CELT. More... | |
#define | CELT_MAX_BITRATE 3000000 |
The maximum bitrate supported for CELT. More... | |
Typedefs | |
typedef struct SpeexCodec | SpeexCodec |
Speex audio codec settings for Constant Bitrate mode (CBR). The Speex codec is recommended for voice and uses less bandwidth than CELTCodec. More... | |
typedef struct SpeexVBRCodec | SpeexVBRCodec |
Speex audio codec settings for Variable Bitrate mode (VBR). The Speex codec is recommended for voice and uses less bandwidth than CELTCodec. The Speex VBR codec was introduced in version 4.2. More... | |
typedef struct CELTCodec | CELTCodec |
CELT audio codec settings. The CELT codec is recommended for music and speech. It has a higher bandwidth usage than SpeexCodec. More... | |
typedef struct CELTVBRCodec | CELTVBRCodec |
CELT audio codec settings. The CELT codec is recommended for music and speech. It has a higher bandwidth usage than SpeexCodec. More... | |
typedef struct TheoraCodec | TheoraCodec |
Theora video codec settings. More... | |
typedef enum Codec | Codec |
The codecs supported. More... | |
typedef struct AudioCodec | AudioCodec |
Struct used for specifying which audio codec a channel uses. More... | |
typedef struct AudioConfig | AudioConfig |
Common audio configuration which should be used by users in the same Channel. More... | |
typedef struct VideoCodec | VideoCodec |
Struct used for specifying the video codec to use. More... | |
Enumerations | |
enum | Codec { NO_CODEC = 0, SPEEX_CODEC = 1, CELT_0_5_2_OBSOLETE_CODEC = 2, THEORA_CODEC = 3, SPEEX_VBR_CODEC = 4, CELT_CODEC = 5, CELT_VBR_CODEC = 6 } |
The codecs supported. More... | |
The client is able to encode audio in Speex and CELT format whereas video can be encoded in Theora format. Speex is recommended for voice and CELT for music.
Choosing the right codec settings in an end-user application is very important and proper settings depend entirely on the user scenario. Always ensure that the codec settings do not require too much bandwidth and thereby resulting in packetloss causing inaudible conversations and poor video quality. Detecting packetloss can be done using UserStatistics and ClientStatistics.
Note that bandwidth usage will be much higher when running in peer to peer mode since each client must then broadcast data to all users instead of having the server forward the audio and video packets. Checkout the section Client/Server Connectivity on the different types of connections.
Every channel must configure which audio codec to use in order for users to be able to talk to each other. The codec member of Channel specifies which audio codec (AudioCodec) should be used. A channel does not restrict the video codec (VideoCodec) users are using.
#define SPEEX_NB_MIN_BITRATE 2150 |
The minimum bitrate for Speex codec in 8 KHz mode. Bandmode = 0.
#define SPEEX_NB_MAX_BITRATE 24600 |
The maximum bitrate for Speex codec in 8 KHz mode. Bandmode = 0.
#define SPEEX_WB_MIN_BITRATE 3950 |
The minimum bitrate for Speex codec in 16 KHz mode. Bandmode = 1.
#define SPEEX_WB_MAX_BITRATE 42200 |
The maximum bitrate for Speex codec in 16 KHz mode. Bandmode = 1.
#define SPEEX_UWB_MIN_BITRATE 4150 |
The minimum bitrate for Speex codec in 32 KHz mode. Bandmode = 2.
#define SPEEX_UWB_MAX_BITRATE 44000 |
The maximum bitrate for Speex codec in 32 KHz mode. Bandmode = 2.
#define CELT_MIN_BITRATE 35000 |
The minimum bitrate supported for CELT.
#define CELT_MAX_BITRATE 3000000 |
The maximum bitrate supported for CELT.
typedef struct SpeexCodec SpeexCodec |
Speex audio codec settings for Constant Bitrate mode (CBR). The Speex codec is recommended for voice and uses less bandwidth than CELTCodec.
typedef struct SpeexVBRCodec SpeexVBRCodec |
Speex audio codec settings for Variable Bitrate mode (VBR). The Speex codec is recommended for voice and uses less bandwidth than CELTCodec. The Speex VBR codec was introduced in version 4.2.
CELT audio codec settings. The CELT codec is recommended for music and speech. It has a higher bandwidth usage than SpeexCodec.
typedef struct CELTVBRCodec CELTVBRCodec |
CELT audio codec settings. The CELT codec is recommended for music and speech. It has a higher bandwidth usage than SpeexCodec.
typedef struct TheoraCodec TheoraCodec |
Theora video codec settings.
Configuring the Theora codec so it fits an end-user's domain can be trickly. A high resolution in CaptureFormat will result in much high bandwidth usage. Also using a high frame-rate will cause much higher bandwidth usage.
Note that width and height for a video frame encoded by Theora must be a multiple of 16. If it is not then part of the picture will be "cut" out.
The codecs supported.
typedef struct AudioCodec AudioCodec |
Struct used for specifying which audio codec a channel uses.
typedef struct AudioConfig AudioConfig |
Common audio configuration which should be used by users in the same Channel.
Users' audio levels may be diffent due to how their microphone is configured in their OS. Automatic Gain Control (AGC) can be used to ensure all users in the same channel have the same audio level.
typedef struct VideoCodec VideoCodec |
Struct used for specifying the video codec to use.
enum Codec |
The codecs supported.
Enumerator | |
---|---|
NO_CODEC |
No codec specified. |
SPEEX_CODEC |
Speex audio codec, http://www.speex.org.
|
CELT_0_5_2_OBSOLETE_CODEC |
CELT audio codec version 0.5.2 used in version 4.1 and prior, http://www.celt-codec.org. This codec is not supported in version 4.2 and later. |
THEORA_CODEC |
Theora video codec, http://www.theora.org.
|
SPEEX_VBR_CODEC |
Speex audio codec in VBR mode, http://www.speex.org.
|
CELT_CODEC |
CELT audio codec version 0.11.1, http://www.celt-codec.org.
|
CELT_VBR_CODEC |
CELT audio codec version 0.11.1 in VBR mode, http://www.celt-codec.org.
|