Prefer regular 'Iosevka' font in most cases, not the highly specific 'Iosevka Nerd Font'. This may break some things back in Archlinux-land but it is required for iosevka to be correctly displayed in Voidlinux, and, to be honest, also feels more clean than using such a highly specialized font for everything. Additionally, we generally make use of both where possible, defaulting to the more specific 'Nerd Font' family variant but falling back to regular old Iosevka. One exception is 'wezterm' which, though it nicely includes a font fallback option (and a very configurable one at that), _always_ produces a warning when the first font in a fallback list is not found -- even when the specific 'warn_about_missing_glyphs' option is ticked. No clue why but for now this works well enough for me.
153 lines
3.6 KiB
Text
153 lines
3.6 KiB
Text
## mostly cobbled together from:
|
|
## https://github.com/Tsubajashi/mpv-settings/blob/master/mpv.conf
|
|
## https://github.com/haasn/gentoo-conf/blob/d3fd304fd7d8d816de6e280daf626b1b49a69893/home/nand/.mpv/config
|
|
## with much gratitude
|
|
|
|
#### player settings
|
|
|
|
# do not open in fullscreen, do not create border
|
|
fullscreen=no
|
|
# if playing the last file in e.g. a playlist, simply pause after finishing
|
|
keep-open=yes
|
|
# allow remote operation through ipc, see https://mpv.io/manual/stable/#json-ipc
|
|
input-ipc-server=/tmp/mpv-socket
|
|
|
|
# display a little seek bar in term
|
|
term-osd-bar=yes
|
|
# colorful term output
|
|
msg-color=yes
|
|
# add module names to term output
|
|
msg-module=yes
|
|
|
|
### screenshots
|
|
|
|
screenshot-directory="${XDG_PICTURES_DIR:-~/media/pictures}/screenshots"
|
|
# filename_HH-MM-SS
|
|
screenshot-template="screen_%F_%wH-%wM-%wS"
|
|
screenshot-format=png
|
|
# default compression rate (0 is no compression)
|
|
screenshot-png-compression=7
|
|
screenshot-tag-colorspace=yes
|
|
|
|
### OSD
|
|
|
|
# 2 options necessary for uosc, see https://github.com/darsain/uosc
|
|
osc=no
|
|
osd-bar=no
|
|
|
|
osd-font='Iosevka'
|
|
osd-font-size=15
|
|
|
|
### Subtitles
|
|
## options and compatibility
|
|
sub-ass-use-video-data=all
|
|
sub-ass-scale-with-window=no
|
|
# custom ass style params
|
|
sub-ass-style-overrides=Kerning=yes
|
|
# fuzzy-search available subs in folder
|
|
sub-auto=fuzzy
|
|
# search for external subs in these relative subdirectories
|
|
sub-file-paths-append=ass:srt:sub:subs:subtitles
|
|
# make sure when seeking through mkv we try to display subs
|
|
demuxer-mkv-subtitle-preroll=yes
|
|
# use fonts embedded in the container if available
|
|
embeddedfonts=yes
|
|
# don't meddle with subtitle timing by default
|
|
sub-fix-timing=no
|
|
# do not blend subtitles, so that we can display them beyond the video borders
|
|
blend-subtitles=no
|
|
|
|
## look and style
|
|
sub-ass-override=scale
|
|
sub-scale=0.5
|
|
sub-font="Liberation Sans"
|
|
sub-font-size=70
|
|
# put them a bit above seekbar -- not necessary imo
|
|
# sub-margin-y=50
|
|
sub-color="#FFFFFFFF"
|
|
sub-border-color="#FF151515"
|
|
sub-border-size=6
|
|
sub-shadow-offset=1
|
|
sub-shadow-color="#33000000"
|
|
sub-spacing=0.5
|
|
|
|
### Audio
|
|
|
|
volume=80
|
|
volume-max=150
|
|
# find audio files even if slightly mismatched
|
|
audio-file-auto=fuzzy
|
|
# playing at different speed will pitch-correct
|
|
audio-pitch-correction=yes
|
|
|
|
### Video
|
|
|
|
hwdec=auto
|
|
opengl-early-flush=auto
|
|
opengl-pbo=no
|
|
# ever so slightly up saturation
|
|
saturation=12
|
|
# interpolation options, will take some more cpu
|
|
interpolation=yes
|
|
video-sync=display-resample
|
|
|
|
### Cache
|
|
|
|
# use cache if it seems like a networked connection
|
|
cache=auto
|
|
|
|
### youtube-dl setup
|
|
|
|
ytdl=yes
|
|
# never go beyond 1080p if it is avoidable
|
|
ytdl-format=(bestvideo[vcodec=vp9.2][height<=1080]/bestvideo[vcodec=vp9][fps>30][height<=1080]/bestvideo[vcodec=vp9][height<=1080]/bestvideo[fps>30][height<=1080]/bestvideo[height>720])+(bestaudio[acodec=opus]/bestaudio)/best
|
|
|
|
### Languages
|
|
|
|
# prefer english subtitles, use german if you have to
|
|
slang=en,eng,de,deu,ger
|
|
# prefer original language, use dub if necessary
|
|
alang=ja,jp,jpn,en,eng,de,deu,ger
|
|
|
|
### Protocol configuration
|
|
|
|
[network]
|
|
# don't wait for buffering to be complete to show the window
|
|
force-window=immediate
|
|
cache=yes
|
|
# create a huge cache to buffer most of videos
|
|
demuxer-max-bytes=3000MiB
|
|
demuxer-readahead-secs=500
|
|
|
|
[protocol.http]
|
|
profile=network
|
|
|
|
[protocol.https]
|
|
profile=network
|
|
|
|
[protocol.ytdl]
|
|
profile=network
|
|
|
|
[extension.gif]
|
|
interpolation=no
|
|
loop-file=yes
|
|
|
|
# for those yt playlists that are created in reverse order
|
|
[reverse]
|
|
ytdl-raw-options=playlist-reverse=
|
|
|
|
[lowquality]
|
|
scale=bilinear
|
|
cscale=ewa_lanczossharp
|
|
interpolation=no
|
|
video-sync=audio
|
|
|
|
[highquality]
|
|
scale=ewa_lanczossharp
|
|
cscale=ewa_lanczossharp
|
|
video-sync=display-resample
|
|
interpolation=yes
|
|
tscale=oversample
|
|
|
|
# default to hq
|
|
profile=highquality
|