# slhck/ffmpeg-normalize

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/slhck-ffmpeg-normalize).**

1,509 stars · 127 forks · HTML · NOASSERTION

## Links

- GitHub: https://github.com/slhck/ffmpeg-normalize
- Homepage: https://slhck.info/ffmpeg-normalize/
- awesome-repositories: https://awesome-repositories.com/repository/slhck-ffmpeg-normalize.md

## Topics

`audio` `ffmpeg` `python`

## Description

This utility is a command-line tool designed to automate volume leveling across audio and video collections. By leveraging external media processing libraries, it adjusts files to a consistent target loudness level, ensuring uniform playback without the need for manual volume adjustments.

The tool distinguishes itself through a two-pass analysis workflow that measures loudness statistics before applying precise gain adjustments. It maintains the relative loudness relationships between tracks when processing collections, ensuring that the dynamic balance of a group of files remains intact. Users can define and save custom configuration presets to standardize these normalization parameters across different media types and environments.

The software supports comprehensive batch processing, allowing for the automated normalization of entire directories while preserving original metadata and file integrity. It includes logic to evaluate files against target thresholds, skipping redundant re-encoding to optimize computational resources. Additionally, the tool provides dynamic stream mapping to isolate specific audio tracks within video containers, enabling normalization without altering the original video content.

The utility is distributed as a command-line interface and includes shell autocompletion support for terminal-based operations. It also offers a programmatic interface for integration into custom applications and automated media processing pipelines.

## Tags

### Graphics & Multimedia

- [Cross-Track Loudness Leveling](https://awesome-repositories.com/f/graphics-multimedia/audio-volume-controls/cross-track-loudness-leveling.md) — Automates volume leveling across media collections to ensure uniform playback without manual adjustments. ([source](https://github.com/slhck/ffmpeg-normalize/blob/master/README.md))
- [Loudness Normalization Standards](https://awesome-repositories.com/f/graphics-multimedia/loudness-measurement/loudness-normalization-standards.md) — Adjusts audio files to a consistent target loudness level using automated analysis to ensure uniform volume across multiple media files. ([source](https://slhck.info/ffmpeg-normalize/usage/file-input-output/))
- [Batch Media Processors](https://awesome-repositories.com/f/graphics-multimedia/media-processing-analysis/media-manipulation/media-processing-workflows/media-workflow-orchestration/batch-media-processors.md) — Provides a terminal-based workflow for normalizing entire directories of audio and video files while preserving metadata and relative loudness.
- [Media Processing Orchestrators](https://awesome-repositories.com/f/graphics-multimedia/media-processing-analysis/media-manipulation/media-processing-workflows/media-workflow-orchestration/media-processing-orchestrators.md) — Executes command-line media tools as child processes to leverage high-performance native libraries for complex audio signal analysis and transcoding.
- [Normalization Tools](https://awesome-repositories.com/f/graphics-multimedia/video-production/transcoding-engines/ffmpeg-transcoders/normalization-tools.md) — Adjusts audio and video files to a consistent target loudness level using FFmpeg as the underlying processing engine.
- [Batch Processing](https://awesome-repositories.com/f/graphics-multimedia/audio-music/audio-processing/batch-processing.md) — Supports batch processing of entire directories or collections of audio and video files to ensure uniform loudness levels across large media libraries. ([source](https://github.com/slhck/ffmpeg-normalize/blob/master/CHANGELOG.md))
- [Audio Stream DSP](https://awesome-repositories.com/f/graphics-multimedia/audio-music/audio-processing/real-time-audio-threading/live-audio-stream-processors/audio-stream-dsp.md) — Targets specific audio streams within a media file for normalization while leaving other tracks untouched to maintain file structure. ([source](https://github.com/slhck/ffmpeg-normalize/blob/master/CHANGELOG.md))
- [Media Processing Presets](https://awesome-repositories.com/f/graphics-multimedia/media-processing-presets.md) — Serializes user-defined normalization parameters into persistent files to standardize processing workflows across different media types.
- [Simultaneous Audio and Video Extractors](https://awesome-repositories.com/f/graphics-multimedia/video-content-repurposing/video-clip-extraction/audio-track-extraction/simultaneous-audio-and-video-extractors.md) — Extracts and normalizes audio streams within video files while preserving the original video content and quality. ([source](https://github.com/slhck/ffmpeg-normalize/blob/master/README.md))
- [Video Post-Processing](https://awesome-repositories.com/f/graphics-multimedia/video-post-processing.md) — Normalizes audio tracks within video files while preserving original video quality and stream structure for final distribution.
- [Video Stream Metadata Parsing](https://awesome-repositories.com/f/graphics-multimedia/video-stream-metadata-parsing.md) — Parses media container structures to isolate specific audio tracks for processing while preserving video streams and metadata intact.

### Data & Databases

- [Conditional Execution Gates](https://awesome-repositories.com/f/data-databases/conditional-data-operations/operation-labeling-and-skipping/conditional-execution-gates.md) — Evaluates file metadata and loudness metrics against target thresholds to skip redundant re-encoding and optimize computational resources.

### DevOps & Infrastructure

- [Media Encoding Pipelines](https://awesome-repositories.com/f/devops-infrastructure/media-encoding-pipelines.md) — Integrates audio processing into custom scripts or containerized pipelines to handle media normalization without manual intervention.

### Testing & Quality Assurance

- [Multi-Pass Analysis](https://awesome-repositories.com/f/testing-quality-assurance/static-code-analysis/multi-pass-analysis.md) — Performs an initial scan to measure loudness statistics before executing a second pass to apply precise gain adjustments.

### User Interface & Experience

- [Queue Management](https://awesome-repositories.com/f/user-interface-experience/file-uploaders/drag-and-drop-file-upload/remote-session-file-uploads/device-to-host-file-uploads/progress-tracking-file-uploads/queue-management.md) — Orchestrates the processing of file collections to maintain relative loudness relationships across multiple tracks.
