Skip to content
This repository was archived by the owner on Jun 28, 2024. It is now read-only.

Commit 8bff75a

Browse files
authored
1.0.5
1 parent 52813f8 commit 8bff75a

File tree

4 files changed

+281
-7
lines changed

4 files changed

+281
-7
lines changed

README.md

+13-5
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
11
# better-mpv-config
22

3-
Version: 1.0.4
3+
Version: 1.0.5
44

5-
Last Updated (AEST): 2022-01-23 09:31:59PM
5+
Last Updated (AEST): 2022-01-25 02:26:20PM
6+
7+
## What's New
8+
9+
_Version 1.0.5_ adds:
10+
- meaningful profile descriptions
11+
- an "alongside" optional mpv.conf (for users who want the config file next to mpv.exe)
612

713
## Intro
814

@@ -38,8 +44,8 @@ Includes selected lines from Mike Connelly's work on MPV.
3844
## Requirements
3945

4046
* official MPV Player: https://mpv.io/
41-
* PC with at least 4GB of RAM
42-
* PC with integrated (CPU) or discreet GPU (card)
47+
* a PC with at least 4GB of RAM
48+
* a PC with integrated (CPU) or discreet GPU (card)
4349

4450
![usage preview](https://raw.githubusercontent.com/hl2guide/better-mpv-config/master/preview%20image.png)
4551

@@ -63,7 +69,7 @@ I don't own any Mac PCs to test it so even if I wanted to I could not.
6369

6470
## Usage
6571

66-
* Extract to the correct location (as above) for your Operating System.
72+
* Extract to the correct location (as above) for your Operating System (pick between _mpv.conf_ and _alongside_, renaming to _mpv.conf_).
6773
* Next time MPV is launched, and thereafter the settings should load. (command line or GUI)
6874
* An initial seek time of 1 second is normal (tested on an old PC with 4 CPU cores) due to new shaders
6975

@@ -97,6 +103,8 @@ The _letter_ referring to the video's __quality level__ and the _number_ the __F
97103
| ------ | ------ |
98104
| 30 | 60 |
99105

106+
(The config file now uses meaning descriptions so MPV's OSD and console will be more informative)
107+
100108
## Examples
101109

102110
__Using the "profile" switch__

mpv (alongside).conf

+248
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,248 @@
1+
# VITAL: Use this config ONLY if you place your .conf file alongside mpv.exe instead of within "~/AppData\Roaming\mpv"
2+
3+
# Uses GPU-accelerated video output by default.
4+
vo=gpu
5+
# Can cause performance problems with some GPU drivers and GPUs.
6+
profile=gpu-hq
7+
8+
# ===== REMOVE THE ABOVE FOUR LINES AND RESAVE IF YOU ENCOUNTER PLAYBACK ISSUES AFTER =====
9+
10+
# Source: https://github.com/hl2guide/better-mpv-config
11+
12+
# External Sources:
13+
# * https://raw.githubusercontent.com/classicjazz/mpv-config/master/mpv.conf
14+
15+
# Enables best HW decoder; turn off for software decoding
16+
hwdec=auto
17+
18+
border=no # hides the window title bar
19+
msg-color=yes # color log messages on terminal
20+
term-osd-bar=yes # displays a progress bar on the terminal
21+
cursor-autohide=1000 # autohides the cursor after 1s
22+
23+
# Sets a custom font
24+
osd-font='Iosevka'
25+
# osd-font-size=55
26+
# osd-scale=0.5
27+
28+
# Saves the seekbar position on exit
29+
save-position-on-quit=yes
30+
31+
# Uses a large seekable RAM cache even for local input.
32+
cache=yes
33+
# cache-secs=300
34+
# Uses extra large RAM cache (needs cache=yes to make it useful).
35+
demuxer-max-bytes=1800M
36+
demuxer-max-back-bytes=1200M
37+
38+
# ===== Audio =====
39+
40+
# Sets volume to 60%.
41+
volume=60
42+
43+
# Normalizes audio
44+
af-add='dynaudnorm=g=5:f=250:r=0.9:p=0.5'
45+
46+
# ===== Color Space =====
47+
target-trc=auto
48+
gamma-auto
49+
vf=format=colorlevels=full:colormatrix=auto
50+
video-output-levels=full
51+
52+
# ===== Dithering =====
53+
dither-depth=auto
54+
temporal-dither=yes
55+
dither=fruit
56+
57+
# ===== Debanding =====
58+
deband=yes # enabled by default
59+
deband-iterations=4 # deband steps
60+
deband-threshold=48 # deband strength
61+
deband-range=16 # deband range
62+
deband-grain=48 # dynamic grain: set to "0" if using the static grain shader
63+
64+
# ===== Subtitles =====
65+
blend-subtitles=yes
66+
67+
# ===== Motion Interpolation =====
68+
override-display-fps=60
69+
video-sync=display-resample
70+
interpolation=yes
71+
tscale=oversample # smoothmotion
72+
73+
# ===== Anti-Ringing =====
74+
scale-antiring=0.7 # luma upscale deringing
75+
dscale-antiring=0.7 # luma downscale deringing
76+
cscale-antiring=0.7 # chroma upscale deringing
77+
78+
# ===== Upscaling & Processing =====
79+
glsl-shaders-clr
80+
# luma upscaling
81+
# note: any FSRCNNX above FSRCNNX_x2_8-0-4-1 is not worth the additional computional overhead
82+
glsl-shaders="~~exe_dir\shaders\FSRCNNX_x2_8-0-4-1.glsl"
83+
scale=ewa_lanczos
84+
# luma downscaling
85+
# note: ssimdownscaler is tuned for mitchell and downscaling=no
86+
glsl-shaders-append="~~exe_dir\shaders\SSimDownscaler.glsl"
87+
dscale=mitchell
88+
linear-downscaling=no
89+
# chroma upscaling and downscaling
90+
glsl-shaders-append="~~exe_dir\shaders\KrigBilateral.glsl"
91+
cscale=mitchell
92+
sigmoid-upscaling=yes
93+
94+
# ===== Custom Profiles =====
95+
# Uses specific naming convensions for shorter easier typing.
96+
# Naming Convensions:
97+
# V = Very Low, L = Low, M = Medium, H = High, U = Ultra, S = Supreme
98+
# Very Low = 480p, Low = 720p, Medium = 1080p, High = 1440p, Ultra = 2160p (4K), Supreme = 4320p (8K)
99+
# 30 = 30 frames per second, 60 = 60 frames per second
100+
# Use the switch e.g: --profile=H60
101+
# 4320p (8K) 60 FPS
102+
[S60]
103+
profile-desc="Supereme - 4320p (8K) - 60 FPS"
104+
ytdl-format=bestvideo[height<=?4320][fps<=?60][vcodec!=?vp9]+bestaudio/best
105+
# 4320p (8K) 30 FPS
106+
[S30]
107+
profile-desc="Supereme - 4320p (8K) - 30 FPS"
108+
ytdl-format=bestvideo[height<=?4320][fps<=?30][vcodec!=?vp9]+bestaudio/best
109+
# 2160p (4K) 60 FPS
110+
[U60]
111+
profile-desc="Ultra - 2160p (4K) - 60 FPS"
112+
ytdl-format=bestvideo[height<=?2160][fps<=?60][vcodec!=?vp9]+bestaudio/best
113+
# 2160p (4K) 30 FPS
114+
[U30]
115+
profile-desc="Ultra - 2160p (4K) - 30 FPS"
116+
ytdl-format=bestvideo[height<=?2160][fps<=?30][vcodec!=?vp9]+bestaudio/best
117+
# 1440p 60 FPS
118+
[H60]
119+
profile-desc="High - 1440p - 60 FPS"
120+
ytdl-format=bestvideo[height<=?1440][fps<=?60][vcodec!=?vp9]+bestaudio/best
121+
# 1440p 30 FPS
122+
[H30]
123+
profile-desc="High - 1440p - 30 FPS"
124+
ytdl-format=bestvideo[height<=?1440][fps<=?30][vcodec!=?vp9]+bestaudio/best
125+
# 1080p 60 FPS
126+
[M60]
127+
profile-desc="Medium - 1080p - 60 FPS"
128+
ytdl-format=bestvideo[height<=?1080][fps<=?60][vcodec!=?vp9]+bestaudio/best
129+
# 1080p 30 FPS
130+
[M30]
131+
profile-desc="Medium - 1080p - 30 FPS"
132+
ytdl-format=bestvideo[height<=?1080][fps<=?30][vcodec!=?vp9]+bestaudio/best
133+
# 720p 60 FPS
134+
[L60]
135+
profile-desc="Low - 720p - 60 FPS"
136+
ytdl-format=bestvideo[height<=?720][fps<=?60][vcodec!=?vp9]+bestaudio/best
137+
# 720p 30 FPS
138+
[L30]
139+
profile-desc="Low - 720p - 30 FPS"
140+
ytdl-format=bestvideo[height<=?720][fps<=?30][vcodec!=?vp9]+bestaudio/best
141+
# 480p 60 FPS
142+
[V60]
143+
profile-desc="Low - 480p - 60 FPS"
144+
ytdl-format=bestvideo[height<=?480][fps<=?60][vcodec!=?vp9]+bestaudio/best
145+
# 480p 30 FPS
146+
[V30]
147+
profile-desc="Low - 480p - 60 FPS"
148+
ytdl-format=bestvideo[height<=?480][fps<=?30][vcodec!=?vp9]+bestaudio/best
149+
150+
# Other Profiles
151+
152+
[4k60] # 2160p @ 60fps (3840x2160 UHDTV)
153+
profile-desc=4k60
154+
profile-cond=((width ==3840 and height ==2160) and p["estimated-vf-fps"]>=31)
155+
# deband=yes # necessary to avoid blue screen with KrigBilateral.glsl
156+
deband=no # turn off debanding because presume wide color gamut
157+
interpolation=no # turn off interpolation because presume 60fps
158+
# UHD videos are already 4K so no luma upscaling is needed
159+
# UHD videos are YUV420 so chroma upscaling is still needed
160+
glsl-shaders-clr
161+
# glsl-shaders="~/.config/mpv/shaders/KrigBilateral.glsl" # enable if your hardware can support it
162+
interpolation=no # no motion interpolation required because 60fps is hardware ceiling
163+
# no deinterlacer required because progressive
164+
165+
[4k30] # 2160p @ 24-30fps (3840x2160 UHDTV)
166+
profile-desc=4k30
167+
profile-cond=((width ==3840 and height ==2160) and p["estimated-vf-fps"]<31)
168+
# deband=yes # necessary to avoid blue screen with KrigBilateral.glsl
169+
deband=no # turn off debanding because presume wide color gamut
170+
# UHD videos are already 4K so no luma upscaling is needed
171+
# UHD videos are YUV420 so chroma upscaling is still needed
172+
glsl-shaders-clr
173+
# glsl-shaders="~/.config/mpv/shaders/KrigBilateral.glsl" # enable if your hardware can support it
174+
# apply motion interpolation
175+
# no deinterlacer required because progressive
176+
177+
[full-hd60] # 1080p @ 60fps (progressive ATSC)
178+
profile-desc=full-hd60
179+
profile-cond=((width ==1920 and height ==1080) and not p["video-frame-info/interlaced"] and p["estimated-vf-fps"]>=31)
180+
# apply all luma and chroma upscaling and downscaling settings
181+
interpolation=no # no motion interpolation required because 60fps is hardware ceiling
182+
# no deinterlacer required because progressive
183+
184+
[full-hd30] # 1080p @ 24-30fps (NextGen TV/ATSC 3.0, progressive Blu-ray)
185+
profile-desc=full-hd30
186+
profile-cond=((width ==1920 and height ==1080) and not p["video-frame-info/interlaced"] and p["estimated-vf-fps"]<31)
187+
# apply all luma and chroma upscaling and downscaling settings
188+
# apply motion interpolation
189+
# no deinterlacer required because progressive
190+
191+
[full-hd-interlaced] # 1080i @ 24-30fps (HDTV, interlaced Blu-rays)
192+
profile-desc=full-hd-interlaced
193+
profile-cond=((width ==1920 and height ==1080) and p["video-frame-info/interlaced"] and p["estimated-vf-fps"]<31)
194+
# apply all luma and chroma upscaling and downscaling settings
195+
# apply motion interpolation
196+
vf=bwdif # apply FFMPEG's bwdif deinterlacer
197+
198+
[hd] # 720p @ 60 fps (HDTV, Blu-ray - progressive)
199+
profile-desc=hd
200+
profile-cond=(width ==1280 and height ==720)
201+
# apply all luma and chroma upscaling and downscaling settings
202+
interpolation=no # no motion interpolation required because 60fps is hardware ceiling
203+
# no deinterlacer required because progressive
204+
205+
[sdtv-ntsc] # 640x480, 704x480, 720x480 @ 30fps (NTSC DVD - interlaced)
206+
profile-desc=sdtv-ntsc
207+
profile-cond=((width ==640 and height ==480) or (width ==704 and height ==480) or (width ==720 and height ==480))
208+
# apply all luma and chroma upscaling and downscaling settings
209+
# apply motion interpolation
210+
vf=bwdif # apply FFMPEG's bwdif deinterlacer
211+
212+
[sdtv-pal] # 352x576, 480x576, 544x576, 720x576 @ 30fps (PAL broadcast or DVD - interlaced)
213+
profile-desc=sdtv-pal
214+
profile-cond=((width ==352 and height ==576) or (width ==480 and height ==576) or (width ==544 and height ==576) or (width ==720 and height ==576))
215+
# apply all luma and chroma upscaling and downscaling settings
216+
# apply motion interpolation
217+
vf=bwdif # apply FFMPEG's bwdif deinterlacer
218+
219+
[default]
220+
221+
# ===== File Type Profiles =====
222+
# GIF Files
223+
[extension.gif]
224+
profile-desc=gif
225+
cache=no
226+
no-pause
227+
loop-file=yes
228+
# WebM Files
229+
[extension.webm]
230+
profile-desc=webm
231+
no-pause
232+
loop-file=yes
233+
234+
# ===== Protocol Specific Configuration =====
235+
236+
[protocol.http]
237+
profile-desc=http
238+
hls-bitrate=max # use max quality for HLS streams
239+
cache=yes
240+
no-cache-pause # don't pause when the cache runs low
241+
242+
[protocol.https]
243+
profile-desc=https
244+
profile=protocol.http
245+
246+
[protocol.ytdl]
247+
profile-desc=ytdl
248+
profile=protocol.http

mpv.conf

+20-2
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ hwdec=auto
1616

1717
border=no # hides the window title bar
1818
msg-color=yes # color log messages on terminal
19-
term-osd-bar=yes # display a progress bar on the terminal
20-
cursor-autohide=1000 # autohide the curser after 1s
19+
term-osd-bar=yes # displays a progress bar on the terminal
20+
cursor-autohide=1000 # autohides the cursor after 1s
2121

2222
# Sets a custom font
2323
osd-font='Iosevka'
@@ -99,39 +99,51 @@ sigmoid-upscaling=yes
9999
# Use the switch e.g: --profile=H60
100100
# 4320p (8K) 60 FPS
101101
[S60]
102+
profile-desc="Supereme - 4320p (8K) - 60 FPS"
102103
ytdl-format=bestvideo[height<=?4320][fps<=?60][vcodec!=?vp9]+bestaudio/best
103104
# 4320p (8K) 30 FPS
104105
[S30]
106+
profile-desc="Supereme - 4320p (8K) - 30 FPS"
105107
ytdl-format=bestvideo[height<=?4320][fps<=?30][vcodec!=?vp9]+bestaudio/best
106108
# 2160p (4K) 60 FPS
107109
[U60]
110+
profile-desc="Ultra - 2160p (4K) - 60 FPS"
108111
ytdl-format=bestvideo[height<=?2160][fps<=?60][vcodec!=?vp9]+bestaudio/best
109112
# 2160p (4K) 30 FPS
110113
[U30]
114+
profile-desc="Ultra - 2160p (4K) - 30 FPS"
111115
ytdl-format=bestvideo[height<=?2160][fps<=?30][vcodec!=?vp9]+bestaudio/best
112116
# 1440p 60 FPS
113117
[H60]
118+
profile-desc="High - 1440p - 60 FPS"
114119
ytdl-format=bestvideo[height<=?1440][fps<=?60][vcodec!=?vp9]+bestaudio/best
115120
# 1440p 30 FPS
116121
[H30]
122+
profile-desc="High - 1440p - 30 FPS"
117123
ytdl-format=bestvideo[height<=?1440][fps<=?30][vcodec!=?vp9]+bestaudio/best
118124
# 1080p 60 FPS
119125
[M60]
126+
profile-desc="Medium - 1080p - 60 FPS"
120127
ytdl-format=bestvideo[height<=?1080][fps<=?60][vcodec!=?vp9]+bestaudio/best
121128
# 1080p 30 FPS
122129
[M30]
130+
profile-desc="Medium - 1080p - 30 FPS"
123131
ytdl-format=bestvideo[height<=?1080][fps<=?30][vcodec!=?vp9]+bestaudio/best
124132
# 720p 60 FPS
125133
[L60]
134+
profile-desc="Low - 720p - 60 FPS"
126135
ytdl-format=bestvideo[height<=?720][fps<=?60][vcodec!=?vp9]+bestaudio/best
127136
# 720p 30 FPS
128137
[L30]
138+
profile-desc="Low - 720p - 30 FPS"
129139
ytdl-format=bestvideo[height<=?720][fps<=?30][vcodec!=?vp9]+bestaudio/best
130140
# 480p 60 FPS
131141
[V60]
142+
profile-desc="Low - 480p - 60 FPS"
132143
ytdl-format=bestvideo[height<=?480][fps<=?60][vcodec!=?vp9]+bestaudio/best
133144
# 480p 30 FPS
134145
[V30]
146+
profile-desc="Low - 480p - 60 FPS"
135147
ytdl-format=bestvideo[height<=?480][fps<=?30][vcodec!=?vp9]+bestaudio/best
136148

137149
# Other Profiles
@@ -150,6 +162,7 @@ interpolation=no # no motion interpolation required because 60fps is hardware ce
150162
# no deinterlacer required because progressive
151163

152164
[4k30] # 2160p @ 24-30fps (3840x2160 UHDTV)
165+
profile-desc=4k30
153166
profile-cond=((width ==3840 and height ==2160) and p["estimated-vf-fps"]<31)
154167
# deband=yes # necessary to avoid blue screen with KrigBilateral.glsl
155168
deband=no # turn off debanding because presume wide color gamut
@@ -207,23 +220,28 @@ vf=bwdif # apply FFMPEG's bwdif deinterlacer
207220
# ===== File Type Profiles =====
208221
# GIF Files
209222
[extension.gif]
223+
profile-desc=gif
210224
cache=no
211225
no-pause
212226
loop-file=yes
213227
# WebM Files
214228
[extension.webm]
229+
profile-desc=webm
215230
no-pause
216231
loop-file=yes
217232

218233
# ===== Protocol Specific Configuration =====
219234

220235
[protocol.http]
236+
profile-desc=http
221237
hls-bitrate=max # use max quality for HLS streams
222238
cache=yes
223239
no-cache-pause # don't pause when the cache runs low
224240

225241
[protocol.https]
242+
profile-desc=https
226243
profile=protocol.http
227244

228245
[protocol.ytdl]
246+
profile-desc=ytdl
229247
profile=protocol.http

preview image.png

-10.2 KB
Loading

0 commit comments

Comments
 (0)