NixOS でインストールできる mpv はデフォルトで libaribb24 が有効化されています。ただ、一応表示はできるのですがそれほどキレイではありません。より洗練された仕組みとして libaribcaption があり、mpv はこれにも対応しています。ということで NixOS でこれを有効化してみます。
まず mpv を通常の ffmpeg ではなく ffmpeg-full パッケージでビルドするようにします。mpv は home-manager のサポートがあるので、これの programs.mpv.package を以下のように設定します。mpv-unwrapped を使うのがポイントです。
programs.mpv = {
enable = true;
package = with pkgs;
mpv.override {
mpv = mpv-unwrapped.override {
ffmpeg = ffmpeg-full;
};
};
};
続いて mpv の設定を変更し libaribcaption を使うようにします。
programs.mpv = {
# ...
config = {
sub-lavc-o = "sub_type=bitmap";
};
};