about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/video
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/video')
-rw-r--r--nixpkgs/pkgs/applications/video/alass/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/video/ani-cli/default.nix28
-rw-r--r--nixpkgs/pkgs/applications/video/anilibria-winmaclinux/0001-fix-instalation-paths.patch24
-rw-r--r--nixpkgs/pkgs/applications/video/anilibria-winmaclinux/0002-disable-version-check.patch12
-rw-r--r--nixpkgs/pkgs/applications/video/anilibria-winmaclinux/default.nix91
-rw-r--r--nixpkgs/pkgs/applications/video/catt/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/video/corrscope/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/video/deface/default.nix56
-rw-r--r--nixpkgs/pkgs/applications/video/dmlive/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/video/entangle/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/video/flowblade/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/video/freetube/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/hypnotix/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/jellyfin-mpv-shim/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/kodi/addons/arteplussept/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/kodi/addons/libretro-nestopia/default.nix31
-rw-r--r--nixpkgs/pkgs/applications/video/kodi/addons/myconnpy/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/kodi/addons/pvr-iptvsimple/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/kodi/unwrapped.nix11
-rw-r--r--nixpkgs/pkgs/applications/video/media-downloader/default.nix32
-rw-r--r--nixpkgs/pkgs/applications/video/memento/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/video/mkvtoolnix/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/mplayer/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/mpv/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/video/mpv/scripts/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/video/mpv/scripts/mpris.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/mpv/scripts/mpv-playlistmanager.nix9
-rw-r--r--nixpkgs/pkgs/applications/video/mpv/scripts/visualizer.nix34
-rw-r--r--nixpkgs/pkgs/applications/video/obs-studio/plugins/advanced-scene-switcher/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-tuna/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/plex-mpv-shim/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/video/recapp/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/video/streamlink/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/video/stremio/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/video/vdr/softhddevice/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/xplayer/default.nix2
36 files changed, 375 insertions, 66 deletions
diff --git a/nixpkgs/pkgs/applications/video/alass/default.nix b/nixpkgs/pkgs/applications/video/alass/default.nix
index 73b017ffeff4..d6b6da1fd6b5 100644
--- a/nixpkgs/pkgs/applications/video/alass/default.nix
+++ b/nixpkgs/pkgs/applications/video/alass/default.nix
@@ -25,9 +25,10 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "Automatic Language-Agnostic Subtitle Synchronization";
+    description = "Automatic Language-Agnostic Subtitles Synchronization";
     homepage = "https://github.com/kaegi/alass";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ erictapen ];
+    mainProgram = "alass-cli";
   };
 }
diff --git a/nixpkgs/pkgs/applications/video/ani-cli/default.nix b/nixpkgs/pkgs/applications/video/ani-cli/default.nix
index 2766afd7711a..21c04812f9f3 100644
--- a/nixpkgs/pkgs/applications/video/ani-cli/default.nix
+++ b/nixpkgs/pkgs/applications/video/ani-cli/default.nix
@@ -4,24 +4,42 @@
 , lib
 , gnugrep
 , gnused
-, wget
+, curl
+, catt
+, syncplay
+, ffmpeg
 , fzf
-, mpv
 , aria2
+, withMpv ? true, mpv
+, withVlc ? false, vlc
+, withIina ? false, iina
+, chromecastSupport ? false
+, syncSupport ? false
 }:
 
