diff options
author | Vinicius Monego <monego@posteo.net> | 2023-09-30 03:08:23 +0000 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2023-10-30 11:17:42 +0000 |
commit | a0eb6652b3ce386a2d3cceda3dd3723afc87ac59 (patch) | |
tree | c52bbdc78fc8a1b69836855c8ba8bc1fdf685cab | |
parent | 0fcbca272122cca47f3cc6caff2bf1aa4d71118c (diff) | |
download | guix-a0eb6652b3ce386a2d3cceda3dd3723afc87ac59.tar.gz guix-a0eb6652b3ce386a2d3cceda3dd3723afc87ac59.zip |
gnu: Add ffmpeg-normalize.
* gnu/packages/video.scm (ffmpeg-normalize): New variable.
Signed-off-by: Christopher Baines <mail@cbaines.net>
-rw-r--r-- | gnu/packages/video.scm | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 420fc502bd..a6dfec06bf 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1973,6 +1973,48 @@ videoformats depend on the configuration flags of ffmpeg.") It is usually a complement to @code{ffmpeg-normalize}.") (license license:expat))) +(define-public ffmpeg-normalize + (package + (name "ffmpeg-normalize") + (version "1.27.7") + (source (origin + (method url-fetch) + (uri (pypi-uri "ffmpeg-normalize" version)) + (sha256 + (base32 + "0idqqgsr3p840vx2x3idn851qwghjdbm6v4yrq2kprppyfvglni7")))) + (build-system pyproject-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "python" "-m" "pytest" + "test/test.py")))) + (add-after 'wrap 'wrap-ffmpeg + ;; Wrap ffmpeg on the executable. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((ffn (search-input-file outputs + "bin/ffmpeg-normalize")) + (ffm (search-input-file inputs "bin/ffmpeg"))) + (wrap-program ffn + `("FFMPEG_PATH" = (,ffm))))))))) + (native-inputs (list python-pytest)) + (inputs (list bash-minimal ffmpeg)) + (propagated-inputs (list ffmpeg-progress-yield + python-colorama + python-colorlog + python-tqdm)) + (home-page "https://github.com/slhck/ffmpeg-normalize") + (synopsis "Normalize audio via ffmpeg") + (description "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. Batch processing of several +input files is possible, including video files.") + (license license:expat))) + (define-public vlc (package (name "vlc") |