summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorPradana AUMARS <paumars@courrier.dev>2021-12-17 10:07:20 -0500
committerLeo Famulari <leo@famulari.name>2021-12-17 10:11:38 -0500
commit61ae42e773526373f0dc3ca99c7251d20434d3d1 (patch)
treea33279832a09b7e7b9b4b8c5368f9546db3d722d /gnu
parent6718fe7e872e78f8f15dd596fcf15c594a039bfe (diff)
downloadguix-61ae42e773526373f0dc3ca99c7251d20434d3d1.tar.gz
gnu: Add video-contact-sheet.
* gnu/packages/video.scm (video-contact-sheet): New variable.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/video.scm42
1 files changed, 42 insertions, 0 deletions
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 63e30e48f5..db405212a8 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -56,6 +56,7 @@
 ;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
 ;;; Copyright © 2021 Robin Templeton <robin@terpri.org>
 ;;; Copyright © 2021 Aleksandr Vityazev <avityazev@posteo.org>
+;;; Copyright © 2021 Pradana Aumars <paumars@courrier.dev>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -5458,3 +5459,44 @@ information) NALUs (Network Abstraction Layer Unit) for inclusion into an h.264
 elementary stream are provided.")
     (home-page "https://github.com/szatmary/libcaption")
     (license license:expat)))
+
+(define-public video-contact-sheet
+  (package
+   (name "video-contact-sheet")
+   (version "1.13.4")
+   (source (origin
+            (method url-fetch)
+            (uri (string-append "http://p.outlyer.net/vcs/files/vcs-" version
+				".tar.gz"))
+            (sha256
+             (base32
+              "0jsl93r0rnybjcipqbww5hwsr9ln6kz1qnf32qfxdvhfw52n27fw"))))
+   (build-system gnu-build-system)
+   (arguments
+     (list
+       #:make-flags
+       #~(list (string-append "prefix=" #$output))
+       #:phases
+       '(modify-phases %standard-phases
+          (delete 'configure)
+          (delete 'build)
+          (delete 'check)
+          (add-after 'install 'wrap-program
+            (lambda* (#:key inputs outputs #:allow-other-keys)
+              (let ((vcs (string-append (assoc-ref outputs "out") "/bin/vcs"))
+                    (ffmpeg (assoc-ref inputs "ffmpeg"))
+                    (imagemagick (assoc-ref inputs "imagemagick")))
+                (wrap-program vcs
+                  `("PATH" ":" prefix
+                    ,(map (lambda (dir)
+                            (string-append dir "/bin"))
+                          (list ffmpeg imagemagick))))))))))
+   (inputs
+     (list bash-minimal ffmpeg imagemagick))
+   (synopsis "Bash script to create contact sheets (preview images) from videos")
+   (description "This is a bash script meant to create video contact sheets
+(previews) of videos.  Any video supported by mplayer and ffmpeg can be used.  A
+note of warning: Unlike most similar tools it, by default, makes screenshots the
+same size as the video, see the manual for details on how to change this.")
+   (home-page "http://p.outlyer.net/vcs/")
+   (license license:lgpl2.1+)))