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.scm242
1 files changed, 146 insertions, 96 deletions
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 371d90a59c..25b243ab63 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -3,10 +3,10 @@
;;; Copyright © 2014, 2015, 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
-;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015 Andy Patterson <ajpatter@uwaterloo.ca>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2015, 2016, 2017 Alex Vong <alexvong1995@gmail.com>
+;;; Copyright © 2015, 2016, 2017, 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2016, 2017 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2016 Dmitry Nikolaev <cameltheman@gmail.com>
@@ -21,8 +21,9 @@
;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 Gregor Giesen <giesen@zaehlwerk.net>
-;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
+;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Roel Janssen <roel@gnu.org>
+;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -89,6 +90,7 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
+ #:use-module (gnu packages iso-codes)
#:use-module (gnu packages libreoffice)
#:use-module (gnu packages linux)
#:use-module (gnu packages lua)
@@ -102,6 +104,7 @@
#:use-module (gnu packages popt)
#: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 qt)
#:use-module (gnu packages ruby)
@@ -113,6 +116,7 @@
#:use-module (gnu packages textutils)
#:use-module (gnu packages tls)
#:use-module (gnu packages version-control)
+ #:use-module (gnu packages vulkan)
#:use-module (gnu packages web)
#:use-module (gnu packages webkit)
#:use-module (gnu packages wxwidgets)
@@ -373,7 +377,7 @@ and creating Matroska files from other media files (@code{mkvmerge}).")
(define-public x265
(package
(name "x265")
- (version "2.4")
+ (version "2.6")
(source
(origin
(method url-fetch)
@@ -381,7 +385,7 @@ and creating Matroska files from other media files (@code{mkvmerge}).")
"x265_" version ".tar.gz"))
(sha256
(base32
- "0afp0xlk0fb4q6j4sh3hyvjnjccdp61sn21zg3fyqvwgswcafalw"))
+ "1gyd94jkwdii9308m07nymsbxrmrcl81c0j8i10zhslr2mj07w0v"))
(modules '((guix build utils)))
(snippet
'(delete-file-recursively "source/compat/getopt"))))
@@ -508,25 +512,25 @@ SMPTE 314M.")
(define-public libmatroska
(package
(name "libmatroska")
- (version "1.4.7")
+ (version "1.4.8")
(source
(origin
(method url-fetch)
(uri (string-append "https://dl.matroska.org/downloads/"
- name "/" name "-" version ".tar.bz2"))
+ name "/" name "-" version ".tar.xz"))
(sha256
(base32
- "1yi5cnv13nhl27xyqayd5l3sf0j3swfj3apzibv71yg9pariwi26"))))
+ "14n9sw974prr3yp4yjb7aadi6x2yz5a0hjw8fs3qigy5shh2piyq"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("libebml" ,libebml)))
(home-page "https://www.matroska.org")
- (synopsis "C++ libary to parse Matroska files (.mkv and .mka)")
+ (synopsis "C++ library to parse Matroska files (.mkv and .mka)")
(description
"Matroska aims to become the standard of multimedia container formats.
-It is based on EBML (Extensible Binary Meta Language), a binary derivative
+It is based on @dfn{EBML} (Extensible Binary Meta Language), a binary derivative
of XML. EBML enables the Matroska Development Team to gain significant
advantages in terms of future format extensibility, without breaking file
support in old parsers.
@@ -590,14 +594,14 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).")
(define-public ffmpeg
(package
(name "ffmpeg")
- (version "3.4.1")
+ (version "3.4.2")
(source (origin
(method url-fetch)
(uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
version ".tar.xz"))
(sha256
(base32
- "1h4iz7q10wj04awr2wvmp60n7b09pfwrgwbbw9sgl7klcf52fxss"))))
+ "0h6prjn1ijkzzhkyj8mazp0wpx7m0n9ycadjxagf9czqirbyk4ib"))))
(build-system gnu-build-system)
(inputs
`(("fontconfig" ,fontconfig)
@@ -766,14 +770,14 @@ audio/video codec library.")
(define-public ffmpeg-2.8
(package
(inherit ffmpeg)
- (version "2.8.13")
+ (version "2.8.14")
(source (origin
(method url-fetch)
(uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
version ".tar.xz"))
(sha256
(base32
- "0hyqr391pika4vgynv90bacz11wdpqcqfgj5h7g5jrmgvz6hgj68"))))
+ "05m1272r5qa2r0ym5vq4figdfnpvcys1fgb1026n5s6xdjd1s1pg"))))
(arguments
(substitute-keyword-arguments (package-arguments ffmpeg)
((#:configure-flags flags)
@@ -1006,7 +1010,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
(define-public mpv
(package
(name "mpv")
- (version "0.28.0")
+ (version "0.28.2")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1014,7 +1018,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
".tar.gz"))
(sha256
(base32
- "1d2p6k3y9lqx8bpdal4grrj8ljy7pvd8qgdq8004fmr38afmbb7f"))
+ "15fp4sa5glqhgidd54vs6knf9dp809wszzsqiqz5nyri4ph19nma"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system waf-build-system)
(native-inputs
@@ -1052,6 +1056,8 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
("mpg123" ,mpg123)
("pulseaudio" ,pulseaudio)
("rsound" ,rsound)
+ ("shaderc" ,shaderc)
+ ("vulkan-icd-loader" ,vulkan-icd-loader)
("waf" ,python-waf)
("wayland" ,wayland)
("wayland-protocols" ,wayland-protocols)
@@ -1112,32 +1118,33 @@ access to mpv's powerful playback capabilities.")
(define-public libvpx
(package
(name "libvpx")
- (version "1.6.1")
+ (version "1.7.0")
(source (origin
- (method url-fetch)
- (uri (string-append "http://storage.googleapis.com/"
- "downloads.webmproject.org/releases/webm/"
- name "-" version ".tar.bz2"))
+ ;; XXX: Upstream does not provide tarballs for > 1.6.1.
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://chromium.googlesource.com/webm/libvpx")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "06d8hqjkfs6wl45qf4pwh1kpbvkx6cwywd5y8d4lgagvjwm0qb0w"))
+ "0vvh89hvp8qg9an9vcmwb7d9k3nixhxaz6zi65qdjnd0i56kkcz6"))
(patches (search-patches "libvpx-CVE-2016-2818.patch"))))
(build-system gnu-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (replace 'configure
- (lambda* (#:key outputs #:allow-other-keys)
- (setenv "CONFIG_SHELL" (which "bash"))
- (let ((out (assoc-ref outputs "out")))
- (setenv "LDFLAGS"
- (string-append "-Wl,-rpath=" out "/lib"))
- (zero? (system* "./configure"
- "--enable-shared"
+ `(#:configure-flags (list "--enable-shared"
"--as=yasm"
;; Limit size to avoid CVE-2015-1258
"--size-limit=16384x16384"
- (string-append "--prefix=" out)))))))
+ (string-append "--prefix=" (assoc-ref %outputs "out")))
+ #:make-flags (list (string-append "LDFLAGS=-Wl,-rpath="
+ (assoc-ref %outputs "out") "/lib"))
+ #:phases (modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key configure-flags #:allow-other-keys)
+ ;; 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
(native-inputs
`(("perl" ,perl)
@@ -1145,12 +1152,12 @@ access to mpv's powerful playback capabilities.")
(synopsis "VP8/VP9 video codec")
(description "libvpx is a codec for the VP8/VP9 video compression format.")
(license license:bsd-3)
- (home-page "http://www.webmproject.org/")))
+ (home-page "https://www.webmproject.org/")))
(define-public youtube-dl
(package
(name "youtube-dl")
- (version "2018.01.07")
+ (version "2018.02.11")
(source (origin
(method url-fetch)
(uri (string-append "https://yt-dl.org/downloads/"
@@ -1158,7 +1165,7 @@ access to mpv's powerful playback capabilities.")
version ".tar.gz"))
(sha256
(base32
- "1dp1yk93mngih50p1zjbh8bi5pqh10wicjcmmrdp73cpcp2i2398"))))
+ "0zg34spkfiwjq55jrk417ifdcyvrj80gdbc338rdpfw2s6ibggv8"))))
(build-system python-build-system)
(arguments
;; The problem here is that the directory for the man page and completion
@@ -1181,11 +1188,12 @@ access to mpv's powerful playback capabilities.")
(("'etc/")
(string-append "'" prefix "/etc/"))
(("'share/")
- (string-append "'" prefix "/share/")))))))))
+ (string-append "'" prefix "/share/")))
+ #t))))))
(synopsis "Download videos from YouTube.com and other sites")
(description
"Youtube-dl is a small command-line program to download videos from
-YouTube.com and a few more sites.")
+YouTube.com and many more sites.")
(home-page "https://yt-dl.org")
(license license:public-domain)))
@@ -1306,7 +1314,7 @@ audio, images) from the Web. It can use either mpv or vlc for playback.")
(define-public libbluray
(package
(name "libbluray")
- (version "1.0.1")
+ (version "1.0.2")
(source (origin
(method url-fetch)
(uri (string-append "https://download.videolan.org/videolan/"
@@ -1314,12 +1322,23 @@ audio, images) from the Web. It can use either mpv or vlc for playback.")
name "-" version ".tar.bz2"))
(sha256
(base32
- "0fl5cxfj870rwqmmz3s04wh7wnabb7rnynfj1v3sz37ln8frm7qg"))))
+ "1zxfnw1xbghcj7b3zz5djndv6gwssxda19cz1lrlqrkg8577r7kd"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--disable-bdjava-jar")
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'refer-to-libxml2-in-.pc-file
+ ;; Avoid the need to propagate libxml2 by referring to it
+ ;; directly, as is already done for fontconfig & freetype.
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((libxml2 (assoc-ref inputs "libxml2")))
+ (substitute* "configure"
+ ((" libxml-2.0") ""))
+ (substitute* "src/libbluray.pc.in"
+ (("^Libs.private:" field)
+ (string-append field " -L" libxml2 "/lib -lxml2")))
+ #t)))
(add-before 'build 'fix-dlopen-paths
(lambda* (#:key inputs #:allow-other-keys)
(let ((libaacs (assoc-ref inputs "libaacs"))
@@ -1348,7 +1367,7 @@ players, like VLC or MPlayer.")
(define-public libdvdread
(package
(name "libdvdread")
- (version "5.0.3")
+ (version "6.0.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.videolan.org/videolan/"
@@ -1356,7 +1375,7 @@ players, like VLC or MPlayer.")
name "-" version ".tar.bz2"))
(sha256
(base32
- "0ayqiq0psq18rcp6f5pz82sxsq66v0kwv0y55dbrcg68plnxy71j"))))
+ "0dgr23fzcjhb7ck54xkr9zmf4jcq3ph0dz3fbyvla1c6ni9ijfxk"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--with-libdvdcss=yes")))
@@ -1404,7 +1423,7 @@ MPEG-2 stream containing VOB packets.")
(define-public libdvdnav
(package
(name "libdvdnav")
- (version "5.0.3")
+ (version "6.0.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.videolan.org/videolan/"
@@ -1412,7 +1431,7 @@ MPEG-2 stream containing VOB packets.")
name "-" version ".tar.bz2"))
(sha256
(base32
- "0v8byv5z598k06rqzdmj7739vc86xq3zf79zfr698dib7lz055sh"))))
+ "062njcksmpgw9yv3737qkf93r2pzhaxi9szqjabpa8d010dp38ph"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@@ -1433,35 +1452,10 @@ DVD virtual machine and internal playback states are completely
encapsulated.")
(license license:gpl2+)))
-(define-public libdvdnav-4
- (package
- (inherit libdvdnav)
- (version "4.2.1")
- (source (origin
- (method url-fetch)
- (uri
- (string-append
- "https://download.videolan.org/videolan/libdvdnav/libdvdnav-"
- version ".tar.xz"))
- (sha256
- (base32
- "0wi3gy408c8xj0ism0hckv5jbfh3lg4pmgxv87gbch9jrhp2gjkz"))))
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("autoconf" ,autoconf)
- ("automake" ,automake)
- ("libtool" ,libtool)))
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'autoreconf
- (lambda _
- (zero? (system* "autoreconf" "-vif")))))))))
-
(define-public libdvdcss
(package
(name "libdvdcss")
- (version "1.4.0")
+ (version "1.4.1")
(source (origin
(method url-fetch)
(uri (string-append "https://download.videolan.org/pub/"
@@ -1469,7 +1463,7 @@ encapsulated.")
name "-" version ".tar.bz2"))
(sha256
(base32
- "0nl45ifc4xcb196snv9d6hinfw614cqpzcqp92dg43c0hickg290"))))
+ "1b7awvyahivglp7qmgx2g5005kc5npv257gw7wxdprjsnx93f1zb"))))
(build-system gnu-build-system)
(home-page "https://www.videolan.org/developers/libdvdcss.html")
(synopsis "Library for accessing DVDs as block devices")
@@ -1700,30 +1694,38 @@ pixel motion compensation, lumi masking, trellis quantization, and H.263, MPEG
and custom quantization matrices.")
(license license:gpl2+)))
-(define-public livestreamer
+(define-public streamlink
(package
- (name "livestreamer")
- (version "1.12.2")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/chrippa/livestreamer/archive/v"
- version ".tar.gz"))
- (file-name (string-append "livestreamer-" version ".tar.gz"))
- (sha256
- (base32
- "1fp3d3z2grb1ls97smjkraazpxnvajda2d1g1378s6gzmda2jvjd"))))
+ (name "streamlink")
+ (version "0.10.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "streamlink" version))
+ (sha256
+ (base32
+ "17299xnd9jzi7m1d2rr4xdlj47q64bzj2957nlsrhw0hskds1s6h"))))
(build-system python-build-system)
- (arguments
- '(#:tests? #f)) ; tests rely on external web servers
+ (home-page "https://github.com/streamlink/streamlink")
+ (native-inputs
+ `(("python-pytest" ,python-pytest)
+ ("python-mock" ,python-mock)
+ ("python-requests-mock" ,python-requests-mock)))
(propagated-inputs
- `(("python-requests" ,python-requests)))
- (synopsis "Internet video stream viewer")
- (description "Livestreamer is a command-line utility that extracts streams
-from various services and pipes them into a video playing application.")
- (home-page "http://livestreamer.io/")
+ `(("python-pysocks" ,python-pysocks)
+ ("python-websocket-client" ,python-websocket-client)
+ ("python-iso3166" ,python-iso3166)
+ ("python-iso639" ,python-iso639)
+ ("python-pycryptodome" ,python-pycryptodome)
+ ("python-requests" ,python-requests)))
+ (synopsis "Extract streams from various services")
+ (description "Streamlink is command-line utility that extracts streams
+from sites like Twitch.tv and pipes them into a video player of choice.")
(license license:bsd-2)))
+(define-public livestreamer
+ (deprecated-package "livestreamer" streamlink))
+
(define-public mlt
(package
(name "mlt")
@@ -1975,7 +1977,7 @@ making @dfn{screencasts}.")
(define-public simplescreenrecorder
(package
(name "simplescreenrecorder")
- (version "0.3.8")
+ (version "0.3.9")
(source
(origin
(method url-fetch)
@@ -1984,8 +1986,8 @@ making @dfn{screencasts}.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0v8w35n8w772s08w7k0icynqdsdakbrcanbgx6j847bfqfsg21gg"))))
- (build-system gnu-build-system)
+ "1gnf9wbiq2fcbqcn1a5nfmp8r0nxrrlgh2wly2mfkkwymynhx0pk"))))
+ (build-system cmake-build-system)
;; Although libx11, libxfixes, libxext are listed as build dependencies in
;; README.md, the program builds and functions properly without them.
;; As a result, they are omitted. Please add them back if problems appear.
@@ -1996,8 +1998,12 @@ making @dfn{screencasts}.")
("jack" ,jack-1)
("libxi" ,libxi)
("pulseaudio" ,pulseaudio)
- ("qt" ,qt-4))) ; README.md: using Qt 5 causes some stability issues
+ ("qt" ,qt)))
(native-inputs `(("pkg-config" ,pkg-config)))
+ (arguments
+ `(#:configure-flags
+ (list "-DWITH_QT5=TRUE")
+ #:tests? #f)) ; no test suite
;; Using HTTPS causes part of the page to be displayed improperly.
(home-page "http://www.maartenbaert.be/simplescreenrecorder/")
(synopsis "Screen recorder")
@@ -2486,10 +2492,10 @@ and ITU-T H.222.0.")
(package
(name "ffms2")
(version "2.23")
- (home-page "https://github.com/FFMS/ffms2/")
+ (home-page "https://github.com/FFMS/ffms2")
(source (origin
(method url-fetch)
- (uri (string-append home-page "archive/" version ".tar.gz"))
+ (uri (string-append home-page "/archive/" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -2677,3 +2683,47 @@ It counts more than 100 plugins.")
;; src/filter/ndvi/ndvi.cpp
;; src/filter/facedetect/facedetect.cpp
license:lgpl2.1+))))
+
+(define-public motion
+ (package
+ (name "motion")
+ (version "4.1.1")
+ (home-page "https://motion-project.github.io/")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/Motion-Project/motion/archive/"
+ "release-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1qm4i8zrqafl60sv2frhixvkd0wh0r5jfcrj5i6gha7yplsvjx10"))
+ (file-name (string-append name "-" version ".tar.gz"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("autoconf" ,(autoconf-wrapper))
+ ("automake" ,automake)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("libjpeg" ,libjpeg)
+ ("ffmpeg" ,ffmpeg)
+ ("sqlite" ,sqlite)))
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'bootstrap
+ (lambda _
+ (patch-shebang "version.sh")
+ (invoke "autoreconf" "-vfi"))))
+ #:configure-flags '("--sysconfdir=/etc")
+ #:make-flags (list (string-append "sysconfdir="
+ (assoc-ref %outputs "out")
+ "/etc"))
+
+ #:tests? #f)) ;no 'check' target
+ (synopsis "Detect motion from video signals")
+ (description
+ "Motion is a program that monitors the video signal from one or more
+cameras and is able to detect if a significant part of the picture has
+changed. Or in other words, it can detect motion.")
+
+ ;; Some files say "version 2" and others "version 2 or later".
+ (license license:gpl2)))