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.scm171
1 files changed, 105 insertions, 66 deletions
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index acda0acce8..592a6c9c55 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -3,7 +3,7 @@
;;; Copyright © 2014, 2015, 2016 David Thompson <davet@gnu.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, 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015 Andy Patterson <ajpatter@uwaterloo.ca>
;;; Copyright © 2015, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Alex Vong <alexvong1995@gmail.com>
@@ -15,7 +15,7 @@
;;; Copyright © 2016, 2018, 2019, 2020 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2017 Feng Shu <tumashu@163.com>
-;;; Copyright © 201–72021 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com>
@@ -50,6 +50,7 @@
;;; Copyright © 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2021 Alexey Abramov <levenson@mmer.org>
;;; Copyright © 2021 Andrew Tropin <andrew@trop.in>
+;;; Copyright © 2021 David Wilson <david@daviwil.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -286,7 +287,7 @@ video and audio streams from a DVD.")
(define-public svt-hevc
(package
(name "svt-hevc")
- (version "1.4.3")
+ (version "1.5.0")
(source
(origin
(method git-fetch)
@@ -296,7 +297,7 @@ video and audio streams from a DVD.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1sqh3dciqm2p1b66kngcpxqy5fx3ramxlxy8gfcbdwn2i3rsqhs7"))))
+ (base32 "038r3x3axil895vh2dq6223623ybrc45vn58vfmfb7cikz68sy23"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ; Test script is stand-alone
@@ -381,7 +382,7 @@ video decode, encode and filtering on Intel's Gen graphics hardware platforms.")
#t))))))
(native-inputs
`(("dash" ,dash)
- ("gtk-doc" ,gtk-doc)
+ ("gtk-doc" ,gtk-doc/stable)
("pkg-config" ,pkg-config)))
(inputs
`(("glew" ,glew)
@@ -707,7 +708,7 @@ old-fashioned output methods with powerful ascii-art renderer.")
(define-public celluloid
(package
(name "celluloid")
- (version "0.20")
+ (version "0.21")
(source
(origin
(method url-fetch)
@@ -715,7 +716,7 @@ old-fashioned output methods with powerful ascii-art renderer.")
"/releases/download/v" version
"/celluloid-" version ".tar.xz"))
(sha256
- (base32 "0kjjv2pcdvwcn4yi8kbpsca7pnx6cx6xdznv7ppqm0fssx68qyb3"))))
+ (base32 "1dvyf21iv9hrgv99szc24386vkacmhidm5b4d31hqqjs3b6di692"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("intltool" ,intltool)
@@ -772,7 +773,7 @@ television and DVD. It is also known as AC-3.")
(define-public libaom
(package
(name "libaom")
- (version "2.0.1")
+ (version "3.0.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -781,7 +782,7 @@ television and DVD. It is also known as AC-3.")
(file-name (git-file-name name version))
(sha256
(base32
- "1vakwmcwvmmrdw7460m8hzq96y71lxqix8b2g07c6s12br0rrdhl"))))
+ "178rq1d7i9q4lg40bipkyhdrk18j9wi5k5avpa5bls0zm7g5ifsx"))))
(build-system cmake-build-system)
(native-inputs
`(("perl" ,perl)
@@ -1014,7 +1015,7 @@ H.264 (MPEG-4 AVC) video streams.")
(define-public straw-viewer
(package
(name "straw-viewer")
- (version "0.1.2")
+ (version "0.1.3")
(source
(origin
(method git-fetch)
@@ -1023,7 +1024,7 @@ H.264 (MPEG-4 AVC) video streams.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1s6w8m9377ajy21x7lf6mbgp5yk5i70nhzmqscibjnarr3xfg9zs"))))
+ (base32 "1n21byn7hqykpm94jmmnir1fwsskq6dp9wgj0bd2qf0qx5nq33cl"))))
(build-system perl-build-system)
(native-inputs
`(("perl-module-build" ,perl-module-build)
@@ -1234,7 +1235,9 @@ ASS/SSA (Advanced Substation Alpha/SubStation Alpha) subtitle format.")
version ".tar.gz"))
(sha256
(base32
- "1x3j6yfyxl52adgnabycr0n38j9hx2j74la0hz0n8cnh9ry4d2qj"))))
+ "1x3j6yfyxl52adgnabycr0n38j9hx2j74la0hz0n8cnh9ry4d2qj"))
+ (patches (search-patches "libcaca-CVE-2021-3410-pt1.patch"
+ "libcaca-CVE-2021-3410-pt2.patch"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--disable-static")))
@@ -1305,14 +1308,14 @@ SMPTE 314M.")
(define-public libmatroska
(package
(name "libmatroska")
- (version "1.6.2")
+ (version "1.6.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://dl.matroska.org/downloads/"
"libmatroska/libmatroska-" version ".tar.xz"))
(sha256
- (base32 "140r3q6n4a0n11zaf76lvyxd9gp435dgm8gn7mj0gar2hjm7ji5w"))))
+ (base32 "06h81sxyz2riic0gpzik6ffcnq32wrqphi8c6k55glcdymiimyfs"))))
(build-system cmake-build-system)
(inputs
`(("libebml" ,libebml)))
@@ -1419,14 +1422,14 @@ operate properly.")
(define-public ffmpeg
(package
(name "ffmpeg")
- (version "4.3.1")
+ (version "4.3.2")
(source (origin
(method url-fetch)
(uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
version ".tar.xz"))
(sha256
(base32
- "1yrg9nri54iav86vxy5i8pj51dhikksa04x20d77nc3fsi09405d"))))
+ "1nyd9jlcy0pqnwzi29a7sg50hq37vb0g3f9l16y3q8yh3m7ydr26"))))
(build-system gnu-build-system)
(inputs
`(("dav1d" ,dav1d)
@@ -1610,27 +1613,6 @@ convert and stream audio and video. It includes the libavcodec
audio/video codec library.")
(license license:gpl2+)))
-;; ungoogled-chromium crashes with ffmpeg 4.3, so stick with this version for
-;; now. See <https://issues.guix.gnu.org/41987>.
-(define-public ffmpeg-4.2
- (package
- (inherit ffmpeg)
- (version "4.2.3")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
- version ".tar.xz"))
- (sha256
- (base32
- "0cddkb5sma9dzy8i59sfls19rhjlq40zn9mh3x666dqkxl5ckxlx"))))
- (arguments
- (substitute-keyword-arguments (package-arguments ffmpeg)
- ((#:configure-flags flags)
- `(delete "--enable-librav1e" ,flags))))
- (inputs (fold alist-delete
- (package-inputs ffmpeg)
- '("rav1e")))))
-
(define-public ffmpeg-3.4
(package
(inherit ffmpeg)
@@ -1790,6 +1772,7 @@ videoformats depend on the configuration flags of ffmpeg.")
(inputs
`(("alsa-lib" ,alsa-lib)
("avahi" ,avahi)
+ ("dav1d" ,dav1d)
("dbus" ,dbus)
("eudev" ,eudev)
("flac" ,flac)
@@ -2013,7 +1996,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
(define-public mpv
(package
(name "mpv")
- (version "0.33.0")
+ (version "0.33.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2022,7 +2005,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
(file-name (git-file-name name version))
(sha256
(base32
- "06cmycd2gb826kf2zv470w6nhzyk9sdhjydsdiinbgb902lzcpfy"))))
+ "06rw1f55zcsj78ql8w70j9ljp2qb1pv594xj7q9cmq7i92a7hq45"))))
(build-system waf-build-system)
(native-inputs
`(("perl" ,perl) ; for zsh completion file
@@ -2197,14 +2180,14 @@ To load this plugin, specify the following option when starting mpv:
(define-public youtube-dl
(package
(name "youtube-dl")
- (version "2021.01.16")
+ (version "2021.04.07")
(source (origin
(method url-fetch)
(uri (string-append "https://youtube-dl.org/downloads/latest/"
"youtube-dl-" version ".tar.gz"))
(sha256
(base32
- "1q8pvw5j45k8nvr3d9rvnhi6xaj1mdqlkrg7q7qq6zciq5r54fhi"))
+ "02d51l6gdjr3zhhi7ydf5kzv8dv4jzq0ygja7zb2h9k7hnl0l27m"))
(snippet
'(begin
;; Delete the pre-generated files, except for the man page
@@ -2664,7 +2647,7 @@ device without having to bother about the decryption.")
(define-public srt2vtt
(package
(name "srt2vtt")
- (version "0.1")
+ (version "0.2")
(source (origin
(method url-fetch)
(uri (string-append
@@ -2672,10 +2655,29 @@ device without having to bother about the decryption.")
version ".tar.gz"))
(sha256
(base32
- "16b377znjm6qlga5yb8aj7b7bcisa1ghcnj2lrb1d30lvxp4liif"))))
+ "1ravl635x81fcai4h2xnsn926i69pafgr6zkghq6319iprkw8ffv"))))
(build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'wrap-srt2vtt
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (version ,(let ((v (package-version guile-3.0)))
+ (string-append (car (string-split v #\.))
+ ".0")))
+ (site (string-append out "/share/guile/site/" version))
+ (compiled (string-append
+ out "/lib/guile/" version
+ "/site-ccache")))
+ (wrap-program (string-append bin "/srt2vtt")
+ `("GUILE_LOAD_PATH" ":" prefix (,site))
+ `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,compiled)))))))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
(inputs
- `(("guile" ,guile-2.0)))
+ `(("guile" ,guile-3.0)))
(synopsis "SubRip to WebVTT subtitle converter")
(description "srt2vtt converts SubRip formatted subtitles to WebVTT format
for use with HTML5 video.")
@@ -2685,7 +2687,7 @@ for use with HTML5 video.")
(define-public avidemux
(package
(name "avidemux")
- (version "2.7.6")
+ (version "2.7.8")
(source (origin
(method url-fetch)
(uri (string-append
@@ -2693,7 +2695,7 @@ for use with HTML5 video.")
"avidemux_" version ".tar.gz"))
(sha256
(base32
- "1kwkn976ppahrcr74bnv6sqx75pzl9y21m1mvr5ksi1m6lgp924s"))
+ "00blv5455ry3bb86zyzk1xmq3rbqmbif62khc0kq3whza97l12k2"))
(patches (search-patches "avidemux-install-to-lib.patch"))))
(build-system cmake-build-system)
(native-inputs
@@ -2726,7 +2728,7 @@ for use with HTML5 video.")
#:phases
;; Make sure files inside the included ffmpeg tarball are
;; patch-shebanged.
- (let ((ffmpeg "ffmpeg-4.2.3"))
+ (let ((ffmpeg "ffmpeg-4.2.4"))
(modify-phases %standard-phases
(add-before 'patch-source-shebangs 'unpack-ffmpeg
(lambda _
@@ -3176,6 +3178,43 @@ and JACK.")
OBS audio sources.")
(license license:gpl2)))
+(define-public obs-websocket
+ (package
+ (name "obs-websocket")
+ (version "4.9.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Palakis/obs-websocket")
+ (commit version)
+ (recursive? #t)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1r47861ma1s3998clahbnbc216wcf706b1ps514k5p28h511l5w0"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ;no tests
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'remove-permission-change
+ (lambda* _
+ (substitute* "CMakeLists.txt"
+ ;; Remove lines that set writeable permissions on outputs.
+ (("set\\(CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS") "")
+ (("OWNER_READ.*\\)") "")
+ (("PERMISSIONS") ")"))
+ #t)))))
+ (inputs
+ `(("obs" ,obs)
+ ("qtbase" ,qtbase)))
+ (home-page "https://github.com/Palakis/obs-websocket")
+ (synopsis "OBS plugin for remote control via WebSockets")
+ (description "This OBS plugin allows you to establish a WebSocket channel
+from within your running OBS instance so that you can control it remotely from
+programs on your current machine or on other machines.")
+ (license license:gpl2+)))
+
(define-public obs-wlrobs
(package
(name "obs-wlrobs")
@@ -4079,18 +4118,19 @@ tools for styling them, including a built-in real-time video preview.")
(define-public pitivi
;; Pitivi switched to a non-semantic versioning scheme close before 1.0
(let ((latest-semver "0.999.0")
- (%version "2020.09.2"))
+ (%version "2021.01.0"))
(package
(name "pitivi")
(version (string-append latest-semver "-" %version))
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- (version-major+minor %version) "/"
- name "-" %version ".tar.xz"))
- (sha256
- (base32
- "0hzvv4wia4rk0kvq16y27imq2qd4q5lg3vx99hdcjdb1x3zqqfg0"))))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.gnome.org/GNOME/pitivi.git")
+ (commit %version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1jics10l16ismi5br6wxi4jxz3dd4p0c0xv8l0l3nvksvda4aafi"))))
(build-system meson-build-system)
(inputs
`(("glib" ,glib)
@@ -4245,7 +4285,7 @@ It counts more than 100 plugins.")
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(native-inputs
- `(("autoconf" ,autoconf-wrapper)
+ `(("autoconf" ,autoconf)
("automake" ,automake)
("gettext" ,gettext-minimal)
("pkg-config" ,pkg-config)))
@@ -4532,7 +4572,7 @@ transitions, and effects and then export your film to many common formats.")
(define-public dav1d
(package
(name "dav1d")
- (version "0.8.1")
+ (version "0.8.2")
(source
(origin
(method git-fetch)
@@ -4541,7 +4581,7 @@ transitions, and effects and then export your film to many common formats.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1820fpmmq1vxjzjmza6ydk4fgxipb8gmcc5skybki64qn7410v7x"))))
+ (base32 "0plmnxpz66yv3nqv1kgbyyfnwfqi9dqs0zbsdj488i6464a1m6si"))))
(build-system meson-build-system)
(native-inputs `(("nasm" ,nasm)))
(home-page "https://code.videolan.org/videolan/dav1d")
@@ -4719,7 +4759,7 @@ transcode or reformat the videos in any way, producing perfect backups.")
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/AOMediaCodec/SVT-AV1")
+ (url "https://gitlab.com/AOMediaCodec/SVT-AV1.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
@@ -4745,7 +4785,7 @@ transcode or reformat the videos in any way, producing perfect backups.")
(description "SVT-AV1 is an AV1 codec implementation. The encoder is a
work-in-progress, aiming to support video-on-demand and live streaming
applications. It only supports Intel-compatible CPUs (x86).")
- (home-page "https://github.com/AOMediaCodec/SVT-AV1")
+ (home-page "https://gitlab.com/AOMediaCodec/SVT-AV1")
(license license:bsd-2)))
(define-public svt-vp9
@@ -4761,7 +4801,7 @@ applications. It only supports Intel-compatible CPUs (x86).")
(sha256
(base32
"1ypdiw4cq22llvm8jyszxdq6r1aydkj80dsxjarjn5b7c1f2q3ar"))))
- ;; SVT-AV1 only supports 64-bit Intel-compatible CPUs.
+ ;; SVT-VP9 only supports 64-bit Intel-compatible CPUs.
(supported-systems '("x86_64-linux"))
(build-system cmake-build-system)
(arguments
@@ -4995,7 +5035,7 @@ brightness, contrast, and frame rate.")
(define-public get-iplayer
(package
(name "get-iplayer")
- (version "3.26")
+ (version "3.27")
(source
(origin
(method git-fetch)
@@ -5004,11 +5044,10 @@ brightness, contrast, and frame rate.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32
- "0lsz5hz1ia5j612540rb0f31y7j2k5gf7x5i43l8k06b90wi73d6"))))
+ (base32 "077y31gg020wjpx5pcivqgkqawcjxh5kjnvq97x2gd7i3wwc30qi"))))
(build-system perl-build-system)
(arguments
- `(#:tests? #f ; no tests
+ `(#:tests? #f ; no tests
#:phases
(modify-phases %standard-phases
(delete 'configure)