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.scm102
1 files changed, 68 insertions, 34 deletions
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 8ebe7dbcdf..bd5367d439 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -96,6 +96,7 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
#:use-module (gnu packages crates-io)
+ #:use-module (gnu packages crates-graphics)
#:use-module (gnu packages curl)
#:use-module (gnu packages dejagnu)
#:use-module (gnu packages dns)
@@ -134,6 +135,7 @@
#:use-module (gnu packages ncurses)
#:use-module (gnu packages networking)
#:use-module (gnu packages ocr)
+ #:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages perl-check)
#:use-module (gnu packages perl-web)
@@ -524,7 +526,7 @@ applications by providing high-level classes for commonly required tasks.")
(define-public libde265
(package
(name "libde265")
- (version "1.0.6")
+ (version "1.0.7")
(source
(origin
(method git-fetch)
@@ -534,7 +536,7 @@ applications by providing high-level classes for commonly required tasks.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0ipccyavlgf7hfzx1g8bvzg62xq10vcxvwgq70r3z3j6mdvmrzjp"))))
+ (base32 "0x7g9771457z49qvzpk4iswfhq018i0mzsflv9gg8if5hjqhfdp0"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@@ -697,14 +699,15 @@ old-fashioned output methods with powerful ascii-art renderer.")
(define-public celluloid
(package
(name "celluloid")
- (version "0.19")
+ (version "0.20")
(source
(origin
(method url-fetch)
- (uri (string-append "https://github.com/celluloid-player/celluloid/releases"
- "/download/v" version "/celluloid-" version ".tar.xz"))
+ (uri (string-append "https://github.com/celluloid-player/celluloid"
+ "/releases/download/v" version
+ "/celluloid-" version ".tar.xz"))
(sha256
- (base32 "1s3qkism96gi44incvsb6rqg255qcvjvw61ya7nw30md0sapj4sl"))))
+ (base32 "0kjjv2pcdvwcn4yi8kbpsca7pnx6cx6xdznv7ppqm0fssx68qyb3"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("intltool" ,intltool)
@@ -878,14 +881,14 @@ H.264 (MPEG-4 AVC) video streams.")
(define-public mkvtoolnix
(package
(name "mkvtoolnix")
- (version "37.0.0")
+ (version "50.0.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://mkvtoolnix.download/sources/"
"mkvtoolnix-" version ".tar.xz"))
(sha256
- (base32 "0r4d9318ymb9a0mkc0shi9p4kjy3m70s49v4f8dmjhvj63silhix"))
+ (base32 "09485qfbdirr9g536shglzdm271yipb1669r3dm3hxp46k0x59aq"))
(modules '((guix build utils)))
(snippet '(begin
;; Delete bundled libraries.
@@ -911,6 +914,7 @@ H.264 (MPEG-4 AVC) video streams.")
("libogg" ,libogg)
("libvorbis" ,libvorbis)
("lzo" ,lzo)
+ ("pcre2" ,pcre2)
("pugixml" ,pugixml)
("qtbase" ,qtbase)
("qtmultimedia" ,qtmultimedia)
@@ -1318,7 +1322,7 @@ libebml is a C++ library to read and write EBML files.")
(define-public libva
(package
(name "libva")
- (version "2.7.1")
+ (version "2.9.0")
(source
(origin
(method url-fetch)
@@ -1330,7 +1334,7 @@ libebml is a C++ library to read and write EBML files.")
(string-append "https://www.freedesktop.org/software/vaapi/releases/"
"libva/libva-" version "/libva-" version ".tar.bz2")))
(sha256
- (base32 "014av7ayyc624xfmr63xhbgg7nw8fynsswj1g2wmk4lnkyfz23x0"))))
+ (base32 "0jsq6ia3fzyzvq7lxsrn4a8kn2kx4z3v777xkxn6k4ny5lww2i73"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@@ -1451,6 +1455,8 @@ operate properly.")
("sdl" ,sdl2)
("soxr" ,soxr)
("speex" ,speex)
+ ;; FFmpeg is not yet compatible with SRT > 1.4.1.
+ ("srt" ,srt-1.4.1)
("twolame" ,twolame)
("vidstab" ,vidstab)
("x265" ,x265)
@@ -1535,6 +1541,7 @@ operate properly.")
'())
"--enable-libsoxr"
"--enable-libspeex"
+ "--enable-libsrt"
"--enable-libtheora"
"--enable-libtwolame"
"--enable-libvidstab"
@@ -1826,6 +1833,8 @@ videoformats depend on the configuration flags of ffmpeg.")
("sdl-image" ,sdl-image)
("speex" ,speex)
("speexdsp" ,speexdsp)
+ ;; VLC is not yet compatible with SRT > 1.4.1.
+ ("srt" ,srt-1.4.1)
("taglib" ,taglib)
("twolame" ,twolame)
("unzip" ,unzip)
@@ -2125,9 +2134,8 @@ To load this plugin, specify the following option when starting mpv:
(define-public libvpx
(package
(name "libvpx")
- (version "1.8.2")
+ (version "1.9.0")
(source (origin
- ;; XXX: Upstream does not provide tarballs for > 1.6.1.
(method git-fetch)
(uri (git-reference
(url "https://chromium.googlesource.com/webm/libvpx")
@@ -2135,7 +2143,7 @@ To load this plugin, specify the following option when starting mpv:
(file-name (git-file-name name version))
(sha256
(base32
- "0gyq4fkbd2fv7m1mm9xrvn6rk6f4jsmbv8bnlhingmnrvyncnmnr"))
+ "16xv6ambc82g14h1y0q1vyy57wp6j9fbp0nk0wd5csnrw407rhry"))
(patches (search-patches "libvpx-CVE-2016-2818.patch"))))
(build-system gnu-build-system)
(arguments
@@ -2153,7 +2161,11 @@ To load this plugin, specify the following option when starting mpv:
;; The configure script does not understand some of the GNU
;; options, so we only add the flags specified above.
(apply invoke "./configure" configure-flags))))
- #:tests? #f)) ; no check target
+
+ ;; XXX: The test suite wants to download 871 files from a cloud storage
+ ;; service (see test/test-data.sha1). It is possible to specify a
+ ;; custom directory, but there seems to be no tarball with all files.
+ #:tests? #f))
(native-inputs
`(("perl" ,perl)
("yasm" ,yasm)))
@@ -2165,7 +2177,7 @@ To load this plugin, specify the following option when starting mpv:
(define-public youtube-dl
(package
(name "youtube-dl")
- (version "2020.09.14")
+ (version "2020.09.20")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/ytdl-org/youtube-dl/"
@@ -2173,7 +2185,7 @@ To load this plugin, specify the following option when starting mpv:
version ".tar.gz"))
(sha256
(base32
- "18wfhprbaszpxgqkac3hb050ngvdsaibbcifg88rkv5vc6bc2mq6"))))
+ "1pkw3hnkddk1kqv0in152q1k4jjgbmf2xvc9j3r5nd38z6f7j6mc"))))
(build-system python-build-system)
(arguments
;; The problem here is that the directory for the man page and completion
@@ -2184,6 +2196,16 @@ To load this plugin, specify the following option when starting mpv:
;; 'youtube-dl.bash-completion'.
`(#:tests? #f ; Many tests fail. The test suite can be run with pytest.
#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'default-to-the-ffmpeg-input
+ (lambda _
+ ;; See <https://issues.guix.gnu.org/43418#5>.
+ ;; ffmpeg is big but required to request free formats
+ ;; from, e.g., YouTube so pull it in unconditionally.
+ ;; Continue respecting the --ffmpeg-location argument.
+ (substitute* "youtube_dl/postprocessor/ffmpeg.py"
+ (("\\.get\\('ffmpeg_location'\\)" match)
+ (format #f "~a or '~a'" match (which "ffmpeg"))))
+ #t))
(add-before 'install 'fix-the-data-directories
(lambda* (#:key outputs #:allow-other-keys)
(let ((prefix (assoc-ref outputs "out")))
@@ -2207,6 +2229,8 @@ To load this plugin, specify the following option when starting mpv:
(copy-file "youtube-dl.zsh"
(string-append zsh "/_youtube-dl"))
#t))))))
+ (inputs
+ `(("ffmpeg" ,ffmpeg)))
(synopsis "Download videos from YouTube.com and other sites")
(description
"Youtube-dl is a small command-line program to download videos from
@@ -2352,7 +2376,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.8")
+ (version "3.7.9")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2361,7 +2385,7 @@ audio, images) from the Web. It can use either mpv or vlc for playback.")
(file-name (git-file-name name version))
(sha256
(base32
- "1ckzzf35nbwlx5prvzjr52n28chyd479vhdk5w7vb2343az80mzi"))))
+ "16p0sa91h0zpqdpqmy348g6b9qj5f6qrbzrljn157vk00cg6mx18"))))
(build-system perl-build-system)
(native-inputs
`(("perl-module-build" ,perl-module-build)))
@@ -2374,6 +2398,7 @@ audio, images) from the Web. It can use either mpv or vlc for playback.")
("perl-libwww" ,perl-libwww)
("perl-lwp-protocol-https" ,perl-lwp-protocol-https)
("perl-lwp-useragent-cached" ,perl-lwp-useragent-cached)
+ ("perl-memoize" ,perl-memoize)
("perl-mozilla-ca" ,perl-mozilla-ca)
("perl-term-readline-gnu" ,perl-term-readline-gnu)
("perl-unicode-linebreak" ,perl-unicode-linebreak)
@@ -2980,7 +3005,7 @@ be used for realtime video capture via Linux-specific APIs.")
(define-public obs
(package
(name "obs")
- (version "25.0.8")
+ (version "26.0.2")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2989,14 +3014,24 @@ be used for realtime video capture via Linux-specific APIs.")
(file-name (git-file-name name version))
(sha256
(base32
- "0j2k65q3wfyfxhvkl6icz4qy0s3kfqhksizy2i3ah7yml266axbj"))))
+ "1d502f80whh686mvq0yn6zpa5nvmnlzxwp5sjz43vpbbvhpbrdqj"))))
(build-system cmake-build-system)
(arguments
- `(#:tests? #f ; no test suite
- #:configure-flags
- (list (string-append "-DOBS_VERSION_OVERRIDE=" ,version))))
+ `(#:configure-flags
+ (list (string-append "-DOBS_VERSION_OVERRIDE=" ,version)
+ "-DENABLE_UNIT_TESTS=TRUE")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'wrap-executable
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (plugin-path (getenv "QT_PLUGIN_PATH")))
+ (wrap-program (string-append out "/bin/obs")
+ `("QT_PLUGIN_PATH" ":" prefix (,plugin-path))))
+ #t)))))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ `(("cmocka" ,cmocka)
+ ("pkg-config" ,pkg-config)))
(inputs
`(("alsa-lib" ,alsa-lib)
("curl" ,curl)
@@ -3014,7 +3049,7 @@ be used for realtime video capture via Linux-specific APIs.")
("qtbase" ,qtbase)
("qtsvg" ,qtsvg)
("qtx11extras" ,qtx11extras)
- ("speex" ,speex)
+ ("speexdsp" ,speexdsp)
("v4l-utils" ,v4l-utils)
("zlib" ,zlib)))
(synopsis "Live streaming software")
@@ -3023,13 +3058,12 @@ video recording and live streaming. OBS supports capturing audio and video
from many input sources such as webcams, X11 (for screencasting), PulseAudio,
and JACK.")
(home-page "https://obsproject.com")
- (supported-systems '("x86_64-linux" "i686-linux"))
(license license:gpl2+)))
(define-public libvdpau
(package
(name "libvdpau")
- (version "1.3")
+ (version "1.4")
(source
(origin
(method git-fetch)
@@ -3039,7 +3073,7 @@ and JACK.")
(file-name (git-file-name name version))
(sha256
(base32
- "1fb1nh5apr9kzx9bm2lysjwpyva1s60b2l2p230nqgvb11q25hd2"))))
+ "1hc4mcrbr1yhfiy4zfd8wc2iiqbp90z6jswap0jia20vmyk5lqld"))))
(build-system meson-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@@ -3585,7 +3619,7 @@ practically any type of media.")
(define-public libmediainfo
(package
(name "libmediainfo")
- (version "20.08")
+ (version "20.09")
(source (origin
(method url-fetch)
(uri (string-append "https://mediaarea.net/download/source/"
@@ -3593,7 +3627,7 @@ practically any type of media.")
name "_" version ".tar.xz"))
(sha256
(base32
- "19n8h9jq42b6r3dbag77fzwfksfywszmzpi636w87fvc1nqldlqj"))))
+ "15ni9pnch6688m72swwax109a7mg4a08yx75qknrx7qa6dbyhz6h"))))
;; TODO add a Big Buck Bunny webm for tests.
(native-inputs
`(("autoconf" ,autoconf)
@@ -3643,7 +3677,7 @@ MPEG-2, MPEG-4, DVD (VOB)...
(define-public mediainfo
(package
(name "mediainfo")
- (version "20.08")
+ (version "20.09")
(source (origin
(method url-fetch)
;; Warning: This source has proved unreliable 1 time at least.
@@ -3654,7 +3688,7 @@ MPEG-2, MPEG-4, DVD (VOB)...
name "_" version ".tar.xz"))
(sha256
(base32
- "1baf2dj5s3g1x4ssqli1b2r1203syk42m09zhp36qcinmfixv11l"))))
+ "0rqg9z7s5bk7vlvjrs4gackzg7ib05a0dffi2ihsjf5a7kw7wcir"))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
@@ -4524,7 +4558,7 @@ result in several formats:
("rust-arrayvec" ,rust-arrayvec-0.5)
("rust-backtrace" ,rust-backtrace-0.3)
("rust-bitstream-io" ,rust-bitstream-io-0.8)
- ("rust-byteorder" ,rust-byteorder-1.3)
+ ("rust-byteorder" ,rust-byteorder-1)
("rust-cfg-if" ,rust-cfg-if-0.1)
("rust-clap" ,rust-clap-2)
("rust-console" ,rust-console-0.11)
@@ -4548,7 +4582,7 @@ result in several formats:
("rust-serde" ,rust-serde-1)
("rust-signal-hook" ,rust-signal-hook-0.1)
("rust-simd-helpers" ,rust-simd-helpers-0.1)
- ("rust-thiserror" ,rust-thiserror-1.0)
+ ("rust-thiserror" ,rust-thiserror-1)
("rust-toml" ,rust-toml-0.5)
("rust-y4m" ,rust-y4m-0.5)
("rust-cc" ,rust-cc-1)