CallMeter Docs

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.

CodecRTP Payload TypeSample RateBit RateBandwidthUse Case
PCMA (G.711 A-law)88 kHz64 kbpsNarrowbandEuropean telephony standard, ITU-T regions
PCMU (G.711 u-law)08 kHz64 kbpsNarrowbandNorth American telephony standard
G.722916 kHz64 kbpsWidebandHD voice, SIP desk phones, enterprise PBXes
OpusDynamic (96-127)48 kHz6-510 kbpsFullbandModern 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

CodecProfileResolutionFrame RateUse Case
H.264Constrained BaselineUp to 1080pUp to 30 fpsMost widely supported, hardware acceleration common
VP8--Up to 720pUp to 30 fpsOpen 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

ResolutionFrame RateTarget BitrateTypical Use
320x240 (QVGA)15 fps200-300 kbpsLow-bandwidth SIP video phones, constrained networks
640x480 (VGA)15-30 fps500-800 kbpsStandard SIP desk phones, typical enterprise video calls
1280x720 (HD)30 fps1-2 MbpsVideo conferencing rooms, high-quality endpoints
1920x1080 (Full HD)30 fps2-4 MbpsBenchmarking, high-fidelity quality analysis

VP8 Recommendations

ResolutionFrame RateTarget BitrateTypical Use
320x240 (QVGA)15 fps200-350 kbpsWebRTC on constrained mobile connections
640x480 (VGA)30 fps500-1000 kbpsStandard WebRTC video calls
1280x720 (HD)30 fps1-2.5 MbpsWebRTC 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.

Audio Upload Formats

The preferred upload format for the highest quality transcoding results is:

WAV (PCM 16-bit, uncompressed)

ParameterRecommended Value
FormatWAV (RIFF)
EncodingPCM signed 16-bit little-endian
ChannelsMono (1 channel)
Sample rate8,000 Hz, 16,000 Hz, or 48,000 Hz
Bit depth16-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

FormatDescription
Raw YUVUncompressed video frames; best quality but large file size
H.264 elementary streamPre-encoded H.264 without a container; no re-encoding needed
MP4Common container; H.264 or H.265 encoded
WebMVP8/VP9 encoded in WebM container
MKVMatroska 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.wav

From 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.wav

From 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.wav

Converting 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.mp4

From 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.mp4

Extract raw YUV from a video file:

ffmpeg -i input.mp4 -c:v rawvideo -pix_fmt yuv420p output.yuv

Use 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

ScenarioRecommended SourceSample RateDuration
Voice quality testingClean speech recording, no background noise8 kHz or 16 kHz30s -- 60s
Hold music testingActual hold music file8 kHz (PCMA/PCMU) or 48 kHz (Opus)Full track
IVR prompt testingProduction IVR recording8 kHzPer prompt
Load testing with varietyMultiple different filesMatch target codec30s -- 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

ScenarioResolutionFrame RateBitrate
SIP video phone testing640x480 (VGA)15 fps500 kbps
Video conferencing testing1280x720 (HD)30 fps1 Mbps
High-quality benchmarking1920x1080 (Full HD)30 fps2 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 FormatPCMAPCMUG.722OpusH.264VP8
WAV (PCM)YesYesYesYes----
MP3YesYesYesYes----
OGG (Vorbis)YesYesYesYes----
FLACYesYesYesYes----
MP4 (H.264)--------YesYes
WebM (VP8)--------YesYes
MKV--------YesYes
Raw YUV--------YesYes
H.264 ES--------YesYes

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

ModeSourceQuality MeasurementBest For
GenericSynthetic signal generated on-the-flySignal-based (tone analysis)Quick tests, codec comparison, connectivity checks
CustomYour uploaded media filesContent-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-file

Transcoding 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

On this page