aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/video.scm
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2020-12-30 10:53:39 +0200
committerEfraim Flashner <efraim@flashner.co.il>2020-12-30 10:53:39 +0200
commitccb402d9db0ee1c37866fa1382841183b48f3a2a (patch)
treef35acb2d45879903f36ff1a595609b8b84cb3691 /gnu/packages/video.scm
parent78cf7a4571081ff9c9e4ab678bf67368de1add59 (diff)
parent4303e33c8636d9c3bfe03758f25636efa9674af9 (diff)
downloadguix-ccb402d9db0ee1c37866fa1382841183b48f3a2a.tar
guix-ccb402d9db0ee1c37866fa1382841183b48f3a2a.tar.gz
Merge remote-tracking branch 'origin/master' into staging
Diffstat (limited to 'gnu/packages/video.scm')
-rw-r--r--gnu/packages/video.scm131
1 files changed, 102 insertions, 29 deletions
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index f347afbf62..9edb6aff68 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -4000,33 +4000,72 @@ tools for styling them, including a built-in real-time video preview.")
; by upstream). See https://github.com/Aegisub/Aegisub/blob/master/LICENCE
; src/MatroskaParser.(c|h) is under bsd-3 with permission from the author
-(define-public gst-transcoder
- (package
- (name "gst-transcoder")
- (version "1.12.2")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/pitivi/gst-transcoder")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0nw1zykqc6c8xs3ri55pm00pwyz93z4y4nd880apfiwj7yv5p3az"))))
- (build-system meson-build-system)
- (inputs
- `(("gobject-introspection" ,gobject-introspection)
- ("glib" ,glib)
- ("gstreamer" ,gstreamer)
- ("gst-plugins-base" ,gst-plugins-base)))
+(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"))
+ (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"))))
+ (build-system meson-build-system)
+ (inputs
+ `(("glib" ,glib)
+ ("gst-editing-services" ,gst-editing-services)
+ ("gstreamer" ,gstreamer)
+ ("gst-plugins-base" ,gst-plugins-base)
+ ("gst-plugins-good" ,gst-plugins-good)
+ ("gst-plugins-bad"
+ ,(gst-plugins/selection gst-plugins-bad
+ #:plugins '("debugutils" "transcoder")
+ #:configure-flags '("-Dintrospection=enabled")))
+ ("gst-libav" ,gst-libav)
+ ("gsound" ,gsound)
+ ("gtk+" ,gtk+)
+ ("gdk-pixbuf+svg" ,gdk-pixbuf+svg)
+ ("libpeas" ,libpeas)
+ ("libnotify" ,libnotify)
+ ("pango" ,pango)
+ ("python-gst" ,python-gst)
+ ("python-numpy" ,python-numpy)
+ ("python-matplotlib" ,python-matplotlib)
+ ("python-pycairo" ,python-pycairo)
+ ("python-pygobject" ,python-pygobject)))
(native-inputs
- `(("python" ,python)
+ `(("gettext" ,gettext-minimal)
+ ("glib:bin" ,glib "bin")
+ ("itstool" ,itstool)
("pkg-config" ,pkg-config)))
- (home-page "https://github.com/pitivi/gst-transcoder/")
- (synopsis "GStreamer Transcoding API")
- (description "GStreamer Transcoding API")
- (license license:lgpl2.1)))
+ (arguments
+ `(#:glib-or-gtk? #t
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'glib-or-gtk-wrap 'wrap-other-dependencies
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((prog (string-append (assoc-ref outputs "out")
+ "/bin/pitivi")))
+ (wrap-program prog
+ `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
+ `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))
+ ;; We've only added inputs for what Pitivi deems either
+ ;; necessary or optional. Let the user's packages take
+ ;; precedence in case they have e.g. the full gst-plugins-bad.
+ `("GST_PLUGIN_SYSTEM_PATH" suffix
+ (,(getenv "GST_PLUGIN_SYSTEM_PATH")))))
+ #t)))))
+ (home-page "http://www.pitivi.org")
+ (synopsis "Video editor based on GStreamer Editing Services")
+ (description "Pitivi is a video editor built upon the GStreamer Editing
+Services. It aims to be an intuitive and flexible application that can appeal
+to newbies and professionals alike.")
+ (license license:lgpl2.1+))))
(define-public gavl
(package
@@ -4604,14 +4643,14 @@ transcode or reformat the videos in any way, producing perfect backups.")
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/OpenVisualCloud/SVT-AV1")
+ (url "https://github.com/AOMediaCodec/SVT-AV1")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1wzamg89azi1f93wxvdy7silsgklckc754ca066k33drvyacicyw"))))
(build-system cmake-build-system)
- ;; SVT-AV1 only supports Intel-compatible CPUs.
- (supported-systems '("x86_64-linux" "i686-linux"))
+ ;; SVT-AV1 only supports 64-bit Intel-compatible CPUs.
+ (supported-systems '("x86_64-linux"))
(arguments
;; The test suite tries to download test data and git clone a 3rd-party
;; fork of libaom. Skip it.
@@ -4630,7 +4669,41 @@ 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/OpenVisualCloud/SVT-AV1")
+ (home-page "https://github.com/AOMediaCodec/SVT-AV1")
+ (license license:bsd-2)))
+
+(define-public svt-vp9
+ (package
+ (name "svt-vp9")
+ (version "0.3.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/OpenVisualCloud/SVT-VP9")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1ypdiw4cq22llvm8jyszxdq6r1aydkj80dsxjarjn5b7c1f2q3ar"))))
+ ;; SVT-AV1 only supports 64-bit Intel-compatible CPUs.
+ (supported-systems '("x86_64-linux"))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ; No test suite
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'install-documentation
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref %outputs "out"))
+ (doc (string-append out "/share/doc/" ,name "-" ,version)))
+ (copy-recursively "../source/Docs" doc)
+ #t))))))
+ (native-inputs
+ `(("yasm" ,yasm)))
+ (home-page "https://github.com/OpenVisualCloud/SVT-VP9")
+ (synopsis "VP9 video encoder")
+ (description "SVT-VP9 is a VP9 video encoder implementation. It is focused
+on supporting video-on-demand and live encoding on Intel Xeon processors.")
(license license:bsd-2)))
(define-public w-scan