Supported Formats
Detailed audio and video format specifications, codec compatibility, encoding guidelines, and file conversion instructions for CallMeter media files.
CallMeter supports a range of audio and video formats for use in SIP tests. Uploaded files are automatically transcoded into all supported codec formats, ensuring compatibility regardless of which codec you select in your test configuration. This guide covers format specifications, codec details, and how to prepare optimal source files.
Audio Codecs
CallMeter supports the major telephony and VoIP audio codecs used in production SIP environments.
| Codec | RTP Payload Type | Sample Rate | Bit Rate | Bandwidth | Use Case |
|---|---|---|---|---|---|
| PCMA (G.711 A-law) | 8 | 8 kHz | 64 kbps | Narrowband | European telephony standard, ITU-T regions |
| PCMU (G.711 u-law) | 0 | 8 kHz | 64 kbps | Narrowband | North American telephony standard |
| G.722 | 9 | 16 kHz | 64 kbps | Wideband | HD voice, SIP desk phones, enterprise PBXes |
| Opus | Dynamic (96-127) | 48 kHz | 6-510 kbps | Fullband | Modern VoIP, WebRTC, adaptive bitrate |
Codec Selection Guidelines
PCMA/PCMU (G.711): Use when testing traditional PSTN interconnection, SIP trunks to legacy carriers, or PBX systems that primarily use G.711. These codecs provide toll-quality audio at 8 kHz and are universally supported.
G.722: Use when testing HD voice scenarios. G.722 provides wideband audio at 16 kHz within the same 64 kbps bandwidth as G.711 by using sub-band ADPCM. Most modern IP phones support G.722.
Opus: Use when testing modern VoIP platforms, WebRTC gateways, or systems that support adaptive bitrate codecs. Opus provides the best audio quality with variable bitrate and built-in forward error correction.
Video Codecs
| Codec | Profile | Resolution | Frame Rate | Use Case |
|---|---|---|---|---|
| H.264 | Constrained Baseline | Up to 1080p | Up to 30 fps | Most widely supported, hardware acceleration common |
| VP8 | -- | Up to 720p | Up to 30 fps | Open standard, WebRTC native |
Video Codec Notes
H.264 is the most compatible video codec across SIP endpoints, video conferencing systems, and hardware decoders. The Constrained Baseline profile ensures broad compatibility with older devices and SIP video phones. Most SIP video phones from Polycom, Yealink, and Grandstream negotiate H.264 Constrained Baseline by default.
VP8 is primarily used in WebRTC-based systems. If you are testing a WebRTC gateway or a platform built on open standards, VP8 is the appropriate choice. VP8 does not require patent licensing, making it common in open-source VoIP deployments.
Resolution and Bitrate Recommendations
Choosing the right resolution and bitrate depends on the endpoint capabilities and available bandwidth. Over-specifying wastes bandwidth; under-specifying produces a poor experience.
H.264 Recommendations
| Resolution | Frame Rate | Target Bitrate | Typical Use |
|---|---|---|---|
| 320x240 (QVGA) | 15 fps | 200-300 kbps | Low-bandwidth SIP video phones, constrained networks |
| 640x480 (VGA) | 15-30 fps | 500-800 kbps | Standard SIP desk phones, typical enterprise video calls |
| 1280x720 (HD) | 30 fps | 1-2 Mbps | Video conferencing rooms, high-quality endpoints |
| 1920x1080 (Full HD) | 30 fps | 2-4 Mbps | Benchmarking, high-fidelity quality analysis |
VP8 Recommendations
| Resolution | Frame Rate | Target Bitrate | Typical Use |
|---|---|---|---|
| 320x240 (QVGA) | 15 fps | 200-350 kbps | WebRTC on constrained mobile connections |
| 640x480 (VGA) | 30 fps | 500-1000 kbps | Standard WebRTC video calls |
| 1280x720 (HD) | 30 fps | 1-2.5 Mbps | WebRTC conferencing, gateway testing |
Match test resolution to your real endpoints
Test at the resolution your actual endpoints negotiate. If your SIP desk phones cap at VGA, testing at 1080p tells you nothing about production quality. Check your endpoint datasheets for supported resolutions.
Recommended Upload Formats
Audio Upload Formats
The preferred upload format for the highest quality transcoding results is:
WAV (PCM 16-bit, uncompressed)
| Parameter | Recommended Value |
|---|---|
| Format | WAV (RIFF) |
| Encoding | PCM signed 16-bit little-endian |
| Channels | Mono (1 channel) |
| Sample rate | 8,000 Hz, 16,000 Hz, or 48,000 Hz |
| Bit depth | 16-bit |
Match sample rate to your target codec
For PCMA/PCMU testing, use 8 kHz source files. For G.722, use 16 kHz. For Opus, use 48 kHz. While CallMeter resamples automatically during transcoding, starting with the native sample rate avoids resampling artifacts and provides the most accurate test results.
You can also upload files in these container formats, and CallMeter will decode and re-encode them:
- MP3 -- Lossy compression; quality depends on source bitrate
- OGG (Vorbis) -- Open format, good quality
- FLAC -- Lossless compression, excellent quality
- WAV (other encodings) -- Will be converted to PCM 16-bit internally
Lossy source files reduce test accuracy
If you upload an MP3 or other lossy-compressed file, any compression artifacts from the source are baked in before transcoding to the test codec. For the most accurate quality measurements, always start with an uncompressed or lossless source (WAV PCM or FLAC).
Video Upload Formats
| Format | Description |
|---|---|
| Raw YUV | Uncompressed video frames; best quality but large file size |
| H.264 elementary stream | Pre-encoded H.264 without a container; no re-encoding needed |
| MP4 | Common container; H.264 or H.265 encoded |
| WebM | VP8/VP9 encoded in WebM container |
| MKV | Matroska container; supports multiple codecs |
For video, the recommended approach is to provide an H.264 elementary stream or a high-quality MP4 at your target resolution and frame rate. This minimizes the number of re-encoding steps and preserves visual quality.
File Preparation and Conversion
If your source files are not in the recommended format, use ffmpeg to convert them before uploading. Below are common conversion commands.
Converting Audio to WAV PCM 16-bit
From MP3 to WAV at 8 kHz (for PCMA/PCMU tests):
ffmpeg -i input.mp3 -ar 8000 -ac 1 -sample_fmt s16 -f wav output-8khz.wavFrom any format to WAV at 16 kHz (for G.722 tests):
ffmpeg -i input.flac -ar 16000 -ac 1 -sample_fmt s16 -f wav output-16khz.wavFrom any format to WAV at 48 kHz (for Opus tests):
ffmpeg -i input.ogg -ar 48000 -ac 1 -sample_fmt s16 -f wav output-48khz.wavConverting Video to H.264 MP4
From WebM (VP8/VP9) to H.264 MP4:
ffmpeg -i input.webm -c:v libx264 -profile:v baseline -level 3.1 \
-pix_fmt yuv420p -r 30 -b:v 1M output.mp4From MKV to H.264 MP4 at 720p:
ffmpeg -i input.mkv -c:v libx264 -profile:v baseline -level 3.1 \
-vf "scale=1280:720" -pix_fmt yuv420p -r 30 -b:v 1M output-720p.mp4Extract raw YUV from a video file:
ffmpeg -i input.mp4 -c:v rawvideo -pix_fmt yuv420p output.yuvUse Constrained Baseline for broadest compatibility
When encoding H.264, always use -profile:v baseline to ensure compatibility with the widest range of SIP endpoints and video conferencing systems.
Quality Recommendations
Audio Quality Guidelines
| Scenario | Recommended Source | Sample Rate | Duration |
|---|---|---|---|
| Voice quality testing | Clean speech recording, no background noise | 8 kHz or 16 kHz | 30s -- 60s |
| Hold music testing | Actual hold music file | 8 kHz (PCMA/PCMU) or 48 kHz (Opus) | Full track |
| IVR prompt testing | Production IVR recording | 8 kHz | Per prompt |
| Load testing with variety | Multiple different files | Match target codec | 30s -- 120s |
For voice quality measurements, use a clean speech sample without background noise. The ITU-T P.501 recommendation provides reference speech files suitable for quality testing, but any clean mono recording at the appropriate sample rate works well.
Video Quality Guidelines
| Scenario | Resolution | Frame Rate | Bitrate |
|---|---|---|---|
| SIP video phone testing | 640x480 (VGA) | 15 fps | 500 kbps |
| Video conferencing testing | 1280x720 (HD) | 30 fps | 1 Mbps |
| High-quality benchmarking | 1920x1080 (Full HD) | 30 fps | 2 Mbps |
Choose resolution and frame rate based on the capabilities of your SIP endpoints. Testing at a resolution higher than your endpoints support wastes bandwidth without improving test accuracy.
Codec Compatibility Matrix
This table shows which codecs each upload format can be transcoded to:
| Upload Format | PCMA | PCMU | G.722 | Opus | H.264 | VP8 |
|---|---|---|---|---|---|---|
| WAV (PCM) | Yes | Yes | Yes | Yes | -- | -- |
| MP3 | Yes | Yes | Yes | Yes | -- | -- |
| OGG (Vorbis) | Yes | Yes | Yes | Yes | -- | -- |
| FLAC | Yes | Yes | Yes | Yes | -- | -- |
| MP4 (H.264) | -- | -- | -- | -- | Yes | Yes |
| WebM (VP8) | -- | -- | -- | -- | Yes | Yes |
| MKV | -- | -- | -- | -- | Yes | Yes |
| Raw YUV | -- | -- | -- | -- | Yes | Yes |
| H.264 ES | -- | -- | -- | -- | Yes | Yes |
Audio files are transcoded to audio codecs only. Video files are transcoded to video codecs only. If your test requires both audio and video, upload separate files for each media type and assign them independently in your test group configuration.
Choosing the Right Format for Your Use Case
Different testing scenarios call for different source formats and codecs. Here is a decision guide based on common VoIP engineering tasks.
SIP Trunk Quality Assurance
Goal: Verify that a SIP trunk delivers acceptable voice quality between your PBX and the carrier.
- Upload format: WAV PCM 16-bit, mono, 8 kHz
- Test codec: PCMA or PCMU (matching the trunk's negotiated codec)
- Why: PSTN interconnects almost universally use G.711. Testing with the same codec your trunk uses avoids introducing transcoding variables. The 8 kHz WAV source maps directly to the test codec with no resampling.
HD Voice Rollout Validation
Goal: Confirm that your IP phones and PBX correctly negotiate and maintain G.722 wideband audio.
- Upload format: WAV PCM 16-bit, mono, 16 kHz
- Test codec: G.722
- Why: G.722 operates at 16 kHz. A 16 kHz source lets you hear the wideband improvement over narrowband. If you upload an 8 kHz source, the platform upsamples it, but you lose the ability to evaluate wideband clarity.
WebRTC Gateway Testing
Goal: Measure quality through a WebRTC-to-SIP gateway.
- Upload format: WAV PCM 16-bit, mono, 48 kHz (audio) or MP4 H.264 Baseline (video)
- Test codec: Opus (audio), VP8 or H.264 (video)
- Why: WebRTC endpoints typically negotiate Opus and VP8. A 48 kHz source gives Opus the full-band signal it was designed for. For video, use the codec your gateway negotiates on the WebRTC side.
Call Recording System Benchmarking
Goal: Measure how much your recording system degrades the original audio.
- Upload format: WAV PCM 16-bit, lossless (FLAC also acceptable)
- Test codec: Match whatever codec the recorded leg uses
- Why: Start with the highest quality source possible so any degradation you measure is attributable to the recording system, not the source material.
Load Testing at Scale
Goal: Stress test a PBX or SBC with hundreds of concurrent calls.
- Upload format: Multiple short WAV files (30-60 seconds each)
- Test codec: Whatever your production environment uses
- Why: Using multiple diverse files simulates real call patterns better than a single repeated file. Keep files short to minimize storage usage across hundreds of transcoded variants.
Generic vs. Custom Media
| Mode | Source | Quality Measurement | Best For |
|---|---|---|---|
| Generic | Synthetic signal generated on-the-fly | Signal-based (tone analysis) | Quick tests, codec comparison, connectivity checks |
| Custom | Your uploaded media files | Content-based (real media through infrastructure) | Realistic scenarios, IVR testing, recording benchmarks |
Generic mode is convenient for rapid iteration. Custom mode provides the most representative results because the media traverses your SIP infrastructure exactly as a real call would.
Troubleshooting
"Unsupported format" error on upload:
Verify that your file uses a supported container format and codec. Use ffprobe to inspect the file:
ffprobe -v quiet -print_format json -show_format -show_streams input-fileTranscoding fails or takes too long: Large files or unusual encodings can slow transcoding. Re-encode to the recommended format (WAV PCM for audio, H.264 MP4 for video) before uploading.
Audio sounds different than expected: Check that the source sample rate matches your intended test codec. A 48 kHz source transcoded to PCMA (8 kHz) will lose high-frequency content. This is expected behavior matching real-world telephony.
Next Steps
- Uploading Files -- Upload and manage media in your project
- Creating a Test -- Select codecs and assign media files to tests
- Supported Codecs Reference -- Complete codec reference table