Mpv - the /a/nime media player

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

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

User Scripts & Shaders:
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:
sourceforge.net/projects/mpv-player-windows/files/

Evaluating mpv's upscaling algorithms:
artoriuz.github.io/mpv_upscaling.html

Attached: 1461144210313.png (512x512, 236K)

Other urls found in this thread:

hughski.com/colorhug2.html
github.com/mpv-player/mpv/commits/master
displaycal.net/
displaycal.net/#requirements
github.com/zenyd/mpv-scripts/blob/master/delete_file.lua
mpv.io/manual/master/#options-hr-seek
diff.pics/NBcoWlREGYqP/1
diff.pics/A5xE5MOErrOJ/1
diff.pics/VO5GdNnD76ym/1
diff.pics/kxWh7eXe0pUf/1
diff.pics/EQiZlQ2ixCPe/1
en.wikipedia.org/wiki/Dither
docs.gimp.org/2.10/da/gimp-tools-transform.html
diff.pics/aIUYPjZGFXyo/1
twitter.com/NSFWRedditGif

Daily reminder to buy a colorimeter and calibrate your display, it will make more difference than any meme shader.

Attached: 00003.m2ts_00_45_59.173.png (1280x720, 950K)

New shinchiro build is out

for me, its mpv

Attached: mpv-shot0004.png (865x480, 322K)

what if I need neither meme shaders nor display calibration?

Then use vlc?

They cost too much.

>99 US$
>Too much
I don't want to sound like an asshole, but that isn't much user, at least for me.

hughski.com/colorhug2.html

but I like mpv

Excellent.

Attached: 7e038c847b1144afac9b4092d1e15f73.jpg (2140x2580, 1.63M)

Anything significantly changed? I assume URLs with @ still bork, since I think ffmpeg hasn't fixed that yet?

Attached: mpv-shot0003.png (1920x1080, 2.37M)

not much as always
github.com/mpv-player/mpv/commits/master

Oh shit. I thought there was only proprietary 150$ bullshit ones which I dreaded to find out what software it used.
>Due to limitations because of the low cost hardware, it does not work well on high-gamut or LED screen technologies which are now becoming more common.
Oh.

>I dreaded to find out what software it used.
Then you didn't search hard enough, I use the i1display pro with DisplayCAL, an opensource calibration front end for argyllcms, also an opensource color management and calibration library.
You can even use the colorhug with displaycal.

displaycal.net/

See:
displaycal.net/#requirements

Is it possible to delete the currently played file from within the player, like you can in an image viewer?

>80 open pull requests
JEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEB

github.com/zenyd/mpv-scripts/blob/master/delete_file.lua

Tyvm.

>mfw error diffusion dithering hasn't been merged yet
JEEB PLS I BEG YOU!

Attached: 1497812986271.png (832x868, 371K)

Well, I didn't look at the software at all really. Because I was dreading it.
Does this have any advantages to the default software for colorhug?

Yes, it's more/accurate and you can do more refinements to the calibration.

madvr users laugh at us...

It's the one thing madvr has over us.

:^)

Attached: dithering.png (1616x1039, 1.82M)

Fuck you mate. I can use git merge

how do we get JEEB to merge less macshit?

Maybe he takes bribes.

Attached: 792fada8b6fde42080e45231a5096225.jpg (381x310, 74K)

How can i get a sort of scrubbing effect instead of jumping to keyframes when i use the arrow keys?

Attached: 1555002952752.jpg (1000x1021, 103K)

Try mpv.io/manual/master/#options-hr-seek

Attached: 6b0cdb997afb1158cf55bf6d6399c716.jpg (1169x826, 522K)

>mpv.io/manual/master/#options-hr-seek
I had that on already but i did add the frame dropping option which made the whole thing much smoother, thanks

Milkies play video

Attached: 45fa5e4cedf1eb5067299e9ebd133590.jpg (1805x890, 1.64M)

how do I diagnose a skip in playback on Linux? every 20 seconds or so, video playback will pause for a half second or less, and then skip to the actual time, meanwhile the audio is fine

What kinds of files are affected? Have you tried an empty config?

empty config. I see it with mkv & avi. I think its more or less a system thing than an mpv thing, I notice it in browser animations / video playbacks as well.

So it occurs even with other video players? What's your hardware and what distro are you running? What GPU drivers are you using?

Attached: 718bfeff9e1d8c8e5fefa9e7425aef34.jpg (462x480, 52K)

JEEB pls

$ tree
.
── AHARONI BOLD.TTF
── AmericanText.ttf
── chapters.xml
── CURSEDKUERBIS.TTF
── Curse of the Zombie.ttf
── Eurostile-Black.ttf
── game_over.ttf
── GARABD.TTF
── LinotypeFinnegan MediumItalic.ttf
── LinotypeFinnegan Medium.ttf
── Romance Fatal Serif Std.ttf
── ScrawlyWawly.ttf
── SharpCurve.ttf
── Sundayscript.ttf
── tags.xml
── track3_und.ass

