aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/video.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/video.scm')
-rw-r--r--gnu/packages/video.scm109
1 files changed, 88 insertions, 21 deletions
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index f4c7174c03..d2330aaeeb 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)
@@ -1625,7 +1626,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
@@ -1699,7 +1703,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
@@ -2190,14 +2197,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
@@ -2218,6 +2236,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")))
@@ -2241,6 +2269,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")
@@ -2388,7 +2418,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
@@ -2397,7 +2427,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)))
@@ -3048,7 +3078,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
@@ -3057,7 +3087,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
@@ -4897,3 +4927,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)))