/mpv/ - the Jow Forumsreatest media player

Installation:
mpv.io/installation/

Wiki:
github.com/mpv-player/mpv/wiki

Manual:
Stable: mpv.io/manual/stable/
Git: mpv.io/manual/master/

User Scripts:
github.com/mpv-player/mpv/wiki/User-Scripts

High quality video output profile (goes into mpv.conf):

profile=gpu-hq

Configuration Files:
mpv.io/manual/master/#configuration-files
mpv.io/manual/master/#files

Input.conf:
github.com/mpv-player/mpv/blob/master/etc/input.conf

Post your system specs and config if you're asking performance related questions.

Windows Builds:
Stable: mpv.srsfckn.biz/
Git: sourceforge.net/projects/mpv-player-windows/files/
Frontend:
github.com/stax76/mpv.net/releases

News Update:
>wm4 is back
>mpv is out of dev limbo

Attached: mpv-gui.png (1280x720, 123K)

Other urls found in this thread:

pastebin.com/FR0tkGfY
mpv.io/manual/master/#on-screen-controller-boxvideo),
is2.Jow
github.com/mpv-player/mpv/issues/6902
github.com/mpv-player/mpv/blob/530b203e5d150362adbbbb49783e3d1a23a730f5/player/lua/osc.lua#L2434
github.com/mpv-player/mpv/pull/6329
github.com/mpv-player/mpv/pull/5804
github.com/mpv-player/mpv/pull/6647
github.com/TheAMM/mpv_thumbnail_script
iamscum.wordpress.com/guides/videoplayback-guide/mpv-conf/
twitter.com/SFWRedditGifs

>45 open pull requests
>under 500 open issues
It's like Christmas.

Can mpv output a YCbCr signal directly(without any conversion) or it always outputs RGB?
I have a 4k tv hook up as my second monitor, I only watch videos on it, the gpu is sending the tv a YCbCr422 12-bit signal.

any progress on mpv using vulkan on macos?

Someone will add BDMV support again, r-right?

Is this any better than VLC?

Theoretically it still has support. The BD just mustn't do anything weird during playback, that would require mpv to rewrite timestamps.

Depends on what you want to do. It's not better for physical media playback or if you want a full fledged GUI, but it is better for general playback / streaming and is easier to customize.

Why is there a general for a fucking media player?

important anime technology

JEEB is your only hope

>for a
for the

profile=gpu-hq
hwdec=d3d11va
gpu-api=d3d11
gpu-context=d3d11
sigmoid-upscaling=no
linear-downscaling=no
deband-iterations=4
deband-threshold=48
deband-range=16
deband-grain=48
glsl-shader="~~/Shaders/FSRCNNX_x2_8-0-4-1.glsl"
glsl-shader="~~/Shaders/SSimSuperRes.glsl"
glsl-shader="~~/Shaders/SSimDownscaler.glsl"
video-sync=display-resample
For Interpolation in input.conf
t cycle interpolation ; no-osd set tscale "box" ; no-osd set t-scale-window "sphinx" ; no-osd set tscale-radius "1.0" ; no-osd set tscale-clamp "0.0"
For adaptive sharpen
a change-list glsl-shaders toggle "~~/Shaders/adaptive-sharpen.glsl" ; show-text "Toggle Adaptive Sharpen"
Profile for deinterlace in mpv.conf
[yadif prerequisites]
glsl-shaders-toggle="~~/Shaders/FSRCNNX_x2_8-0-4-1.glsl"
glsl-shaders-toggle="~~/Shaders/SSimSuperRes.glsl"
glsl-shaders-toggle="~~/Shaders/SSimDownscaler.glsl"
glsl-shaders-clr="~~/Shaders/adaptive-sharpen.glsl"
For deinterlace
d cycle-values hwdec "no" "yes" ; apply-profile "yadif prerequisites" ; change-list vf toggle yadif ; show-text "Toggle Deinterlace"
Full mpv.conf
pastebin.com/FR0tkGfY

Is there any way to make the bottom bar/controls always on view and to not take screen space on mpv.net like MPC?
That's the one thing keeping me from mpv.

Attached: mpc-hc.original.3432798d.png (1170x780, 310K)

>down from 90 to 45 overnight
PRs got thanos snapped