How do I make mpv use these font files? Just making it use the .ass file doesn't work and it uses the default font.
For example -
[sub/ass] fontselect: Using default font family: (ScrawlyWawly, 700, 0) -> /usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf, 0, DejaVuSans-Bold

Also, slightly unrelated but how would I make ffmpeg use those font files if I were to add the subtitles as a stream to another video?

Any way someone could convert this to work with mpv? Most content is in a limited TV range, getting it to "expand" to 0-255 would be nice.
/**
* Levels version 1.2
* by Christian Cann Schuldt Jensen ~ CeeJay.dk
*
* Allows you to set a new black and a white level.
* This increases contrast, but clips any colors outside the new range to either black or white
* and so some details in the shadows or highlights can be lost.
*
* The shader is very useful for expanding the 16-235 TV range to 0-255 PC range.
* You might need it if you're playing a game meant to display on a TV with an emulator that does not do this.
* But it's also a quick and easy way to uniformly increase the contrast of an image.
*
* -- Version 1.0 --
* First release
* -- Version 1.1 --
* Optimized to only use 1 instruction (down from 2 - a 100% performance increase :) )
* -- Version 1.2 --
* Added the ability to highlight clipping regions of the image with #define HighlightClipping 1
*/

#include "ReShadeUI.fxh"

uniform int BlackPoint < __UNIFORM_SLIDER_INT1
ui_min = 0; ui_max = 255;
ui_tooltip = "The black point is the new black - literally. Everything darker than this will become completely black.";
> = 16;

uniform int WhitePoint < __UNIFORM_SLIDER_INT1
ui_min = 0; ui_max = 255;
ui_tooltip = "The new white point. Everything brighter than this becomes completely white";
> = 235;

#include "ReShade.fxh"

float3 LevelsPass(float4 vpos : SV_Position, float2 texcoord : TexCoord) : SV_Target
{
float black_point_float = BlackPoint / 255.0;
float white_point_float = WhitePoint == BlackPoint ? (255.0 / 0.00025) : (255.0 / (WhitePoint - BlackPoint)); // Avoid division by zero if the white and black point are the same

float3 color = tex2D(ReShade::BackBuffer, texcoord).rgb;
color = color * white_point_float - (black_point_float * white_point_float);

return color;
}

technique Levels
{
pass
{
VertexShader = PostProcessVS;
PixelShader = LevelsPass;
}
}

Pretty sure mpv already does that automatically.

it doesn't do a very good job. here is what it looks like with/without the level shader diff.pics/NBcoWlREGYqP/1

using reshade is a hassle with mpv since it wont render the gui for it unless a video is playing.

//!HOOK MAIN
//!BIND HOOKED
#define BlackPoint 16
#define WhitePoint 235
vec4 hook() {
float black_point_float = BlackPoint / 255.0;
float white_point_float = WhitePoint == BlackPoint ? (255.0 / 0.00025) : (255.0 / (WhitePoint - BlackPoint)); // Avoid division by zero if the white and black point are the same

vec4 color = HOOKED_texOff(0);
color.rgb = color.rgb * white_point_float - (black_point_float * white_point_float);

return color;
}

mpv, just like madvr and even vlc, take into account that the display is in full range mode and they display the limited range content inside the full range windows correctly.
I don't know why you want to "expand" limited range content to full range, it will just look oversaturated and incorrect.

Awesome, thanks so much for this!

Okay, I tried moving the ttf files to my /usr/share/fonts and it worked. Thanks anyways.

I would say it works pretty well when you tweak it afterward diff.pics/A5xE5MOErrOJ/1

Oversaturated and the gamma is being crushed(hair details in the character in the middle almost disappear).

don't bother, the people who use these shaders don't care if a video looks right as long as it looks "good"

FSRCNNX absolutely BTFO by ravu-lite-r4
diff.pics/VO5GdNnD76ym/1

Attached: dogs-downscaled.jpg (960x402, 434K)

identical

That's the point, FSRCNNX_16 needs like 3 times more processing power than ravu-lite-r4

What is error diffusion actually?

a meme

Here's another example, with anime this time, ravu lite r4 vs FSRCNNX16:
diff.pics/kxWh7eXe0pUf/1

Attached: dragon-downscaled.jpg (960x540, 517K)

both look the same as spline36

See It's a way to hide banding, compression artifacts and quantization errors.

first learn what this shaders are for

FSCRNNX clearly better here, look at the wall.
>downscaled
Wait what? Why not just upscale from 720p and test that?

That image doesn't say shit, and how does it do that?

spline36 vs ravu-lite-r4:
diff.pics/EQiZlQ2ixCPe/1

en.wikipedia.org/wiki/Dither

So tells us user, what are shaders for?