+assert withMpv || withVlc || withIina;
+
 stdenvNoCC.mkDerivation rec {
   pname = "ani-cli";
-  version = "4.5";
+  version = "4.6";
 
   src = fetchFromGitHub {
     owner = "pystardust";
     repo = "ani-cli";
     rev = "v${version}";
-    hash = "sha256-HDpspU9OZxDET7/1rnKdGgaVEBt0gpzGtd3DuNIj7FY=";
+    hash = "sha256-ahyCD4QsYyb3xtNK03HITeF0+hJFIHZ+PAjisuS/Kdo=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
+  runtimeDependencies =
+    let player = []
+        ++ lib.optional withMpv mpv
+        ++ lib.optional withVlc vlc
+        ++ lib.optional withIina iina;
+    in [ gnugrep gnused curl fzf ffmpeg aria2 ]
+      ++ player
+      ++ lib.optional chromecastSupport catt
+      ++ lib.optional syncSupport syncplay;
 
   installPhase = ''
     runHook preInstall
@@ -29,7 +47,7 @@ stdenvNoCC.mkDerivation rec {
     install -Dm755 ani-cli $out/bin/ani-cli
 
     wrapProgram $out/bin/ani-cli \
-      --prefix PATH : ${lib.makeBinPath [ gnugrep gnused wget fzf mpv aria2 ]}
+      --prefix PATH : ${lib.makeBinPath runtimeDependencies}
 
     runHook postInstall
   '';
diff --git a/nixpkgs/pkgs/applications/video/anilibria-winmaclinux/0001-fix-instalation-paths.patch b/nixpkgs/pkgs/applications/video/anilibria-winmaclinux/0001-fix-instalation-paths.patch
new file mode 100644
index 000000000000..14f9799e46bd
--- /dev/null
+++ b/nixpkgs/pkgs/applications/video/anilibria-winmaclinux/0001-fix-instalation-paths.patch
@@ -0,0 +1,24 @@
+diff --git a/AniLibria.pro b/AniLibria.pro
+index 3eb7213..ea571ff 100644
+--- a/AniLibria.pro
++++ b/AniLibria.pro
+@@ -271,17 +271,8 @@ QML_IMPORT_PATH =
+ # Additional import path used to resolve QML modules just for Qt Quick Designer
+ QML_DESIGNER_IMPORT_PATH =
+ 
+-# Default rules for deployment.
+-!flatpak{
+-    qnx: target.path = /tmp/$${TARGET}/bin
+-    else: unix:!android: target.path = /opt/$${TARGET}/bin
+-}else{
+-    target.path = $$PREFIX/bin
+-}
+-!isEmpty(target.path) {
+-    unix: INSTALLS += target desktop $${UNIX_ICONS}
+-    else:macx: INSTALLS += target
+-}
++target.path = $$PREFIX/bin
++INSTALLS += target $${UNIX_ICONS}
+ 
+ flatpak {
+     metadata.path = $$PREFIX/share/metainfo
diff --git a/nixpkgs/pkgs/applications/video/anilibria-winmaclinux/0002-disable-version-check.patch b/nixpkgs/pkgs/applications/video/anilibria-winmaclinux/0002-disable-version-check.patch
new file mode 100644
index 000000000000..f8f00f15be1c
--- /dev/null
+++ b/nixpkgs/pkgs/applications/video/anilibria-winmaclinux/0002-disable-version-check.patch
@@ -0,0 +1,12 @@
+diff --git a/AniLibria.pro b/AniLibria.pro
+index 3eb7213..3d39ec9 100644
+--- a/AniLibria.pro
++++ b/AniLibria.pro
+@@ -174,7 +174,6 @@ unix {
+ DEFINES += QT_DEPRECATED_WARNINGS
+ 
+ # If you need not check version remove or comment this line
+-DEFINES += USE_VERSION_CHECK
+ 
+ # You can also make your code fail to compile if it uses deprecated APIs.
+ # In order to do so, uncomment the following line.
diff --git a/nixpkgs/pkgs/applications/video/anilibria-winmaclinux/default.nix b/nixpkgs/pkgs/applications/video/anilibria-winmaclinux/default.nix
new file mode 100644
index 000000000000..823dbfef97a9
--- /dev/null
+++ b/nixpkgs/pkgs/applications/video/anilibria-winmaclinux/default.nix
@@ -0,0 +1,91 @@
+{ mkDerivation
+, lib
+, fetchFromGitHub
+, qmake
+, qtbase
+, qtquickcontrols2
+, qtwebsockets
+, qtmultimedia
+, gst_all_1
+, wrapQtAppsHook
+, makeDesktopItem
+, copyDesktopItems
+}:
+
+mkDerivation rec {
+  pname = "anilibria-winmaclinux";
+  version = "1.2.9";
+
+  src = fetchFromGitHub {
+    owner = "anilibria";
+    repo = "anilibria-winmaclinux";
+    rev = version;
+    sha256 = "sha256-Fdj7i4jpKIDwaIBAch7SjIV/WnqMDnCfNYSiZLsamx8=";
+  };
+
+  sourceRoot = "source/src";
+
+  qmakeFlags = [ "PREFIX=${placeholder "out"}" ];
+
+  patches = [
+    ./0001-fix-instalation-paths.patch
+    ./0002-disable-version-check.patch
+  ];
+
+  preConfigure = ''
+    substituteInPlace AniLibria.pro \
+      --replace "\$\$PREFIX" '${placeholder "out"}'
+  '';
+
+  qtWrapperArgs = [
+    "--prefix GST_PLUGIN_PATH : ${(with gst_all_1; lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" [
+      gst-plugins-bad
+      gst-plugins-good
+      gst-plugins-base
+      gst-libav
+      gstreamer
+    ])}"
+  ];
+
+  nativeBuildInputs = [
+    qmake
+    wrapQtAppsHook
+    copyDesktopItems
+  ];
+
+  buildInputs = [
+    qtbase
+    qtquickcontrols2
+    qtwebsockets
+    qtmultimedia
+  ] ++ (with gst_all_1; [
+    gst-plugins-bad
+    gst-plugins-good
+    gst-plugins-base
+    gst-libav
+    gstreamer
+  ]);
+
+  desktopItems = [
+    (makeDesktopItem (rec {
+      name = "AniLibria";
+      desktopName = name;
+      icon = "anilibria";
+      comment = meta.description;
+      genericName = "AniLibria desktop client";
+      categories = [ "Qt" "AudioVideo" "Player" ];
+      keywords = [ "anime" ];
+      exec = name;
+      terminal = false;
+    }))
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/anilibria/anilibria-winmaclinux";
+    description = "AniLibria cross platform desktop client";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ _3JlOy-PYCCKUi ];
+    inherit (qtbase.meta) platforms;
+    mainProgram = "AniLibria";
+  };
+}
diff --git a/nixpkgs/pkgs/applications/video/catt/default.nix b/nixpkgs/pkgs/applications/video/catt/default.nix
index cdcb45fa5fd5..1270fbae33d2 100644
--- a/nixpkgs/pkgs/applications/video/catt/default.nix
+++ b/nixpkgs/pkgs/applications/video/catt/default.nix
@@ -24,6 +24,7 @@ let
           inherit version;
           hash = "sha256-0rUlXHxjSbwb0eWeCM0SrLvWPOZJ8liHVXg6qU37axo=";
         };
+        disabledTests = [ "test_bytes_args" ]; # https://github.com/pallets/click/commit/6e05e1fa1c2804
       });
 
       pychromecast = super.pychromecast.overridePythonAttrs (oldAttrs: rec {
diff --git a/nixpkgs/pkgs/applications/video/corrscope/default.nix b/nixpkgs/pkgs/applications/video/corrscope/default.nix
index 36878980b048..c1bab7d2949b 100644
--- a/nixpkgs/pkgs/applications/video/corrscope/default.nix
+++ b/nixpkgs/pkgs/applications/video/corrscope/default.nix
@@ -2,6 +2,7 @@
 , mkDerivationWith
 , python3Packages
 , fetchFromGitHub
+, fetchpatch
 , wrapQtAppsHook
 , ffmpeg
 , qtbase
@@ -18,9 +19,18 @@ mkDerivationWith python3Packages.buildPythonApplication rec {
     owner = "corrscope";
     repo = "corrscope";
     rev = version;
-    sha256 = "sha256-pS7upOYZAjgR3lWxny8TNZEj3Rrbg+L90ANZWFO9UPQ=";
+    hash = "sha256-pS7upOYZAjgR3lWxny8TNZEj3Rrbg+L90ANZWFO9UPQ=";
   };
 
+  patches = [
+    # https://github.com/corrscope/corrscope/pull/446
+    (fetchpatch {
+      name = "remove-setuptools-dependency.patch";
+      url = "https://github.com/corrscope/corrscope/commit/70b123173a7a012d9f29d6d3a8960b85caf6cc79.patch";
+      hash = "sha256-YCtb7v8cGP0pdceAKeoempnRzw+LRKQqDb3AfN0z/9s=";
+    })
+  ];
+
   pythonRelaxDeps = [ "attrs" ];
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/video/deface/default.nix b/nixpkgs/pkgs/applications/video/deface/default.nix
new file mode 100644
index 000000000000..43c009c9dbb8
--- /dev/null
+++ b/nixpkgs/pkgs/applications/video/deface/default.nix
@@ -0,0 +1,56 @@
+{ lib
+, stdenv
+, python3
+, fetchFromGitHub
+, makeWrapper
+, pkgs
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "deface";
+  version = "1.4.0";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "ORB-HD";
+    repo = "deface";
+    rev = "v${version}";
+    hash = "sha256-tLNTgdnKKmyYHVajz0dHIb7cvC1by5LQ5CFIbMvPEYk=";
+  };
+
+  nativeBuildInputs = with python3.pkgs; [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = with python3.pkgs; [
+    imageio
+    imageio-ffmpeg
+    numpy
+    onnx
+    onnxruntime # Nixpkgs onnxruntime is missing CUDA support
+    opencv4
+    scikit-image
+    tqdm
+  ];
+
+  # Native onnxruntime lib used by Python module onnxruntime can't find its other libs without this
+  makeWrapperArgs = [
+    ''--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ pkgs.onnxruntime ]}"''
+  ];
+
+  patchPhase = ''
+    substituteInPlace pyproject.toml requirements.txt --replace "opencv-python" "opencv"
+  '';
+
+  # Let setuptools know deface version
+  SETUPTOOLS_SCM_PRETEND_VERSION = "v${version}";
+
+  pythonImportsCheck = [ "deface" "onnx" "onnxruntime" ];
+
+  meta = with lib; {
+    description = "Video anonymization by face detection";
+    homepage = "https://github.com/ORB-HD/deface";
+    license = licenses.mit;
+    maintainers = with maintainers; [ lurkki ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/video/dmlive/default.nix b/nixpkgs/pkgs/applications/video/dmlive/default.nix
index b2d215ebee73..5c198ae0dcfa 100644
--- a/nixpkgs/pkgs/applications/video/dmlive/default.nix
+++ b/nixpkgs/pkgs/applications/video/dmlive/default.nix
@@ -37,6 +37,7 @@ rustPlatform.buildRustPackage rec {
     description = "A tool to play and record videos or live streams with danmaku";
     homepage = "https://github.com/THMonster/dmlive";
     license = licenses.mit;
+    mainProgram = "dmlive";
     maintainers = with maintainers; [ nickcao ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/video/entangle/default.nix b/nixpkgs/pkgs/applications/video/entangle/default.nix
index b163fc2aa60b..daf56c174456 100644
--- a/nixpkgs/pkgs/applications/video/entangle/default.nix
+++ b/nixpkgs/pkgs/applications/video/entangle/default.nix
@@ -70,6 +70,7 @@ stdenv.mkDerivation rec {
     python3 # for build scripts
     pkgconf
     wrapGAppsHook
+    gobject-introspection
   ];
 
   buildInputs = [
@@ -79,7 +80,6 @@ stdenv.mkDerivation rec {
     elfutils
     gexiv2
     glib
-    gobject-introspection
     gst-plugins-base
     gstreamer
     gtk3
diff --git a/nixpkgs/pkgs/applications/video/flowblade/default.nix b/nixpkgs/pkgs/applications/video/flowblade/default.nix
index 7e85b65de35f..2643a449c60f 100644
--- a/nixpkgs/pkgs/applications/video/flowblade/default.nix
+++ b/nixpkgs/pkgs/applications/video/flowblade/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    ffmpeg frei0r sox gtk3 gobject-introspection ladspaPlugins
+    ffmpeg frei0r sox gtk3 ladspaPlugins
     (python3.withPackages (ps: with ps; [ mlt pygobject3 dbus-python numpy pillow ]))
   ];
 
diff --git a/nixpkgs/pkgs/applications/video/freetube/default.nix b/nixpkgs/pkgs/applications/video/freetube/default.nix
index dd35fc784731..389a3d06cd5e 100644
--- a/nixpkgs/pkgs/applications/video/freetube/default.nix
+++ b/nixpkgs/pkgs/applications/video/freetube/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "freetube";
-  version = "0.18.0";
+  version = "0.19.0";
 
   src = fetchurl {
     url = "https://github.com/FreeTubeApp/FreeTube/releases/download/v${version}-beta/freetube_${version}_amd64.AppImage";
-    sha256 = "sha256-7IxmlkExM8Q1yyq44ajZ6on4EMPyGt23QmzmBZmofts=";
+    sha256 = "0yr5k9s3r4yvcx85bzwn6y4m03964ljnmhz7nf068zj87m9q8rcc";
   };
 
   appimageContents = appimageTools.extractType2 {
diff --git a/nixpkgs/pkgs/applications/video/hypnotix/default.nix b/nixpkgs/pkgs/applications/video/hypnotix/default.nix
index 5505ac6e1dda..c36478d3885b 100644
--- a/nixpkgs/pkgs/applications/video/hypnotix/default.nix
+++ b/nixpkgs/pkgs/applications/video/hypnotix/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "hypnotix";
-  version = "3.5";
+  version = "3.6";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = "hypnotix";
     rev = version;
-    hash = "sha256-qw22izmh0bQ1B1kRqkMcmEdqU665/DtLod24TUH86Ww=";
+    hash = "sha256-hi3ppYDzFEp4FGZHlGgwEFqyOqzX+d0JK674EyibB/c=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/applications/video/jellyfin-mpv-shim/default.nix b/nixpkgs/pkgs/applications/video/jellyfin-mpv-shim/default.nix
index 81bfbe4a39b0..a5c6a7beb06b 100644
--- a/nixpkgs/pkgs/applications/video/jellyfin-mpv-shim/default.nix
+++ b/nixpkgs/pkgs/applications/video/jellyfin-mpv-shim/default.nix
@@ -61,6 +61,10 @@ buildPythonApplication rec {
     substituteInPlace jellyfin_mpv_shim/conf.py \
       --replace "check_updates: bool = True" "check_updates: bool = False" \
       --replace "notify_updates: bool = True" "notify_updates: bool = False"
+    # python-mpv renamed to mpv with 1.0.4
+    substituteInPlace setup.py \
+      --replace "python-mpv" "mpv" \
+      --replace "mpv-jsonipc" "python_mpv_jsonipc"
   '';
 
   # Install all the icons for the desktop item
diff --git a/nixpkgs/pkgs/applications/video/kodi/addons/arteplussept/default.nix b/nixpkgs/pkgs/applications/video/kodi/addons/arteplussept/default.nix
index e95dfbf1ebef..9334dbfa2832 100644
--- a/nixpkgs/pkgs/applications/video/kodi/addons/arteplussept/default.nix
+++ b/nixpkgs/pkgs/applications/video/kodi/addons/arteplussept/default.nix
@@ -3,11 +3,11 @@
 buildKodiAddon rec {
   pname = "arteplussept";
   namespace = "plugin.video.arteplussept";
-  version = "1.1.10";
+  version = "1.4.0";
 
   src = fetchzip {
     url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
-    hash = "sha256-EDpoeS9FnFsn6jvg6EFKr089YixKipLi9yzxdi7YUmA=";
+    hash = "sha256-m7DHQVg0pcLGCHTdecCTGfanUWhuPMHdllbg+47hxEI=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/video/kodi/addons/libretro-nestopia/default.nix b/nixpkgs/pkgs/applications/video/kodi/addons/libretro-nestopia/default.nix
new file mode 100644
index 000000000000..7c6eda2b0043
--- /dev/null
+++ b/nixpkgs/pkgs/applications/video/kodi/addons/libretro-nestopia/default.nix
@@ -0,0 +1,31 @@
+{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, libretro, nestopia }:
+
+buildKodiBinaryAddon rec {
+  pname = "libretro-nestopia";
+  namespace = "game.libretro.nestopia";
+  version = "1.52.0.41";
+
+  src = fetchFromGitHub {
+    owner = "kodi-game";
+    repo = "game.libretro.nestopia";
+    rev = "${version}-${rel}";
+    sha256 = "sha256-DmBO+HcfIBcz7p16dND09iwXWeObtU/doo/mJ0IZGGg=";
+  };
+
+  extraCMakeFlags = [
+    "-DNESTOPIA_LIB=${nestopia}/lib/retroarch/cores/nestopia_libretro.so"
+  ];
+
+  extraBuildInputs = [ nestopia ];
+  propagatedBuildInputs = [
+    libretro
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/kodi-game/game.libretro.nestopia";
+    description = "Nintendo - NES / Famicom (Nestopia UE) GameClient for Kodi";
+    platforms = platforms.all;
+    license = licenses.gpl2Only;
+    maintainers = teams.kodi.members;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/video/kodi/addons/myconnpy/default.nix b/nixpkgs/pkgs/applications/video/kodi/addons/myconnpy/default.nix
index 5a649b70413e..dac308ab5837 100644
--- a/nixpkgs/pkgs/applications/video/kodi/addons/myconnpy/default.nix
+++ b/nixpkgs/pkgs/applications/video/kodi/addons/myconnpy/default.nix
@@ -2,11 +2,11 @@
 buildKodiAddon rec {
   pname = "myconnpy";
   namespace = "script.module.myconnpy";
-  version = "8.0.18+matrix.1";
+  version = "8.0.33";
 
   src = fetchzip {
     url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
-    sha256 = "sha256-E1S1EThukF3noU4LC6MDQseRQhSsZr/9qnPSxH/Do7M=";
+    sha256 = "sha256-NlLMq9RAdWu8rVsMc0FDe1HmQiVp5T7iBXbIH7HB5bI=";
   };
 
   passthru = {
diff --git a/nixpkgs/pkgs/applications/video/kodi/addons/pvr-iptvsimple/default.nix b/nixpkgs/pkgs/applications/video/kodi/addons/pvr-iptvsimple/default.nix
index e2b653ae06c6..4c83d73f50bd 100644
--- a/nixpkgs/pkgs/applications/video/kodi/addons/pvr-iptvsimple/default.nix
+++ b/nixpkgs/pkgs/applications/video/kodi/addons/pvr-iptvsimple/default.nix
@@ -6,13 +6,13 @@
 buildKodiBinaryAddon rec {
   pname = "pvr-iptvsimple";
   namespace = "pvr.iptvsimple";
-  version = "20.10.1";
+  version = "20.11.0";
 
   src = fetchFromGitHub {
     owner = "kodi-pvr";
     repo = "pvr.iptvsimple";
     rev = "${version}-${rel}";
-    sha256 = "sha256-3bE6x1d3IMXN5miBAeb+1qRBbx8Ni386iEhSwT0znR8=";
+    sha256 = "sha256-58Dma0UtD6Uy4zu4aQT2FY0emLiQpA4RChhnneMzFZI=";
   };
 
   extraBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/video/kodi/unwrapped.nix b/nixpkgs/pkgs/applications/video/kodi/unwrapped.nix
index fd11a46dcd2b..bb2c34083515 100644
--- a/nixpkgs/pkgs/applications/video/kodi/unwrapped.nix
+++ b/nixpkgs/pkgs/applications/video/kodi/unwrapped.nix
@@ -1,4 +1,5 @@
 { stdenv, lib, fetchFromGitHub, autoconf, automake, libtool, makeWrapper
+, fetchpatch
 , pkg-config, cmake, yasm, python3Packages
 , libxcrypt, libgcrypt, libgpg-error, libunistring
 , boost, avahi, lame
@@ -110,7 +111,15 @@ in stdenv.mkDerivation {
     version = kodiVersion;
 
     src = kodi_src;
-
+    patches = [
+      # Fix compatiblity with fmt 10.0 (from spdlog).
+      # Remove with the next release: https://github.com/xbmc/xbmc/pull/23453
+      (fetchpatch {
+        name = "Fix fmt10 compat";
+        url = "https://github.com/xbmc/xbmc/pull/23453.patch";
+        hash = "sha256-zMUparbQ8gfgeXj8W3MDmPi5OgLNz/zGCJINU7H6Rx0=";
+      })
+    ];
     buildInputs = [
       gnutls libidn2 libtasn1 nasm p11-kit
       libxml2 python3Packages.python
diff --git a/nixpkgs/pkgs/applications/video/media-downloader/default.nix b/nixpkgs/pkgs/applications/video/media-downloader/default.nix
index a6919d3836a9..05f5a69f75f3 100644
--- a/nixpkgs/pkgs/applications/video/media-downloader/default.nix
+++ b/nixpkgs/pkgs/applications/video/media-downloader/default.nix
@@ -1,24 +1,24 @@
-{ lib
-, stdenv
-, fetchFromGitHub
+{ aria2
 , cmake
-, wrapQtAppsHook
-, qtbase
-, aria2
+, fetchFromGitHub
 , ffmpeg
+, lib
 , python3
+, qtbase
+, stdenv
+, wrapQtAppsHook
 , yt-dlp
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "media-downloader";
-  version = "3.2.1";
+  version = "3.3.0";
 
   src = fetchFromGitHub {
     owner = "mhogomchungu";
-    repo = pname;
-    rev = version;
-    hash = "sha256-+wLVF0UKspVll+dYZGSk5dUbPBc/2Y0cqTuaeepxw+k=";
+    repo = "media-downloader";
+    rev = finalAttrs.version;
+    hash = "sha256-UmNaosunkNUTm4rsf4q29H+0cJAccUDx+ulcS2octIo=";
   };
 
   nativeBuildInputs = [
@@ -39,11 +39,11 @@ stdenv.mkDerivation rec {
       ]}"
   ];
 
-  meta = with lib; {
+  meta = {
     description = "A Qt/C++ GUI front end to youtube-dl";
     homepage = "https://github.com/mhogomchungu/media-downloader";
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ zendo ];
+    license = lib.licenses.gpl2Plus;
+    maintainers = with lib.maintainers; [ zendo ];
+    platforms = lib.platforms.linux;
   };
-}
+})
diff --git a/nixpkgs/pkgs/applications/video/memento/default.nix b/nixpkgs/pkgs/applications/video/memento/default.nix
index fabcc84fef3a..8fda60e3a0a0 100644
--- a/nixpkgs/pkgs/applications/video/memento/default.nix
+++ b/nixpkgs/pkgs/applications/video/memento/default.nix
@@ -22,13 +22,13 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "memento";
-  version = "v1.1.0";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner = "ripose-jp";
     repo = "Memento";
-    rev = finalAttrs.version;
-    hash = "sha256-29AzQ+Z2PNs65Tvmt2Z5Ra2G3Yhm4LVBpAqvnSsnE0Y=";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-DUAr+twlIzyi+PnQYsTz9j9KcbzI0GhtC+f4nTekhs0=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/video/mkvtoolnix/default.nix b/nixpkgs/pkgs/applications/video/mkvtoolnix/default.nix
index 58cab86e6b1d..0f5b7ca7a070 100644
--- a/nixpkgs/pkgs/applications/video/mkvtoolnix/default.nix
+++ b/nixpkgs/pkgs/applications/video/mkvtoolnix/default.nix
@@ -46,13 +46,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "mkvtoolnix";
-  version = "77.0";
+  version = "78.0";
 
   src = fetchFromGitLab {
     owner = "mbunkus";
     repo = "mkvtoolnix";
     rev = "release-${version}";
-    sha256 = "t+kfFS5c8w+c9wxNh59nceFesfdMy8qvHlUqDbZAxkk=";
+    sha256 = "sha256-iImcpuGZsRlwBTPyPUsfHAOkOIhc8eYs6rinl8O78oU=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/video/mplayer/default.nix b/nixpkgs/pkgs/applications/video/mplayer/default.nix
index e384c1f5c194..880ea831f186 100644
--- a/nixpkgs/pkgs/applications/video/mplayer/default.nix
+++ b/nixpkgs/pkgs/applications/video/mplayer/default.nix
@@ -152,7 +152,7 @@ stdenv.mkDerivation rec {
          (stdenv.hostPlatform.isx86 && !crossBuild)
          "--enable-runtime-cpudetection"
     ++ optional fribidiSupport "--enable-fribidi"
-    ++ optional stdenv.isLinux "--enable-vidix"
+    ++ optional (stdenv.isLinux && !stdenv.isAarch64) "--enable-vidix"
     ++ optional stdenv.isLinux "--enable-fbdev"
     ++ optionals (crossBuild) [
     "--enable-cross-compile"
@@ -203,6 +203,6 @@ stdenv.mkDerivation rec {
     homepage = "http://mplayerhq.hu";
     license = licenses.gpl2Only;
     maintainers = with maintainers; [ eelco ];
-    platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ];
+    platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" "aarch64-darwin" "aarch64-linux" ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/video/mpv/default.nix b/nixpkgs/pkgs/applications/video/mpv/default.nix
index b93d7d6606c4..057b9874162a 100644
--- a/nixpkgs/pkgs/applications/video/mpv/default.nix
+++ b/nixpkgs/pkgs/applications/video/mpv/default.nix
@@ -97,7 +97,7 @@ let
     else stdenv;
 in stdenv'.mkDerivation (finalAttrs: {
   pname = "mpv";
-  version = "0.35.1";
+  version = "0.36.0";
 
   outputs = [ "out" "dev" "man" ];
 
@@ -105,15 +105,16 @@ in stdenv'.mkDerivation (finalAttrs: {
     owner = "mpv-player";
     repo = "mpv";
     rev = "v${finalAttrs.version}";
-    sha256 = "sha256-CoYTX9hgxLo72YdMoa0sEywg4kybHbFsypHk1rCM6tM=";
+    hash = "sha256-82moFbWvfc1awXih0d0D+dHqYbIoGNZ77RmafQ80IOY=";
   };
 
   patches = [
+    # Revert "meson: use the new build_options method" to avoid a
+    # cycle between the out and dev outputs.
     (fetchpatch {
-      # fixes EDL error on youtube DASH streams https://github.com/mpv-player/mpv/issues/11392
-      # to be removed on next release
-      url = "https://github.com/mpv-player/mpv/commit/94c189dae76ba280d9883b16346c3dfb9720687e.patch";
-      sha256 = "sha256-GeAltLAwkOKk82YfXYSrkNEX08uPauh7+kVbBGPWeT8=";
+      url = "https://github.com/mpv-player/mpv/commit/3c1686488b48bd2760e9b19f42e7d3be1363d00a.patch";
+      hash = "sha256-eYXfX8Y08q4Bl41VHBpwbxYRMZgm/iziXeK6AOp8O6I=";
+      revert = true;
     })
   ];
 
diff --git a/nixpkgs/pkgs/applications/video/mpv/scripts/default.nix b/nixpkgs/pkgs/applications/video/mpv/scripts/default.nix
index 1a2bb9260840..62c4e8bf9aa0 100644
--- a/nixpkgs/pkgs/applications/video/mpv/scripts/default.nix
+++ b/nixpkgs/pkgs/applications/video/mpv/scripts/default.nix
@@ -20,6 +20,7 @@ lib.recurseIntoAttrs
     thumbfast = callPackage ./thumbfast.nix { };
     thumbnail = callPackage ./thumbnail.nix { };
     uosc = callPackage ./uosc.nix { };
+    visualizer = callPackage ./visualizer.nix { };
     vr-reversal = callPackage ./vr-reversal.nix { };
     webtorrent-mpv-hook = callPackage ./webtorrent-mpv-hook.nix { };
     cutter = callPackage ./cutter.nix { };
diff --git a/nixpkgs/pkgs/applications/video/mpv/scripts/mpris.nix b/nixpkgs/pkgs/applications/video/mpv/scripts/mpris.nix
index 063833297b98..4d7bb155f5cc 100644
--- a/nixpkgs/pkgs/applications/video/mpv/scripts/mpris.nix
+++ b/nixpkgs/pkgs/applications/video/mpv/scripts/mpris.nix
@@ -15,6 +15,10 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ glib mpv-unwrapped ];
 
+  postPatch = ''
+    substituteInPlace Makefile --replace 'PKG_CONFIG =' 'PKG_CONFIG ?='
+  '';
+
   installFlags = [ "SCRIPTS_DIR=$(out)/share/mpv/scripts" ];
 
   # Otherwise, the shared object isn't `strip`ped. See:
diff --git a/nixpkgs/pkgs/applications/video/mpv/scripts/mpv-playlistmanager.nix b/nixpkgs/pkgs/applications/video/mpv/scripts/mpv-playlistmanager.nix
index b59f9de38714..720fdaae5b3f 100644
--- a/nixpkgs/pkgs/applications/video/mpv/scripts/mpv-playlistmanager.nix
+++ b/nixpkgs/pkgs/applications/video/mpv/scripts/mpv-playlistmanager.nix
@@ -2,18 +2,19 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "mpv-playlistmanager";
-  version = "unstable-2022-08-26";
+  version = "unstable-2023-08-09";
 
   src = fetchFromGitHub {
     owner = "jonniek";
     repo = "mpv-playlistmanager";
-    rev = "07393162f7f78f8188e976f616f1b89813cec741";
-    sha256 = "sha256-Vgh5F6c90ijp5LVrP2cdAOXo+QtJ9aXI9G/3C2HGqd4=";
+    rev = "e479cbc7e83a07c5444f335cfda13793681bcbd8";
+    sha256 = "sha256-Nh4g8uSkHWPjwl5wyqWtM+DW9fkEbmCcOsZa4eAF6Cs=";
   };
 
   postPatch = ''
     substituteInPlace playlistmanager.lua \
-      --replace "youtube-dl" "${lib.getBin yt-dlp}/bin/yt-dlp"
+      --replace 'youtube_dl_executable = "youtube-dl",' \
+      'youtube_dl_executable = "${lib.getBin yt-dlp}/bin/yt-dlp"',
   '';
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/applications/video/mpv/scripts/visualizer.nix b/nixpkgs/pkgs/applications/video/mpv/scripts/visualizer.nix
new file mode 100644
index 000000000000..a248b63d503a
--- /dev/null
+++ b/nixpkgs/pkgs/applications/video/mpv/scripts/visualizer.nix
@@ -0,0 +1,34 @@
+{
+  lib,
+  stdenvNoCC,
+  fetchFromGitHub,
+}:
+stdenvNoCC.mkDerivation {
+  pname = "visualizer";
+  version = "unstable-2021-07-10";
+
+  src = fetchFromGitHub {
+    owner = "mfcc64";
+    repo = "mpv-scripts";
+    rev = "a0cd87eeb974a4602c5d8086b4051b5ab72f42e1";
+    sha256 = "1xgd1nd117lpj3ppynhgaa5sbkfm7l8n6c9a2fy8p07is2dkndrq";
+  };
+
+  dontBuild = true;
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/share/mpv/scripts
+    cp visualizer.lua $out/share/mpv/scripts
+    runHook postInstall
+  '';
+
+  passthru.scriptName = "visualizer.lua";
+
+  meta = with lib; {
+    description = "various audio visualization";
+    homepage = "https://github.com/mfcc64/mpv-scripts";
+    platforms = platforms.all;
+    maintainers = with maintainers; [kmein];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/video/obs-studio/plugins/advanced-scene-switcher/default.nix b/nixpkgs/pkgs/applications/video/obs-studio/plugins/advanced-scene-switcher/default.nix
index 484a8efbb4e2..2790cf19f58e 100644
--- a/nixpkgs/pkgs/applications/video/obs-studio/plugins/advanced-scene-switcher/default.nix
+++ b/nixpkgs/pkgs/applications/video/obs-studio/plugins/advanced-scene-switcher/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "advanced-scene-switcher";
-  version = "1.23.0";
+  version = "1.23.1";
 
   src = fetchFromGitHub {
     owner = "WarmUpTill";
     repo = "SceneSwitcher";
     rev = version;
-    hash = "sha256-X1qeMNTC2Hsl3Yh3E7PYVWAMGjGylF/EBkgW4WrtH40=";
+    hash = "sha256-rpZ/vR9QbWgr8n6LDv6iTRsKXSIDGy0IpPu1Uatb0zw=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-tuna/default.nix b/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-tuna/default.nix
index 52ad130b034d..7cfa50881540 100644
--- a/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-tuna/default.nix
+++ b/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-tuna/default.nix
@@ -14,7 +14,7 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "obs-tuna";
-  version = "1.9.6";
+  version = "1.9.7";
 
   nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ];
   buildInputs = [ obs-studio qtbase zlib curl taglib dbus ];
@@ -23,7 +23,7 @@ stdenv.mkDerivation (finalAttrs: {
     owner = "univrsal";
     repo = "tuna";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-+AgRaivvYhogX4CLGK2ylvE8tQoauC/UMvXK6W0Tvog=";
+    hash = "sha256-NpfQ3zi+1kQNt2Lj4+1kX2bW9A/E2/MhUV1BA1UX4y0=";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/applications/video/plex-mpv-shim/default.nix b/nixpkgs/pkgs/applications/video/plex-mpv-shim/default.nix
index 00651deababc..90f18613ca07 100644
--- a/nixpkgs/pkgs/applications/video/plex-mpv-shim/default.nix
+++ b/nixpkgs/pkgs/applications/video/plex-mpv-shim/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonApplication, fetchFromGitHub, python, mpv, requests, python-mpv-jsonipc, pystray, tkinter
+{ lib, buildPythonApplication, fetchFromGitHub, fetchpatch, python, mpv, requests, python-mpv-jsonipc, pystray, tkinter
 , wrapGAppsHook, gobject-introspection, mpv-shim-default-shaders }:
 
 buildPythonApplication rec {
@@ -12,6 +12,14 @@ buildPythonApplication rec {
     sha256 = "sha256-hUGKOJEDZMK5uhHoevFt1ay6QQEcoN4F8cPxln5uMRo=";
   };
 
+  patches = [
+    # pull in upstream commit to fix python-mpv dependency name -- remove when version > 1.11.0
+    (fetchpatch {
+      url = "https://github.com/iwalton3/plex-mpv-shim/commit/d8643123a8ec79216e02850b08f63b06e4e0a2ea.diff";
+      hash = "sha256-nc+vwYnAtMjVzL2fIQeTAqhf3HBseL+2pFEtv8zNUXo=";
+    })
+  ];
+
   nativeBuildInputs = [
     wrapGAppsHook
     gobject-introspection
diff --git a/nixpkgs/pkgs/applications/video/recapp/default.nix b/nixpkgs/pkgs/applications/video/recapp/default.nix
index 7ec88af821e5..1e644ff9f417 100644
--- a/nixpkgs/pkgs/applications/video/recapp/default.nix
+++ b/nixpkgs/pkgs/applications/video/recapp/default.nix
@@ -44,12 +44,12 @@ python3.pkgs.buildPythonApplication rec {
     ninja
     pkg-config
     wrapGAppsHook
+    gobject-introspection
   ];
 
   buildInputs = [
     libnotify
     librsvg
-    gobject-introspection
     gtk3
     gst_all_1.gst-plugins-base
     gst_all_1.gst-plugins-good
diff --git a/nixpkgs/pkgs/applications/video/streamlink/default.nix b/nixpkgs/pkgs/applications/video/streamlink/default.nix
index 0f3fc27dc2b1..896476c0580d 100644
--- a/nixpkgs/pkgs/applications/video/streamlink/default.nix
+++ b/nixpkgs/pkgs/applications/video/streamlink/default.nix
@@ -6,12 +6,12 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "streamlink";
-  version = "6.0.1";
+  version = "6.1.0";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-0Qpil/bh2F+WaG0zv4yxEzx6e1fv3t9xed+nhT+NC7U=";
+    hash = "sha256-FwsgJ9TYBzCHxYlBwxrsOEy/mQH8tAH4JOkZrjh8Q4U=";
   };
 
   nativeCheckInputs = with python3Packages; [
@@ -45,8 +45,9 @@ python3Packages.buildPythonApplication rec {
   ];
 
   meta = with lib; {
-    homepage = "https://streamlink.github.io/";
+    changelog = "https://github.com/streamlink/streamlink/raw/${version}/CHANGELOG.md";
     description = "CLI for extracting streams from various websites to video player of your choosing";
+    homepage = "https://streamlink.github.io/";
     longDescription = ''
       Streamlink is a CLI utility that pipes videos from online
       streaming services to a variety of video players such as VLC, or
@@ -54,8 +55,8 @@ python3Packages.buildPythonApplication rec {
 
       Streamlink is a fork of the livestreamer project.
     '';
-    changelog = "https://github.com/streamlink/streamlink/raw/${version}/CHANGELOG.md";
     license = licenses.bsd2;
+    mainProgram = "streamlink";
     maintainers = with maintainers; [ dezgeg zraexy DeeUnderscore ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/video/stremio/default.nix b/nixpkgs/pkgs/applications/video/stremio/default.nix
index f1b469006a70..d64730f78a73 100644
--- a/nixpkgs/pkgs/applications/video/stremio/default.nix
+++ b/nixpkgs/pkgs/applications/video/stremio/default.nix
@@ -33,6 +33,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
+    mainProgram = "stremio";
     description = "A modern media center that gives you the freedom to watch everything you want.";
     homepage = "https://www.stremio.com/";
     # (Server-side) web UI is closed source now, apparently they work on open-sourcing it.
diff --git a/nixpkgs/pkgs/applications/video/vdr/softhddevice/default.nix b/nixpkgs/pkgs/applications/video/vdr/softhddevice/default.nix
index 1be01e63fc58..f4630dda62ed 100644
--- a/nixpkgs/pkgs/applications/video/vdr/softhddevice/default.nix
+++ b/nixpkgs/pkgs/applications/video/vdr/softhddevice/default.nix
@@ -12,12 +12,12 @@
 }:
 stdenv.mkDerivation rec {
   pname = "vdr-softhddevice";
-  version = "1.11.1";
+  version = "1.11.2";
 
   src = fetchFromGitHub {
     owner = "ua0lnj";
     repo = "vdr-plugin-softhddevice";
-    sha256 = "sha256-+itSxkyst/KJzyT8ALJkCKumrHHKiWfnvikonwexgnc=";
+    sha256 = "sha256-V/jkwj/FWgebT4w/n9R5p5xiRNacTolnS3/SYy7FJwA=";
     rev = "v${version}";
   };
 
diff --git a/nixpkgs/pkgs/applications/video/xplayer/default.nix b/nixpkgs/pkgs/applications/video/xplayer/default.nix
index 56ba7957a5a2..20a9772021a9 100644
--- a/nixpkgs/pkgs/applications/video/xplayer/default.nix
+++ b/nixpkgs/pkgs/applications/video/xplayer/default.nix
@@ -67,13 +67,13 @@ stdenv.mkDerivation rec {
     itstool
     pkg-config
     yelp-tools
+    gobject-introspection
   ];
 
   buildInputs = [
     clutter-gst
     clutter-gtk
     glib
-    gobject-introspection
     gst-plugins-bad
     gst-plugins-base
     gst-plugins-good