MPV: Difference between revisions
let's not promote nix-env anymore in 2024 |
Guttermonk (talk | contribs) added information about umpv |
||
(8 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
[https://mpv.io/ MPV] is an open-source command line media player | [https://mpv.io/ MPV] is an open-source command line media player. | ||
== Installation == | == Installation == | ||
=== | ==== With nix-shell ==== | ||
<syntaxhighlight lang="bash" start="3"> | |||
nix-shell -p mpv | nix-shell -p mpv | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== | ==== With NixOS ==== | ||
<syntaxhighlight lang="text"> | |||
environment.systemPackages = [ | environment.systemPackages = [ | ||
pkgs.mpv | |||
]; | ]; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==== With Home Manager ==== | |||
=== | <syntaxhighlight lang="text"> | ||
home.packages = [ | home.packages = [ | ||
pkgs.mpv | pkgs.mpv | ||
]; | ]; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Configuration == | |||
== | === With Home Manager === | ||
programs.mpv | ==== Basic ==== | ||
<syntaxhighlight lang="nix"> | |||
programs.mpv.enable = true; | |||
</syntaxhighlight> | </syntaxhighlight> | ||
==== Advanced ==== | |||
<syntaxhighlight lang="nix"> | |||
programs.mpv = { | programs.mpv = { | ||
enable = true; | enable = true; | ||
package = ( | |||
package = | pkgs.mpv-unwrapped.wrapper { | ||
scripts = with pkgs.mpvScripts; [ | scripts = with pkgs.mpvScripts; [ | ||
uosc | uosc | ||
sponsorblock | sponsorblock | ||
]; | ]; | ||
mpv = pkgs.mpv-unwrapped.override { | |||
waylandSupport = true; | |||
}; | |||
} | |||
); | |||
config = { | config = { | ||
profile = "high-quality"; | profile = "high-quality"; | ||
Line 90: | Line 55: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== | == Tips and Tricks == | ||
==== Where to get scripts ==== | |||
To find more scripts run this in a terminal: <syntaxhighlight lang="bash"> | |||
nix search nixpkgs mpvScripts | nix search nixpkgs mpvScripts | ||
</syntaxhighlight>The scripts are also defined in the following [https://github.com/NixOS/nixpkgs/tree/master/pkgs/applications/video/mpv/scripts Nixpkgs directory]. | |||
==== Where to find override options and using umpv ==== | |||
The package override options are defined in the following [https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/video/mpv/default.nix Nixpkgs directory]. This includes a commonly used first party script called [https://github.com/mpv-player/mpv/blob/master/TOOLS/umpv umpv] which allows additional files to be appended to the playlist of an open instance. In the nix derivation of mpv, the umpv script is bundled into the program and can be ran from the command line with `umpv foo.ogg`. Note that umpv can only be ran with the name of the file being opened and cannot be ran with additional arguments or flags. | |||
</ | Also note that commands cannot be passed to mpv using socat when mpv is ran using the umpv python wrapper. For example, if you try to pause umpv with <code>echo '{"command": ["cycle", "pause"]}' | socat - /tmp/mpvsocket</code>, it will result in an error similar to the following: | ||
<code>2025/05/07 22:49:15 socat[115919] E GOPEN: /tmp/mpvsocket: Connection refused</code> | |||
== Troubleshooting == | |||
If you get the following sort of error, note that | ==== Error, unknown format ==== | ||
If you get the following sort of error, note that MPV currently uses the small ffmpeg version (ffmpeg_5) instead of the full version (ffmpeg_5-full). | |||
<syntaxhighlight lang="shell"> | <syntaxhighlight lang="shell"> | ||
Line 115: | Line 87: | ||
enable = true; | enable = true; | ||
package = | package = ( | ||
pkgs.mpv-unwrapped.wrapper { | |||
mpv = pkgs.mpv-unwrapped.override { | mpv = pkgs.mpv-unwrapped.override { | ||
ffmpeg = pkgs.ffmpeg-full; | ffmpeg = pkgs.ffmpeg-full; | ||
}; | }; | ||
}); | } | ||
); | |||
}; | }; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 128: | Line 101: | ||
# https://github.com/mpv-player/mpv/wiki | # https://github.com/mpv-player/mpv/wiki | ||
# https://en.wikipedia.org/wiki/Mpv_(media_player) | # https://en.wikipedia.org/wiki/Mpv_(media_player) | ||
# https:// | # https://search.nixos.org/packages?query=mpv | ||
# https://home-manager-options.extranix.com/?query=mpv | |||
[[Category:Applications]] | [[Category:Applications]] | ||
[[Category:CLI Applications]] | |||
[[Category:Media Player]] | [[Category:Media Player]] |