This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description
ffmpeg-normalize
================

ffmpeg script for normalizing audio.

This program normalizes media files to a certain dB level. The default is an
RMS-based normalization where the mean is lifted. Peak normalization is
possible with the ``-m`` option.

It takes any audio or video file as input, and writes the audio part as
output WAV file. The normalized audio can also be merged with the
original.

Requirements:

- Python
- `ffmpeg` and `ffprobe` from http://ffmpeg.org/ installed in your `$PATH`

Installation::

pip install ffmpeg-normalize

Usage::

ffmpeg-normalize [options] <input-file>...

Options:

- ``-f``, ``--force`` — Force overwriting existing files
- ``-l``, ``--level <level>`` — dB level to normalize to [default: -26]
- ``-p``, ``--prefix <prefix>`` — Prefix for normalized files or output folder name [default:
normalized]
- ``-np``, ``--no-prefix`` — Write output file without prefix (cannot be used when `--dir` is used)
- ``-t``, ``--threshold <threshold>`` — dB threshold below which the
audio will be not adjusted [default: 0.5]
- ``-o``, ``--dir`` — Create an output folder under the input file's directory with the prefix instead of prefixing the
file (does not work if `--no-prefix` is chosen)
- ``-m``, ``--max`` — Normalize to the maximum (peak) volume instead of
RMS
- ``-v``, ``--verbose`` — Enable verbose output
- ``-n``, ``--dry-run`` — Show what would be done, do not convert
- ``-d``, ``--debug`` — Show debug output
- ``-u``, ``--merge`` — Don’t create a separate WAV file but update the
original file. Use in combination with -p to create a copy
- ``-a``, ``--acodec <acodec>`` — Set audio codec for ffmpeg (see
`ffmpeg -encoders`) (will be chosen based on format, default pcm_s16le for WAV)
- ``-r``, ``--format <format>`` – Set format for ffmpeg (see `ffmpeg -formats`) to use for output file [default: wav]
- ``-e``, ``--extra-options <extra-options>`` — Set extra options
passed to ffmpeg (e.g. “-b:a 192k” to set audio bitrate)

Examples::

Normalize a file and write to `normalized-file.wav`::

ffmpeg-normalize -v file.mp3
ffmpeg-normalize --verbose *.avi

Normalize a number of AVI files and write to `normalized-<file>.wav`::

ffmpeg-normalize -v *.avi
ffmpeg-normalize --verbose *.avi

Normalize a number of MP4 files to -5 dB peak volume and merge the audio stream back into the MP4 files, in a new directory called `normalized`::

ffmpeg-normalize -vuofm -l -5 *.mp4
ffmpeg-normalize --verbose --merge --dir --force --max --level -5 *.mp4

Normalize a number of MKV files and merge the audio back in using the `libfdk_aac` encoder with 192 kBit/s CBR::

ffmpeg-normalize -vu -a libfdk_aac -e "-b:a 192k" *.mkv
ffmpeg-normalize --verbose --merge --acodec libfdk_aac --extra-options "-b:a 192k" *.mkv




History
-------

0.4.1 (2017-02-13)
__________________

* Fix #13

0.4 (2017-01-24)
__________________

* Cleanup in code, make it class-based
* Drop avconv support, it was never good anyway
* Add support for specifying codec for non-merging operations
* Add support for specifying output format
* README improvements

0.3 (2017-01-19)
__________________

* Add option to remove prefix

0.2.4 (2016-10-27)
__________________

* Fixed issue where multiple spaces were collapsed into one

0.2.3 (2016-02-12)
__________________

* Fixed issue where ffmpeg could not be found if path included spaces

0.2.2 (2016-02-09)
__________________

* Change default level back to -26

0.2.1 (2016-02-08)
__________________

* Documentation fixes


0.2.0 (2016-02-08)
__________________

* Support multiple input files
* Allow merging with input file instead of creating separate WAV
* Write to directory instead of using prefix
* Set the audio codec when merging
* Set additional encoder or ffmpeg options

Note: avconv support is very limited, use the real ffmpeg from http://ffmpeg.org/ instead.

0.1.3 (2015-12-15)
__________________

* Bugfix for detecting ffmpeg or avconv on Windows (as .exe)
* Add version to Usage message
* Update year

0.1.2 (2015-11-13)
__________________

* Bugfix for missing ffmpeg or avconv


0.1.0 (2015-08-01)
__________________

* First release, changing name to ffmpeg-normalize
Release History

Release History

0.4.1

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.4.0

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.5

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.4

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.3

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.0

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.3

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
ffmpeg-normalize-0.4.1.tar.gz (7.7 kB) Copy SHA256 Checksum SHA256 Source Feb 13, 2017

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting