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.scm158
1 files changed, 100 insertions, 58 deletions
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 4ac1b68077..7a1520c991 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 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
-;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015 Andy Patterson <ajpatter@uwaterloo.ca>
;;; Copyright © 2015, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017, 2018 Alex Vong <alexvong1995@gmail.com>
@@ -15,13 +15,13 @@
;;; Copyright © 2016, 2018, 2019 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2017 Feng Shu <tumashu@163.com>
-;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018, 2019 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>
;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 Gregor Giesen <giesen@zaehlwerk.net>
-;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
+;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Roel Janssen <roel@gnu.org>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
@@ -31,6 +31,7 @@
;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2018 Mark Meyer <mark@ofosos.org>
;;; Copyright © 2018 Gábor Boskovit <boskovits@gmail.com>
+;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -81,8 +82,8 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
#:use-module (gnu packages curl)
- #:use-module (gnu packages databases)
#:use-module (gnu packages dejagnu)
+ #:use-module (gnu packages dns)
#:use-module (gnu packages docbook)
#:use-module (gnu packages documentation)
#:use-module (gnu packages elf)
@@ -117,10 +118,12 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages popt)
+ #:use-module (gnu packages protobuf)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
+ #:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages rdesktop)
#:use-module (gnu packages ruby)
@@ -128,6 +131,7 @@
#:use-module (gnu packages sdl)
#:use-module (gnu packages serialization)
#:use-module (gnu packages shells)
+ #:use-module (gnu packages sqlite)
#:use-module (gnu packages ssh)
#:use-module (gnu packages swig)
#:use-module (gnu packages texinfo)
@@ -395,7 +399,7 @@ and creating Matroska files from other media files (@code{mkvmerge}).")
(define-public x265
(package
(name "x265")
- (version "2.9")
+ (version "3.0")
(outputs '("out" "static"))
(source
(origin
@@ -404,9 +408,8 @@ and creating Matroska files from other media files (@code{mkvmerge}).")
"x265_" version ".tar.gz"))
(sha256
(base32
- "090hp4216isis8q5gb7bwzia8rfyzni54z21jnwm97x3hiy6ibpb"))
- (patches (search-patches "x265-arm-flags.patch"
- "x265-detect512-all-arches.patch"))
+ "0qh65wdpasrspkm1y0dlfa123myax568yi0sas0lmg5b1hkgrff5"))
+ (patches (search-patches "x265-arm-flags.patch"))
(modules '((guix build utils)))
(snippet '(begin
(delete-file-recursively "source/compat/getopt")
@@ -701,6 +704,7 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).")
("libbluray" ,libbluray)
("libcaca" ,libcaca)
("libcdio-paranoia" ,libcdio-paranoia)
+ ("libdrm" ,libdrm)
("libtheora" ,libtheora)
("libva" ,libva)
("libvdpau" ,libvdpau)
@@ -802,6 +806,7 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).")
"--enable-libx265"
"--enable-openal"
"--enable-opengl"
+ "--enable-libdrm"
"--enable-runtime-cpudetect"
@@ -865,25 +870,33 @@ audio/video codec library.")
(base32
"0b59qk5wpc5ksiha76jbhb859g5gxa4w0k6afh3kgvgajiivs73l"))))))
-(define-public ffmpeg-2.8
- (package
- (inherit ffmpeg)
- (version "2.8.15")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
- version ".tar.xz"))
- (sha256
- (base32
- "065xbvnfmxfbfrc14cavpqyd2slil99vcjksw4ndb7w8zdh0wp3v"))))
- (arguments
- (substitute-keyword-arguments (package-arguments ffmpeg)
- ((#:configure-flags flags)
- `(map (lambda (flag)
- (if (string=? flag "--disable-mipsdsp")
- "--disable-mipsdspr1"
- flag))
- ,flags))))))
+(define-public ffmpeg-for-stepmania
+ (hidden-package
+ (package
+ (inherit ffmpeg)
+ (version "2.1.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/stepmania/ffmpeg.git")
+ (commit "eda6effcabcf9c238e4635eb058d72371336e09b")))
+ (sha256
+ (base32 "1by8rmbva8mfrivdbbkr2gx4kga89zqygkd4cfjl76nr8mdcdamb"))
+ (file-name (git-file-name "ffmpeg" version))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments ffmpeg)
+ ((#:configure-flags flags)
+ '(list "--disable-programs"
+ "--disable-doc"
+ "--disable-debug"
+ "--disable-avdevice"
+ "--disable-swresample"
+ "--disable-postproc"
+ "--disable-avfilter"
+ "--disable-shared"
+ "--enable-static"))))
+ (inputs '()))))
(define-public ffmpegthumbnailer
(package
@@ -916,31 +929,19 @@ thumbnailer uses ffmpeg to decode frames from the video files, so supported
videoformats depend on the configuration flags of ffmpeg.")
(license license:gpl2+)))
-;; Fix build with newer x264.
-(define %vlc-libx264-compat.patch
- (origin
- (method url-fetch)
- (uri (string-append "https://git.videolan.org/?p=vlc.git;a=patch;h="
- "a8953ba707cca1f2de372ca24513296bcfcdaaa8"))
- (file-name "vlc-libx264-compat.patch")
- (sha256
- (base32
- "04igckbdp3sbp8vh0ihmhcf3yjyyk9r3cd5dm9mn9j6vipi1dg3g"))))
-
(define-public vlc
(package
(name "vlc")
- (version "3.0.4")
+ (version "3.0.6")
(source (origin
(method url-fetch)
(uri (string-append
"https://download.videolan.org/pub/videolan/vlc/"
(car (string-split version #\-))
"/vlc-" version ".tar.xz"))
- (patches (list %vlc-libx264-compat.patch))
(sha256
(base32
- "17jsq0zqpqyxw4ckvjba0hf6zk8ywc4wf8sy3z03hh3ij0vxpwq1"))))
+ "1lvyyahv6g9zv7m5g5qinyrwmw47zdsd5ysimb862j7kw15nvh8q"))))
(build-system gnu-build-system)
(native-inputs
`(("flex" ,flex)
@@ -977,6 +978,7 @@ videoformats depend on the configuration flags of ffmpeg.")
("libkate" ,libkate)
("libmad" ,libmad)
("libmatroska" ,libmatroska)
+ ("libmicrodns" ,libmicrodns)
("libmodplug" ,libmodplug)
("libmpeg2" ,libmpeg2)
("libogg" ,libogg)
@@ -1004,6 +1006,7 @@ videoformats depend on the configuration flags of ffmpeg.")
("opus" ,opus)
("perl" ,perl)
("pulseaudio" ,pulseaudio)
+ ("protobuf" ,protobuf)
("python" ,python-wrapper)
("qtbase" ,qtbase)
("qtsvg" ,qtsvg)
@@ -1088,7 +1091,7 @@ videoformats depend on the configuration flags of ffmpeg.")
(synopsis "Audio and video framework")
(description "VLC is a cross-platform multimedia player and framework
that plays most multimedia files as well as DVD, Audio CD, VCD, and various
-treaming protocols.")
+streaming protocols.")
(license license:gpl2+)))
(define-public mplayer
@@ -1270,7 +1273,7 @@ projects while introducing many more.")
(define-public gnome-mpv
(package
(name "gnome-mpv")
- (version "0.15")
+ (version "0.16")
(source
(origin
(method url-fetch)
@@ -1279,7 +1282,7 @@ projects while introducing many more.")
".tar.xz"))
(sha256
(base32
- "1y47abkidxh1il0bvq8r3dglwn3ggsy41x2n7ic3x23wvvcqmq74"))))
+ "0jzdzvhcqp5jp1inwk2466zf7r8iimk3x69066gl8mzaay98mk92"))))
(native-inputs
`(("intltool" ,intltool)
("pkg-config" ,pkg-config)))
@@ -1338,15 +1341,15 @@ access to mpv's powerful playback capabilities.")
(define-public youtube-dl
(package
(name "youtube-dl")
- (version "2018.11.07")
+ (version "2019.01.30.1")
(source (origin
(method url-fetch)
- (uri (string-append "https://yt-dl.org/downloads/"
- version "/youtube-dl-"
+ (uri (string-append "https://github.com/rg3/youtube-dl/releases/"
+ "download/" version "/youtube-dl-"
version ".tar.gz"))
(sha256
(base32
- "1rvc2m2kbm2kycqsa7fkcg5gql9f0w3hn1a7jg48zzl06ayggxk9"))))
+ "0wamv1fs4w8jjx67p60rgrgdi6k04yy0h4p3cwscza5pzhpmvnlf"))))
(build-system python-build-system)
(arguments
;; The problem here is that the directory for the man page and completion
@@ -1527,6 +1530,15 @@ audio, images) from the Web. It can use either mpv or vlc for playback.")
#:module-build-flags '("--gtk")
#:phases
(modify-phases %standard-phases
+ (add-after 'install 'install-desktop
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (sharedir (string-append out "/share")))
+ (install-file "share/gtk-youtube-viewer.desktop"
+ (string-append sharedir "/applications"))
+ (install-file "share/icons/gtk-youtube-viewer.png"
+ (string-append sharedir "/pixmaps"))
+ #t)))
(add-after 'install 'wrap-program
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -1942,7 +1954,8 @@ and custom quantization matrices.")
(uri (pypi-uri "streamlink" version))
(sha256
(base32
- "0l2145fd60i76afjisfxd48cwhwyir07i7s3bnimdq5db2kzkix8"))))
+ "0l2145fd60i76afjisfxd48cwhwyir07i7s3bnimdq5db2kzkix8"))
+ (patches (search-patches "streamlink-update-test.patch"))))
(build-system python-build-system)
(home-page "https://github.com/streamlink/streamlink")
(native-inputs
@@ -2108,16 +2121,16 @@ be used for realtime video capture via Linux-specific APIs.")
(define-public obs
(package
(name "obs")
- (version "20.1.3")
+ (version "22.0.3")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/jp9000/obs-studio.git")
+ (url "https://github.com/obsproject/obs-studio.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
- "0qdpa2xxiiw53ksvlrf80jm8gz6kxsn56sffv2v2ijxvy7kw5zcg"))))
+ "0ri9qkqk3h71b1a5bwpjzqdr21bbmfqbykg48l779d20zln23n1i"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ; no tests
@@ -2685,15 +2698,18 @@ MPEG-2, MPEG-4, DVD (VOB)...
(define-public mediainfo
(package
(name "mediainfo")
- (version "0.7.95")
+ (version "18.12")
(source (origin
(method url-fetch)
+ ;; Warning: This source has proved unreliable 1 time at least.
+ ;; Consider an alternate source or report upstream if this
+ ;; happens again.
(uri (string-append "https://mediaarea.net/download/source/"
name "/" version "/"
name "_" version ".tar.bz2"))
(sha256
(base32
- "0dy51a3i79jppmg1gi4f6h7jx4hcgnkmfim4d7d3gmnlbkjh8anv"))))
+ "1ix95ilcjlawcq6phh25cgplm3riqa2ii7ql82g8yagqs4ldqp6a"))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
@@ -2711,10 +2727,7 @@ MPEG-2, MPEG-4, DVD (VOB)...
(add-after 'unpack 'change-to-build-dir
(lambda _
(chdir "Project/GNU/CLI")
- #t))
- (add-after 'change-to-build-dir 'autogen
- (lambda _
- (invoke "sh" "autogen.sh"))))))
+ #t)))))
(home-page "https://mediaarea.net/en/MediaInfo")
(synopsis "Utility for reading media metadata")
(description "MediaInfo is a utility used for retrieving technical
@@ -3288,3 +3301,32 @@ transitions, and effects and then export your film to many common formats.")
(description "dav1d is a new AV1 cross-platform decoder, and focused on
speed and correctness.")
(license license:bsd-2)))
+
+(define-public wlstream
+ (let ((commit "182076a94562b128c3a97ecc53cc68905ea86838")
+ (revision "1"))
+ (package
+ (name "wlstream")
+ (version (git-version "0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/atomnuker/wlstream.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "01qbcgfl3g9kfwn1jf1z9pdj3bvf5lmg71d1vwkcllc2az24bjqp"))))
+ (build-system meson-build-system)
+ (native-inputs `(("libdrm" ,libdrm)
+ ("pkg-config" ,pkg-config)))
+ (inputs `(("ffmpeg" ,ffmpeg)
+ ("pulseaudio" ,pulseaudio)
+ ("wayland" ,wayland)
+ ("wayland-protocols" ,wayland-protocols)))
+ (home-page "https://github.com/atomnuker/wlstream")
+ (synopsis "Screen capture tool for Wayland sessions")
+ (description "Wlstream is a screen capture tool for recording audio and
+video from a Wayland session.")
+ (license license:lgpl2.1+))))