>Is there any way to make the bottom bar/controls always on view
Yes. Add script-opts=osc-visibility=always to your config. Alternatively you can toggle it with del (that's at least the default binding for mpv).
>and to not take screen space
Not possible (yet). mpv's OSC got updated with a somewhat hacky workaround (mpv.io/manual/master/#on-screen-controller-boxvideo), but you have to wait for mpv.net to catch up.

I will wait for it to be implemented then.

is2.Jow Forums.org/wsg/1569170347368.webm

This webm has done some weird fuckery that hides the total run time of the file, it just goes and goes. When played in MPC I would actually see the full length of the webm unlike the built in media player in my web browser, but using MPV it once again gets fucked, why is that?

Boxvideo looks broken to me unless i'm doing it wrong.
--no-config --script-opts=osc-visibility=always,osc-boxvideo=yes
I

Attached: jaypeg.jpg (754x1009, 119K)

I sometimes watch twitch vods of streams that are still live (for example if I missed the first 10 minutes or whatever). Problem is the the video length is set to whatever it was when I started MPV, so if the vod is say 20 minutes I have to restart mpv once 20 minutes are up to keep watching. Is there some way to have mpv poll the URL every minute or so to see if the video has more length?

I have no answer but I am curious how you managed to configure that setup

working fine in mpv here

>wm4 did more in two weeks than jeeb in a year
You just have to revert libplacebo now wm4, please.

Why did Plex fire him?

you probably have to use livestreamer or something similar

Because he finished relicensing mpv to LGPL for them.

It's somewhat broken and somewhat hacky.
>black bars on side
This is to be expected. The problem is that boxvideo uses the new video-margin-ratio commands, which don't actually change the window size, just the margin between the video and the window edge.
For example, if you have a 1000x1000 video and use video-margin-ratio-bottom=0.2 then mpv will reserve a 200 pixel high margin at the bottom of the window. The window itself is still 1000x1000, but the available window portion for the video is only 1000x800 now. So in return mpv downscales the video to fit the available space. Since it keeps the aspect ratio (and you can't use --no-keepaspect with the margin options), you end up with a 800x800 video in the 1000x1000 window. To summarize
>no margin settings
window: 1000x1000
space for video: 1000x1000
video: 1000x1000
>video-margin-ratio-bottom=0.2 -> 200 pixels at the bottom
window: 1000x1000
space for video: 1000x800
video: 800x800

The black bars on the side are the byproduct of the downscaling, which preserves the aspect ratio.
>osc overlaps
This is a genuine bug. The problem seems to lie in this line
osc_param.video_margins.b = osc_geo.h / osc_param.playresy
From what I can tell (I haven't looked too much into it yet) osc_param.playresy is not what it seems to be (the playback height).

wm4 coming back has made jeeb himself do more in two weeks than he's done in a year.

Too bad he is salty about wm4 saying the player was dead.

Honestly jeeb was in over his head, but anybody but wm4 would have been

this

this is (unironically) the most important issue facing the mpv media player today
github.com/mpv-player/mpv/issues/6902

I find it surprising that there isn't an option to control this. Argon-'s reply is stupid though

learn to use shell lol

Show me how you do it in posix shell, smartass

The shell can only pass so many arguments to a program, so you can't simply do 'mpv *.mkv' in a directory with a few hundred files. The only real workaround is writing a wrapper script to build a playlist and feed it to mpv with the --playlist option, but that's really fucking obnoxious when mpv could just not automatically open directories it hasn't been told to open.

Is there a reason piping find isn't POSIX? I actually don't know.

The solution proposed by counterpillow breaks hard if you have spaces in filenames.

by working fine do you guys mean that the webm plays (because it does for me too) or do you mean that you see the total runtime in mpv?

I should have stated that I use mpv.net, but I don't quite get why that would make a difference. For Video-sync I'm using the default "Audio" option.

Bet you could fix it with sed.

That's because you should use
find . -maxdepth 1 -type f -exec mpv {} \+
Piping find's output is never a good idea, unless you use -print0 and the program you pipe to has a corresponding flag to handle input delimited by null characters.
find . -maxdepth 1 -type f -print0 | xargs -0 mpv
would also work.

Using an RTX 2070S and a LG oled.
I selected the YCbCr and 12-bit output inside the nvidia control panel, see pic related.

Attached: 3424334.jpg (545x300, 36K)

As it turns out the problem with the overlapping OSC is simple yet hard to solve. The script is simply not fast enough to provide the correct values in time before playback starts. Additionally the margins only get reset once you shut down the player (does wm4 never watch playlists with different aspect ratios in them?), so you start with an already wrong margin and the player never updates it.
The easiest workaround (for playlists) is to put a custom osc.lua in your script directory and change the following line
github.com/mpv-player/mpv/blob/530b203e5d150362adbbbb49783e3d1a23a730f5/player/lua/osc.lua#L2434
from "shutdown" to "end-file". Now the margins get reset for each new file. This doesn't solve the problem itself, but it gives the script far more chances to calculate the correct margin. Especially when switching to or from a vertical video you usually need to go back and forth a few times before the margin is correct.

I see total time in mpv, using shinchiro's build.
>I should have stated that I use mpv.net.
I'd guess that's the reason, it touches on a lot of shit.

That still uses multiple instances of mpv. The only current way to load 2000 files from $PWD is to ignore the possibility of newlines in filenames and do:
find . -maxdepth 1 -mindepth 1 -type f | mpv --playlist=-

OR construct a playlist file in some format that does support newlines in filenames, then tell mpv to open it.

Using "file-loaded" there doesn't work? I'm not familiar with the logic, but I would think margins should be set everytime a file loads and not on "shutdown" or "end-file."

No 10/12 bit rendering on windows yet, it needs exclusive fullscreen to be merged.

>That still uses multiple instances of mpv.
Not necessarily. -exec [...] \+ will append files to the end of the command instead of running the command for each file, as will xargs, unless you use -n or -L.
Of course there's a limit how many files you can pass this way, but it's not as low as you think. I have a directory with 22k+ videos. They all have short names (9-10 characters, incl. extension), but I can still load ~10k with find or find+xargs. I can load all if I simply do
mpv *.*

I'll be damned. I'm too much of a brainlet to understand why, but that's far more robust than "end-file" and even leads to correct margins, when opening a single file.

# Video output
profile=gpu-hq
video-sync=display-resample

# Audio output
volume=40
volume-max=100

# Playback order
alang=ja,jp,jpn,en,eng
slang=en,eng,ja,jp,jpn

# Subtitles settings
sub-ass-force-style=Kerning=yes
sub-ass-override=force
embeddedfonts=no
sub-font="source han sans jp"
sub-font-size=54
sub-bold=yes
sub-border-color="#CC262626"
sub-border-size=2
sub-color="#ffffffff"

# On-screen display
osc=no
osd-bar=no
osd-font="source han sans jp"
osd-font-size=40
osd-border-color="#CC000000"
osd-bold=yes
osd-border-size=2
osd-color="#ffffffff"

# Screenshot settings
screenshot-format=png
screenshot-tag-colorspace=yes
screenshot-template="mpv-screenshot%n"
screenshot-png-compression=0
screenshot-png-filter=0

# Program behavior
keep-open=yes
taskbar-progress=no
border=no
geometry=50%:50%
autofit-larger=90%x90%

# Other settings
load-stats-overlay=no
input-default-bindings=no
msg-color=no
msg-module=yes

q quit
Q quit-watch-later
f cycle fullscreen
m cycle mute
o show-progress
v cycle video
c cycle audio
b cycle border
d cycle deband
n cycle interpolation ; no-osd set tscale "oversample"
t cycle ontop
l ab-loop
L cycle-values loop-file "inf" "no"
p apply-profile anime
P apply-profile real-life
SPACE cycle pause
+ add volume 2
- add volume -2

RIGHT seek 10
LEFT seek -10
UP seek 60
DOWN seek -60
Shift+RIGHT seek 1 exact
Shift+LEFT seek -1 exact
Shift+UP seek 5 exact
Shift+DOWN seek -5 exact
Ctrl+LEFT add chapter -1
Ctrl+RIGHT add chapter +1
Ctrl+UP playlist-next
Ctrl+DOWN playlist-prev
> frame-step
< frame-back-step

s async screenshot
S async screenshot video
Ctrl+s screenshot window
Alt+s cycle-values screenshot-template "mpv-screenshot%n" "%F - [%P]" "vlcsnap-%tY-%tm-%td-%tHh%tMm%tSs%wT"
Alt+S cycle-values screenshot-format "jpg" "png" ; no-osd set screenshot-jpeg-quality 100

a cycle sub
A cycle-values sub-ass-override "force" "no"
Ctrl+a add sub-pos -1
Ctrl+A add sub-pos +1
Alt+a add sub-font-size +2
Alt+A add sub-font-size -2

DEL script-message osc-visibility cycle
i script-binding stats/display-stats
I script-binding stats/display-stats-toggle
w script-binding display-webm-encoder

{ add sub-delay +0.10
} add sub-delay -0.10
[ add audio-delay +0.10
] add audio-delay -0.10

MOUSE_BTN0 ignore
MOUSE_BTN0_DBL cycle fullscreen
MOUSE_BTN2 cycle pause
MBTN_MID cycle mute
WHEEL_UP add volume +2
WHEEL_DOWN add volume -2

>I'll be damned. I'm too much of a brainlet to understand why, but that's far more robust than "end-file" and even leads to correct margins, when opening a single file.
Scripts are run asynchronously so it's possible for incorrect values to be returned from the video if it's not actually loaded (i.e. inbetween an end-file and start-file event). Does that actually properly fix it though or can you still see graphical glitches and stuff if you switch videos really fast?

Is there a way to make mpv start playing youtube videos instantly without filling out the cache?
Jumping through videos and/or waiting for them to load on link drag-n-drop is very annoying when it's instant in the browser.
Or is this how youtube-dl works?

>tfw 50 pull requests are merged in the last week but this isn't one of them

github.com/mpv-player/mpv/pull/6329

JEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEB
wm444444444444444444444444444444444444444444444444444
ROSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSY

Attached: JEEEEEEEEEEEEEEEEB.jpg (390x390, 44K)

I want this one
github.com/mpv-player/mpv/pull/5804

>Scripts are run asynchronously so it's possible for incorrect values to be returned from the video if it's not actually loaded (i.e. inbetween an end-file and start-file event).
I see. I also realized that the OSC actually runs it's initialization twice when starting a new file. Once when the file starts loading (returns wrong values) and once when the file starts playing (perhaps the mp.observe_property("playlist") triggering?). Now with the margin reset happening once the file was loaded, it allows the 2nd initialization to set the right margins.
>Does that actually properly fix it though or can you still see graphical glitches and stuff if you switch videos really fast?
It's really robust, but not perfect. With vertical videos you might still get a wrong margin, but you have to be really fast to break it.
There's one thing that still concerns me though. All of this only really works, if you activate boxvideo directly within osc.lua. Passing the option via --script-opts=osc-boxvideo=yes breaks the whole thing again.

deband=yes
deband-iterations=4
deband-threshold=48
deband-range=16
deband-grain=48

Is there a lower performance setting for this for anime? Apparently my GTX 970 with FSRCNNX + SSSR + Adaptive-Sharpen can't handle it
Otherwise I'll just keep it disabled

mpv always renders and outputs RGB as the final step so in this case your GPU would have to convert it back to YCbCr. You're better off sending RGB if you can.

hello do u know why the new page 3 of stats screen breaks with plot_vsync_ratio=no and plot_vsync_jitter=no
[stats]
[stats] stack traceback:
[stats] @stats.lua:634: in function 'f'
[stats] @stats.lua:768: in function 'print_page'
[stats] @stats.lua:783: in function 'fn'
[stats] mp.defaults:202: in function 'fn'
[stats] mp.defaults:60: in function 'handler'
[stats] mp.defaults:339: in function 'handler'
[stats] mp.defaults:459: in function 'call_event_handlers'
[stats] mp.defaults:493: in function 'dispatch_events'
[stats] mp.defaults:452: in function
[stats] [C]: ?
[stats] [C]: ?
[stats] Lua error: @stats.lua:634: attempt to index upvalue 'cache_ahead_buf' (a nil value)

Attached: 1566003742820.jpg (300x300, 28K)

imagine using windows
just leave it on the default values

In my experience using high deband-iterations for low deband-thresholds is not worth it. Just use deband-iterations=1. That should cut down the timings considerably with pretty much no noticeable visual difference.

In what commit it got removed?

The tv I'm using only accepts 8-bit RGB or 12-bit YCbCr(the panel itself is 10-bit), I prefer the higher bit depth.

cache_ahead_buf gets initialized by init_buffers(). init_buffers only gets called, whithin the record_data() function though and as you can imagine, record_data() won't be called if both plot_vsync_ratio and plot_vsync_jitter are set to false.

Why did the mpv logo disappear in the window?

wm4 took it out.

how can one man be so based

Still there for me on master-6c6aba, did it happen past that?

I'd much rather have this one github.com/mpv-player/mpv/pull/6647

Hope he/they find time to finish at least one of them soon.

Thanks Shinchiro!

Any memepv front-ends that have seekbar thumbnail previews?

I use MPC-BE on windows and it just werks (quick enough for my frantic porn navigation).

If I try to use this user script for it on regular MPV on my ubuntu install it nearly fucking maxes out my CPU usage for like 30 seconds every time I play a new file. Unless someone figures out a more efficient script for this regular MPV wont work for me.

github.com/TheAMM/mpv_thumbnail_script

>github.com/mpv-player/mpv/pull/6647
What does this actually do and why is it desired?

Make sit easier to pick which hole the juice flows out of and it's desired if you have too many holes.

Will this allow me to select which gpu to use without doing it in the graphics card settings?

fuckin coomers

Good! that means the next mpv.net update won't have the mpv logo showing up like this.

Attached: mpvnet-whoops.png (814x464, 21K)

bump

for what
what do you need help with

this isn't a tech support thread sweetie it's a shitposting general

>he doesn't bump slightly interesting threads in hope for new discussions

>slightly interesting
The best you're going to get here are JEEEEEEEEEEEEEEEEEEEEEBs and obnoxiousfags crying about losing blu-ray support.

I already got something better out of it because of the boxvideo discussion. Sure, shitposting happens like in every other thread, but at least there's a higher chance for decent posts than in e.g. "Linux is repository slavery" thread #67.

mpv.net uses shinchiro's build user

Attached: sketch-1567706914118.png (980x720, 545K)

So what? It still touches on a lot of stuff that can break mpv in different ways.

What's the difference between mpv and mpv.net anyway?

It adds a "proper" GUI and integrates some other stuff like built-in search tool.

mpv.net is a front-end made exclusively for Windows that makes easier to use mpv for new users.

Fair enough. It is the best unofficial gui compared to the others though, which by far break more stuff.

Attached: mpv1.png (454x266, 30K)

Ah, so it's basically worthless and meant for plebs then.

Yeah, pretty much.
I'd probably use it too if it was coded properly without randomly breaking mpv stuff and introducing some weird quirks and incompatibilities.

--no-cache could speed it up but there will still be a delay for youtube-dl to get the URL for the video.

It is properly coded. mpv.net is the closest frontend in minimalism to regular mpv while being compatible with many scripts.

Elitism aside, I am glad mpv.net exists. It helped people easily migrate from vlc or mpc to mpv.

go to bed Stax. your shilling is cringe and pathetic.

cope harder. mpv.net is part of mpv general now.

Attached: mpvnet_openjpg.png (722x766, 808K)

Going to watch Bladerunner (old and new) tomorrow with this media player.
Complete noobie, what should I do for the B E S T quality

you should read the OP

literally just (in config)
>profile=gpu-hq
?

iamscum.wordpress.com/guides/videoplayback-guide/mpv-conf/

Can anyone give me non-placebo quality settings to add additionally after setting the profile to gpu-hq?

glsl shaders

If you do heavy upscaling e.g. 1080p to 4k, or heavy downscale e.g. 4k to 1080p - use respective upscale/downscale shaders.
Otherwise only AdaptiveSharpen will give you noticeable changes. But you should only use it with the anime/cartoons, maybe even tweak the sharpening strength a bit in the shader itself by changing the default 1.0 to something else:
#define curve_height 1.0

why does mpv fucking stutter or something when I resize the window? how do I fix this shit?

Urgh, I guess the new osc logic is more complicated than I had hoped. I'll try to look into this later when I get some time.