MPV: Difference between revisions
m reaadded the empty link to SMPlayer article. The article is wanted (at least by me) and it will be there some time in the future. |
m remove unnecessary description (see MoS), clean up headings (TODO: scripts, NixOS configuration) |
||
(One intermediate revision by one other user 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"> | <syntaxhighlight lang="bash" start="3"> | ||
nix-shell -p mpv | nix-shell -p mpv | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==== | ==== With NixOS ==== | ||
<syntaxhighlight lang="text"> | <syntaxhighlight lang="text"> | ||
environment.systemPackages = [ | environment.systemPackages = [ | ||
pkgs.mpv | pkgs.mpv | ||
]; | ]; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==== With Home Manager ==== | |||
==== | |||
<syntaxhighlight lang="text"> | <syntaxhighlight lang="text"> | ||
home.packages = [ | home.packages = [ | ||
pkgs.mpv | pkgs.mpv | ||
]; | ]; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Configuration == | |||
== | === With Home Manager === | ||
==== | ==== Basic ==== | ||
<syntaxhighlight lang="nix"> | <syntaxhighlight lang="nix"> | ||
programs.mpv | programs.mpv.enable = true; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==== | ==== Advanced ==== | ||
<syntaxhighlight lang="nix"> | <syntaxhighlight lang="nix"> | ||
programs.mpv = { | programs.mpv = { | ||
Line 65: | Line 57: | ||
== Tips and Tricks == | == Tips and Tricks == | ||
==== | ==== Where to get scripts ==== | ||
To find more scripts run this in a terminal: <syntaxhighlight lang="bash"> | 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]. | </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 ==== | ||
The package override options are defined in the following [https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/video/mpv/default.nix Nixpkgs directory]. | 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 == | == 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). | 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). | ||
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;
};
}
);
};