diff options
Diffstat (limited to 'nixpkgs/pkgs/tools/video')
21 files changed, 709 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/tools/video/atomicparsley/default.nix b/nixpkgs/pkgs/tools/video/atomicparsley/default.nix new file mode 100644 index 000000000000..d07d6e534297 --- /dev/null +++ b/nixpkgs/pkgs/tools/video/atomicparsley/default.nix @@ -0,0 +1,32 @@ +{ lib, stdenv, fetchFromGitHub, cmake, zlib, Cocoa }: + +stdenv.mkDerivation rec { + pname = "atomicparsley"; + version = "20210124.204813.840499f"; + + src = fetchFromGitHub { + owner = "wez"; + repo = pname; + rev = version; + sha256 = "sha256-/bkfgIWlQobaiad2WD7DUUrTwfYurP7YAINaLTwBEcE="; + }; + + nativeBuildInputs = [ cmake ]; + + buildInputs = [ zlib ] + ++ lib.optionals stdenv.isDarwin [ Cocoa ]; + + installPhase = '' + runHook preInstall + install -D AtomicParsley $out/bin/AtomicParsley + runHook postInstall + ''; + + meta = with lib; { + description = "A CLI program for reading, parsing and setting metadata into MPEG-4 files"; + homepage = "https://github.com/wez/atomicparsley"; + license = licenses.gpl2Plus; + platforms = platforms.unix; + maintainers = with maintainers; [ pjones ]; + }; +} diff --git a/nixpkgs/pkgs/tools/video/bento4/default.nix b/nixpkgs/pkgs/tools/video/bento4/default.nix new file mode 100644 index 000000000000..6ee7c844994e --- /dev/null +++ b/nixpkgs/pkgs/tools/video/bento4/default.nix @@ -0,0 +1,35 @@ +{ lib, stdenv, fetchFromGitHub +, cmake +}: +stdenv.mkDerivation rec { + pname = "bento4"; + version = "1.6.0-637"; + + src = fetchFromGitHub { + owner = "axiomatic-systems"; + repo = "Bento4"; + rev = "v${version}"; + sha256 = "0iwqi71nj0iczffvpxmz0prvmmnyiqypfwvzivkh38wl0br82bkp"; + }; + + patches = [ ./libap4.patch ]; + + nativeBuildInputs = [ cmake ]; + + cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ]; + + installPhase = '' + mkdir -p $out/{lib,bin} + find -iname '*.so' -exec mv --target-directory="$out/lib" {} \; + find -maxdepth 1 -executable -type f -exec mv --target-directory="$out/bin" {} \; + ''; + + meta = with lib; { + description = "Full-featured MP4 format and MPEG DASH library and tools"; + homepage = "http://bento4.com"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ makefu ]; + broken = stdenv.isAarch64; + platforms = platforms.unix; + }; +} diff --git a/nixpkgs/pkgs/tools/video/bento4/libap4.patch b/nixpkgs/pkgs/tools/video/bento4/libap4.patch new file mode 100644 index 000000000000..ca2936003b84 --- /dev/null +++ b/nixpkgs/pkgs/tools/video/bento4/libap4.patch @@ -0,0 +1,5 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -36 +36 @@ endif() +-add_library(ap4 STATIC ${AP4_SOURCES}) ++add_library(ap4 ${AP4_SOURCES}) diff --git a/nixpkgs/pkgs/tools/video/dvgrab/default.nix b/nixpkgs/pkgs/tools/video/dvgrab/default.nix new file mode 100644 index 000000000000..18088eb6c308 --- /dev/null +++ b/nixpkgs/pkgs/tools/video/dvgrab/default.nix @@ -0,0 +1,39 @@ +{ fetchFromGitHub, lib, stdenv, libunwind, libraw1394, libjpeg, libiec61883, libdv +, libavc1394, pkg-config, autoreconfHook }: + +stdenv.mkDerivation { + name = "dvgrab-2016-05-16"; + + src = fetchFromGitHub { + # mirror of original project with some build fixes + owner = "ddennedy"; + repo = "dvgrab"; + rev = "e46042e0c7b3523b6854ee547b0534e8310b7460"; + sha256 = "17qy76fjpzrbxm4pj0ljx5lbimxryv24fvr13jwkh24j85dxailn"; + }; + + buildInputs = [ + libunwind libraw1394 libjpeg libiec61883 libdv libavc1394 + ]; + + nativeBuildInputs = [ + autoreconfHook pkg-config + ]; + + meta = with lib; { + description = "Receive and store audio & video over IEEE1394"; + + longDescription = '' + dvgrab receives audio and video data from a digital camcorder via an + IEEE1394 (widely known as FireWire) or USB link and stores them into + one of several file formats. It features autosplit of long video + sequences, and supports saving the data as raw frames, AVI type 1, + AVI type 2, Quicktime DV, a series of JPEG stills or MPEG2-TS. + ''; + + homepage = "http://kinodv.org/"; + + license = licenses.gpl2Plus; + platforms = platforms.gnu ++ platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/tools/video/flvtool2/default.nix b/nixpkgs/pkgs/tools/video/flvtool2/default.nix new file mode 100644 index 000000000000..0875b7ee1d1a --- /dev/null +++ b/nixpkgs/pkgs/tools/video/flvtool2/default.nix @@ -0,0 +1,16 @@ +{ lib, buildRubyGem, ruby }: + +buildRubyGem rec { + inherit ruby; + name = "${gemName}-${version}"; + gemName = "flvtool2"; + version = "1.0.6"; + source.sha256 = "0xsla1061pi4ryh3jbvwsbs8qchprchbqjy7652g2g64v37i74qj"; + + meta = { + homepage = "https://github.com/unnu/flvtool2"; + description = "A tool to manipulate Macromedia Flash Video files"; + platforms = ruby.meta.platforms; + license = lib.licenses.bsd3; + }; +} diff --git a/nixpkgs/pkgs/tools/video/gopro/default.nix b/nixpkgs/pkgs/tools/video/gopro/default.nix new file mode 100644 index 000000000000..a1991772bf10 --- /dev/null +++ b/nixpkgs/pkgs/tools/video/gopro/default.nix @@ -0,0 +1,38 @@ +{ lib, stdenv, fetchFromGitHub +, ffmpeg +, imagemagick +, makeWrapper +, mplayer +}: + +stdenv.mkDerivation rec { + pname = "gopro"; + version = "1.0"; + + src = fetchFromGitHub { + owner = "KonradIT"; + repo = "gopro-linux"; + rev = version; + sha256 = "0sb9vpiadrq8g4ag828h8mvq01fg0306j0wjwkxdmwfqync1128l"; + }; + + nativeBuildInputs = [ makeWrapper ]; + + installPhase = '' + runHook preInstall + + install -Dm755 gopro -t $out/bin + wrapProgram $out/bin/gopro \ + --prefix PATH ":" "${lib.makeBinPath [ ffmpeg imagemagick mplayer ]}" + + runHook postInstall + ''; + + meta = with lib; { + description = "Command line interface for processing media filmed on GoPro HERO 3, 4, 5, 6, and 7 cameras"; + homepage = "https://github.com/KonradIT/gopro-linux"; + platforms = platforms.unix; + license = licenses.gpl3; + maintainers = with maintainers; [ jonringer ]; + }; +} diff --git a/nixpkgs/pkgs/tools/video/harvid/default.nix b/nixpkgs/pkgs/tools/video/harvid/default.nix new file mode 100644 index 000000000000..812457f35cbd --- /dev/null +++ b/nixpkgs/pkgs/tools/video/harvid/default.nix @@ -0,0 +1,42 @@ +{ lib, stdenv, fetchFromGitHub, ffmpeg, libjpeg, libpng, pkg-config }: + +stdenv.mkDerivation rec { + pname = "harvid"; + version = "0.8.3"; + + src = fetchFromGitHub { + owner = "x42"; + repo = "harvid"; + rev = "v${version}"; + sha256 = "0l1plfsfh2ixhlzg3hqqvjj42z7g422718a9kgbh7b4p882n71x7"; + }; + + nativeBuildInputs = [ pkg-config ]; + + buildInputs = [ ffmpeg libjpeg libpng ]; + + makeFlags = [ "DESTDIR=$(out)" "libdir=\"/lib\"" ]; + + postInstall = '' + mkdir -p $out/bin + mv $out/usr/local/bin/* $out/bin + mv $out/usr/local/share $out/ + rm -r $out/usr + ''; + + meta = with lib; { + description = + "Decodes still images from movie files and serves them via HTTP"; + longDescription = '' + harvid's intended use-case is to efficiently provide frame-accurate data + and act as second level cache for rendering the video-timeline in Ardour, + but it is not limited to that: it has applications for any task that + requires a high-performance frame-accurate online image extraction + processor. + ''; + homepage = "http://x42.github.io/harvid"; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ mitchmindtree ]; + }; +} diff --git a/nixpkgs/pkgs/tools/video/mjpegtools/default.nix b/nixpkgs/pkgs/tools/video/mjpegtools/default.nix new file mode 100644 index 000000000000..45f63dc7727d --- /dev/null +++ b/nixpkgs/pkgs/tools/video/mjpegtools/default.nix @@ -0,0 +1,41 @@ +{ stdenv, lib, fetchurl, gtk2, libdv, libjpeg, libpng, libX11, pkg-config, SDL, SDL_gfx +, withMinimal ? true +}: + +# TODO: +# - make dependencies optional +# - libpng-apng as alternative to libpng? +# - libXxf86dga support? checking for XF86DGAQueryExtension in -lXxf86dga... no + +stdenv.mkDerivation rec { + name = "mjpegtools-2.1.0"; + + src = fetchurl { + url = "mirror://sourceforge/mjpeg/${name}.tar.gz"; + sha256 = "01y4xpfdvd4zgv6fmcjny9mr1gbfd4y2i4adp657ydw6fqyi8kw6"; + }; + + hardeningDisable = [ "format" ]; + + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ libdv libjpeg libpng ] + ++ lib.optionals (!withMinimal) [ gtk2 libX11 SDL SDL_gfx ]; + + NIX_CFLAGS_COMPILE = lib.optionalString (!withMinimal) "-I${SDL.dev}/include/SDL"; + + postPatch = '' + sed -i -e '/ARCHFLAGS=/s:=.*:=:' configure + ''; + + enableParallelBuilding = true; + + outputs = [ "out" "lib" ]; + + meta = with lib; { + description = "A suite of programs for processing MPEG or MJPEG video"; + homepage = "http://mjpeg.sourceforge.net/"; + license = licenses.gpl2; + platforms = platforms.unix; + maintainers = with maintainers; [ abbradar ]; + }; +} diff --git a/nixpkgs/pkgs/tools/video/play-with-mpv/default.nix b/nixpkgs/pkgs/tools/video/play-with-mpv/default.nix new file mode 100644 index 000000000000..d9ab0493160e --- /dev/null +++ b/nixpkgs/pkgs/tools/video/play-with-mpv/default.nix @@ -0,0 +1,35 @@ +{ lib, python3Packages, fetchFromGitHub, fetchurl, youtube-dl, git }: + +let + install_freedesktop = fetchurl { + url = "https://github.com/thann/install_freedesktop/tarball/2673e8da4a67bee0ffc52a0ea381a541b4becdd4"; + sha256 = "0j8d5jdcyqbl5p6sc1ags86v3hr2sghmqqi99d1mvc064g90ckrv"; + }; +in +python3Packages.buildPythonApplication rec { + pname = "play-with-mpv"; + version = "unstable-2020-05-18"; + + src = fetchFromGitHub { + owner = "thann"; + repo = "play-with-mpv"; + rev = "656448e03fe9de9e8bd21959f2a3b47c4acb8c3e"; + sha256 = "1qma8b3lnkdhxdjsnrq7n9zgy53q62j4naaqqs07kjxbn72zb4p4"; + }; + + nativeBuildInputs = [ git ]; + propagatedBuildInputs = [ youtube-dl ]; + + postPatch = '' + substituteInPlace setup.py --replace \ + '"https://github.com/thann/install_freedesktop/tarball/master#egg=install_freedesktop-0.2.0"' \ + '"file://${install_freedesktop}#egg=install_freedesktop-0.2.0"' + ''; + + meta = with lib; { + description = "Chrome extension and python server that allows you to play videos in webpages with MPV instead"; + homepage = "https://github.com/Thann/play-with-mpv"; + license = licenses.mit; + maintainers = with maintainers; [ dawidsowa ]; + }; +} diff --git a/nixpkgs/pkgs/tools/video/rav1e/default.nix b/nixpkgs/pkgs/tools/video/rav1e/default.nix new file mode 100644 index 000000000000..17c1b39a92c7 --- /dev/null +++ b/nixpkgs/pkgs/tools/video/rav1e/default.nix @@ -0,0 +1,54 @@ +{ stdenv, rustPlatform, fetchurl, fetchFromGitHub, lib, nasm, cargo-c, libiconv }: + +rustPlatform.buildRustPackage rec { + pname = "rav1e"; + version = "0.4.1"; + + src = stdenv.mkDerivation rec { + name = "${pname}-${version}-source"; + + src = fetchFromGitHub { + owner = "xiph"; + repo = "rav1e"; + rev = "v${version}"; + sha256 = "0jnq5a3fv6fzzbmprzfxidlcwwgblkwwm0135cfw741wjv7f7h6r"; + }; + + cargoLock = fetchurl { + url = "https://github.com/xiph/rav1e/releases/download/v${version}/Cargo.lock"; + sha256 = "14fi9wam9rs5206rvcd2f3sjpzq41pnfml14w74wn2ws3gpi46zn"; + }; + + installPhase = '' + mkdir -p $out + cp -r ./* $out/ + cp ${cargoLock} $out/Cargo.lock + ''; + }; + + cargoSha256 = "0miq6iiywwbxm6k0alnqg6bnd14pwc8vl9d8fgg6c0vjlfy5zhlb"; + nativeBuildInputs = [ nasm cargo-c ]; + buildInputs = lib.optionals stdenv.isDarwin [ libiconv ]; + + postBuild = '' + cargo cbuild --release --frozen --prefix=${placeholder "out"} + ''; + + postInstall = '' + cargo cinstall --release --frozen --prefix=${placeholder "out"} + ''; + + meta = with lib; { + description = "The fastest and safest AV1 encoder"; + longDescription = '' + rav1e is an AV1 video encoder. It is designed to eventually cover all use + cases, though in its current form it is most suitable for cases where + libaom (the reference encoder) is too slow. + Features: https://github.com/xiph/rav1e#features + ''; + homepage = "https://github.com/xiph/rav1e"; + changelog = "https://github.com/xiph/rav1e/releases/tag/v${version}"; + license = licenses.bsd2; + maintainers = [ ]; + }; +} diff --git a/nixpkgs/pkgs/tools/video/rtmpdump/default.nix b/nixpkgs/pkgs/tools/video/rtmpdump/default.nix new file mode 100644 index 000000000000..3f71f8abc5ab --- /dev/null +++ b/nixpkgs/pkgs/tools/video/rtmpdump/default.nix @@ -0,0 +1,52 @@ +{ lib, stdenv, fetchgit, fetchpatch, zlib +, gnutlsSupport ? false, gnutls ? null, nettle ? null +, opensslSupport ? true, openssl ? null +}: + +# Must have an ssl library enabled +assert (gnutlsSupport || opensslSupport); +assert gnutlsSupport -> gnutlsSupport != null && nettle != null && !opensslSupport; +assert opensslSupport -> openssl != null && !gnutlsSupport; + +with lib; +stdenv.mkDerivation { + pname = "rtmpdump"; + version = "2019-03-30"; + + src = fetchgit { + url = "git://git.ffmpeg.org/rtmpdump"; + # Currently the latest commit is used (a release has not been made since 2011, i.e. '2.4') + rev = "c5f04a58fc2aeea6296ca7c44ee4734c18401aa3"; + sha256 = "07ias612jgmxpam9h418kvlag32da914jsnjsfyafklpnh8gdzjb"; + }; + + patches = [ + # Fix build with OpenSSL 1.1 + (fetchpatch { + url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-video/rtmpdump/files/rtmpdump-openssl-1.1.patch?id=1e7bef484f96e7647f5f0911d3c8caa48131c33b"; + sha256 = "1wds98pk8qr7shkfl8k49iirxiwd972h18w84bamiqln29wv6ql1"; + }) + ]; + + makeFlags = [ "prefix=$(out)" ] + ++ optional gnutlsSupport "CRYPTO=GNUTLS" + ++ optional opensslSupport "CRYPTO=OPENSSL" + ++ optional stdenv.isDarwin "SYS=darwin" + ++ optional stdenv.cc.isClang "CC=clang"; + + propagatedBuildInputs = [ zlib ] + ++ optionals gnutlsSupport [ gnutls nettle ] + ++ optional opensslSupport openssl; + + outputs = [ "out" "dev" ]; + + separateDebugInfo = true; + + meta = { + description = "Toolkit for RTMP streams"; + homepage = "http://rtmpdump.mplayerhq.hu/"; + license = licenses.gpl2; + platforms = platforms.unix; + maintainers = with maintainers; [ codyopel ]; + }; +} diff --git a/nixpkgs/pkgs/tools/video/svt-av1/default.nix b/nixpkgs/pkgs/tools/video/svt-av1/default.nix new file mode 100644 index 000000000000..69ded2307de4 --- /dev/null +++ b/nixpkgs/pkgs/tools/video/svt-av1/default.nix @@ -0,0 +1,39 @@ +{ lib, stdenv, fetchFromGitHub, cmake, nasm }: + +stdenv.mkDerivation rec { + pname = "svt-av1"; + version = "0.8.6"; + + src = fetchFromGitHub { + owner = "AOMediaCodec"; + repo = "SVT-AV1"; + rev = "v${version}"; + sha256 = "1wzamg89azi1f93wxvdy7silsgklckc754ca066k33drvyacicyw"; + }; + + nativeBuildInputs = [ cmake nasm ]; + + meta = with lib; { + description = "AV1-compliant encoder/decoder library core"; + longDescription = '' + The Scalable Video Technology for AV1 (SVT-AV1 Encoder and Decoder) is an + AV1-compliant encoder/decoder library core. The SVT-AV1 encoder + development is a work-in-progress targeting performance levels applicable + to both VOD and Live encoding / transcoding video applications. The + SVT-AV1 decoder implementation is targeting future codec research + activities. + ''; + inherit (src.meta) homepage; + changelog = "https://github.com/AOMediaCodec/SVT-AV1/blob/v${version}/CHANGELOG.md"; + license = with licenses; [ + bsd2 + { + fullName = "Alliance for Open Media Patent License 1.0"; + url = "https://aomedia.org/license/patent-license/"; + } + ]; + platforms = platforms.unix; + broken = stdenv.isAarch64; # undefined reference to `cpuinfo_arm_linux_init' + maintainers = with maintainers; [ chiiruno ]; + }; +} diff --git a/nixpkgs/pkgs/tools/video/swfmill/default.nix b/nixpkgs/pkgs/tools/video/swfmill/default.nix new file mode 100644 index 000000000000..c5e777f7531e --- /dev/null +++ b/nixpkgs/pkgs/tools/video/swfmill/default.nix @@ -0,0 +1,25 @@ +{ lib, stdenv, fetchurl +, pkg-config, libxslt, freetype, libpng, libxml2 +}: + +stdenv.mkDerivation rec { + name = "swfmill-0.3.3"; + + src = fetchurl { + url = "http://swfmill.org/releases/${name}.tar.gz"; + sha256 = "15mcpql448vvgsbxs7wd0vdk1ln6rdcpnif6i2zjm5l4xng55s7r"; + }; + + # Fixes build with GCC 6 + NIX_CFLAGS_COMPILE = "-std=c++03"; + + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ libxslt freetype libpng libxml2 ]; + + meta = { + description = "An xml2swf and swf2xml processor with import functionalities"; + homepage = "http://swfmill.org"; + license = lib.licenses.gpl2; + platforms = lib.platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/tools/video/swftools/default.nix b/nixpkgs/pkgs/tools/video/swftools/default.nix new file mode 100644 index 000000000000..6867869a0a9d --- /dev/null +++ b/nixpkgs/pkgs/tools/video/swftools/default.nix @@ -0,0 +1,40 @@ +{ lib, stdenv, fetchurl, freetype, libjpeg, zlib }: + +stdenv.mkDerivation rec { + pname = "swftools"; + version = "0.9.2"; + + src = fetchurl { + url = "http://www.swftools.org/${pname}-${version}.tar.gz"; + sha256 = "1w81dyi81019a6jmnm5z7fzarswng27lg1d4k4d5llxzqszr2s5z"; + }; + + patches = [ ./swftools.patch ]; + + buildInputs = [ freetype libjpeg zlib ]; + + meta = with lib; { + description = "Collection of SWF manipulation and creation utilities"; + homepage = "http://www.swftools.org/about.html"; + license = licenses.gpl2Only; + maintainers = [ maintainers.koral ]; + platforms = lib.platforms.unix; + broken = true; + knownVulnerabilities = [ + "CVE-2017-10976" + "CVE-2017-11096" + "CVE-2017-11097" + "CVE-2017-11098" + "CVE-2017-11099" + "CVE-2017-11100" + "CVE-2017-11101" + "CVE-2017-16711" + "CVE-2017-16793" + "CVE-2017-16794" + "CVE-2017-16796" + "CVE-2017-16797" + "CVE-2017-16868" + "CVE-2017-16890" + ]; + }; +} diff --git a/nixpkgs/pkgs/tools/video/swftools/swftools.patch b/nixpkgs/pkgs/tools/video/swftools/swftools.patch new file mode 100644 index 000000000000..c7eb89f9b3e0 --- /dev/null +++ b/nixpkgs/pkgs/tools/video/swftools/swftools.patch @@ -0,0 +1,17 @@ +--- a/swfs/Makefile.in.orig ++++ b/swfs/Makefile.in +@@ -41,10 +41,10 @@ install: + $(INSTALL_DATA) ./PreLoaderTemplate.swf $(pkgdatadir)/swfs/PreLoaderTemplate.swf + $(INSTALL_DATA) ./tessel_loader.swf $(pkgdatadir)/swfs/tessel_loader.swf + $(INSTALL_DATA) ./swft_loader.swf $(pkgdatadir)/swfs/swft_loader.swf +- rm -f $(pkgdatadir)/swfs/default_viewer.swf -o -L $(pkgdatadir)/swfs/default_viewer.swf +- $(LN_S) $(pkgdatadir)/swfs/simple_viewer.swf $(pkgdatadir)/swfs/default_viewer.swf +- rm -f $(pkgdatadir)/swfs/default_loader.swf -o -L $(pkgdatadir)/swfs/default_loader.swf +- $(LN_S) $(pkgdatadir)/swfs/tessel_loader.swf $(pkgdatadir)/swfs/default_loader.swf ++ rm -f $(pkgdatadir)/swfs/default_viewer.swf # -o -L $(pkgdatadir)/swfs/default_viewer.swf ++ $(LN_S) $(pkgdatadir)/swfs/simple_viewer.swf $(pkgdatadir)/swfs/default_viewer.swf ++ rm -f $(pkgdatadir)/swfs/default_loader.swf # -o -L $(pkgdatadir)/swfs/default_loader.swf ++ $(LN_S) $(pkgdatadir)/swfs/tessel_loader.swf $(pkgdatadir)/swfs/default_loader.swf + + uninstall: + $(UNINSTALL_DATA) $(pkgdatadir)/swfs/simple_viewer.swf diff --git a/nixpkgs/pkgs/tools/video/untrunc-anthwlock/default.nix b/nixpkgs/pkgs/tools/video/untrunc-anthwlock/default.nix new file mode 100644 index 000000000000..4b950fd0f220 --- /dev/null +++ b/nixpkgs/pkgs/tools/video/untrunc-anthwlock/default.nix @@ -0,0 +1,36 @@ +{ lib, stdenv, fetchFromGitHub, ffmpeg, libui }: + +stdenv.mkDerivation { + pname = "untrunc-anthwlock"; + version = "2020.07.18"; + + src = fetchFromGitHub { + owner = "anthwlock"; + repo = "untrunc"; + rev = "a0bf2e8642ecdb7af5897ed9b0dd30a7d03520ae"; + sha256 = "14i2lq68q990hnm2kkfamlsi67bcml85zl8yjsyxc5h8ncc2f3dp"; + }; + + + buildInputs = [ ffmpeg libui ]; + + postBuild = '' + make untrunc-gui + ''; + + installPhase = '' + runHook preInstall + install -D -t $out/bin untrunc untrunc-gui + runHook postInstall + ''; + + enableParallelBuilding = true; + + meta = with lib; { + description = "Restore a truncated mp4/mov (improved version of ponchio/untrunc)"; + homepage = "https://github.com/anthwlock/untrunc"; + license = licenses.gpl2; + platforms = platforms.all; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/nixpkgs/pkgs/tools/video/vcsi/default.nix b/nixpkgs/pkgs/tools/video/vcsi/default.nix new file mode 100644 index 000000000000..f4f3043f34fb --- /dev/null +++ b/nixpkgs/pkgs/tools/video/vcsi/default.nix @@ -0,0 +1,31 @@ +{ lib, python3Packages, ffmpeg }: + +python3Packages.buildPythonApplication rec { + pname = "vcsi"; + version = "7.0.13"; + + src = python3Packages.fetchPypi { + inherit pname version; + sha256 = "01qwbb2l8gwf622zzhh0kzdzw3njvsdwmndwn01i9bn4qm5cas8r"; + }; + + propagatedBuildInputs = with python3Packages; [ + numpy + pillow + jinja2 + texttable + parsedatetime + ]; + + doCheck = false; + pythonImportsCheck = [ "vcsi" ]; + + makeWrapperArgs = [ "--prefix PATH : ${lib.makeBinPath [ ffmpeg ]}" ]; + + meta = with lib; { + description = "Create video contact sheets"; + homepage = "https://github.com/amietn/vcsi"; + license = licenses.mit; + maintainers = with maintainers; [ dandellion ]; + }; +} diff --git a/nixpkgs/pkgs/tools/video/vnc2flv/default.nix b/nixpkgs/pkgs/tools/video/vnc2flv/default.nix new file mode 100644 index 000000000000..88ec2f22b89b --- /dev/null +++ b/nixpkgs/pkgs/tools/video/vnc2flv/default.nix @@ -0,0 +1,20 @@ +{ lib, fetchurl, pythonPackages }: + +pythonPackages.buildPythonApplication rec { + pname = "vnc2flv"; + version = "20100207"; + + src = fetchurl { + url = "mirror://pypi/v/vnc2flv/${pname}-${version}.tar.gz"; + sha256 = "14d4nm8yim0bm0nd3wyj7z4zdsg5zk3d9bhhvwdc36x03r8d0sbq"; + }; + + # error: invalid command 'test' + doCheck = false; + + meta = { + description = "Tool to record VNC sessions to Flash Video"; + homepage = "http://www.unixuser.org/~euske/python/vnc2flv/"; + license = lib.licenses.mit; + }; +} diff --git a/nixpkgs/pkgs/tools/video/vncrec/default.nix b/nixpkgs/pkgs/tools/video/vncrec/default.nix new file mode 100644 index 000000000000..5a60fc4c5d2e --- /dev/null +++ b/nixpkgs/pkgs/tools/video/vncrec/default.nix @@ -0,0 +1,33 @@ +{ lib, stdenv, fetchurl, libX11, xorgproto, imake, gccmakedep, libXt, libXmu +, libXaw, libXext, libSM, libICE, libXpm, libXp +}: + +stdenv.mkDerivation { + name = "vncrec-0.2"; # version taken from Arch AUR + + src = fetchurl { + url = "http://ronja.twibright.com/utils/vncrec-twibright.tgz"; + sha256 = "1yp6r55fqpdhc8cgrgh9i0mzxmkls16pgf8vfcpng1axr7cigyhc"; + }; + + hardeningDisable = [ "format" ]; + + nativeBuildInputs = [ imake gccmakedep ]; + buildInputs = [ + libX11 xorgproto libXt libXmu libXaw + libXext libSM libICE libXpm libXp + ]; + + makeFlags = [ + "BINDIR=${placeholder "out"}/bin" + "MANDIR=${placeholder "out"}/share/man" + ]; + installTargets = [ "install" "install.man" ]; + + meta = { + description = "VNC recorder"; + homepage = "http://ronja.twibright.com/utils/vncrec/"; + platforms = lib.platforms.linux; + license = lib.licenses.gpl2; + }; +} diff --git a/nixpkgs/pkgs/tools/video/xjadeo/default.nix b/nixpkgs/pkgs/tools/video/xjadeo/default.nix new file mode 100644 index 000000000000..bcd6d5601c0f --- /dev/null +++ b/nixpkgs/pkgs/tools/video/xjadeo/default.nix @@ -0,0 +1,48 @@ +{ lib, stdenv, autoreconfHook, fetchFromGitHub, ffmpeg, freetype, libGLU +, libjack2, liblo, libX11, libXv, pkg-config, portmidi, xorg }: + +stdenv.mkDerivation rec { + pname = "xjadeo"; + version = "0.8.10"; + + src = fetchFromGitHub { + owner = "x42"; + repo = "xjadeo"; + rev = "v${version}"; + sha256 = "0dma4cjgbrpy16x63zvfr0xss4lryl0zw7nvixvhq2f6z8day1ds"; + }; + + nativeBuildInputs = [ autoreconfHook pkg-config ]; + + buildInputs = [ + ffmpeg + libjack2 + libX11 + xorg.libXext + xorg.libXpm + # The following are recommended in the README, but are seemingly + # unnecessary for a successful build. That said, the result of including + # these in the build process is possibly required at runtime in some cases, + # but I've not the time to test thoroughly for these cases. Should + # consider investigating and splitting these into options in the future. + freetype + libGLU + liblo + libXv + portmidi + ]; + + meta = with lib; { + description = "The X Jack Video Monitor"; + longDescription = '' + Xjadeo is a software video player that displays a video-clip in sync with + an external time source (MTC, LTC, JACK-transport). Xjadeo is useful in + soundtrack composition, video monitoring or any task that requires to + synchronizing movie frames with external events. + ''; + homepage = "http://xjadeo.sourceforge.net"; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ mitchmindtree ]; + }; +} diff --git a/nixpkgs/pkgs/tools/video/yamdi/default.nix b/nixpkgs/pkgs/tools/video/yamdi/default.nix new file mode 100644 index 000000000000..92737e27ee30 --- /dev/null +++ b/nixpkgs/pkgs/tools/video/yamdi/default.nix @@ -0,0 +1,31 @@ +{ + lib, stdenv, + fetchurl, +}: + +stdenv.mkDerivation rec { + pname = "yamdi"; + version = "1.9"; + + # Source repo is also available here: + # https://github.com/ioppermann/yamdi + src = fetchurl { + url = "mirror://sourceforge/yamdi/yamdi-${version}.tar.gz"; + sha256 = "4a6630f27f6c22bcd95982bf3357747d19f40bd98297a569e9c77468b756f715"; + }; + + buildFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ]; + + installPhase = '' + install -D {,$out/bin/}yamdi + install -D {,$out/share/man/}man1/yamdi.1 + ''; + + meta = with lib; { + description = "Yet Another MetaData Injector for FLV"; + homepage = "http://yamdi.sourceforge.net/"; + license = licenses.bsd3; + platforms = platforms.all; + maintainers = [ maintainers.ryanartecona ]; + }; +} |