Do spline36 with adaptive sharpen.

or even sharpen=0.3
you/he clearly comparing sharpness, downscaled image already is of a very high quality

Not exactly fair, I'm comparing the raw scaling power of the scalers, combining them with something else is not what I want.
I can do spline64 if you want.

Maid Dragon is almost 1080p native, I'm using the BDMV(untouched bluray) so 1080p video, ravu and FSCRNNX are both 2x scalers so I downscaled a png screenshot on gimp using LoHalo to exactly half of 1080p, 960*540p.
960*540p*ravu=1080p image.

>LoHalo
lol

>en.wikipedia.org/wiki/Dither
Doesn't actually explain error diffusion, just dithereing.

>docs.gimp.org/2.10/da/gimp-tools-transform.html
>"If you are reducing an image, LoHalo is generally better."

so downscale a video with it
I'll wait

>Maid Dragon is almost 1080p native
No it's fucking not, it's 720p. You're comparing an upscale of a downscale of an upscale.

[email protected] strength vs ravu-lite-r4:
diff.pics/aIUYPjZGFXyo/1

>No it's fucking not, it's 720p.
Nope, you are just wrong, it's closer to 1080p than 720p, if I remember correctly it was like 910p.

>Nope, you are just wrong, it's closer to 1080p than 720p, if I remember correctly it was like 910p.
Yeah, I misread what was on anibin, my bad. It's 955.5 vertical or some shit. Opening is FHD.

>diff.pics/aIUYPjZGFXyo/1
ravu and FSRCNNX BTFO by spline36 and adaptive sharpen, ILMAO!

All scalers are the same placebo
Motion interpolation brings real visual improvement

Attached: 60fps-sock.webm (1280x720, 2.39M)

when is haasnterpolation coming!!!???

that looks like shit

"real" visual "improvement".

>All those artifacts

Attached: 1470468374188.jpg (557x720, 141K)

Haasnsoft.

You will never want to go back once you get accustomed to it
At least it's something you can see during video playback instead of only by staring at zoomed screenshots and test patterns
It's only obvious when you are staring at paused frames which is pointless to say

Attached: 60fps-bellyhit.webm (1280x720, 2.21M)

>It's only obvious when you are staring at paused frames which is pointless to say
I can perfectly see them in motion, gotta train those eyes user.

>At least it's something you can see during video playback instead of only by staring at zoomed screenshots and test patterns
That's not a good thing mate, I could make a scaler that would do that as well, but nobody would want to fucking use it.

It's obvious that the benefit of smooth motion is much greater than the drawback of small amount of noticeable artifacts
So you are admitting that people only use scalers that have practically no effect in video playback (placebo)
I see. People here are really stupid

Attached: 60fps-sensei.webm (1280x720, 2.84M)

so i don't get interpolation. it doesn't seem to be doing anything. for someone that does have it working what fps values do you get? mpv.conf has profile=gpu-hq
interpolation=yes
video-sync=display-resample

>So you are admitting that people only use scalers that have practically no effect in video playback (placebo)
No not at all. Learn English. I'm saying just because you notice it, doesn't mean it's good.

you're missing tscale=oversample

>what fps values do you get?
When? Normally it's 60, because that's my monitor's refresh rate and I'm not dropping frames.
It would work without that, it would just be blurrier, so probably more noticeable.

Disgusting.

Attached: 1548709114616.png (321x308, 133K)

no change. removed gpu-hq, no change. added hwdec=auto, no change. fps remains 23.976 specified and estimated, and still getting shitty panning shots.

Are other settings working? Make a keybind cycle interpolation and see it it makes a difference.

Are you talking about the video's fps? That doesn't change because of interpolation, it should stay at that fps.

so it's different from svp? using mpv with svp changes the estimated fps to my monitors 120 and is much smoother. it's a bit janky sometimes though.

looks great desu

Attached: mpv-shot0001.jpg (1280x720, 361K)

I'm guessing that is because svp feeds mpv a different "file", mpv only sees the 120fps one. I also think svp interpolates differently, but I'm not familiar with it.

k, did that. still getting the same judder with it on or off. i swear this used to work, maybe i should try some older releases.

Are any of the settings being applied, at all?

Fps remaining the same is normal. You just discovered interpolation is a meme.

##Video##
hwdec=auto
video-sync=display-resample
interpolation=yes
tscale=oversample

##Subtitles##
sub-ass-force-margins=yes
blend-subtitles=yes
alang=jpn,jp,eng,en
slang=eng

##Behaviour##
save-position-on-quit
screen=1
fullscreen=yes
fs-screen=1
keep-open=no
no-border
script-opts=osc-layout=topbar,osc-seekbarstyle=bar,osc-deadzonesize=1,
autofit-larger=70%x65%
osc=no
everything else here is working. also i can see the changes i make to things like hwdec and gpu-api.

That's the whole point of them, just like a lot of video settings