Codecs are used to convert an analog voice signal to a digitally encoded version. Codecs vary in the sound quality, the bandwidth required, the computational requirements, etc. Each service, program, phone, gateway, etc typically supports several different codecs, and when talking to each other, negotiate which codec they will use.
As an example, a Cisco ATA-186 supports these codecs:
G.723.1, G.711a, G.711u, G.729a (please note that ATA-186 has x2 FXS ports, there is only one port can run on (G.729) with two simultaneously
active ports, second one will be on G.711a/u)
As an example, a Cisco 7960 supports
(Firmware P0S3-06-0-00) G.711a, G.711u, G.729a
Some codecs require payment of royalties for their use in a product or program. See Codec Patents for more information.
- AMR Codec
- BroadVoice Codec 16Kbps narrowband, and 32Kbps wideband
- DoD CELP – 4.8 Kbps
- GIPS Family – 13.3 Kbps and up
- GSM – 13 Kbps (full rate), 20ms frame size
- iLBC – 15Kbps,20ms frame size: 13.3 Kbps, 30ms frame size
- ITU G.711 – 64 Kbps, sample-based Comes in two flavors: A-law and mu-law
- ITU G.722 – 48/56/64 Kbps ADPCM 7Khz audio bandwidth
- ITU G.722.1 – 24/32 Kbps 7Khz audio bandwidth (based on Polycom’s SIREN codec)
- ITU G.722.1C – 32 Kbps, a Polycom extension, 14Khz audio bandwidth
- ITU G.722.2 – 6.6Kbps to 23.85Kbps. Also known as AMR-WB. CELP 7Khz audio bandwidth
- ITU G.723.1 – 5.3/6.3 Kbps, 30ms frame size
- ITU G.726 – 16/24/32/40 Kbps
- ITU G.728 – 16 Kbps
- ITU G.729 – 8 Kbps, 10ms frame size
- LPC10 – 2.5 Kbps
- Speex – 2.15 to 44.2 Kbps
Some tables comparing different codecs:
- Cisco.com: Voice Over IP – Per Call Bandwidth Consumption
- bandwidth-consumption-and-call-quality/ Comparison of internet connections, MOS, bitrate, and bandwidth needed.
Audio Examples of Different Codecs
- VoiceAge: ACELP, G723, G.729, AMR samples
Some potentially useful info:
Keep in mind the link-layer framing that is used as well. ATM (what most of the internet backbones use) has 53 byte fixed cells. There are 5 bytes of headers. Only one packet can exist in a group of cells (a group is 1 or more cells until the whole packet is sent). This means that if you try to send a 80 byte IP packet over an ATM link it will be chopped into 2 ATM cells with 16 bytes of padding. This is only 83% efficient. By adjusting your sample size you may find that your throughput can be increased because you transfer more useful data and less padding. Make your sample size too small and you have a lot of IP overhead, make it too large and it can cause problems with the call quality (think of a 30ms jitter buffer and 30ms sample sizes, in effect you have no jitter buffer because packets cant be reordered, jitter cant be controlled, etc). Its a fine balance, but something to consider. Even if you don’t use ATM the internet backbones often do, so this is something that may make slightly faster transfers and better network efficiency. DSL, E1, T1, SMDS, OC1, OC3, OC12, etc generally all use ATM, so it’s quite common.
How to pick the right model for your movie is an interesting topic that a lot of movie makers don’t discuss. It’s almost as if they are ignorant of the basic knowledge about how movies are recorded, converted and played. A question that often comes up is: “How do I know what codec is best for my movie?”
What should you be looking for in a movie file? A lot of the information here is derived from testing different versions of the film. Read on for some potentially useful info:
Your movie should be captured in either .mp4 or .wav formats. How do you know which one is right for you? If you have ever watched a movie on a computer, you probably saw a DVD movie or VCD.
You need an audio track. But there’s more to it than that. Knowing what kinds of models are most common will help you find the right one for your movie.
The differences between video codecs and audio codecs are many. Not all audio tracks offer the same features. Choosing the right model depends on your needs and preferences.
The best quality is actually achieved when you use a combination of good codecs. Take note that the different codecs do not have the same capabilities. They do not have the same bit rates, bit depths or length of playback.
In general, there are three types of codecs and they all offer similar capabilities: lossless, lossy+lossless. The number represents the compression ratio, not the size of the file. To figure out which codec is best for your movie, you should simply calculate the ratio between the file size and the amount of information in the file.
JPEG compression codecs generally outperform other formats like AVI and MPEG-2. If you want to see why, simply write your movie with a lossless codec and then see what you get. The files should be very large but fairly small with few tags in the video/audio container.
If you’re using uncompressed codecs, which means no lossy codec, your file is probably smaller but it is not comparable to compressed codecs. You might think this is a good thing. You might think it’s a bad thing though.
Compression codecs make things look nicer and there’s a lot more potential for compression to happen. If you’re interested in learning more about the correct way to make your movie look the best possible, you might consider a future post on optimizing your movie. For now, keep reading and learn how to pick the right model for your movie.
The main difference between a lossless codec and a lossy codec is that lossless codecs do not lose information as the film is being recorded. Lossy codecs also add metadata to the video, so the video is not a single frame. They take the data of all the frames and place them in one big file.
Finally, decide what kind of encoder you will use and what codec you will use to encode your video. A good way to pick the right model is to look at some samples and hear what they sound like. It may take some trial and error to get the perfect codec, but once you have it, you can take your movie to the next level and enjoy the highest quality.
- A complete list of ITU G series recommendations
- Asterisk codecs
- Bandwidth consumption
- Codec Software