ffmpeg-normalize 1.32.5__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1467 @@
1
+ Metadata-Version: 2.4
2
+ Name: ffmpeg_normalize
3
+ Version: 1.32.5
4
+ Summary: Normalize audio via ffmpeg
5
+ Home-page: https://github.com/slhck/ffmpeg-normalize
6
+ Author: Werner Robitza
7
+ Author-email: werner.robitza@gmail.com
8
+ License: MIT
9
+ Keywords: ffmpeg,normalize,audio
10
+ Classifier: Development Status :: 5 - Production/Stable
11
+ Classifier: Intended Audience :: Developers
12
+ Classifier: Topic :: Multimedia :: Sound/Audio
13
+ Classifier: Topic :: Multimedia :: Sound/Audio :: Analysis
14
+ Classifier: Topic :: Multimedia :: Sound/Audio :: Conversion
15
+ Classifier: License :: OSI Approved :: MIT License
16
+ Classifier: Natural Language :: English
17
+ Classifier: Programming Language :: Python :: 3
18
+ Classifier: Programming Language :: Python :: 3.9
19
+ Classifier: Programming Language :: Python :: 3.10
20
+ Classifier: Programming Language :: Python :: 3.11
21
+ Classifier: Programming Language :: Python :: 3.12
22
+ Classifier: Programming Language :: Python :: 3.13
23
+ Requires-Python: >=3.9
24
+ Description-Content-Type: text/markdown
25
+ License-File: LICENSE
26
+ Requires-Dist: tqdm
27
+ Requires-Dist: colorama; platform_system == "Windows"
28
+ Requires-Dist: ffmpeg-progress-yield
29
+ Requires-Dist: colorlog
30
+ Requires-Dist: mutagen
31
+ Dynamic: author
32
+ Dynamic: author-email
33
+ Dynamic: classifier
34
+ Dynamic: description
35
+ Dynamic: description-content-type
36
+ Dynamic: home-page
37
+ Dynamic: keywords
38
+ Dynamic: license
39
+ Dynamic: license-file
40
+ Dynamic: requires-dist
41
+ Dynamic: requires-python
42
+ Dynamic: summary
43
+
44
+ # ffmpeg-normalize
45
+
46
+ [![PyPI version](https://img.shields.io/pypi/v/ffmpeg-normalize.svg)](https://pypi.org/project/ffmpeg-normalize)
47
+ ![Docker Image Version](https://img.shields.io/docker/v/slhck/ffmpeg-normalize?sort=semver&label=Docker%20image)
48
+ ![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/slhck/ffmpeg-normalize/python-package.yml)
49
+
50
+ <!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
51
+ [![All Contributors](https://img.shields.io/badge/all_contributors-20-orange.svg?style=flat-square)](#contributors-)
52
+ <!-- ALL-CONTRIBUTORS-BADGE:END -->
53
+
54
+ A utility for batch-normalizing audio using ffmpeg.
55
+
56
+ This program normalizes media files to a certain loudness level using the EBU R128 loudness normalization procedure. It can also perform RMS-based normalization (where the mean is lifted or attenuated), or peak normalization to a certain target level.
57
+
58
+ ## ✨ Features
59
+
60
+ - EBU R128 loudness normalization (two-pass by default, with an option for one-pass dynamic normalization)
61
+ - RMS-based normalization
62
+ - Peak normalization
63
+ - Video file support
64
+ - Docker support
65
+ - Python API
66
+
67
+ ## πŸš€ Quick Start
68
+
69
+ 1. Install a recent version of [ffmpeg](https://ffmpeg.org/download.html)
70
+ 2. Run `pip3 install ffmpeg-normalize`
71
+ 3. Run `ffmpeg-normalize /path/to/your/file.mp4`
72
+ 4. Done! 🎧 (the normalized file will be called `normalized/file.mkv`)
73
+
74
+ ## πŸ““ Documentation
75
+
76
+ Check out our [documentation](https://slhck.info/ffmpeg-normalize/) for more info!
77
+
78
+ ## 🀝 Contributors
79
+
80
+ The only reason this project exists in its current form is because [@benjaoming](https://github.com/slhck/ffmpeg-normalize/issues?q=is%3Apr+author%3Abenjaoming)'s initial PRs. Thanks for everyone's support!
81
+
82
+ <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
83
+ <!-- prettier-ignore-start -->
84
+ <!-- markdownlint-disable -->
85
+ <table>
86
+ <tbody>
87
+ <tr>
88
+ <td align="center" valign="top" width="14.28%"><a href="https://overtag.dk/"><img src="https://avatars.githubusercontent.com/u/374612?v=4?s=100" width="100px;" alt="Benjamin Balder Bach"/><br /><sub><b>Benjamin Balder Bach</b></sub></a><br /><a href="https://github.com/slhck/ffmpeg-normalize/commits?author=benjaoming" title="Code">πŸ’»</a></td>
89
+ <td align="center" valign="top" width="14.28%"><a href="https://chaos.social/@eleni"><img src="https://avatars.githubusercontent.com/u/511547?v=4?s=100" width="100px;" alt="Eleni Lixourioti"/><br /><sub><b>Eleni Lixourioti</b></sub></a><br /><a href="https://github.com/slhck/ffmpeg-normalize/commits?author=Geekfish" title="Code">πŸ’»</a></td>
90
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/thenewguy"><img src="https://avatars.githubusercontent.com/u/77731?v=4?s=100" width="100px;" alt="thenewguy"/><br /><sub><b>thenewguy</b></sub></a><br /><a href="https://github.com/slhck/ffmpeg-normalize/commits?author=thenewguy" title="Code">πŸ’»</a></td>
91
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/aviolo"><img src="https://avatars.githubusercontent.com/u/560229?v=4?s=100" width="100px;" alt="Anthony Violo"/><br /><sub><b>Anthony Violo</b></sub></a><br /><a href="https://github.com/slhck/ffmpeg-normalize/commits?author=aviolo" title="Code">πŸ’»</a></td>
92
+ <td align="center" valign="top" width="14.28%"><a href="https://jacobs.af/"><img src="https://avatars.githubusercontent.com/u/952830?v=4?s=100" width="100px;" alt="Eric Jacobs"/><br /><sub><b>Eric Jacobs</b></sub></a><br /><a href="https://github.com/slhck/ffmpeg-normalize/commits?author=jetpks" title="Code">πŸ’»</a></td>
93
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/kostalski"><img src="https://avatars.githubusercontent.com/u/34033008?v=4?s=100" width="100px;" alt="kostalski"/><br /><sub><b>kostalski</b></sub></a><br /><a href="https://github.com/slhck/ffmpeg-normalize/commits?author=kostalski" title="Code">πŸ’»</a></td>
94
+ <td align="center" valign="top" width="14.28%"><a href="http://justinppearson.com/"><img src="https://avatars.githubusercontent.com/u/8844823?v=4?s=100" width="100px;" alt="Justin Pearson"/><br /><sub><b>Justin Pearson</b></sub></a><br /><a href="https://github.com/slhck/ffmpeg-normalize/commits?author=justinpearson" title="Code">πŸ’»</a></td>
95
+ </tr>
96
+ <tr>
97
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/Nottt"><img src="https://avatars.githubusercontent.com/u/13532436?v=4?s=100" width="100px;" alt="ad90xa0-aa"/><br /><sub><b>ad90xa0-aa</b></sub></a><br /><a href="https://github.com/slhck/ffmpeg-normalize/commits?author=Nottt" title="Code">πŸ’»</a></td>
98
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/Mathijsz"><img src="https://avatars.githubusercontent.com/u/1891187?v=4?s=100" width="100px;" alt="Mathijs"/><br /><sub><b>Mathijs</b></sub></a><br /><a href="https://github.com/slhck/ffmpeg-normalize/commits?author=Mathijsz" title="Code">πŸ’»</a></td>
99
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/mpuels"><img src="https://avatars.githubusercontent.com/u/2924816?v=4?s=100" width="100px;" alt="Marc PΓΌls"/><br /><sub><b>Marc PΓΌls</b></sub></a><br /><a href="https://github.com/slhck/ffmpeg-normalize/commits?author=mpuels" title="Code">πŸ’»</a></td>
100
+ <td align="center" valign="top" width="14.28%"><a href="http://www.mvbattista.com/"><img src="https://avatars.githubusercontent.com/u/158287?v=4?s=100" width="100px;" alt="Michael V. Battista"/><br /><sub><b>Michael V. Battista</b></sub></a><br /><a href="https://github.com/slhck/ffmpeg-normalize/commits?author=mvbattista" title="Code">πŸ’»</a></td>
101
+ <td align="center" valign="top" width="14.28%"><a href="http://auto-editor.com"><img src="https://avatars.githubusercontent.com/u/57511737?v=4?s=100" width="100px;" alt="WyattBlue"/><br /><sub><b>WyattBlue</b></sub></a><br /><a href="https://github.com/slhck/ffmpeg-normalize/commits?author=WyattBlue" title="Code">πŸ’»</a></td>
102
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/g3n35i5"><img src="https://avatars.githubusercontent.com/u/17593457?v=4?s=100" width="100px;" alt="Jan-Frederik Schmidt"/><br /><sub><b>Jan-Frederik Schmidt</b></sub></a><br /><a href="https://github.com/slhck/ffmpeg-normalize/commits?author=g3n35i5" title="Code">πŸ’»</a></td>
103
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/mjhalwa"><img src="https://avatars.githubusercontent.com/u/8994014?v=4?s=100" width="100px;" alt="mjhalwa"/><br /><sub><b>mjhalwa</b></sub></a><br /><a href="https://github.com/slhck/ffmpeg-normalize/commits?author=mjhalwa" title="Code">πŸ’»</a></td>
104
+ </tr>
105
+ <tr>
106
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/07416"><img src="https://avatars.githubusercontent.com/u/14923168?v=4?s=100" width="100px;" alt="07416"/><br /><sub><b>07416</b></sub></a><br /><a href="https://github.com/slhck/ffmpeg-normalize/commits?author=07416" title="Documentation">πŸ“–</a></td>
107
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/sian1468"><img src="https://avatars.githubusercontent.com/u/58017832?v=4?s=100" width="100px;" alt="sian1468"/><br /><sub><b>sian1468</b></sub></a><br /><a href="https://github.com/slhck/ffmpeg-normalize/commits?author=sian1468" title="Tests">⚠️</a></td>
108
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/psavva"><img src="https://avatars.githubusercontent.com/u/1454758?v=4?s=100" width="100px;" alt="Panayiotis Savva"/><br /><sub><b>Panayiotis Savva</b></sub></a><br /><a href="https://github.com/slhck/ffmpeg-normalize/commits?author=psavva" title="Code">πŸ’»</a></td>
109
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/HighMans"><img src="https://avatars.githubusercontent.com/u/42877729?v=4?s=100" width="100px;" alt="HighMans"/><br /><sub><b>HighMans</b></sub></a><br /><a href="https://github.com/slhck/ffmpeg-normalize/commits?author=HighMans" title="Code">πŸ’»</a></td>
110
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/kanjieater"><img src="https://avatars.githubusercontent.com/u/32607317?v=4?s=100" width="100px;" alt="kanjieater"/><br /><sub><b>kanjieater</b></sub></a><br /><a href="#ideas-kanjieater" title="Ideas, Planning, & Feedback">πŸ€”</a></td>
111
+ <td align="center" valign="top" width="14.28%"><a href="https://ahmetsait.com/"><img src="https://avatars.githubusercontent.com/u/8372246?v=4?s=100" width="100px;" alt="Ahmet Sait"/><br /><sub><b>Ahmet Sait</b></sub></a><br /><a href="https://github.com/slhck/ffmpeg-normalize/commits?author=ahmetsait" title="Code">πŸ’»</a></td>
112
+ </tr>
113
+ </tbody>
114
+ <tfoot>
115
+ <tr>
116
+ <td align="center" size="13px" colspan="7">
117
+ <img src="https://raw.githubusercontent.com/all-contributors/all-contributors-cli/1b8533af435da9854653492b1327a23a4dbd0a10/assets/logo-small.svg">
118
+ <a href="https://all-contributors.js.org/docs/en/bot/usage">Add your contributions</a>
119
+ </img>
120
+ </td>
121
+ </tr>
122
+ </tfoot>
123
+ </table>
124
+
125
+ <!-- markdownlint-restore -->
126
+ <!-- prettier-ignore-end -->
127
+
128
+ <!-- ALL-CONTRIBUTORS-LIST:END -->
129
+
130
+
131
+ # Changelog
132
+
133
+
134
+ ## v1.32.5 (2025-06-22)
135
+
136
+ * Fix classifier.
137
+
138
+ * Update ffmpeg-progress-yield to clean up properly.
139
+
140
+ * Changed license specifier.
141
+
142
+ * Removed wheel settings from setup.cfg.
143
+
144
+
145
+ ## v1.32.4 (2025-06-08)
146
+
147
+ * Update api docs.
148
+
149
+ * Update docs.
150
+
151
+ * Make --dynamic option use one pass only, fixes #263.
152
+
153
+ * Fix type error.
154
+
155
+
156
+ ## v1.32.3 (2025-05-30)
157
+
158
+ * Fix temp dir cleanup, fixes #284.
159
+
160
+
161
+ ## v1.32.2 (2025-05-08)
162
+
163
+ * Docs: reference changelog.
164
+
165
+ * Fix: make replaygain use second pass stats.
166
+
167
+
168
+ ## v1.32.1 (2025-05-08)
169
+
170
+ * Fix missing mutagen requirement, fixes #283.
171
+
172
+ * Docs: docs.
173
+
174
+
175
+ ## v1.32.0 (2025-05-07)
176
+
177
+ * Docs: update contributing guide.
178
+
179
+ * Docs: convert options to headlines.
180
+
181
+ * Docs: update ffmpeg guide.
182
+
183
+ * Fix: do not write replaygain tags if dry run is used.
184
+
185
+ * Fix: flake8 no longer used.
186
+
187
+ * Fix docs links.
188
+
189
+ * Add mkdocs documentation.
190
+
191
+ * Update python in dockerfile.
192
+
193
+ * Remove years from copyright.
194
+
195
+ * Dev stuff.
196
+
197
+ * Add replaygain support.
198
+
199
+
200
+ ## v1.31.3 (2025-04-14)
201
+
202
+ * Swap NUL to os.devnull.
203
+
204
+
205
+ ## v1.31.2 (2025-03-19)
206
+
207
+ * Fix: special handling of /dev/null.
208
+
209
+
210
+ ## v1.31.1 (2025-02-19)
211
+
212
+ * Fix bitrate setting for libvorbis, fixes #277.
213
+
214
+ * Update issue templates.
215
+
216
+ * Prevent blank issues.
217
+
218
+
219
+ ## v1.31.0 (2024-12-15)
220
+
221
+ * Update docs and completions.
222
+
223
+ * Implement `--auto-lower-loudness-target`
224
+
225
+ * Fix deprecations and mypy --strict errors.
226
+
227
+ * Feat: add completions.
228
+
229
+ * Docs: update explainer.
230
+
231
+ * Docs: update docs to include lower-only.
232
+
233
+
234
+ ## v1.30.0 (2024-11-22)
235
+
236
+ * Change lower-only message to warning.
237
+
238
+ * Make setup name PEP 625 compliant.
239
+
240
+ * Docs: add @ahmetsait as a contributor.
241
+
242
+ * Implement `--lower-only`
243
+
244
+ * Fix: `--print-stats` only outputs the last stream.
245
+
246
+ * More robust `loudnorm` output parsing.
247
+
248
+ * Remove unnecessary conversions.
249
+
250
+ * Update .editorconfig.
251
+
252
+ * Remove python 3.8, add python 3.12, 3.13.
253
+
254
+ * Add README on file size.
255
+
256
+
257
+ ## v1.29.2 (2024-11-18)
258
+
259
+ * Fix: show percentage with two decimal digits in progress.
260
+
261
+ * Chore: add python 12.
262
+
263
+
264
+ ## v1.29.1 (2024-10-22)
265
+
266
+ * Fix: override argparse usage.
267
+
268
+
269
+ ## v1.29.0 (2024-10-14)
270
+
271
+ * Add option to set audio channels directly.
272
+
273
+
274
+ ## v1.28.3 (2024-08-16)
275
+
276
+ * Make colorama dependency windows-only.
277
+
278
+ * Update.
279
+
280
+ * Update badges.
281
+
282
+ * Docs: add @kanjieater as a contributor.
283
+
284
+
285
+ ## v1.28.2 (2024-06-22)
286
+
287
+ * Provide an entrypoint for the Docker image.
288
+
289
+ * Add docker push (#261)
290
+
291
+
292
+ ## v1.28.1 (2024-05-15)
293
+
294
+ * Fix assignment of audio statistics, fixes #257.
295
+
296
+
297
+ ## v1.28.0 (2024-05-13)
298
+
299
+ * Warn if dynamic mode is used but linear specified (#256)
300
+
301
+ * Print debug commands in shell-escaped form.
302
+
303
+
304
+ ## v1.27.7 (2023-09-26)
305
+
306
+ * Allow cover art in MP3.
307
+
308
+
309
+ ## v1.27.6 (2023-07-22)
310
+
311
+ * Remove warning for short files (#87)
312
+
313
+
314
+ ## v1.27.5 (2023-07-12)
315
+
316
+ * Building on Windows failed due to character conversion (#244)
317
+
318
+
319
+ ## v1.27.4 (2023-06-29)
320
+
321
+ * Docs: add HighMans as a contributor for code (#242)
322
+
323
+ * docs: update README.md
324
+
325
+ * docs: update .all-contributorsrc
326
+
327
+ ---------
328
+
329
+ * Properly handle non-existing input files and skipping.
330
+
331
+ * Fix: Dockerfile used wrong path.
332
+
333
+ * Use `https` rather than `http` (#238)
334
+
335
+ * Docs: add psavva as a contributor for code (#236)
336
+
337
+ * docs: update README.md
338
+
339
+ * docs: update .all-contributorsrc
340
+
341
+ ---------
342
+
343
+ * Add Docker support (#235)
344
+
345
+ * Docs: add @sian1468 as a contributor.
346
+
347
+ * Round percentage in test (#234)
348
+
349
+
350
+ ## v1.27.3 (2023-05-06)
351
+
352
+ * Bump ffmpeg-progress-yield, round percentage output.
353
+
354
+ * Fix test for progress.
355
+
356
+ seems flaky, worked locally?
357
+
358
+
359
+ ## v1.27.2 (2023-05-05)
360
+
361
+ * Bump ffmpeg-progress-yield, output progress in percent.
362
+
363
+ * Docs: add @07416 as a contributor.
364
+
365
+ * A typo in README (#231)
366
+
367
+
368
+ ## v1.27.1 (2023-04-25)
369
+
370
+ * Fix capping to [1, 50] instead of [1, 7] (#230)
371
+
372
+ * Clarify usage, output/input order.
373
+
374
+ * Add note on ffmpeg 6.0.
375
+
376
+ * Docs: add @mjhalwa as a contributor.
377
+
378
+
379
+ ## v1.27.0 (2023-04-24)
380
+
381
+ * Constrain input LRA for second pass, addresses #227.
382
+
383
+ * Feat: add linear loudnorm option to set lra up to target, then keep input lra.
384
+
385
+ * Update question template.
386
+
387
+
388
+ ## v1.26.6 (2023-03-16)
389
+
390
+ * Production status stable.
391
+
392
+ * Make install_requires more abstract.
393
+
394
+
395
+ ## v1.26.5 (2023-03-15)
396
+
397
+ * Add "-hide_banner" remove "-nostdin" (#222)
398
+
399
+ The `-nostdin` option is unnessary because of the `-y` option.
400
+ Adding `-hide_banner` makes DEBUG statements shorter.
401
+
402
+ * Homebrew works on linux too.
403
+
404
+ * Explain ffmpeg installation steps.
405
+
406
+
407
+ ## v1.26.4 (2023-02-08)
408
+
409
+ * Re-add requirements.txt to (maybe) fix conda-forge builds.
410
+
411
+
412
+ ## v1.26.3 (2023-02-08)
413
+
414
+ * Fix requirements (#218)
415
+
416
+ * Improve types.
417
+
418
+ * Docs: add @g3n35i5 as a contributor.
419
+
420
+
421
+ ## v1.26.2 (2023-02-06)
422
+
423
+ * Add ignore-revs file.
424
+
425
+ * Formatting and import sorting.
426
+
427
+ * Refactor: Improved logging behavior (#216)
428
+
429
+ * Add "apt update" (#215)
430
+
431
+ * Remove stalebot.
432
+
433
+ * Update README.
434
+
435
+ * Move to_ms and make CommandRunner more ergonomic (#212)
436
+
437
+ * Upgrade workflow, get ffmpeg from apt (#213)
438
+
439
+ * Turn FFmpegNormalizeError into a normal Exception (#211)
440
+
441
+ * Remove manifest.in (#210)
442
+
443
+ * Simplify logging (#209)
444
+
445
+ * Use pep585 type hints (#207)
446
+
447
+ * Don't use tempfile's private module function (#206)
448
+
449
+ * Fix smaller type errors.
450
+
451
+ * Reduce mypy errors 12 -> 4 (#204)
452
+
453
+ * Make input validation more efficient.
454
+
455
+ Make input validation more efficient
456
+
457
+ Re-separate formats and exts
458
+
459
+
460
+ ## v1.26.1 (2022-12-18)
461
+
462
+ * Bump requirements.
463
+
464
+ * Add py.typed support.
465
+
466
+ * General refactoring + type hints (#202)
467
+
468
+ * Re-write to f-strings when possible (#201)
469
+
470
+ * Remove unnecessary utf-8 declarations (#200)
471
+
472
+ "-*- coding: utf-8 -*-" is a Python 2 construct and can be safely
473
+ removed. Other utf-8 declarations are also unnecessary.
474
+
475
+
476
+ ## v1.26.0 (2022-12-14)
477
+
478
+ * Add .editorconfig.
479
+
480
+ * Link to API docs.
481
+
482
+ * Add docs.
483
+
484
+ * Add type hints, document everything, refactor some code.
485
+
486
+ * Add more audio formats (#199)
487
+
488
+ * Add python 3.11 to CI.
489
+
490
+ * Docs: add WyattBlue as a contributor for code (#198)
491
+
492
+ * docs: update README.md
493
+
494
+ * docs: update .all-contributorsrc
495
+
496
+ * Upgrade to Python 3.8 syntax (#197)
497
+
498
+ * Fix python version in github tests.
499
+
500
+ * Bump requirements to latest versions.
501
+
502
+ * Add python 3.11 to list of languages.
503
+
504
+ * Bump required python version to 3.8.
505
+
506
+ * Various minor code cleanups and type hints.
507
+
508
+ * Harmonize logger code.
509
+
510
+ * Update python version in tests.
511
+
512
+ * Docs: add @mvbattista as a contributor.
513
+
514
+ * Docs: add @mpuels as a contributor.
515
+
516
+ * Docs: add @Mathijsz as a contributor.
517
+
518
+ * Docs: add @Nottt as a contributor.
519
+
520
+ * Docs: add @justinpearson as a contributor.
521
+
522
+ * Docs: add @kostalski as a contributor.
523
+
524
+ * Docs: add @jetpks as a contributor.
525
+
526
+ * Docs: add @aviolo as a contributor.
527
+
528
+ * Docs: add @thenewguy as a contributor.
529
+
530
+ * Docs: add @Geekfish as a contributor.
531
+
532
+ * Docs: add @benjaoming as a contributor.
533
+
534
+ * Reference speechnorm.
535
+
536
+
537
+ ## v1.25.3 (2022-11-09)
538
+
539
+ * Update README.
540
+
541
+ * Update list of pcm-incompatible extensions.
542
+
543
+
544
+ ## v1.25.2 (2022-09-14)
545
+
546
+ * Constrain parsed ranges to avoid out of bounds, fixes #189.
547
+
548
+ * Fix readme for extra-input-options.
549
+
550
+ * Warn about dynamic mode only if not already set, fixes #187.
551
+
552
+
553
+ ## v1.25.1 (2022-08-21)
554
+
555
+ * Add warning in case user specifies both --lrt and --keep-loudness-range-target.
556
+
557
+
558
+ ## v1.25.0 (2022-08-20)
559
+
560
+ * Add option to keep loudness range target, fixes #181.
561
+
562
+ * Only show warning about disabling video if not yet disabled, addresses #184.
563
+
564
+
565
+ ## v1.24.1 (2022-08-20)
566
+
567
+ * Code formatting.
568
+
569
+ * Extend warning for audio-only format to opus, fixes #184.
570
+
571
+
572
+ ## v1.24.0 (2022-08-02)
573
+
574
+ * Update python requirements.
575
+
576
+ * Prevent race condition in output dir creation.
577
+
578
+
579
+ ## v1.23.1 (2022-07-12)
580
+
581
+ * Increase possible loudness range target to 50.
582
+
583
+
584
+ ## v1.23.0 (2022-05-01)
585
+
586
+ * Add way to force dynamic mode, clarify usage, fixes #176.
587
+
588
+
589
+ ## v1.22.10 (2022-04-25)
590
+
591
+ * Add warning for cover art, addresses #174 and #175.
592
+
593
+ * Update README.
594
+
595
+
596
+ ## v1.22.9 (2022-04-17)
597
+
598
+ * Improve issue templates.
599
+
600
+ * Do not print ffmpeg progress in debug logs.
601
+
602
+ * Remove unused import.
603
+
604
+ * Replace which() function with shlex version.
605
+
606
+ * Add python 3.10 in setup.py.
607
+
608
+ * Clarify minimum ffmpeg version.
609
+
610
+
611
+ ## v1.22.8 (2022-03-07)
612
+
613
+ * Properly detect -inf dB input.
614
+
615
+
616
+ ## v1.22.7 (2022-02-25)
617
+
618
+ * Debug command output for ffmpeg commands.
619
+
620
+ * Remove unneeded warning message.
621
+
622
+
623
+ ## v1.22.6 (2022-02-20)
624
+
625
+ * Use astats instead of volumedetect filter, fixes #163.
626
+
627
+ Allows floating point calculation.
628
+
629
+
630
+ ## v1.22.5 (2022-01-25)
631
+
632
+ * Print warning for bit depths > 16, addresses #163.
633
+
634
+
635
+ ## v1.22.4 (2021-10-18)
636
+
637
+ * Re-raise error on ffmpeg command failure.
638
+
639
+ This prevents incorrectly telling the user that a normalized file was written when it wasn't.
640
+
641
+
642
+ ## v1.22.3 (2021-08-31)
643
+
644
+ * Set tqdm lock for logging only when multiprocessing is available.
645
+
646
+ Multiprocessing is not available in all environments, for example
647
+ on AWS lambda python run time lacks /dev/shm, so trying to acquire
648
+ a multiprocessing Lock throws an OSError. The module could also be
649
+ missing in some cases (ex. Jython, although this library doesn't support
650
+ Jython anyway).
651
+
652
+ The solution to this is to only try to set the lock when multiprocessing
653
+ is available. The tqdm library solves this in the same manner.
654
+
655
+ For more details: https://github.com/slhck/ffmpeg-normalize/issues/156
656
+
657
+ * Add instructions on how to run tests.
658
+
659
+
660
+ ## v1.22.2 (2021-08-14)
661
+
662
+ * Bump requirements, should fix #155.
663
+
664
+ * Move all examples to Wiki.
665
+
666
+ * Update badge link.
667
+
668
+
669
+ ## v1.22.1 (2021-03-10)
670
+
671
+ * Add python_requires to setup.py.
672
+
673
+
674
+ ## v1.22.0 (2021-03-09)
675
+
676
+ * Improve README.
677
+
678
+ * Add GitHub actions badge.
679
+
680
+ * Add GitHub actions tests.
681
+
682
+ * Properly convert EBU JSON values to float.
683
+
684
+ * Switch to f strings, remove Python 3.5 support.
685
+
686
+ * Format code with black.
687
+
688
+ * Fix flake8 errors.
689
+
690
+ * Factor out method.
691
+
692
+ * WIP: new tests.
693
+
694
+ * Log to stderr by default to enable JSON parsing.
695
+
696
+ * Remove release script.
697
+
698
+
699
+ ## v1.21.2 (2021-03-06)
700
+
701
+ * Format setup.py.
702
+
703
+ * Switch progress to external lib.
704
+
705
+ * Remove support for older versions.
706
+
707
+
708
+ ## v1.21.1 (2021-03-05)
709
+
710
+ * Adjusted handling of FFMPEG_PATH for binaries available via $PATH (#149)
711
+
712
+ * adjusted handling of FFMPEG_PATH for binaries available via $PATH
713
+
714
+ fixes #147
715
+
716
+ * adjusted use of %s to {} to match style
717
+
718
+ * documented the feature
719
+
720
+ * condensed error message as other lines are longer
721
+
722
+
723
+ ## v1.21.0 (2021-02-27)
724
+
725
+ * Fix JSON output for multiple files.
726
+
727
+ * Update badge URL.
728
+
729
+ * Update README.md (#142)
730
+
731
+ * Update README.md
732
+
733
+ Added example of verifying levels
734
+
735
+ Fixes #141
736
+
737
+ * shorten example, add link to wiki page
738
+
739
+ * Error if no ffmpeg exec exists.
740
+
741
+ * Add stalebot.
742
+
743
+
744
+ ## v1.20.2 (2020-11-06)
745
+
746
+ * Fixing stdin corruption caused by new subprocess (#138)
747
+
748
+ * Update issue template.
749
+
750
+ * Create FUNDING.yml.
751
+
752
+ * Fix usage, addresses #132.
753
+
754
+
755
+ ## v1.20.1 (2020-07-22)
756
+
757
+ * Manually specify usage string, fixes #132.
758
+
759
+ * Fix local import for tests.
760
+
761
+
762
+ ## v1.20.0 (2020-07-04)
763
+
764
+ * Add extra input options.
765
+
766
+
767
+ ## v1.19.1 (2020-06-25)
768
+
769
+ * Add colorama to requirements, fixes #131.
770
+
771
+ * Fix warning that is printed with default options.
772
+
773
+
774
+ ## v1.19.0 (2020-05-02)
775
+
776
+ * Fix issue with output folder, fixes #126.
777
+
778
+ * Fix typo in README's table of contents link to "File Input/Output". (#124)
779
+
780
+ * Clarify readme, fixes #122.
781
+
782
+
783
+ ## v1.18.2 (2020-04-19)
784
+
785
+ * Add warning for automatic sample rate conversion, addresses #122.
786
+
787
+ * Ignore vscode folder.
788
+
789
+ * Fix printing of errors in conversion.
790
+
791
+
792
+ ## v1.18.1 (2020-04-16)
793
+
794
+ * Fix unit tests.
795
+
796
+ * Improve handling of output file folder and errors.
797
+
798
+ * Clarify usage of output options, add warning.
799
+
800
+ * Improve documentation, fixes #120.
801
+
802
+ * Do not include bump messages in changelog.
803
+
804
+
805
+ ## v1.18.0 (2020-04-13)
806
+
807
+ * Use measured offset in second pass, fixes #119.
808
+
809
+ * Update release instructions.
810
+
811
+ * Remove author names from changelog.
812
+
813
+
814
+ ## v1.17.0 (2020-04-10)
815
+
816
+ * Update release script and changelog template.
817
+
818
+ * Apply pre-filters in all first passes, fixes #118.
819
+
820
+ This allows properly reading the level for any kind of normalization, even if
821
+ filters affect the loudness in the first pass.
822
+
823
+
824
+ ## v1.16.0 (2020-04-07)
825
+
826
+ * Add all commits to changelog.
827
+
828
+ * Remove python 2 support.
829
+
830
+ * Add quiet option, fixes #116.
831
+
832
+ - Add a new quiet option
833
+ - Promote some warnings to actual errors that need to be shown
834
+ - Add a very basic test case
835
+
836
+
837
+ ## v1.15.8 (2020-03-15)
838
+
839
+ * Improve release script.
840
+
841
+ * Python 3.8.
842
+
843
+
844
+ ## v1.15.7 (2020-03-14)
845
+
846
+ * Only print length warning for non-EBU type normalization.
847
+
848
+
849
+ ## v1.15.6 (2019-12-04)
850
+
851
+ * Remove build and dist folder on release.
852
+
853
+ * Do not exit on error in batch processing.
854
+
855
+ Simply process the next file if one has errors, addresses #110.
856
+
857
+
858
+ ## v1.15.5 (2019-11-19)
859
+
860
+ * Use minimal dependency for tqdm.
861
+
862
+ * Remove specific python version requirement.
863
+
864
+
865
+ ## v1.15.4 (2019-11-19)
866
+
867
+ * Freeze tqdm version.
868
+
869
+ * Update python to 3.7.
870
+
871
+ * Improve release documentation.
872
+
873
+
874
+ ## v1.15.3 (2019-10-15)
875
+
876
+ * Do not print stream warning when there is only one stream.
877
+
878
+ * Remove previous dist versions before release.
879
+
880
+
881
+ ## v1.15.2 (2019-07-12)
882
+
883
+ * Warn when duration cannot be read, fixes #105.
884
+
885
+ * Update README.
886
+
887
+ minor improvements in the description
888
+
889
+
890
+ ## v1.15.1 (2019-06-17)
891
+
892
+ * Add output to unit test failures.
893
+
894
+ * Fix input label for audio stream.
895
+
896
+
897
+ ## v1.15.0 (2019-06-17)
898
+
899
+ * Add pre-and post-filter hooks, fixes #67.
900
+
901
+ This allows users to specify filters to be run before or after the actual
902
+ normalization call, using regular ffmpeg syntax.
903
+ Only applies to audio.
904
+
905
+ * Document audiostream class.
906
+
907
+ * Warn when file is too short, fixes #87.
908
+
909
+ * Update release method to twine.
910
+
911
+
912
+ ## v1.14.1 (2019-06-14)
913
+
914
+ * Handle progress output from ffmpeg, fixes #10.
915
+
916
+ * Merge pull request #99 from Nottt/patch-1.
917
+
918
+ fix -cn description
919
+
920
+ * Fix -cn description.
921
+
922
+ * Add nicer headers for options in README.
923
+
924
+
925
+ ## v1.14.0 (2019-04-24)
926
+
927
+ * Add version file in release script before committing.
928
+
929
+ * Add option to keep original audio, fixes #83.
930
+
931
+ * Add pypi badge.
932
+
933
+ * Allow release script to add changelog for future version; upload to pypi.
934
+
935
+
936
+ ## v1.13.11 (2019-04-16)
937
+
938
+ * Add release script.
939
+
940
+ * Add small developer guide on releasing.
941
+
942
+ * Move HISTORY.md to CHANGELOG.md.
943
+
944
+ * Fix ffmpeg static build download location.
945
+
946
+
947
+ ## v1.3.10 (2019-02-22)
948
+
949
+ * Bump version.
950
+
951
+ * Cap measured input loudness, fixes #92.
952
+
953
+
954
+ ## v1.3.9 (2019-01-10)
955
+
956
+ * Bump version.
957
+
958
+ * Fix handling of errors with tqdm.
959
+
960
+ * Improve readme.
961
+
962
+ * Delete issue template.
963
+
964
+ * Bump version.
965
+
966
+ * Clarify extra argument options, move to main entry point.
967
+
968
+ * Update issue templates.
969
+
970
+
971
+ ## v1.3.8 (2018-11-28)
972
+
973
+ * Bump version.
974
+
975
+ * Clarify extra argument options, move to main entry point.
976
+
977
+
978
+ ## v1.3.7 (2018-10-28)
979
+
980
+ * Bump version.
981
+
982
+ * Copy metadata from individual streams, fixes #86.
983
+
984
+ * Add python version for pyenv.
985
+
986
+
987
+ ## v1.3.6 (2018-07-09)
988
+
989
+ * Bump version.
990
+
991
+ * Update README, fixes #79 and addresses #80.
992
+
993
+
994
+ ## v1.3.5 (2018-06-12)
995
+
996
+ * Bump version.
997
+
998
+ * Minor README updates.
999
+
1000
+ * Fix documentation of TMPDIR parameter.
1001
+
1002
+
1003
+ ## v1.3.4 (2018-05-05)
1004
+
1005
+ * Bump version.
1006
+
1007
+ * New way to specify extra options.
1008
+
1009
+
1010
+ ## v1.3.3 (2018-05-05)
1011
+
1012
+ * Update README.
1013
+
1014
+ * Decode strings in extra options.
1015
+
1016
+
1017
+ ## v1.3.2 (2018-04-25)
1018
+
1019
+ * Bump version.
1020
+
1021
+ * Merge pull request #69 from UbiCastTeam/master.
1022
+
1023
+ Stderror decoding ignoring utf8 encoding errors
1024
+
1025
+ * Stderror decoding ignoring utf8 encoding errors.
1026
+
1027
+
1028
+ ## v1.3.1 (2018-04-24)
1029
+
1030
+ * Bump version.
1031
+
1032
+ * Do not require main module in setup.py, fixes #68.
1033
+
1034
+
1035
+ ## v1.3.0 (2018-04-15)
1036
+
1037
+ * Bump version.
1038
+
1039
+ * Remove dead code.
1040
+
1041
+ * Fix for python2 division.
1042
+
1043
+ * Update documentation.
1044
+
1045
+ * Progress bar.
1046
+
1047
+ * Remove imports from test file.
1048
+
1049
+ * Fix travis file.
1050
+
1051
+ * WIP: progress bar.
1052
+
1053
+ * Minor typo in option group.
1054
+
1055
+ * Add simple unit test for disabling chapters.
1056
+
1057
+
1058
+ ## v1.2.3 (2018-04-11)
1059
+
1060
+ * Fix unit test.
1061
+
1062
+ * Bump version.
1063
+
1064
+ * Add option to disable chapters, fixes #65, also fix issue with metadata.
1065
+
1066
+
1067
+ ## v1.2.2 (2018-04-10)
1068
+
1069
+ * Bump version.
1070
+
1071
+ * Set default loudness target to -23, fixes #48.
1072
+
1073
+
1074
+ ## v1.2.1 (2018-04-04)
1075
+
1076
+ * Bump version.
1077
+
1078
+ * Merge pull request #64 from UbiCastTeam/encoding-issue.
1079
+
1080
+ Stdout and stderror decoding ignoring utf8 encoding errors
1081
+
1082
+ * Stdout and stderror decoding ignoring utf8 encoding errors.
1083
+
1084
+
1085
+ ## v1.2.0 (2018-03-22)
1086
+
1087
+ * Bump version.
1088
+
1089
+ * Add errors for impossible format combinations, fixes #60.
1090
+
1091
+ * Fix ordering of output maps, fixes #63.
1092
+
1093
+ * Improve documentation.
1094
+
1095
+
1096
+ ## v1.1.0 (2018-03-06)
1097
+
1098
+ * Add option to print first pass statistics.
1099
+
1100
+
1101
+ ## v1.0.10 (2018-03-04)
1102
+
1103
+ * Bump version.
1104
+
1105
+ * Restrict parsing to valid JSON part only, fixes #61.
1106
+
1107
+ * Add an example for MP3 encoding.
1108
+
1109
+ * Update paypal link.
1110
+
1111
+
1112
+ ## v1.0.9 (2018-02-08)
1113
+
1114
+ * Bump version.
1115
+
1116
+ * Add normalized folder to gitignore.
1117
+
1118
+ * Do not print escape sequences on Windows.
1119
+
1120
+ * Do not check for file existence, fixes #57.
1121
+
1122
+ * Add github issue template.
1123
+
1124
+
1125
+ ## v1.0.8 (2018-02-01)
1126
+
1127
+ * Bump version.
1128
+
1129
+ * Do not check for ffmpeg upon module import.
1130
+
1131
+
1132
+ ## v1.0.7 (2018-02-01)
1133
+
1134
+ * Bump version.
1135
+
1136
+ * Rename function test.
1137
+
1138
+ * Fix issue with wrong adjustment parameters, fixes #54.
1139
+
1140
+
1141
+ ## v1.0.6 (2018-01-30)
1142
+
1143
+ * Allow setting FFMPEG_PATH and document TMP.
1144
+
1145
+
1146
+ ## v1.0.5 (2018-01-26)
1147
+
1148
+ * Handle edge case for short input clips.
1149
+
1150
+
1151
+ ## v1.0.4 (2018-01-26)
1152
+
1153
+ * Bump version.
1154
+
1155
+ * Do not try to remove nonexisting file in case of error in command.
1156
+
1157
+
1158
+ ## v1.0.3 (2018-01-26)
1159
+
1160
+ * Bump version.
1161
+
1162
+ * Always streamcopy when detecting streams to avoid initializing encoder.
1163
+
1164
+ * Fix handling of temporary file.
1165
+
1166
+ * Add build status.
1167
+
1168
+ * Travis tests.
1169
+
1170
+
1171
+ ## v1.0.2 (2018-01-25)
1172
+
1173
+ * Fix bug with target level for peak/RMS.
1174
+
1175
+ * Update documentation formatting.
1176
+
1177
+ * Update history.
1178
+
1179
+
1180
+ ## v1.0.1 (2018-01-24)
1181
+
1182
+ * Bump version.
1183
+
1184
+ * Set default target to -23.
1185
+
1186
+
1187
+ ## v1.0.0 (2018-01-23)
1188
+
1189
+ * Add version info and test case for dry run.
1190
+
1191
+ * New feature detection, add documentation, contributors guide etc.
1192
+
1193
+ * WIP: v1.0 rewrite.
1194
+
1195
+
1196
+ ## v0.7.3 (2017-10-09)
1197
+
1198
+ * Use shutil.move instead of os.rename.
1199
+
1200
+
1201
+ ## v0.7.2 (2017-09-17)
1202
+
1203
+ * Allow setting threshold to 0.
1204
+
1205
+
1206
+ ## v0.7.1 (2017-09-14)
1207
+
1208
+ * Bump version.
1209
+
1210
+ * Update HISTORY.md.
1211
+
1212
+ * Merge pull request #37 from Mathijsz/fix-which-path-expansion.
1213
+
1214
+ expand tilde and environment variables, fixes #36
1215
+
1216
+ * Expand tilde and environment variables, fixes #36.
1217
+
1218
+ * Update HISTORY.md.
1219
+
1220
+ * Update README w.r.t. loudnorm filter.
1221
+
1222
+ * Update README and indentation.
1223
+
1224
+
1225
+ ## v0.7.0 (2017-08-02)
1226
+
1227
+ * Bump version.
1228
+
1229
+ * Fix handling of extra options with spaces.
1230
+
1231
+ * Include test script.
1232
+
1233
+ * Logging and other improvements.
1234
+
1235
+ * Add test files.
1236
+
1237
+ * Autopep8 that thing.
1238
+
1239
+ * Logger improvements.
1240
+
1241
+ * Add example for overwriting.
1242
+
1243
+
1244
+ ## v0.6.0 (2017-07-31)
1245
+
1246
+ * Allow overwriting input file, fixes #22.
1247
+
1248
+ * Version bump.
1249
+
1250
+ * Better handle cmd arguments.
1251
+
1252
+ * Update README.md.
1253
+
1254
+ add another example
1255
+
1256
+
1257
+ ## v0.5.1 (2017-04-04)
1258
+
1259
+ * Fix for problem introduced in 304e8df.
1260
+
1261
+
1262
+ ## v0.5 (2017-04-02)
1263
+
1264
+ * Fix pypi topics.
1265
+
1266
+ * Bump version and README.
1267
+
1268
+ * Fix issue where output was wrong format.
1269
+
1270
+ * Add EBU R128 filter.
1271
+
1272
+ * Use Markdown instead of RST for README/HISTORY.
1273
+
1274
+ * Define file encode for python3, fixes #24.
1275
+
1276
+ * Fix history.
1277
+
1278
+ * Fix option -np.
1279
+
1280
+ * Clarify merge option.
1281
+
1282
+ * Minor documentation improvements.
1283
+
1284
+ - change README from CRLF to LF
1285
+ - add "attenuated" in description
1286
+ - extend LICENSE year
1287
+ - add license to main README
1288
+
1289
+
1290
+ ## v0.4.1 (2017-02-13)
1291
+
1292
+ * Update for release.
1293
+
1294
+ * Merge pull request #21 from mpuels/patch-1.
1295
+
1296
+ Fix for #13
1297
+
1298
+ * Fix for #13.
1299
+
1300
+ * Mention Python 3.
1301
+
1302
+ mention that Python 3 may work, just didn't have time to test
1303
+
1304
+ * Fix README's code blocks.
1305
+
1306
+
1307
+ ## v0.4 (2017-01-24)
1308
+
1309
+ * Code cleanup, add option to set format and audio codec.
1310
+
1311
+
1312
+ ## v0.3 (2017-01-19)
1313
+
1314
+ * Add option for no prefix, fixes #20.
1315
+
1316
+ * Handle multiple spaces in path; fixes issue #18.
1317
+
1318
+ * Handle spaces in path, fixes #12.
1319
+
1320
+ * Update README.rst.
1321
+
1322
+ * Change default level back to -26.
1323
+
1324
+ * Typo in README example.
1325
+
1326
+ * Update documentation.
1327
+
1328
+ * Bump to v0.2.0.
1329
+
1330
+ * Support for multiple files and output directories.
1331
+ * Support merging of audio with input file
1332
+ * Set audio codec and additional options
1333
+ * User-definable threshold
1334
+ * Better error handling and logging
1335
+ * Deprecates avconv
1336
+
1337
+ * Change default level back to -28.
1338
+
1339
+ * Merge pull request #15 from auricgoldfinger/master.
1340
+
1341
+ Add extended normalisation options
1342
+
1343
+ * Add extended normalisation options.
1344
+
1345
+ - add program option to write output in a separate directory in stead of
1346
+ prefixing it
1347
+
1348
+ - add program option to merge the normalized audio in the original
1349
+ (video) file rather than creating a separate WAV file
1350
+
1351
+ - change the maximum setting: will now normalize so that max
1352
+ volume is set to 0, adjusted with the given level.
1353
+ e.g. : -m -l -5 will increase the audio level to max = -5.0dB
1354
+
1355
+ - improve verbose logging: number of files are written to the
1356
+ info log
1357
+
1358
+ - improve performance: check first whether the output file
1359
+ exists before calculating the volume levels + not modifying
1360
+ the file if the adjustment < 0.5dB (level is never exactly 0)
1361
+
1362
+ * Update README, fixes #11.
1363
+
1364
+
1365
+ ## v0.1.3 (2015-12-15)
1366
+
1367
+ * Check for Windows .exe, fixes #10.
1368
+
1369
+ * Check path and fix #9.
1370
+
1371
+ * Merge pull request #8 from benjaoming/master.
1372
+
1373
+ Add MANIFEST.in
1374
+
1375
+ * Bump version.
1376
+
1377
+ * Add manifest to include missing files in sdist.
1378
+
1379
+ * Merge pull request #6 from jetpks/master.
1380
+
1381
+ Fixed ffmpeg v2.6.3 compatibility and docopt config
1382
+
1383
+ * Updated to work with ffmpeg v2.6.3, and fixed broken docopt config.
1384
+
1385
+ ffmpeg update:
1386
+
1387
+ ffmpeg v2.6.3 puts mean_volume on stderr instead of stdout, causing
1388
+ `output` in `ffmpeg_get_mean` to be completely empty, and no match for
1389
+ mean_volume or max_volume to be found.
1390
+
1391
+ Fixed by adding `stderr=subprocess.PIPE` in both Popen calls in
1392
+ `run_command`, and combining stdout and stderr on return. We already
1393
+ exit with non-zero return, so combining stderr/stdout shouldn't cause
1394
+ any poor side-effects.
1395
+
1396
+ docopt config:
1397
+
1398
+ - args['--level'] was not recognizing its default because there was
1399
+ an errant comma between -l and --level, and it needed <level> after
1400
+ the arguments.
1401
+ - Fixed spacing for --max
1402
+ - Removed quotes around 'normalized' so single quote characters don't
1403
+ end up in the output file names.
1404
+
1405
+ * Removed Windows carraige returns from __main__.py.
1406
+
1407
+ * Merge pull request #5 from mvbattista/master.
1408
+
1409
+ Installation update to ffmpeg
1410
+
1411
+ * Installation update to ffmpeg.
1412
+
1413
+ * Update to ffmpeg.
1414
+
1415
+ * Update HISTORY.rst.
1416
+
1417
+ * Update to ffmpeg.
1418
+
1419
+ * Merge pull request #4 from benjaoming/rename.
1420
+
1421
+ Rename project
1422
+
1423
+ * Make at least one file mandatory.
1424
+
1425
+ * Rename project and remove pyc file.
1426
+
1427
+ * Merge pull request #2 from benjaoming/docopt-setuptools-avconv.
1428
+
1429
+ Docopt, Setuptools, avconv compatibility
1430
+
1431
+ * Use docopt.
1432
+
1433
+ * Use normalize-audio when using avconv because it doesn't have a way to measure volume.
1434
+
1435
+ * Functional setup.py, communicate with avconv/ffmpeg about overwriting.
1436
+
1437
+ * Also detect avconv.
1438
+
1439
+ * Use a main function instead.
1440
+
1441
+ * Add a history for the project.
1442
+
1443
+ * Move to more unique module name.
1444
+
1445
+ * Update README.rst.
1446
+
1447
+ * Change the README to rst (PyPi)
1448
+
1449
+ * Delete .gitignore.
1450
+
1451
+ * Update README.md.
1452
+
1453
+ * Various improvements, fixes #1.
1454
+
1455
+ * License.
1456
+
1457
+ * Livense.
1458
+
1459
+ * Update README.md.
1460
+
1461
+ * Merge branch 'master' of https://github.com/slhck/audio-normalize.
1462
+
1463
+ * Initial commit.
1464
+
1465
+ * Initial commit.
1466
+
1467
+