MPV: Difference between revisions
m changed category Category:Video Category:Audio to Category:Media Player (Categories Video and Audio are not for applications that utilize audio and video devices) |
m remove unnecessary description (see MoS), clean up headings (TODO: scripts, NixOS configuration) |
||
(6 intermediate revisions by 3 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 95: | 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 ==== | |||
pkgs/applications/video/mpv/ | The package override options are defined in the following [https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/video/mpv/default.nix Nixpkgs directory]. | ||
== 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 120: | Line 84: | ||
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> |
Latest revision as of 19:50, 3 November 2024
MPV is an open-source command line media player.
Installation
With nix-shell
nix-shell -p mpv
With NixOS
environment.systemPackages = [
pkgs.mpv
];
With Home Manager
home.packages = [
pkgs.mpv
];
Configuration
With Home Manager
Basic
programs.mpv.enable = true;
Advanced
programs.mpv = {
enable = true;
package = (
pkgs.mpv-unwrapped.wrapper {
scripts = with pkgs.mpvScripts; [
uosc
sponsorblock
];
mpv = pkgs.mpv-unwrapped.override {
waylandSupport = true;
};
}
);
config = {
profile = "high-quality";
ytdl-format = "bestvideo+bestaudio";
cache-default = 4000000;
};
};
Tips and Tricks
Where to get scripts
To find more scripts run this in a terminal:
nix search nixpkgs mpvScripts
The scripts are also defined in the following Nixpkgs directory.
Where to find override options
The package override options are defined in the following Nixpkgs directory.
Troubleshooting
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).
$ mpv --log-file=foo.log av://v4l2:/dev/video5
[lavf] Unknown lavf format v4l2
Failed to recognize file format.
Exiting... (Errors when loading file)
To address this problem, you can use the following package configuration for ffmpeg.
programs.mpv = {
enable = true;
package = (
pkgs.mpv-unwrapped.wrapper {
mpv = pkgs.mpv-unwrapped.override {
ffmpeg = pkgs.ffmpeg-full;
};
}
);
};