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/avidemux/default.nix15
-rw-r--r--nixpkgs/pkgs/applications/video/deface/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/video/frigate/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/video/handbrake/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/video/iina/default.nix37
-rw-r--r--nixpkgs/pkgs/applications/video/kodi/addons/arteplussept/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/kodi/addons/pvr-vdr-vnsi/default.nix23
-rw-r--r--nixpkgs/pkgs/applications/video/lbry/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/manim/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/video/mkvtoolnix/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/video/obs-studio/default.nix62
-rw-r--r--nixpkgs/pkgs/applications/video/obs-studio/plugins/advanced-scene-switcher/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-hyperion/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-ndi/default.nix19
-rw-r--r--nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-ndi/hardcode-ndi-path.patch31
-rw-r--r--nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-pipewire-audio-capture.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-teleport/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-tuna/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/video/open-in-mpv/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/video/openshot-qt/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/video/qarte/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/video/subtitleedit/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/video/vdr/markad/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/vdr/softhddevice/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/vdr/xineliboutput/default.nix40
-rw-r--r--nixpkgs/pkgs/applications/video/vlc/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/video/xplayer/default.nix18
27 files changed, 187 insertions, 144 deletions
diff --git a/nixpkgs/pkgs/applications/video/avidemux/default.nix b/nixpkgs/pkgs/applications/video/avidemux/default.nix
index 856bc95a477d..06951debf5ac 100644
--- a/nixpkgs/pkgs/applications/video/avidemux/default.nix
+++ b/nixpkgs/pkgs/applications/video/avidemux/default.nix
@@ -55,6 +55,8 @@ stdenv.mkDerivation rec {
     ++ lib.optionals withQT [ qttools qtbase ]
     ++ lib.optional withVPX libvpx;
 
+  dontWrapQtApps = true;
+
   buildCommand = let
     wrapWith = makeWrapper: filename:
       "${makeWrapper} ${filename} --set ADM_ROOT_DIR $out --prefix LD_LIBRARY_PATH : ${libXext}/lib";
@@ -83,6 +85,11 @@ stdenv.mkDerivation rec {
 
     ln -s "$out/bin/avidemux3_${default}" "$out/bin/avidemux"
 
+    # make the install path match the rpath
+    if [[ -d ''${!outputLib}/lib64 ]]; then
+      mv ''${!outputLib}/lib64 ''${!outputLib}/lib
+      ln -s lib ''${!outputLib}/lib64
+    fi
     fixupPhase
   '';
 
@@ -93,13 +100,5 @@ stdenv.mkDerivation rec {
     # "CPU not supported" errors on AArch64
     platforms = [ "i686-linux" "x86_64-linux" ];
     license = licenses.gpl2;
-    # Downstream we experience:
-    #
-    # https://github.com/NixOS/nixpkgs/issues/239424
-    #
-    # Upstream doesn't have a contact page / Bug tracker, so it's not easy to
-    # notify them about it. Using firejail might help, as some commented
-    # downstream.
-    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/applications/video/deface/default.nix b/nixpkgs/pkgs/applications/video/deface/default.nix
index 8b9e822070cf..428275535af4 100644
--- a/nixpkgs/pkgs/applications/video/deface/default.nix
+++ b/nixpkgs/pkgs/applications/video/deface/default.nix
@@ -42,9 +42,6 @@ python3.pkgs.buildPythonApplication rec {
     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; {
diff --git a/nixpkgs/pkgs/applications/video/frigate/default.nix b/nixpkgs/pkgs/applications/video/frigate/default.nix
index 5414193640f0..81798df47f27 100644
--- a/nixpkgs/pkgs/applications/video/frigate/default.nix
+++ b/nixpkgs/pkgs/applications/video/frigate/default.nix
@@ -25,6 +25,12 @@ let
 
   python = python3.override {
     packageOverrides = self: super: {
+      pydantic = super.pydantic_1;
+
+      versioningit = super.versioningit.overridePythonAttrs {
+        # checkPhase requires pydantic>=2
+        doCheck = false;
+      };
     };
   };
 
diff --git a/nixpkgs/pkgs/applications/video/handbrake/default.nix b/nixpkgs/pkgs/applications/video/handbrake/default.nix
index 483d165f947b..54216cf73ad6 100644
--- a/nixpkgs/pkgs/applications/video/handbrake/default.nix
+++ b/nixpkgs/pkgs/applications/video/handbrake/default.nix
@@ -10,6 +10,7 @@
 { stdenv
 , lib
 , fetchFromGitHub
+, fetchpatch
   # For tests
 , testers
 , runCommand
@@ -135,6 +136,11 @@ let
       "${src}/contrib/ffmpeg/A28-avcodec-amfenc-HDR-metadata.patch"
       # This patch is not applying since ffmpeg 5.1.1, probably it was backported by upstream
       # "${src}/contrib/ffmpeg/A30-svt-av1-backports.patch"
+      (fetchpatch {
+        name = "vulkan-remove-extensions.patch";
+        url = "https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff_plain/eb0455d64690";
+        hash = "sha256-qvLrb7b+9/bel8A2lZuSmBiJtHXsABw0Lvgn1ggnmCU=";
+      })
     ];
   });
 
diff --git a/nixpkgs/pkgs/applications/video/iina/default.nix b/nixpkgs/pkgs/applications/video/iina/default.nix
deleted file mode 100644
index 59e10dccc750..000000000000
--- a/nixpkgs/pkgs/applications/video/iina/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ lib
-, fetchurl
-, stdenv
-, undmg
-, nix-update-script
-}:
-
-stdenv.mkDerivation rec {
-  pname = "iina";
-  version = "1.3.3";
-
-  src = fetchurl {
-    url = "https://github.com/iina/iina/releases/download/v${version}/IINA.v${version}.dmg";
-    hash = "sha256-Sz9sS+07t32+KcEr9tXQlZKEr7Ace1mjX9caOicIiZE=";
-  };
-
-  nativeBuildInputs = [ undmg ];
-
-  sourceRoot = "IINA.app";
-
-  installPhase = ''
-    mkdir -p $out/{bin,Applications/IINA.app}
-    cp -R . "$out/Applications/IINA.app"
-    ln -s "$out/Applications/IINA.app/Contents/MacOS/iina-cli" "$out/bin/iina"
-  '';
-
-  passthru.updateScript = nix-update-script { };
-
-  meta = with lib; {
-    homepage = "https://iina.io/";
-    description = "The modern media player for macOS";
-    platforms = platforms.darwin;
-    license = licenses.gpl3;
-    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
-    maintainers = with maintainers; [ arkivm stepbrobd ];
-  };
-}
diff --git a/nixpkgs/pkgs/applications/video/kodi/addons/arteplussept/default.nix b/nixpkgs/pkgs/applications/video/kodi/addons/arteplussept/default.nix
index 1bc68436decc..287735d246e7 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.4.1";
+  version = "1.4.2";
 
   src = fetchzip {
     url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
-    hash = "sha256-4lPJIFBF4zXr1bEyv9tVUPXw9JFt2by/tcOwihib6aQ=";
+    hash = "sha256-dqxGKaOnEYOI33Aw76zbjma5z7MqOUh367dFsV87olU=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/video/kodi/addons/pvr-vdr-vnsi/default.nix b/nixpkgs/pkgs/applications/video/kodi/addons/pvr-vdr-vnsi/default.nix
new file mode 100644
index 000000000000..4b5e8c6a7094
--- /dev/null
+++ b/nixpkgs/pkgs/applications/video/kodi/addons/pvr-vdr-vnsi/default.nix
@@ -0,0 +1,23 @@
+{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, libGL }:
+buildKodiBinaryAddon rec {
+  pname = "pvr-vdr-vnsi";
+  namespace = "pvr.vdr.vnsi";
+  version = "20.4.1";
+
+  src = fetchFromGitHub {
+    owner = "kodi-pvr";
+    repo = "pvr.vdr.vnsi";
+    rev = "${version}-${rel}";
+    sha256 = "sha256-QooWK+LwlN5RAISjAQ2YiyDAjQQMzod8fFXpI0ll+hc=";
+  };
+
+  extraBuildInputs = [ libGL ];
+
+  meta = with lib; {
+    homepage = "https://github.com/kodi-pvr/pvr.vdr.vnsi";
+    description = "Kodi's VDR VNSI PVR client addon";
+    platforms = platforms.all;
+    license = licenses.gpl2Only;
+    maintainers = teams.kodi.members;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/video/lbry/default.nix b/nixpkgs/pkgs/applications/video/lbry/default.nix
index cadd38523ca1..b7c03850c951 100644
--- a/nixpkgs/pkgs/applications/video/lbry/default.nix
+++ b/nixpkgs/pkgs/applications/video/lbry/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "lbry-desktop";
-  version = "0.53.8";
+  version = "0.53.9";
 in appimageTools.wrapAppImage rec {
   name = "${pname}-${version}";
 
@@ -12,7 +12,7 @@ in appimageTools.wrapAppImage rec {
     src = fetchurl {
       url = "https://github.com/lbryio/lbry-desktop/releases/download/v${version}/LBRY_${version}.AppImage";
       # Gotten from latest-linux.yml
-      hash = "sha512-WZB2pMzSuWGPj6uad+rIECOhuWEOxi0hVUQifOrhUrKj4SnBDws+oy7V2+NpDGkzbG+Kf3IO8rcWBD4wfFoo2Q==";
+      hash = "sha256-FkqIazE4eIEobYRBstXfPWh6MTCaNcCLk14yDGC4rRk=";
     };
   };
 
diff --git a/nixpkgs/pkgs/applications/video/manim/default.nix b/nixpkgs/pkgs/applications/video/manim/default.nix
index 70b3ad8e1e45..2768dadad826 100644
--- a/nixpkgs/pkgs/applications/video/manim/default.nix
+++ b/nixpkgs/pkgs/applications/video/manim/default.nix
@@ -54,11 +54,18 @@ in python.pkgs.buildPythonApplication rec {
     owner  = "ManimCommunity";
     repo = "manim";
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-TI7O0b1JvUZAxTj6XfpAJKhbGqrGnhcrE9eRJUVx4GM=";
+    hash = "sha256-TI7O0b1JvUZAxTj6XfpAJKhbGqrGnhcrE9eRJUVx4GM=";
   };
 
   nativeBuildInputs = with python.pkgs; [
     poetry-core
+    pythonRelaxDepsHook
+  ];
+
+  pythonRelaxDeps = [
+    "cloup"
+    "pillow"
+    "skia-pathops"
   ];
 
   patches = [
@@ -67,8 +74,7 @@ in python.pkgs.buildPythonApplication rec {
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace "--no-cov-on-fail --cov=manim --cov-report xml --cov-report term" "" \
-      --replace 'cloup = "^0.13.0"' 'cloup = "*"' \
+      --replace "--no-cov-on-fail --cov=manim --cov-report xml --cov-report term" ""
   '';
 
   buildInputs = [ cairo ];
diff --git a/nixpkgs/pkgs/applications/video/mkvtoolnix/default.nix b/nixpkgs/pkgs/applications/video/mkvtoolnix/default.nix
index 9e5376ee1cfb..b6d79695f5d3 100644
--- a/nixpkgs/pkgs/applications/video/mkvtoolnix/default.nix
+++ b/nixpkgs/pkgs/applications/video/mkvtoolnix/default.nix
@@ -25,6 +25,7 @@
 , pugixml
 , qtbase
 , qtmultimedia
+, qtwayland
 , utf8cpp
 , xdg-utils
 , zlib
@@ -90,6 +91,7 @@ stdenv.mkDerivation rec {
     zlib
   ]
   ++ optionals withGUI [ cmark ]
+  ++ optionals stdenv.isLinux [ qtwayland ]
   ++ optionals stdenv.isDarwin [ libiconv ];
 
   # autoupdate is not needed but it silences a ton of pointless warnings
diff --git a/nixpkgs/pkgs/applications/video/obs-studio/default.nix b/nixpkgs/pkgs/applications/video/obs-studio/default.nix
index a19e996064a0..74b19296dbdf 100644
--- a/nixpkgs/pkgs/applications/video/obs-studio/default.nix
+++ b/nixpkgs/pkgs/applications/video/obs-studio/default.nix
@@ -2,10 +2,11 @@
 , lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , addOpenGLRunpath
 , cmake
 , fdk_aac
-, ffmpeg_4
+, ffmpeg
 , jansson
 , libjack2
 , libxkbcommon
@@ -35,6 +36,7 @@
 , libcef
 , pciutils
 , pipewireSupport ? stdenv.isLinux
+, withFdk ? true
 , pipewire
 , libdrm
 , libajantv2
@@ -48,21 +50,24 @@
 , asio
 , decklinkSupport ? false
 , blackmagic-desktop-video
+, libdatachannel
+, libvpl
+, qrcodegencpp
 }:
 
 let
   inherit (lib) optional optionals;
-
 in
-stdenv.mkDerivation rec {
+
+stdenv.mkDerivation (finalAttrs: {
   pname = "obs-studio";
-  version = "29.1.3";
+  version = "30.0.2";
 
   src = fetchFromGitHub {
     owner = "obsproject";
-    repo = "obs-studio";
-    rev = version;
-    sha256 = "sha256-D0DPueMtopwz5rLgM8QcPT7DgTKcJKQHnst69EY9V6Q=";
+    repo = finalAttrs.pname;
+    rev = finalAttrs.version;
+    sha256 = "sha256-8pX1kqibrtDIaE1+/Pey1A5bu6MwFTXLrBOah4rsF+4=";
     fetchSubmodules = true;
   };
 
@@ -70,6 +75,25 @@ stdenv.mkDerivation rec {
     # Lets obs-browser build against CEF 90.1.0+
     ./Enable-file-access-and-universal-access-for-file-URL.patch
     ./fix-nix-plugin-path.patch
+
+    # Backport ffmpeg 6.1 / GCC 13 build fixes
+    # FIXME: remove in next release
+    (fetchpatch {
+      url = "https://github.com/obsproject/obs-studio/commit/cd784644f5e82b9988043f229c19603289c6d32c.patch";
+      hash = "sha256-S4JE5kgr4x3uMHY2GRh0GBJpb7o/wYZb/v0CDITFNnQ=";
+    })
+    (fetchpatch {
+      url = "https://github.com/obsproject/obs-studio/commit/758b47d4ed9a25b8d64ad481d8d039990b9e57c9.patch";
+      hash = "sha256-jYpjwhx6e+dhN3kzbd6FcdjQ+WhIX0/BOu9PSkt+2yI=";
+    })
+    (fetchpatch {
+      url = "https://github.com/obsproject/obs-studio/commit/4b5be75c7e4b8cee908ed4a02fe0078285b4e8c9.patch";
+      hash = "sha256-tuOevhyxchwG42ilrplbiWoiDAKaY4HgzShlvp4VSQI=";
+    })
+    (fetchpatch {
+      url = "https://github.com/obsproject/obs-studio/commit/6e080a68067b27fe5463f0f4eee7df690451f3d7.patch";
+      hash = "sha256-nbn/q3uszoHaDvaW8Et1MS1sgQzMsJRmjGSMHzUxV70=";
+    })
   ];
 
   nativeBuildInputs = [
@@ -83,8 +107,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     curl
-    fdk_aac
-    ffmpeg_4
+    ffmpeg
     jansson
     libcef
     libjack2
@@ -108,11 +131,15 @@ stdenv.mkDerivation rec {
     nlohmann_json
     websocketpp
     asio
+    libdatachannel
+    libvpl
+    qrcodegencpp
   ]
   ++ optionals scriptingSupport [ luajit python3 ]
   ++ optional alsaSupport alsa-lib
   ++ optional pulseaudioSupport libpulseaudio
-  ++ optionals pipewireSupport [ pipewire libdrm ];
+  ++ optionals pipewireSupport [ pipewire libdrm ]
+  ++ optional withFdk fdk_aac;
 
   # Copied from the obs-linuxbrowser
   postUnpack = ''
@@ -127,12 +154,17 @@ stdenv.mkDerivation rec {
   '';
 
   cmakeFlags = [
-    "-DOBS_VERSION_OVERRIDE=${version}"
+    "-DOBS_VERSION_OVERRIDE=${finalAttrs.version}"
     "-Wno-dev" # kill dev warnings that are useless for packaging
     # Add support for browser source
     "-DBUILD_BROWSER=ON"
     "-DCEF_ROOT_DIR=../../cef"
     "-DENABLE_JACK=ON"
+    (lib.cmakeBool "ENABLE_QSV11" stdenv.hostPlatform.isx86_64)
+    (lib.cmakeBool "ENABLE_LIBFDK" withFdk)
+    (lib.cmakeBool "ENABLE_ALSA" alsaSupport)
+    (lib.cmakeBool "ENABLE_PULSEAUDIO" pulseaudioSupport)
+    (lib.cmakeBool "ENABLE_PIPEWIRE" pipewireSupport)
   ];
 
   dontWrapGApps = true;
@@ -159,7 +191,7 @@ stdenv.mkDerivation rec {
     addOpenGLRunpath $out/lib/obs-plugins/*.so
 
     # Link libcef again after patchelfing other libs
-    ln -s ${libcef}/lib/libcef.so $out/lib/obs-plugins/libcef.so
+    ln -s ${libcef}/lib/* $out/lib/obs-plugins/
   '';
 
   meta = with lib; {
@@ -170,9 +202,9 @@ stdenv.mkDerivation rec {
       video content, efficiently
     '';
     homepage = "https://obsproject.com";
-    maintainers = with maintainers; [ jb55 MP2E materus ];
-    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ eclairevoyant jb55 MP2E materus fpletz ];
+    license = with licenses; [ gpl2Plus ] ++ optional withFdk fraunhofer-fdk;
     platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" ];
     mainProgram = "obs";
   };
-}
+})
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 aee37b4b06d1..b776981522d0 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
@@ -23,13 +23,13 @@
 
 stdenv.mkDerivation rec {
   pname = "advanced-scene-switcher";
-  version = "1.24.0";
+  version = "1.24.2";
 
   src = fetchFromGitHub {
     owner = "WarmUpTill";
     repo = "SceneSwitcher";
     rev = version;
-    hash = "sha256-Xnf8Vz6I5EfiiVoG0JRd0f0IJHw1IVkTLL4Th/hWYrc=";
+    hash = "sha256-J5Qcs2eoKMeO1O/MCsR5wfmfbtndRaZmHrbleEZqqOo=";
   };
 
   nativeBuildInputs = [
@@ -72,6 +72,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/WarmUpTill/SceneSwitcher";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ paveloom ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-hyperion/default.nix b/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-hyperion/default.nix
index c92bdd9346c8..85606e05f0c1 100644
--- a/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-hyperion/default.nix
+++ b/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-hyperion/default.nix
@@ -33,6 +33,5 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = with maintainers; [ algram ];
     platforms = [ "x86_64-linux" ];
-    broken = true; # Not compatible with qt6 yet but required by OBS28
   };
 }
diff --git a/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-ndi/default.nix b/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-ndi/default.nix
index a16c8924adce..037eda100611 100644
--- a/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-ndi/default.nix
+++ b/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-ndi/default.nix
@@ -2,16 +2,16 @@
 
 stdenv.mkDerivation rec {
   pname = "obs-ndi";
-  version = "4.10.0";
+  version = "4.13.0";
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake qtbase ];
   buildInputs = [ obs-studio qtbase ndi ];
 
   src = fetchFromGitHub {
     owner = "Palakis";
     repo = "obs-ndi";
-    rev = "dummy-tag-${version}";
-    sha256 = "sha256-eQ/hQ2AnwyBNOotqlUZq07m4FXoeir2f7cTVq594obc=";
+    rev = version;
+    sha256 = "sha256-ugAMSTXbbIZ61oWvoggVJ5kZEgp/waEcWt89AISrSdE=";
   };
 
   patches = [
@@ -19,8 +19,8 @@ stdenv.mkDerivation rec {
   ];
 
   postPatch = ''
-    # Add path (variable added in hardcode-ndi-path.patch)
-    sed -i -e s,@NDI@,${ndi},g src/obs-ndi.cpp
+    # Add path (variable added in hardcode-ndi-path.patch
+    sed -i -e s,@NDI@,${ndi},g src/plugin-main.cpp
 
     # Replace bundled NDI SDK with the upstream version
     # (This fixes soname issues)
@@ -28,12 +28,7 @@ stdenv.mkDerivation rec {
     ln -s ${ndi}/include lib/ndi
   '';
 
-  postInstall = ''
-    mkdir $out/lib $out/share
-    mv $out/obs-plugins/64bit $out/lib/obs-plugins
-    rm -rf $out/obs-plugins
-    mv $out/data $out/share/obs
-  '';
+  cmakeFlags = [ "-DENABLE_QT=ON" ];
 
   dontWrapQtApps = true;
 
diff --git a/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-ndi/hardcode-ndi-path.patch b/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-ndi/hardcode-ndi-path.patch
index 03b54473bb8b..b675c10a0346 100644
--- a/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-ndi/hardcode-ndi-path.patch
+++ b/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-ndi/hardcode-ndi-path.patch
@@ -1,19 +1,16 @@
-diff --git a/src/obs-ndi.cpp b/src/obs-ndi.cpp
-index 1a8aeb3..9a36ea9 100644
---- a/src/obs-ndi.cpp
-+++ b/src/obs-ndi.cpp
-@@ -132,13 +132,7 @@ const NDIlib_v5 *load_ndilib()
- 	const char *redistFolder = std::getenv(NDILIB_REDIST_FOLDER);
- 	if (redistFolder)
- 		libraryLocations.push_back(redistFolder);
+diff --git a/src/plugin-main.cpp b/src/plugin-main.cpp
+index 0d94add..617af73 100644
+--- a/src/plugin-main.cpp
++++ b/src/plugin-main.cpp
+@@ -244,10 +244,7 @@ const NDIlib_v4 *load_ndilib()
+ 	if (!path.isEmpty()) {
+ 		locations << path;
+ 	}
 -#if defined(__linux__) || defined(__APPLE__)
--	libraryLocations.push_back("/usr/lib");
--	libraryLocations.push_back("/usr/lib64");
--	libraryLocations.push_back("/usr/lib/x86_64-linux-gnu");
--	libraryLocations.push_back("/usr/local/lib");
--	libraryLocations.push_back("/usr/local/lib64");
+-	locations << "/usr/lib";
+-	locations << "/usr/local/lib";
 -#endif
-+	libraryLocations.push_back("@NDI@/lib");
- 
- 	for (std::string path : libraryLocations) {
- 		blog(LOG_DEBUG, "[load_ndilib] Trying library path: '%s'", path.c_str());
++	locations << "@NDI@/lib";
+ 	for (QString location : locations) {
+ 		path = QDir::cleanPath(
+ 			QDir(location).absoluteFilePath(NDILIB_LIBRARY_NAME));
diff --git a/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-pipewire-audio-capture.nix b/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-pipewire-audio-capture.nix
index 622ba7d66e28..f2aef5972dc1 100644
--- a/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-pipewire-audio-capture.nix
+++ b/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-pipewire-audio-capture.nix
@@ -27,10 +27,6 @@ stdenv.mkDerivation rec {
     "-Wno-dev"
   ];
 
-  preConfigure = ''
-    cp ${obs-studio.src}/cmake/external/ObsPluginHelpers.cmake cmake/FindLibObs.cmake
-  '';
-
   meta = with lib; {
     description = "Audio device and application capture for OBS Studio using PipeWire";
     homepage = "https://github.com/dimtpap/obs-pipewire-audio-capture";
diff --git a/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-teleport/default.nix b/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-teleport/default.nix
index c7ee1d4f2598..3c0c662b7618 100644
--- a/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-teleport/default.nix
+++ b/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-teleport/default.nix
@@ -47,7 +47,7 @@ buildGoModule rec {
   meta = {
     description = "An OBS Studio plugin for an open NDI-like replacement";
     homepage = "https://github.com/fzwoch/obs-teleport";
-    maintainers = [ lib.maintainers.paveloom ];
+    maintainers = [ ];
     license = lib.licenses.gpl2Plus;
     platforms = obs-studio.meta.platforms;
   };
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 8fd1b5f96f83..798b23b2c8d7 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
@@ -28,6 +28,9 @@ stdenv.mkDerivation (finalAttrs: {
     fetchSubmodules = true;
   };
 
+  # obs_frontend_add_dock() deprecated in obs 30
+  env.NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
+
   patches = [
     # fix build with qt 6.6.0
     # treewide: replace deprecated qAsConst with std::as_const()
@@ -36,6 +39,11 @@ stdenv.mkDerivation (finalAttrs: {
       url = "https://github.com/univrsal/tuna/commit/0d570e771f8d8e6ae7c85bd2b86bbf59c264789e.patch";
       hash = "sha256-A5idhMiM9funqhTm5XMIBqwy+FO1SaNPtgZjo+Vws6k=";
     })
+    # fix build with obs 30
+    (fetchpatch2 {
+      url = "https://github.com/univrsal/tuna/commit/723bd3c7b4e257cf0997611426e555068de77ae7.patch";
+      hash = "sha256-MF5vghGYknL6q+A8BJ1yrQcEKIu9I+PWk+RZNYg3fRU=";
+    })
   ];
 
   postInstall = ''
diff --git a/nixpkgs/pkgs/applications/video/open-in-mpv/default.nix b/nixpkgs/pkgs/applications/video/open-in-mpv/default.nix
index 02c9d80a43ea..4af06adf347e 100644
--- a/nixpkgs/pkgs/applications/video/open-in-mpv/default.nix
+++ b/nixpkgs/pkgs/applications/video/open-in-mpv/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "open-in-mpv";
-  version = "2.1.0";
+  version = "2.1.0-unstable-2023-05-13";
 
   src = fetchFromGitHub {
     owner = "Baldomo";
     repo = "open-in-mpv";
-    rev = "v${version}";
-    hash = "sha256-3Fsa3AwiHsb8VcKa4a/RKyYu+CD5nEX0nIXENhBZCWk=";
+    rev = "07fc639b2882a9a68e539f0fc34b61e247c355fa";
+    hash = "sha256-XkoXvSh5uu96isXc1at36mxSCPylHgMLN97qSpj2cyc=";
   };
 
   vendorHash = "sha256-G6GZO2+CfEAYcf7zBcqDa808A0eJjM8dq7+4VGZ+P4c=";
diff --git a/nixpkgs/pkgs/applications/video/openshot-qt/default.nix b/nixpkgs/pkgs/applications/video/openshot-qt/default.nix
index 5c9b85e1f680..089b60a3b27c 100644
--- a/nixpkgs/pkgs/applications/video/openshot-qt/default.nix
+++ b/nixpkgs/pkgs/applications/video/openshot-qt/default.nix
@@ -41,7 +41,7 @@ mkDerivationWith python3.pkgs.buildPythonApplication {
     pyqtwebengine
     pyzmq
     requests
-    sip_4
+    sip4
   ];
 
   strictDeps = true;
diff --git a/nixpkgs/pkgs/applications/video/qarte/default.nix b/nixpkgs/pkgs/applications/video/qarte/default.nix
index e237a1c641a9..cbbf1f307620 100644
--- a/nixpkgs/pkgs/applications/video/qarte/default.nix
+++ b/nixpkgs/pkgs/applications/video/qarte/default.nix
@@ -1,7 +1,7 @@
 { mkDerivation, lib, fetchbzr, python3, rtmpdump }:
 
 let
-  pythonEnv = python3.withPackages (ps: with ps; [ m3u8 pyqt5_with_qtmultimedia ]);
+  pythonEnv = python3.withPackages (ps: with ps; [ m3u8 pyqt5-multimedia ]);
 in mkDerivation {
   pname = "qarte";
   version = "5.5.0";
diff --git a/nixpkgs/pkgs/applications/video/subtitleedit/default.nix b/nixpkgs/pkgs/applications/video/subtitleedit/default.nix
index 88018e5a5612..e08ac36db3f0 100644
--- a/nixpkgs/pkgs/applications/video/subtitleedit/default.nix
+++ b/nixpkgs/pkgs/applications/video/subtitleedit/default.nix
@@ -92,6 +92,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     platforms = platforms.all;
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
-    maintainers = with maintainers; [ paveloom ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/video/vdr/markad/default.nix b/nixpkgs/pkgs/applications/video/vdr/markad/default.nix
index 335767204c43..3acec28d803a 100644
--- a/nixpkgs/pkgs/applications/video/vdr/markad/default.nix
+++ b/nixpkgs/pkgs/applications/video/vdr/markad/default.nix
@@ -19,12 +19,12 @@
 }:
 stdenv.mkDerivation rec {
   pname = "vdr-markad";
-  version = "3.4.2";
+  version = "3.4.3";
 
   src = fetchFromGitHub {
     repo = "vdr-plugin-markad";
     owner = "kfb77";
-    sha256 = "sha256-C7s/92xmG6bffRqr3ndecmi/RbVlboRsYZLLThLYEzQ=";
+    sha256 = "sha256-1+NpfZaXUaNSRbN07FrjDNqbOotmvrAwf4uLKhnKGkQ=";
     rev = "V${version}";
   };
 
diff --git a/nixpkgs/pkgs/applications/video/vdr/softhddevice/default.nix b/nixpkgs/pkgs/applications/video/vdr/softhddevice/default.nix
index 1f0cee44df32..3e738e40d486 100644
--- a/nixpkgs/pkgs/applications/video/vdr/softhddevice/default.nix
+++ b/nixpkgs/pkgs/applications/video/vdr/softhddevice/default.nix
@@ -14,12 +14,12 @@
 }:
 stdenv.mkDerivation rec {
   pname = "vdr-softhddevice";
-  version = "2.0.7";
+  version = "2.0.9";
 
   src = fetchFromGitHub {
     owner = "ua0lnj";
     repo = "vdr-plugin-softhddevice";
-    sha256 = "sha256-AzWYgR0IdB4922HxH7K83heRIEi31fz20Z2W7E9ljXw=";
+    sha256 = "sha256-FyjKMCKPZVtQhb7wBx4Xr6I/kb2QMH/TEE21bw5gcwc=";
     rev = "v${version}";
   };
 
diff --git a/nixpkgs/pkgs/applications/video/vdr/xineliboutput/default.nix b/nixpkgs/pkgs/applications/video/vdr/xineliboutput/default.nix
index 7660b4eae3d2..a01ee1481f8a 100644
--- a/nixpkgs/pkgs/applications/video/vdr/xineliboutput/default.nix
+++ b/nixpkgs/pkgs/applications/video/vdr/xineliboutput/default.nix
@@ -1,18 +1,34 @@
-{ stdenv, fetchurl, lib, vdr
-, libav, libcap, libvdpau
-, xine-lib, libjpeg, libextractor, libglvnd, libGLU
-, libX11, libXext, libXrender, libXrandr
+{ stdenv
+, fetchurl
+, lib
+, vdr
+, libcap
+, libvdpau
+, xine-lib
+, libjpeg
+, libextractor
+, libglvnd
+, libGLU
+, libX11
+, libXext
+, libXrender
+, libXrandr
+, ffmpeg
+, avahi
+, wayland
 , makeWrapper
-}: let
+, dbus-glib
+}:
+let
   makeXinePluginPath = l: lib.concatStringsSep ":" (map (p: "${p}/lib/xine/plugins") l);
 
-  self =  stdenv.mkDerivation rec {
+  self = stdenv.mkDerivation rec {
     pname = "vdr-xineliboutput";
-    version = "2.2.0";
+    version = "2.3.0";
 
     src = fetchurl {
       url = "mirror://sourceforge/project/xineliboutput/xineliboutput/${pname}-${version}/${pname}-${version}.tgz";
-      sha256 = "0a24hs5nr7ncf51c5agyfn1xrvb4p70y3i0s6dlyyd9bwbfjldns";
+      sha256 = "sha256-GnTaGaIbBufZP2npa9mAbrO1ccMf1RzhbvjrWhKBTjg=";
     };
 
     postPatch = ''
@@ -41,7 +57,8 @@
     nativeBuildInputs = [ makeWrapper ];
 
     buildInputs = [
-      libav
+      dbus-glib
+      ffmpeg
       libcap
       libextractor
       libjpeg
@@ -54,6 +71,8 @@
       libX11
       vdr
       xine-lib
+      avahi
+      wayland
     ];
 
     passthru.requiredXinePlugins = [ xine-lib self ];
@@ -66,4 +85,5 @@
       inherit (vdr.meta) platforms;
     };
   };
-in self
+in
+self
diff --git a/nixpkgs/pkgs/applications/video/vlc/default.nix b/nixpkgs/pkgs/applications/video/vlc/default.nix
index 8f2358fdd6ab..afa948b00bb5 100644
--- a/nixpkgs/pkgs/applications/video/vlc/default.nix
+++ b/nixpkgs/pkgs/applications/video/vlc/default.nix
@@ -11,7 +11,7 @@
 , avahi
 , dbus
 , faad2
-, ffmpeg_4
+, ffmpeg
 , flac
 , fluidsynth
 , freefont_ttf
@@ -105,7 +105,7 @@ stdenv.mkDerivation (finalAttrs: {
   version = "3.0.20";
 
   src = fetchurl {
-    url = "http://get.videolan.org/vlc/${finalAttrs.version}/vlc-${finalAttrs.version}.tar.xz";
+    url = "https://get.videolan.org/vlc/${finalAttrs.version}/vlc-${finalAttrs.version}.tar.xz";
     hash = "sha256-rccoW00nIc3fQOtScMraKqoQozTLVG/VWgY1NEe6KbU=";
   };
 
@@ -136,7 +136,7 @@ stdenv.mkDerivation (finalAttrs: {
     avahi
     dbus
     faad2
-    ffmpeg_4
+    ffmpeg
     flac
     fluidsynth
     fribidi
@@ -287,7 +287,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   meta = {
     description = "Cross-platform media player and streaming server";
-    homepage = "http://www.videolan.org/vlc/";
+    homepage = "https://www.videolan.org/vlc/";
     license = lib.licenses.lgpl21Plus;
     maintainers = with lib.maintainers; [ AndersonTorres ];
     platforms = lib.platforms.linux;
diff --git a/nixpkgs/pkgs/applications/video/xplayer/default.nix b/nixpkgs/pkgs/applications/video/xplayer/default.nix
index 20a9772021a9..baa8fcb95be0 100644
--- a/nixpkgs/pkgs/applications/video/xplayer/default.nix
+++ b/nixpkgs/pkgs/applications/video/xplayer/default.nix
@@ -25,13 +25,6 @@
 , xapp
 , yelp-tools }:
 
-let
-  pythonenv = python3.withPackages (ps: [
-    ps.pygobject3
-    ps.dbus-python # For one plugin
-  ]);
-in
-
 stdenv.mkDerivation rec {
   pname = "xplayer";
   version = "2.4.4";
@@ -66,6 +59,7 @@ stdenv.mkDerivation rec {
     intltool
     itstool
     pkg-config
+    python3.pkgs.wrapPython
     yelp-tools
     gobject-introspection
   ];
@@ -82,15 +76,15 @@ stdenv.mkDerivation rec {
     libpeas
     libxml2
     libxplayer-plparser
-    pythonenv
+    python3
     xapp
     # to satisfy configure script
-    pythonenv.pkgs.pygobject3
+    python3.pkgs.pygobject3
   ];
 
-  postInstall = ''
-    wrapProgram $out/bin/xplayer \
-                --prefix PATH : ${lib.makeBinPath [ pythonenv ]}
+  postFixup = ''
+    buildPythonPath ${python3.pkgs.dbus-python}
+    patchPythonScript $out/lib/xplayer/plugins/dbus/dbusservice.py
   '';
 
   meta = with lib; {