summaryrefslogtreecommitdiff
path: root/gnu/packages/video.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/video.scm')
-rw-r--r--gnu/packages/video.scm381
1 files changed, 353 insertions, 28 deletions
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 0732eda288..f1087994fd 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -2332,13 +2332,13 @@ It is usually a complement to @code{ffmpeg-normalize}.")
(define-public ffmpeg-normalize
(package
(name "ffmpeg-normalize")
- (version "1.27.7")
+ (version "1.28.2")
(source (origin
(method url-fetch)
(uri (pypi-uri "ffmpeg-normalize" version))
(sha256
(base32
- "0idqqgsr3p840vx2x3idn851qwghjdbm6v4yrq2kprppyfvglni7"))))
+ "129jicvifh5bpxrn62mpfanv5z2266bryxd6cd5xhhi4vfwcinx5"))))
(build-system pyproject-build-system)
(arguments
(list #:phases
@@ -2711,40 +2711,31 @@ projects while introducing many more.")
(define-public smplayer
(package
(name "smplayer")
- (version "21.10.0")
+ (version "23.12.0")
(source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://sourceforge/smplayer/SMPlayer/" version
- "/smplayer-" version ".tar.bz2"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/smplayer-dev/smplayer")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "12nvcl0cfix1xay9hfi7856vg4lpv8y5b0a22212bsjbvl5g22rc"))))
+ (base32 "0yrm57rib910h9m4avhg6mkmkzy9xjb3f185c5zr6jls100az8h1"))))
(build-system qt-build-system)
(native-inputs
(list qttools-5))
(inputs
- (list bash-minimal qtbase-5 zlib mpv))
+ (list bash-minimal
+ qtbase-5
+ qtdeclarative-5
+ zlib
+ mpv))
(arguments
(list #:tests? #false ; no tests
#:make-flags #~(list (string-append "PREFIX=" #$output)
- (string-append "CC=" #+(cc-for-target))
- ;; A KLUDGE to turn off invoking lrelease on the
- ;; project for now, because it fails consistently
- ;; with "WARNING: Could not find qmake spec
- ;; 'default'". See below.
- "LRELEASE=true")
+ (string-append "CC=" #+(cc-for-target)))
#:phases
#~(modify-phases %standard-phases
(delete 'configure)
- ;; Due to the above, we must run lrelease separately on each .ts file
- ;; (as opposed to running `lrelease-pro smplayer.pro` for the entire
- ;; project, as the Makefile does normally without the above kludge).
- (add-after 'build 'compile-ts-files
- (lambda _
- (for-each (lambda (file)
- (invoke "lrelease" file))
- (find-files "./" "\\.ts$"))))
(add-after 'install 'wrap-executable
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -2984,8 +2975,7 @@ To load this plugin, specify the following option when starting mpv:
(delete-file "orfondl")))))
(build-system go-build-system)
(arguments
- (list #:go go-1.19
- #:install-source? #f
+ (list #:install-source? #f
#:import-path "github.com/badlogic/orfondl"
#:phases
#~(modify-phases %standard-phases
@@ -3138,7 +3128,7 @@ YouTube.com and many more sites.")
(define-public yt-dlp
(package
(name "yt-dlp")
- (version "2024.05.27")
+ (version "2024.07.09")
(source
(origin
(method git-fetch)
@@ -3147,7 +3137,7 @@ YouTube.com and many more sites.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "13j6vg0kxfw3hppq7gzbz2d72g415071gh5arkwzj902rh0c7777"))))
+ (base32 "1zw8zaihfx6fg1l9ynwm0d4zy6k30jwi7qbq9ylsl93yg1a73js9"))))
(build-system pyproject-build-system)
(arguments
`(#:tests? ,(not (%current-target-system))
@@ -4071,6 +4061,158 @@ and JACK.")
(home-page "https://obsproject.com")
(license license:gpl2+)))
+(define-public obs-advanced-masks
+ (package
+ (name "obs-advanced-masks")
+ (version "1.1.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/FiniteSingularity/obs-advanced-masks")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0vhilhzdfv0wa8hqz8ffavr272w3d5b75vvldf8rfy9pm5c8xn9n"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:modules '((guix build cmake-build-system)
+ (guix build utils))
+ #:tests? #f ;no tests
+ #:configure-flags
+ #~(list (string-append "-DLIBOBS_INCLUDE_DIR="
+ #$(this-package-input "obs") "/lib")
+ "-DBUILD_OUT_OF_TREE=On"
+ "-Wno-dev")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'move-shaders
+ (lambda _
+ (mkdir-p
+ (string-append
+ #$output
+ "/share/obs/obs-plugins/obs-advanced-masks"))
+ (rename-file
+ (string-append
+ #$output
+ "/data/obs-plugins/obs-advanced-masks/shaders")
+ (string-append
+ #$output
+ "/share/obs/obs-plugins/obs-advanced-masks/shaders")))))))
+ (inputs (list obs qtbase-5))
+ (home-page "https://github.com/FiniteSingularity/obs-advanced-masks")
+ (synopsis "Advanced masking plugin for OBS")
+ (description "OBS Advanced Masks is a project designed to expand the
+masking functionalities within OBS Studio. This plug-in provides filters for
+users to create intricate and customized masks for their OBS Scenes and
+Sources.
+
+@itemize
+@item Advanced Masks provides both Alpha Masking and Adjustment Masking.
+@item Shape masks allow for dynamically generated Rectangle, Circle,
+Elliptical, Regular Polygon, Star, and Heart shaped masks, with many
+adjustable parameters.
+@item Source Masks allow an existing OBS source to be used as a mask, using
+any combination of the red, green, blue, or alpha channels from said source.
+@item Image Masks include all of the same functionality as Source Masks, but
+applied via a static image (.png, .jpeg, etc).
+@item Gradient Masks allow a fading mask using a user-specified gradient.
+@end itemize\n")
+ (license license:gpl2)))
+
+(define-public obs-composite-blur
+ (package
+ (name "obs-composite-blur")
+ (version "1.1.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/FiniteSingularity/obs-composite-blur")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1mlbc1zi4bp8xwiq0ynjciysqvlbrxa0v5an9hkzsl9vwxgz9jc9"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:modules '((guix build cmake-build-system)
+ (guix build utils))
+ #:tests? #f ;no tests
+ #:configure-flags
+ #~(list (string-append "-DLIBOBS_INCLUDE_DIR="
+ #$(this-package-input "obs") "/lib")
+ "-DBUILD_OUT_OF_TREE=On"
+ "-Wno-dev")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'move-shaders
+ (lambda _
+ (mkdir-p
+ (string-append
+ #$output
+ "/share/obs/obs-plugins/obs-composite-blur"))
+ (rename-file
+ (string-append
+ #$output
+ "/data/obs-plugins/obs-composite-blur/shaders")
+ (string-append
+ #$output
+ "/share/obs/obs-plugins/obs-composite-blur/shaders")))))))
+ (inputs (list obs qtbase-5))
+ (home-page "https://github.com/FiniteSingularity/obs-composite-blur")
+ (synopsis "Different blur algorithms for OBS")
+ (description "Composite Blur Plugin is a comprehensive blur plugin that
+provides blur algorithms and types for all levels of quality and computational
+need.
+
+@itemize
+@item Composite Blur provides several highly optimized blur algorithms
+including Gaussian, Multi-Pass Box, Dual Kawase, and Pixelate.
+@item Composite Blur provides multiple blur effects to give a different look
+and feel to the blur including Area, Directional, Zoom, Motion, and
+Tilt-Shift.
+@item Composite Blur also allows setting a Background Source so that it can
+properly composite blurred masks, allowing you to properly layer blurred
+sources.
+@item Finally, Composite Blur provides an option to mask where and how much
+blurring occurs on the source via Crop, Rectangle, Circle, Source, and Image
+masks.
+@end itemize\n")
+ (license license:gpl2)))
+
+(define-public obs-gradient-source
+ (package
+ (name "obs-gradient-source")
+ (version "0.3.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/exeldro/obs-gradient-source")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1s1frbax6md9bvlm4zynp9lab9fmh95xk7dq9b2f8q0rhprnb6g6"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:modules '((guix build cmake-build-system)
+ (guix build utils))
+ #:tests? #f ;no tests
+ #:configure-flags
+ #~(list (string-append "-DLIBOBS_INCLUDE_DIR="
+ #$(this-package-input "obs") "/lib")
+ "-DBUILD_OUT_OF_TREE=On"
+ "-Wno-dev")))
+ (inputs (list obs qtbase-5))
+ (home-page "https://github.com/exeldro/obs-gradient-source")
+ (synopsis "Plugin for adding a gradient Source to OBS Studio")
+ (description "This package provides a plugin for adding a gradient Source
+to OBS Studio.")
+ (license license:gpl2)))
+
(define-public obs-looking-glass
(package
(name "obs-looking-glass")
@@ -4143,6 +4285,80 @@ This may help improve your viewers watching experience, and allows you to use
your host privately.")
(license license:gpl2+)))
+(define-public obs-move-transition
+ (package
+ (name "obs-move-transition")
+ (version "3.0.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/exeldro/obs-move-transition")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0kni1a8zqqbgx5mmaw4k4chswsy0i9qk89zcbg58mvspz9zzv4id"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:modules '((guix build cmake-build-system)
+ (guix build utils))
+ #:tests? #f ;no tests
+ #:configure-flags
+ #~(list (string-append "-DLIBOBS_INCLUDE_DIR="
+ #$(this-package-input "obs") "/lib")
+ "-DBUILD_OUT_OF_TREE=On"
+ "-Wno-dev")))
+ (inputs (list obs qtbase-5))
+ (home-page "https://github.com/exeldro/obs-move-transition")
+ (synopsis "Move transition for OBS Studio")
+ (description "Plugin for OBS Studio to move source to a new position
+during scene transition.")
+ (license license:gpl2)))
+
+(define-public obs-multi-rtmp
+ (package
+ (name "obs-multi-rtmp")
+ (version "0.3.0.2-OBS29.1.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/sorayuki/obs-multi-rtmp")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "192zkihn3ahh93fn3mkpbx7apa04lmcxc637hpxwkivdjbq3nbk3"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:modules '((guix build cmake-build-system)
+ (guix build utils))
+ #:tests? #f ;no tests
+ #:configure-flags
+ #~(list (string-append "-DLIBOBS_INCLUDE_DIR="
+ #$(this-package-input "obs") "/lib")
+ "-DBUILD_OUT_OF_TREE=On"
+ "-Wno-dev")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'obs-plugins
+ (lambda* (#:key outputs #:allow-other-keys)
+ (mkdir-p (string-append #$output "/lib/obs-plugins"))
+ (symlink
+ (string-append #$output
+ "/obs-plugins/64bit/obs-multi-rtmp.so")
+ (string-append #$output
+ "/lib/obs-plugins/obs-multi-rtmp.so")))))))
+ (inputs (list obs qtbase-5))
+ (home-page "https://github.com/sorayuki/obs-multi-rtmp")
+ (synopsis "Multi-site simultaneous broadcast plugin for OBS Studio")
+ (description "This is a plugin to streaming to multiple RTMP servers
+concurrently. It's able to share encoders with main output of OBS to save CPU
+power. It can also use standalone encoders with basic
+configuration (bitrate).")
+ (license license:gpl2)))
+
(define-public obs-pipewire-audio-capture
(package
(name "obs-pipewire-audio-capture")
@@ -4172,6 +4388,115 @@ your host privately.")
inputs and applications using PipeWire.")
(license license:gpl2+)))
+(define-public obs-shaderfilter
+ (package
+ (name "obs-shaderfilter")
+ (version "2.0.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/exeldro/obs-shaderfilter")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1kqa8323gcnyqjcya4ynhwvd38y0xsxvxndzndpmg18q88svyiq8"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:modules '((guix build cmake-build-system)
+ (guix build utils))
+ #:tests? #f ;no tests
+ #:configure-flags
+ #~(list (string-append "-DLIBOBS_INCLUDE_DIR="
+ #$(this-package-input "obs") "/lib")
+ "-DBUILD_OUT_OF_TREE=On"
+ "-Wno-dev")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'fix-effects
+ (lambda _
+ (for-each
+ (lambda (directory)
+ (mkdir-p
+ (string-append
+ #$output "/share/obs/obs-plugins/obs-shaderfilter"))
+ (rename-file
+ (string-append
+ #$output "/data/obs-plugins/obs-shaderfilter/" directory)
+ (string-append
+ #$output "/share/obs/obs-plugins/obs-shaderfilter/"
+ directory)))
+ '("examples" "textures")))))))
+ (inputs (list obs qtbase-5))
+ (home-page "https://github.com/exeldro/obs-shaderfilter")
+ (synopsis "OBS filter for applying an arbitrary shader to a source")
+ (description "Plugin for OBS Studio which is intended to allow users to
+apply their own shaders to OBS sources. This theoretically makes possible
+some simple effects like drop shadows that can be implemented strictly in
+shader code.")
+ (license license:gpl2)))
+
+(define-public obs-source-clone
+ (package
+ (name "obs-source-clone")
+ (version "0.1.5")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/exeldro/obs-source-clone")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1rw0qknlkljzn4rk41g2jjnf113vald5k7kpvxvz0mpaywa6vc6j"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:modules '((guix build cmake-build-system)
+ (guix build utils))
+ #:tests? #f ;no tests
+ #:configure-flags
+ #~(list (string-append "-DLIBOBS_INCLUDE_DIR="
+ #$(this-package-input "obs") "/lib")
+ "-DBUILD_OUT_OF_TREE=On"
+ "-Wno-dev")))
+ (inputs (list obs qtbase-5))
+ (home-page "https://github.com/exeldro/obs-source-clone")
+ (synopsis "Plugin for OBS Studio to clone sources")
+ (description "Add source to OBS that lets you clone sources to allow
+different filters than the original.")
+ (license license:gpl2)))
+
+(define-public obs-source-copy
+ (package
+ (name "obs-source-copy")
+ (version "0.2.4")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/exeldro/obs-source-copy")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1l3ls3j57yh03vkwiah6yj1xnnmq7q2ngjjn1k4h1sqqk0dxn86j"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:tests? #f ;no tests
+ #:configure-flags
+ #~(list (string-append "-DLIBOBS_INCLUDE_DIR="
+ #$(this-package-input "obs") "/lib")
+ "-DBUILD_OUT_OF_TREE=On"
+ "-Wno-dev")))
+ (inputs (list obs qtbase-5))
+ (home-page "https://github.com/exeldro/obs-source-copy")
+ (synopsis "OBS plugin for copy and paste scenes, sources and filters")
+ (description "This package provides an OBS plugin for copy and paste
+scenes, sources and filters.")
+ (license license:gpl2)))
+
(define-public obs-source-record
(package
(name "obs-source-record")