diff options
Diffstat (limited to 'gnu/packages/video.scm')
-rw-r--r-- | gnu/packages/video.scm | 109 |
1 files changed, 88 insertions, 21 deletions
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 17037c2151..0740abe040 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2014, 2015, 2016 David Thompson <davet@gnu.org> -;;; Copyright © 2014, 2015, 2016, 2018 Mark H Weaver <mhw@netris.org> +;;; Copyright © 2014, 2015, 2016, 2018, 2020 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015 Andy Patterson <ajpatter@uwaterloo.ca> @@ -65,7 +65,7 @@ (define-module (gnu packages video) #:use-module (ice-9 match) - #:use-module (srfi srfi-1) + #:use-module ((srfi srfi-1) #:hide (zip)) #:use-module (srfi srfi-26) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix utils) @@ -154,6 +154,7 @@ #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) #:use-module (gnu packages rdesktop) + #:use-module (gnu packages re2c) #:use-module (gnu packages ruby) #:use-module (gnu packages rust-apps) #:use-module (gnu packages samba) @@ -767,7 +768,7 @@ television and DVD. It is also known as AC-3.") (define-public libaom (package (name "libaom") - (version "2.0.0") + (version "2.0.1") (source (origin (method git-fetch) (uri (git-reference @@ -776,7 +777,7 @@ television and DVD. It is also known as AC-3.") (file-name (git-file-name name version)) (sha256 (base32 - "1616xjhj6770ykn82ml741h8hx44v507iky3s9h7a5lnk9d4cxzy")))) + "1vakwmcwvmmrdw7460m8hzq96y71lxqix8b2g07c6s12br0rrdhl")))) (build-system cmake-build-system) (native-inputs `(("perl" ,perl) @@ -1008,7 +1009,7 @@ H.264 (MPEG-4 AVC) video streams.") (define-public straw-viewer (package (name "straw-viewer") - (version "0.1.1") + (version "0.1.2") (source (origin (method git-fetch) @@ -1017,7 +1018,7 @@ H.264 (MPEG-4 AVC) video streams.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0idp1ayqghi5bg83v9qmvzz9wj05flwrp1fxb4kqa6vwxmprvhyk")))) + (base32 "1s6w8m9377ajy21x7lf6mbgp5yk5i70nhzmqscibjnarr3xfg9zs")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build) @@ -1031,13 +1032,13 @@ H.264 (MPEG-4 AVC) video streams.") ("perl-mozilla-ca" ,perl-mozilla-ca) ("perl-term-readline-gnu" ,perl-term-readline-gnu) ("perl-unicode-linebreak" ,perl-unicode-linebreak) - ("xdg-utils" ,xdg-utils) - - ;; Some videos play without youtube-dl, but others silently fail to. - ("youtube-dl" ,youtube-dl))) - - ;; Required only when building the graphical interface (--gtk). - ;;("perl-file-sharedir" ,perl-file-sharedir) + ("xdg-utils" ,xdg-utils))) + ;; Required only when building the graphical interface (--gtk). + ;;("perl-file-sharedir" ,perl-file-sharedir) + + ;; Some videos play without youtube-dl, but others silently fail to. + (propagated-inputs + `(("youtube-dl" ,youtube-dl))) (arguments `(#:modules ((guix build perl-build-system) (guix build utils) @@ -1620,7 +1621,10 @@ audio/video codec library.") (arguments (substitute-keyword-arguments (package-arguments ffmpeg) ((#:configure-flags flags) - `(delete "--enable-librav1e" ,flags)))))) + `(delete "--enable-librav1e" ,flags)))) + (inputs (fold alist-delete + (package-inputs ffmpeg) + '("rav1e"))))) (define-public ffmpeg-3.4 (package @@ -1694,7 +1698,10 @@ audio/video codec library.") (path (string-join (map dirname dso) ":"))) (format #t "setting LD_LIBRARY_PATH to ~s~%" path) (setenv "LD_LIBRARY_PATH" path) - #t)))))))) + #t)))))) + (inputs (fold alist-delete + (package-inputs ffmpeg) + '("dav1d" "libaom" "rav1e" "srt"))))) (define-public ffmpeg-for-stepmania (hidden-package @@ -2185,14 +2192,25 @@ To load this plugin, specify the following option when starting mpv: (define-public youtube-dl (package (name "youtube-dl") - (version "2020.12.12") + (version "2020.12.14") (source (origin (method url-fetch) (uri (string-append "https://youtube-dl.org/downloads/latest/" "youtube-dl-" version ".tar.gz")) (sha256 (base32 - "0iv4l78ylzx8q6myv4v7xq6r5y0hacz6l30bqk1szncfikvfc3cf")))) + "0ws2nsvn0qlnnyxz9g95ffygscfmg5npzmwbq8iyyi6b2njsb0cn")) + (snippet + '(begin + ;; Delete the pre-generated files, except for the man page + ;; which requires 'pandoc' to build. + (for-each delete-file '("youtube-dl" + ;;pandoc is needed to generate + ;;"youtube-dl.1" + "youtube-dl.bash-completion" + "youtube-dl.fish" + "youtube-dl.zsh")) + #t)))) (build-system python-build-system) (arguments ;; The problem here is that the directory for the man page and completion @@ -2213,6 +2231,16 @@ To load this plugin, specify the following option when starting mpv: (("\\.get\\('ffmpeg_location'\\)" match) (format #f "~a or '~a'" match (which "ffmpeg")))) #t)) + (add-before 'build 'build-generated-files + (lambda _ + ;; Avoid the make targets that require pandoc. + (invoke "make" + "PYTHON=python" + "youtube-dl" + ;;"youtube-dl.1" ; needs pandoc + "youtube-dl.bash-completion" + "youtube-dl.zsh" + "youtube-dl.fish"))) (add-before 'install 'fix-the-data-directories (lambda* (#:key outputs #:allow-other-keys) (let ((prefix (assoc-ref outputs "out"))) @@ -2236,6 +2264,8 @@ To load this plugin, specify the following option when starting mpv: (copy-file "youtube-dl.zsh" (string-append zsh "/_youtube-dl")) #t)))))) + (native-inputs + `(("zip" ,zip))) (inputs `(("ffmpeg" ,ffmpeg))) (synopsis "Download videos from YouTube.com and other sites") @@ -2383,7 +2413,7 @@ audio, images) from the Web. It can use either mpv or vlc for playback.") (define-public youtube-viewer (package (name "youtube-viewer") - (version "3.7.9") + (version "3.8.0") (source (origin (method git-fetch) (uri (git-reference @@ -2392,7 +2422,7 @@ audio, images) from the Web. It can use either mpv or vlc for playback.") (file-name (git-file-name name version)) (sha256 (base32 - "16p0sa91h0zpqdpqmy348g6b9qj5f6qrbzrljn157vk00cg6mx18")))) + "16gskhzkvgzhfb89zqfmvz7kmhjsyc38f2dl86ksal4p69kn8j3g")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build))) @@ -3043,7 +3073,7 @@ be used for realtime video capture via Linux-specific APIs.") (define-public obs (package (name "obs") - (version "26.0.2") + (version "26.1.0") (source (origin (method git-fetch) (uri (git-reference @@ -3052,7 +3082,7 @@ be used for realtime video capture via Linux-specific APIs.") (file-name (git-file-name name version)) (sha256 (base32 - "1d502f80whh686mvq0yn6zpa5nvmnlzxwp5sjz43vpbbvhpbrdqj")))) + "0p8wdzm9imn3s17arr206sz92g4pkacfcpfbwvhvgkrrs4w000bx")))) (build-system cmake-build-system) (arguments `(#:configure-flags @@ -4892,3 +4922,40 @@ BBC iPlayer output.") includes @code{dvdxchap} tool for extracting chapter information from DVD.") (license license:gpl2) (home-page "https://www.bunkus.org/videotools/ogmtools/"))) + +(define-public libcaption + (package + (name "libcaption") + (version "0.7") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/szatmary/libcaption") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "16mhw8wpl7wdjj4n7rd1c294p1r8r322plj7z91crla5aah726rq")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; Cannot figure out how to run the unit tests + #:configure-flags '("-DENABLE_RE2C=ON"))) + (native-inputs + `(("re2c" ,re2c))) + (synopsis "CEA608 / CEA708 closed-caption codec") + (description "Libcaption creates and parses closed-caption data, +providing an encoder / decoder for the EIA608 and CEA708 closed-caption +standards. + +608 support is currently limited to encoding and decoding the necessary control +and preamble codes as well as support for the Basic North American, Special +North American and Extended Western European character sets. + +708 support is limited to encoding the 608 data in NTSC field 1 user data type +structure. + +In addition, utility functions to create h.264 SEI (Supplementary enhancement +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))) |