]> Sergey Matveev's repositories - stargrave-blog.git/commit
Указание профилей для mpv
authorSergey Matveev <stargrave@stargrave.org>
Fri, 8 May 2020 13:29:55 +0000 (16:29 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Fri, 8 May 2020 13:29:55 +0000 (16:29 +0300)
commit2a79e74e9113aa116e64ac3135aff12f5d2bab73
tree4b825dc642cb6eb9a060e54bf8d69288fbee4904
parent58f57eca36f7aa6608ecf19b7625f9bef8ce9204
Указание профилей для mpv

https://git.stargrave.org/cgit.cgi/dotfiles.git/commit/?id=e4ad1f1ad2808104f569c2e8ecb20f3c33af9a75
Со времён mplayer у меня было три use-case для многих вещей которые я
проигрываю: вывод на внешнюю звуковую карту, включение нормализации
громкости звука и включение аппаратного ускорения видео.
Для mplayer я в итоге делал: mplayervo.sh, mplayervoaf.sh скрипты
которые запускали mplayer с ускоренным видео и тоже самое, но с
нормализацией звука. В основном вывод на внешнюю звуковую я использую
для музыки и просто в zsh истории у меня сохранялся вызов mplayer -ao ...

В mpv появились работающие профили (в mplayer то ли не работало, то ли я
криворук и нетерпелив) и все эти случаи можно включать как --profile=...
Видеоускорение случай отпадает: mpv автоматически его сам включит. Но
вот задавать --profile=volnorm, --profile=extaudio геморройно. Писать
скрипты .sh как я делал для mplayer тоже как-то не трушно совсем.

В итоге написал простую обёртку ("mp"), которая заглавные двухбуквенные
аргументы заменяет на --profile=...:

    #!/usr/bin/env perl
    exec "mpv", map { s/^([A-Z][A-Z])$/--profile=$1/ ; $_ } @ARGV;

И я могу написать mp AO ... и будет вывод на внешнюю звуковуху, хочу при
этом нормализацию звука: mp AO VN ... Идея тупейшая, но я не понимаю
почему я за столько лет не додумался до неё сразу же. Да и "mp" набирать
куда быстрее.