Uploading Media Files
Upload audio and video files for realistic call testing, custom hold music, IVR validation, and recording comparison.
Media files let you replace synthetic test signals with real audio and video content during SIP tests. This enables realistic call scenarios such as testing hold music quality, validating IVR prompts, benchmarking recording fidelity, and measuring codec performance with actual media content.
What Media Files Are For
By default, CallMeter generates synthetic audio tones and video patterns during tests. While synthetic signals are useful for quick codec comparisons and basic connectivity checks, real-world media files provide significantly more meaningful results when you need to:
- Test hold music quality -- Upload your actual hold music and measure how it sounds after transcoding through your PBX
- Validate IVR prompts -- Play IVR menu recordings through your SIP infrastructure and verify they are intelligible
- Benchmark recording systems -- Send known media through a call recording system and compare the output to the original
- Measure codec impact -- Hear how different codecs affect real speech or music content
- Simulate real call scenarios -- Use actual conversation recordings (with consent) to test under realistic conditions
- Load test with varied content -- Upload multiple files so each endpoint plays different media, simulating diverse call scenarios
Uploading a File
- Open your project and click Files in the sidebar
- Click Upload File
- Select an audio or video file from your computer
- Wait for the upload to complete
- CallMeter automatically transcodes the file into all supported codec formats
- Once transcoding finishes, the file appears as available in your media library
Transcoding happens automatically
After upload, your file is transcoded into every supported codec format (PCMA, PCMU, G.722, Opus for audio; H.264, VP8 for video). This ensures the file works seamlessly regardless of which codec you select in your test configuration. Transcoding runs as a background process and typically completes within a few minutes.
The Upload Process in Detail
When you upload a file, CallMeter processes it through several stages:
- Upload -- The file is transferred from your browser to the platform's storage. A progress indicator shows upload completion percentage.
- Validation -- The platform verifies the file's container format, codec, duration, and size against your plan limits. Invalid files are rejected with a specific error message.
- Transcoding -- The file is automatically transcoded into every supported codec format for its media type. An audio file produces PCMA, PCMU, G.722, and Opus variants. A video file produces H.264 and VP8 variants.
- Ready -- All transcoded variants are stored and the file becomes available for selection in test configurations.
Transcoding typically completes within 1-3 minutes for a 60-second audio file. Longer files and video files take proportionally more time. You can navigate away from the page during transcoding -- the process continues in the background.
File Size and Storage Limits
Each plan tier defines a maximum individual file size and total storage allocation per organization:
| Limit | Free | Starter | Pro | Business | Enterprise |
|---|---|---|---|---|---|
| Media file uploads | No | Limited | Yes | Yes | Yes |
| Total storage pool | -- | Plan-defined | Plan-defined | Plan-defined | Custom |
Storage usage includes both the original uploaded file and all transcoded variants. A single 1 MB WAV file may consume several megabytes after transcoding to all codec formats.
Storage counts transcoded variants
All uploaded files and their transcoded variants count toward your plan's storage allocation. A single uploaded file generates multiple codec variants, so actual storage consumed is several times the original file size. Delete files you no longer need to free up space.
Upload Methods
Currently, CallMeter supports file uploads through the web interface. Select files using the file picker or drag and drop files onto the upload area. API-based uploads are available for plans with API access -- see the API Endpoints documentation for programmatic upload instructions.
Supported File Formats
Audio Files
The recommended upload format for audio is WAV (PCM 16-bit) at one of the following sample rates:
| Sample Rate | Use Case |
|---|---|
| 8 kHz | Narrowband telephony (PCMA/PCMU) |
| 16 kHz | Wideband telephony (G.722) |
| 48 kHz | Full-band audio (Opus) |
You can also upload files in other common formats (MP3, OGG, FLAC). CallMeter converts them during the transcoding process. However, starting with WAV PCM ensures the highest quality source material with no lossy compression artifacts before transcoding.
Video Files
For video uploads, CallMeter accepts:
- Raw YUV files -- Uncompressed video frames
- H.264 elementary streams -- Pre-encoded video without a container
- Common container formats -- MP4, WebM, MKV
For best results with video, provide source material at the resolution and frame rate you intend to test with.
For detailed format specifications, see Supported Formats.
Using Files in Tests
Once a file is uploaded and transcoded, you can reference it in any test within the same project.
Selecting Media Files
When creating or editing a test group:
- Navigate to the Media Configuration section
- For audio or video, change the media source from Generic to Custom
- A file picker appears showing your project's media library
- Select one or more files
- Save the test configuration
Generic vs. Custom Media
| Mode | Description |
|---|---|
| Generic | CallMeter generates synthetic audio tones or video patterns on-the-fly |
| Custom | Your uploaded files are played through the call, providing realistic media content |
Generic mode is best for quick tests and codec comparisons. Custom mode is essential when you need to evaluate real-world quality, test specific content (IVR prompts, hold music), or benchmark recording systems.
Multiple File Selection
You can select multiple files for a single test. When multiple files are selected:
- Different endpoints may play different files, simulating a realistic mix of call content
- This is particularly useful for load tests where uniformity would not represent real-world conditions
Managing Your Media Library
Viewing Files
The Files page in your project displays all uploaded media with their current status, file type (audio or video), original filename, and transcoding state. Files in the "Ready" state are available for use in tests. Files showing "Transcoding" are still being processed.
Reusing Files Across Tests
Once uploaded, a media file is available to every test within the same project. You do not need to re-upload the same file for different tests. If you need the same file in a different project, upload it again in that project -- files do not transfer between projects.
Deleting Files
To delete a file:
- Navigate to Files in your project
- Click the options menu (kebab icon) on the file row
- Select Delete
- Confirm the deletion
Deleting a file removes the original and all transcoded variants, freeing up storage immediately. Historical test run data that referenced the file is preserved -- only future runs are affected.
Deleting files affects test configurations
If a deleted file is referenced by an existing test configuration, that test falls back to generic media on its next run. Review your test configurations before deleting files, especially if other team members created tests that reference them.
Naming Conventions
Use descriptive file names that make it easy to identify files months later:
hold-music-classical-30s.wav-- Content description with durationivr-menu-english-main.wav-- Identifies the IVR flow and languagespeech-sample-male-8khz.wav-- Content type and technical specsconference-bridge-ambient-noise.wav-- Specific test scenariodtmf-ivr-sequence-1-5-3.wav-- DTMF test sequence
Avoid generic names like test.wav or audio1.wav. When you have dozens of files, descriptive names save significant time.
Tips for Recording Good Test Audio
The quality of your source audio directly affects the usefulness of your test results. Garbage in, garbage out.
For voice quality testing:
- Record in a quiet environment with minimal background noise. HVAC hum, keyboard clicks, and room echo all introduce artifacts that confuse quality measurements.
- Use a mono recording at the native sample rate of your target codec (8 kHz for G.711, 16 kHz for G.722, 48 kHz for Opus).
- Include a mix of speech and silence. Natural conversation has pauses -- continuous speech without gaps is not representative of real calls.
- Aim for 30-60 seconds of content. Shorter clips may not capture enough variation; longer clips waste storage without adding value.
- Consider using ITU-T P.501 reference speech samples if you need standardized test material.
For hold music and IVR testing:
- Use the actual production files from your PBX. The point is to measure how your infrastructure affects the real content your callers hear.
- If testing music-on-hold, include a section with both music and silence to test how your system handles transitions.
For load testing with varied content:
- Upload 5-10 different files and assign them all to a test group. This simulates realistic call diversity where not every call sounds identical.
- Vary the content type: mix speech samples, hold music, IVR prompts, and silence to exercise different codec behaviors.
Playback During Calls
When a test uses custom media files, each endpoint plays the assigned file through the call. The media is encoded using the codec configured for the test (e.g., Opus, PCMA, H.264) and sent as RTP packets through your SIP infrastructure.
This means the receiving end hears or sees the actual content of your file as it would sound or look after traversing your real SIP trunks, PBXes, session border controllers, and any transcoding steps along the way.
Codec and File Interaction
The codec you select in the test configuration determines which transcoded variant of your file is used. For example:
- A test configured with PCMA plays the 8 kHz G.711 A-law variant of your file
- A test configured with Opus plays the 48 kHz Opus variant
- A test configured with H.264 plays the H.264 variant of your video file
You do not need to upload separate files for each codec. The transcoding step handles this automatically.
Quality Measurement
CallMeter measures quality metrics (MOS, jitter, packet loss, round-trip time) on the media streams carrying your custom files. This gives you a direct measurement of how your infrastructure affects real content rather than synthetic signals.
Custom media is especially valuable for identifying transcoding degradation. If your PBX transcodes between codecs (e.g., Opus on one leg, PCMA on another), testing with real speech reveals quality loss that synthetic tones might not expose.
Troubleshooting
File stuck in "Transcoding" state: Transcoding times depend on file size and current platform load. Files typically complete within a few minutes. If a file remains in the transcoding state for more than 15 minutes, try deleting it and re-uploading.
File not appearing in test configuration: Ensure the file has finished transcoding (status shows "Ready"). Files that are still being processed are not available for selection in test configurations.
Audio sounds distorted after upload: Check that your source file meets the recommended format (WAV PCM 16-bit). Files that are heavily compressed (e.g., low-bitrate MP3) may have artifacts that become more pronounced after re-encoding.
Next Steps
- Supported Formats -- Detailed format specifications and encoding guidelines
- Creating a Test -- Configure a test with custom media files