View Full Version : mpv.net media player


stax76
31st August 2017, 02:49
mpv.net is a modern desktop media player for Windows based on the popular mpv player.

https://mpv.io

https://github.com/mpvnet-player/mpv.net

https://i.postimg.cc/wBbv1f04/mpvnet.png

stax76
31st August 2017, 03:50
I'm going to create 'Video player usage 2017' poll thread, any suggestions regarding possible options? So far I have:

jriver
kodi
mpc-be
mpc-hc
mpv
plex
potplayer
vlc
zoomplayer
other

The winner is obviously mpc-hc but still could be a interesting thread.

huhn
31st August 2017, 05:20
mpdn, windows media player/windows video app.

the last thread kind of like this was deleted.
doom9 is not the place the "default" PC user is going to be.
and not sure what someone can learn from let's say 20-1000 votes...

stax76
31st August 2017, 06:47
Why was it deleted? I find such polls usually very helpful.

huhn
31st August 2017, 08:10
i'm not a mod. and the thread was only kind of like that planned poll.

the only thing you get from 20-1000 votes is a wrong idea nothing else.

pirlouy
31st August 2017, 18:33
Still, it won't harm anybody, it's just one thread anybody can avoid.

stax76
31st August 2017, 19:50
I did this for me, staxrip and windows programmers, with feedback like this it's indeed unlikely to become useful to a lot of people. ;)

stax76
2nd September 2017, 04:37
The first release is now available to download, new features are C# scripting and a configurable context menu and I've updated the website with a description and a image showing the new menu.

Feel free to ask questions about mpv or mpv.net usage and how to write a script or addon, if there is interested I'll create a development thread. There is a C# and a VB.NET addon included.

https://github.com/stax76/mpvnet

kuchikirukia
2nd September 2017, 14:50
Set volume to mousewheel by default.

stax76
2nd September 2017, 16:48
Yes, mouse wheel changes volume by default, don't you think it's a good choice?

https://github.com/stax76/mpvnet/blob/master/mpvnet/Resources/input_conf.txt#L21

ashlar42
2nd September 2017, 16:59
Do you plan on providing access to configuration through a GUI or is everything going to be kept in text files?

stax76
2nd September 2017, 17:31
If I do a config GUI then it will be search-able, that is sure. I don't have great code I can re-use, my encoder GUIs in staxrip don't scale for 200+ settings and the look and feel is mediocre, with that code 600 settings would probably take 3 seconds to load. I'll certainly collect ideas how a very good GUI could work and look like.

Milardo
2nd September 2017, 18:35
Hi stax76,

Is it possible to make your version of mpv-support video/audio directshow filters?

stax76
2nd September 2017, 19:16
Hi Milardo,

I used my own dshow player before mpv and first I wanted to improve it but it's a huge task to built a complete player almost from scratch so I evaluated all options for a while and mpv is what I liked most in the end, for mpc I would have needed two years to become fluent in C++. In case somebody wants to build a dotnet dshow player my code is here:

https://github.com/sharp-player/sharp-player

mpv probably won't support dshow, for some time I thought about having two playback engines, like dshow and libmpv, it could be done and might make sense but only if you have a lot time and interest, in StaxRip normally I try to support different encoders, it supports both avisynth and vapoursynth equally well and I'm very happy with the decision to support vapoursynth. Doing a player with two playback engines is much more difficult I think and most players don't get it right even with only one. I don't have enough time and interest for both so I decided to focus on one and make the best out of it.

Milardo
2nd September 2017, 21:36
Hi stax76,

Thanks for the reply. Ok, just wondering though, would the below work? I'm not sure even if it supports all types of video/audio directshow filters, or that it's readily usable with mpv.

http://oss.netfarm.it/dsnative/

kuchikirukia
3rd September 2017, 01:40
Yes, mouse wheel changes volume by default, don't you think it's a good choice?

https://github.com/stax76/mpvnet/blob/master/mpvnet/Resources/input_conf.txt#L21

I do. I assumed without checking. Sorry 'bout that.

stax76
3rd September 2017, 02:21
@Milardo

The mpv docs and github issue tracker don't mention directshow, support for it is unlikely.

stax76
3rd September 2017, 10:51
New script that also works with mpv:

When seeking displays position and duration like so:

00:00 / 120:00

this is different from MPC which uses:

00:00:00 / 02:00:00

https://github.com/stax76/mpvnet/blob/master/Scripts/seek-show-position.js

pirlouy
7th September 2017, 14:10
If you're OK with questions:
Which is the default video output by default on Windows ? (i've tried to search the manual, but there are a lot of references for Linux but not that much for Windows)
And which one is it advised to use ?

stax76
7th September 2017, 15:39
I believe it's opengl, I'm not sure what ways exist to find out what the current vo is, when you start mpv from cmd shell (type either mpv or mpv.com) it prints the vo along with some other info to the shell. What I found the shell most useful for so far is debugging scripts as it also prints errors in scripts and config files.


D:\Software\Medien\Player\mpv>mpv D:\Temp\test.mkv
Playing: D:\Temp\test.mkv
(+) Video --vid=1 (*) (h264 1280x720 29.970fps)
(+) Audio --aid=1 --alang=ger (aac 2ch 44100Hz)
AO: [wasapi] 48000Hz stereo 2ch float
VO: [opengl] 1280x720 yuv420p
AV: 00:00:17 / 00:01:41 (17%) A-V: 0.000

aufkrawall
7th September 2017, 17:47
Don't use mpv's Direct3D renderer, it's incomplete and what not.
Default is always OpenGL.

However, you have to choose between different presentation backends for it.
On Windows, there are
ANGLE (allows D3D11VA without copyback, but that combination leads to banding with 10 bit video)
WGL (I guess that's used also by games which run in windowed mode)
dxinterop (frames are presented by DX9, "experimental", allows native DXVA2 decoding with the same quality issues like for madVR, may be troublesome with Radeons and Optimus)

For me with GTX 1070 without Optimus, dxinterop works flawlessly. WGL shows stuttering with interpolation + any hardware decoding (I probably should report that).
dxinterop also worked here with Skylake IGP.

pirlouy
7th September 2017, 19:45
What's the best way to have madVR SmoothMotion ? From what I read, I think it's something like
vo=opengl-hq
video-sync=display-resample
interpolation=yes
tscale=oversample
Not sure if it's really as good as madVR SM.

aufkrawall
7th September 2017, 20:16
I don't find tscale=oversample convincing, I notice severe flicker with it. Default is Mitchell, which is very blurry for camera pans.
Probably linear comes closest to madVR, I personally use sinc which should be sharper than linear. Linear is the same as triangle, btw.

pirlouy
7th September 2017, 21:26
Unfortunately, video-sync=display-resample uses a lot of GPU. Not that they don't warn (https://github.com/mpv-player/mpv/wiki/Display-synchronization#display-sync), but you don't expect that much GPU. Maybe it's because of OpenGL, maybe it's because of algorithm. It is too complicated for me to know the reason.

As expected, madVR SmoothMotion is really good: good balance between blur and judder and not very high on GPU.

aufkrawall
7th September 2017, 21:40
I absolutely can't confirm this. I was able to use interpolation with my 6700K IGP without issues.

What if you try deband=no (deband=yes is included in opengl-hq profile)?
Have you already tried opengl-backend=dxinterop?

pirlouy
7th September 2017, 22:19
Indeed, debanding seems to be using GPU.
And for opengl-backend=dxinterop, I'm not sure if it does good or bad, but in terms of ressources, it looks the same.

pirlouy
16th September 2017, 23:23
I have to say... mpv is really interesting. :)
I took time to read the manual and the input.conf is really nice, you can bind actions like some FPS games. Really nice.
And in order to choose better settings, this script is mandatory (ok, with my limited experience): https://github.com/Argon-/mpv-stats

So indeed, on Windows, dxinterop is the way to go. Too bad, it adds a delay at startup: 1.5 seconds, compared to MPC (which launches video in less than 1 second). Maybe aufkrawall has a magic setting for that ?
In the end, I use little options:
autofit=600x600
slang=eng,fre,fra
loop-playlist=10

profile=opengl-hq
video-sync=display-resample
interpolation=yes
tscale=sinc
opengl-backend=dxinterop
What I really miss is the auto monitor refresh rate. There's one script for that, but you can't choose the monitor. Is there a "request" bug filled somewhere, that I can vote for ?

aufkrawall
16th September 2017, 23:56
opengl-backend=angle starts fastest for me, while win and dxinterop are a bit slower. Nothing too dramatic, but I got a fast CPU and no anti-virus software installed. I don't think it can be sped up.

There is "autospeed-monitor=0" in autospeedwin.lua.

pirlouy
17th September 2017, 01:05
ANGLE has bad performances compared to dxinterop.
For dxinterop slow start, I might fill a bug, maybe someone will have something...

Unfortunately the monitor number is not adapted in my case. I need refresh rate to change only on 1 monitor, and when it's the principal screen. I asked NirSoft if he can improve NirCmd, but I guess it will be complicated.
madVR is perfect for that.

aufkrawall
17th September 2017, 08:28
You already gave opengl-backend=win a try, didn't you?
I didn't suggest to use angle instead, I'd currently only do that if both win and dxinterop fail.

pirlouy
17th September 2017, 10:37
Yes I tried the 3. And with mpv-stats script, I can confirm dxinterop has by far better performance, which is confirmed by a lot of users.
When I did my test, I was with 382 nVidia drivers, but then I dit it again with last 385 drivers, and I got same results.

aufkrawall
17th September 2017, 10:55
I'd ignore any rendertime stats shown by video renderers as long as there are no playback oddities like dropped or delayed frames (which are shown by running mpv via CLI).
GPU usage according to driver is the same between win and dxinterop here with GTX 1070 and it's also pretty much the same compared to Linux with x11egl backend.
Only angle shows higher GPU load and power consumption and I'd thus consider it as a backup solution in case OGL driver on Windows is on a rampage.

I btw. once had a problem with renderstats script leading to performance issues. Since then I avoid using it.

Btw 2: My stutter problem with opengl-backend=win + hardware decoding copyback was caused by Windows balanced energy profile. It disappeared by using maximum performance profile. I've seen something similar on Linux with window compositors.

pirlouy
17th September 2017, 19:24
Today I've learned the "mpv-stats" script is often wrong with "pass timers".
The best way to compare backend (and performances in general):
1) put "maximum performance" in nVidia drivers settings (always when benchmarking) instead of "adaptive".
2) use
opengl-swapinterval=0
audio=no
untimed=yes
3) check "estimated Display FPS".

Angle and Win have same results, whereas dxinterop is behind !
So for now, I'll test "Angle" and verify if I have dropped frames at the end of video.

aufkrawall
17th September 2017, 19:34
I really fail to see why that would be a good way to determine performance differences between the backends.

pirlouy
17th September 2017, 19:49
It's not only backends, it's for performance in general.
I got that information on IRC from this guy: https://github.com/haasn
He seems to know a lot. :D
On his branch he works on Vulkan and explained the advantages of Vulkan that obviously I did not understand.

But you are right to doubt me since I know little from this player or OpenGL.

aufkrawall
17th September 2017, 19:53
He seems to know a lot. :D

Probably because he's a very active developer of mpv. :o

Well, it wouldn't hurt to take a look at the GPU load & clock at the same time too imho.

pirlouy
17th September 2017, 20:55
Yes I did not tell, but I use Open Hardware Monitor to check usage. So GPU frequencies are at max, and usage is at 80% (the maximum the card can do). The only difference is dxinterop displays less fps.

aufkrawall
23rd September 2017, 13:46
I'd suggest using the latest nightly build since last few release versions had a problem with chroma channel alignment when using hardware decoding:
https://sourceforge.net/projects/mpv-player-windows/files/
However, config variables have changed a lot lately because of renderer refactoring (old variables still work though).

xabregas
21st October 2017, 19:35
whats the difference between opengl and opengl-hq?

From what ive seen this is a very nice alternative to d3d and it plays everything without the need to change any setting even HEVC 4k with very high bitrates. It plays it with accurate color output. Opengl FTW.

aufkrawall
21st October 2017, 19:59
opengl-hq is only a profile with certain quality settings for the OpenGL renderer.
There are better scalers available though, like jinc.

xabregas
21st October 2017, 21:20
Here is my config file:

vd-lavc-threads=16
hwdec=auto
profile=gpu-hq
sub-font=Arial Black
sub-border-color=#ff000000
sub-border-size=1.25
sub-font-size=42
volume=40
audio-pitch-correction=yes
volume-max=100
vf-add=lavfi=[pad=aspect=1.77778:x=(ow-iw)/2:y=(oh-ih)/2]

Can i improve something?

Although subtitles are much better now i feel they can go below video a bit more. Need to figure it out :sly:

Another thing i dont know is if opengl-hq is affecting videos that dont need image up or down scaling.

aufkrawall
22nd October 2017, 10:21
mpv --show-profile=opengl-hq
Profile opengl-hq:
profile=gpu-hq
scale=spline36
cscale=spline36
dscale=mitchell
dither-depth=auto
correct-downscaling=yes
sigmoid-upscaling=yes
deband=yes
Deband is always on with that profile, and ofc the spline chroma scaler might also be noticed over bilinear when there is no luma scaling.
Really dunno about subtitles.

xabregas
22nd October 2017, 13:21
mpv --show-profile=opengl-hq
Profile opengl-hq:
profile=gpu-hq
scale=spline36
cscale=spline36
dscale=mitchell
dither-depth=auto
correct-downscaling=yes
sigmoid-upscaling=yes
deband=yes
Deband is always on with that profile, and ofc the spline chroma scaler might also be noticed over bilinear when there is no luma scaling.
Really dunno about subtitles.

Yes. For 4k i need to disable opengl-hq and use opengl instead because opengl-hq gives me bad color with hevc 10 bit content and higher cpu usage. Opengl gives me correct colors plus lower cpu usage for HEVC 10 bit videos 4k or not.

aufkrawall
22nd October 2017, 14:39
Mind to provide a screenshot?
opengl-hq should in no way influence colors (except of removing banding). It shouldn't have any influence on the CPU either.

Again: mpv by default always uses a OpenGL renderer (at least currently, D3D11 and Vulkan are in the making or already mostly completed), "opengl-hq" is only the above preset of certain quality settings. There is no "opengl" vs. "opengl-hq". ;)

I btw. don't think it's necessary to provide a --vd-lavc-threads setting.
If your system isn't entirely crappy, you can use --video-sync=display-resample for better frame timing and it should also be save to use --hwdec=dxva2-copy.

We also already had a discussion about --opengl-backend=... in this thread. Default is angle, which I wouldn't advise for best performance (or not at all, if possible).

xabregas
22nd October 2017, 16:51
Do i need to use any order in giving options to the config file?

Meaning, should --profile= come first than --hwdec= or after?

Sometimes is hard for me to tell if hwdec was used or not. I needed to search for the log command so i realized the decoding always fall back to software decoding. probably no need for 16 threads neither hwdec= setting.

As for the smooth --video-sync=display-resample i feel its similar to madvr smooth motion without losing so much sharpening. Anyway not to my taste. :D

Mind to provide a screenshot?«

PS: Well i need the screenshot command please ;)

aufkrawall
22nd October 2017, 16:58
Without --interpolation, --video-sync=display-resample doesn't introduce any visible blur or whatever.
The order is not relevant for config entries, maybe except of some special video filters.

Screenshots:
https://mpv.io/manual/stable/#taking-screenshots
You can ofc also just press the print screen and insert it into Paint.

You can drag&drop video files onto mpv.com to see the console with information about playback (or start it via shell). Current git version also got overlay script integrated (shift + i), which is also available as a userscript.

pirlouy
22nd October 2017, 17:03
I'm fine with opengl-backend=Angle, better performance than dxinterop. :p
For config file, you don't need --. Just profile=opengl-hq in config file. Order is not important.

Curious about the next version with new gpu-api settings. :D

pirlouy
2nd November 2017, 20:54
I was wondering if there is some equivalent for madVR option "automatically detect hard coded black bars".
There's a script (autocrop), but it is not automatic like madVR option.

With madVR, 1 option, and it does the job without taking too much ressources (well... I think).

stax76
11th March 2019, 22:01
Version 1.0 is out with a much more feature packed context menu.


Keybinding and context menu conf file:

https://github.com/stax76/mpv.net/blob/master/mpv.net/Resources/input_conf.txt


Download:

https://github.com/stax76/mpv.net/releases


Screenshot:

https://raw.githubusercontent.com/stax76/mpv.net/master/screenshot.png

stax76
13th March 2019, 16:55
Working on IronPython integration now maybe a german dev kan help me with my curent issue described here:

https://social.msdn.microsoft.com/Forums/de-DE/a8ba1f9c-0735-4419-83f8-db32bfb77461/frage-zu-multi-caret-editing-shortcuts?forum=offtopicde

stax76
14th March 2019, 05:44
Version 1.1 has support for Python scripting using IronPython, for testing I migrated the seek-show-position.js script to Python, the API is identical to the Lua/JavaScript API, certainly not fully implemented but assigning to events, executing commands and accessing properties are all shown in the seek-show-position.py script. Since IronPython is .NET based it can also use the APIs which the two included .NET addons use. Personally I think Python is much nicer than Lua and JavaScript, Python scripts can be located in the startup dir in the script folder or in mpv's script folder in the appdata folder. The script is shown below, feel free to ask anything about mpv/mpv.net, .NET addons or Lua/JavaScript/Python scripting. I'm not having any further plans for the player right now since it does everything what I use.

# when seeking displays position and
# duration like so: 70:00 / 80:00
# which is different from mpv which
# uses 01:10:00 / 01:20:00

import math

def seek():
mp.commandv('show-text',
format(mp.get_property_number("time-pos")) + " / " + format(mp.get_property_number("duration")))

def format(f):
sec = round(f)

if sec < 0:
sec = 0

pos_min_floor = math.floor(sec / 60)
sec_rest = sec - pos_min_floor * 60
return add_zero(pos_min_floor) + ":" + add_zero(sec_rest)

def add_zero(val):
val = round(val)
return "" + str(int(val)) if (val > 9) else "0" + str(int(val))

#mp.Seek += seek
mp.register_event("seek", seek)

stax76
18th March 2019, 14:42
1.2


a thread synchonisation bug which caused the shutdown to be delayed or frozen was fixed, it also caused the Shutdown event not to fire which caused the rating plugin not to work


https://github.com/stax76/mpv.net/releases

stax76
19th March 2019, 10:39
1.3


besides Lua/JavaScript/C#/Python there is now PowerShell supported as fifth scripting language

in case there isn't yet a mpv.conf file mpv.net creates the file with certain default settings that were previously set on every mpv.net start. This was changed to provide transparency on which settings mpv.net uses. These default settings can be seen here: https://github.com/stax76/mpv.net/blob/master/mpv.net/Resources/mpv.conf.txt


https://github.com/stax76/mpv.net/releases

https://github.com/stax76/mpv.net#powershell-scripting

stax76
20th March 2019, 18:43
1.4

the last thread sync fix wasn't working well, the delayed shutdown should be gone for good now
libmpv updated


https://github.com/stax76/mpv.net/releases

stax76
21st March 2019, 15:41
In the mpv SDK docs of Lua/JS I'm not sure I understand the following:

mp.get_property_bool(name [,def])

Similar to mp.get_property, but return the property value as Boolean.

Returns a Boolean on success, or def, error on error.

Does def here stand for a default value? I understand it as follows:

If the property is not available it returns the default value and if the property is not available and no default value was provided it returns an error.

stax76
21st March 2019, 18:38
1.5


the info command supports now info for music files instead of showing an exception on music files
added support for WM_APPCOMMAND API to support media keyboards
fixed Alt key input not working
mpv.net API methods renamed to match the names used in the Lua/JS API


https://github.com/stax76/mpv.net/releases

ashlar42
21st March 2019, 18:53
It would be nice if configuration was doable through a GUI. MPV documentation is... complex. You state so in the OP, I know, but I'm used to madVR, where the GUI allows pretty in-depth configuration.

stax76
21st March 2019, 19:44
it's difficult because:


it should modify mpv.conf to be mpv compatible
it should be searchable/filterable


most difficult is I never make a easy decision on which programming language and UI toolkit to use, I don't like always using the same languages and toolkits.

BetA13
21st March 2019, 22:57
is there a list somewhere on wich settings i can use or are avaiable?
i find it hard to configure it, but i want to learn more of course..

also, is it possible to select the monitor that should be used? i have som eproblems with multimonitor config..

Thanks for this project, really liking the minimalism of it.. even doh its kinda hard to configure..


cheers

stax76
22nd March 2019, 02:29
mpv.net has hardly documentation, only a few words at the start page:

https://github.com/stax76/mpv.net


mpv.net supports many mpv features without difference, mpv is mostly documented here:

https://mpv.io/manual/master


also, is it possible to select the monitor that should be used? i have som eproblems with multimonitor config..

maybe this:

https://mpv.io/manual/master/#options-screen

window related features however must be implemented in mpv.net, I should be able to add support for it.

BetA13
22nd March 2019, 13:45
maybe this:

https://mpv.io/manual/master/#options-screen

window related features however must be implemented in mpv.net, I should be able to add support for it.


Thanks for the reply.
I did looked over the manual and tested:

screen=1
and
screen=Default|1
screen=<1>

none of it worked for me, it still starts on the first monitor.
im really looking forward to your implementation, it should make the player way more accessable for other users also that arent used to editing the config file..

Thanks for the work you put into this Project :)

edit:

this is my cfg atm..

vo=gpu
hwdec=dxva2-copy
profile=opengl-hq
video-sync=display-resample
#interpolation=yes
#tscale=sinc
opengl-backend=dxinterop
screen=1

stax76
23rd March 2019, 03:55
@BetA13

it was much more tricky then I thought, I hope at least it works now.

### 1.6

- a crash caused by WM_APPCOMMAND (multimedia keyboards) commands was fixed
- support for the 'screen' property was added, it should work both from mpv.conf (screen = 1) and from command line (--screen=1)
- per monitor DPI awareness and better multi monitor support was added

https://github.com/stax76/mpv.net/releases

BetA13
23rd March 2019, 16:21
Thank you very much :)
will test as soon as i get back home..

cheers

BetA13
24th March 2019, 14:48
Took me a bit longer, but i did test it.
Im happy :) works like a charm, it starts on the right monitor now, and no more frame drops etc.. all stable now..

Thank you very much for the quick fixing.

hubblec4
25th March 2019, 10:36
I guess you are not interested in Matroska support(simple basic support works),or?

stax76
25th March 2019, 10:46
There is now a mpv.conf editor, I hope you like it and it don't has bugs.

https://github.com/stax76/mpv.net/releases

I guess you are not interested in Matroska support(simple basic support works),or?

MKV support is probably not bad, do you miss anything?

hubblec4
26th March 2019, 00:45
....do you miss anything?

Yes, just about everything Matroska has to offer.

I had looked into mpv's code and saw it supports ordered editions/chapters and your mpv.net player plays it, but there is no option to change the edition.

Nested chapters are not supported and the chapter menu is not so good.

This should be a standard for Matroska players(splitter) like LAV Splitter.

I don't know exactly if Matroska Hard-Linking is supported by mpv.

Native Matroska Menu which is supported in VLC.

Video rotation via Tags AND with the ProjectionPoseRoll (https://github.com/Matroska-Org/matroska-specification/issues/269) element.

Matroska DVD VobButton files for in-screen click events.

TRACKSETEX which comes with the HAALI Splitter.

And the new Interactive_movie_support (https://wiki.videolan.org/SoC_2019/#Interactive_movie_support).

I think this is enough for first time but there are more.

stax76
27th March 2019, 02:43
@hubblec4

VLC is fine, though seeking could be faster.

### 1.9

- improved settings editor
- all info and error messages are shown now on the main window thread having the main window as parent

https://github.com/stax76/mpv.net/releases

https://raw.githubusercontent.com/stax76/mpv.net/master/screenshots/mpvSettingsEditor.png

stax76
27th March 2019, 15:39
I had looked into mpv's code and saw it supports ordered editions/chapters and your mpv.net player plays it, but there is no option to change the edition.

Searching in the manual for settings I possibly can add to my mpv.conf GUI editor I found the following:

https://mpv.io/manual/master/#options-edition

Is that what you meant? This is something that could be integrated in mpv.net if there is interest, if VLC has a related feature can you tell me where it is located in the VLC menu or settings?

hubblec4
27th March 2019, 20:18
Yes this is it. Now I see the default value "auto" is used and mpv.net plays the default edition.
VLC: Playback->Title, there you have the option to change the edition. I helped Steve Lohmme to fix the playback issue but there is still an issue when you change the edition.
It plays fine but the timeline jumps often to the end, also after selecting a chapter. The issue ticket on VLC-dev is still open and nobody has answered anymore.

Best edition selection is in LAV Splitter tray-icon.

Grimsdyke
27th March 2019, 20:21
Is it possible with mpv to make a playlist with specific parts of a file ? Not by chapters but by timings like 00:00 => 01:30, 04:05 => 11:20, etc. Thx

hubblec4
27th March 2019, 20:30
I found this: --ordered-chapters-files=<playlist-file>
and it sounds very interesting. Normal Matroska behavior of loading segmented files, works only in the main directory but with this option a menu structure could be possible.

hubblec4
27th March 2019, 20:32
Is it possible with mpv to make a playlist with specific parts of a file ? Not by chapters but by timings like 00:00 => 01:30, 04:05 => 11:20, etc. Thx

This is a perfect task for Matroska. Use ordered chapters and then you can have multiple editions with different parts of the mkv.

BetA13
27th March 2019, 23:25
cant use the settings editor..
when i try to start it an error pops up:

https://i.imgur.com/TSXlxHN.png

when i say yes, it takes me to the download site of Net framework v.4.7.2 wich i do have installed...

is version 4.8 even out?

Im using windows 7 64bit by the way..

Greetz

stax76
28th March 2019, 00:37
I forgot it was using 4.8 and changed it now to 4.7.2.

### Changelog

### 2.0

- setting track-auto-selection added to settings editor (<https://mpv.io/manual/master/#options-track-auto-selection>)
- setting loop-playlist added to settings editor (<https://mpv.io/manual/master/#options-loop-playlist>)
- setting audio-file-auto added to settings editor (<https://mpv.io/manual/master/#options-audio-file-auto>)
- setting video-sync added to settings editor (<https://mpv.io/manual/master/#options-video-sync>)
- command execute-mpv-command added to menu: Tools > Enter a mpv command for execution
- added youtube-dl.exe, please note this will only work when a certain Visual C++ runtime is installed
- added drag & drop support to drag & drop a youtube URL on mpv.net
- added support to open a youtube URL from command line
- added support for opening a URL from the menu: Open > Open URL

https://github.com/stax76/mpv.net/releases

BetA13
28th March 2019, 15:16
hehe, ok.

Well, up we date....
My name is BeTa, so please lemme Test some more...

just joking^^ Thanks for the fast Updates mate!!

Cheers...

edit:
Works as intended... :)

stax76
28th March 2019, 17:32
You can probably test a key binding editor soon but first I try to understand the entire code, there are parts I googled and copied without really understanding it.

ashlar42
28th March 2019, 17:47
There is now a mpv.conf editor, I hope you like it and it don't has bugs.

https://github.com/stax76/mpv.net/releasesGreat! It would nice (and I think useful for the grand majority of users) to have scaling options easily accessible.

stax76
30th March 2019, 06:08
Great! It would nice (and I think useful for the grand majority of users) to have scaling options easily accessible.

Do you have scaling options in your mpv.conf file?

Everything is defined in the mpvConfEdit.toml file in case somebody understands toml or wants to learn it.

Changelog

2.1 (2019-03-30)


new input editor added, default key binding is here: https://github.com/stax76/mpv.net/blob/master/mpv.net/Resources/input.conf.txt#L89


Screenshot: https://raw.githubusercontent.com/stax76/mpv.net/master/screenshots/mpvInputEdit.png

Download: https://github.com/stax76/mpv.net/releases

ashlar42
30th March 2019, 14:23
Do you have scaling options in your mpv.conf file?

Everything is defined in the mpvConfEdit.toml file in cNope, I am currently not using mpv. Specifically because configuring it is quite frankly a nightmare for me.
Having a simple, configurable, "double click and play", player for Windows would be great, as an alternative to MPC-HC. :)

But maybe it's not your objective, I don't know.

stax76
30th March 2019, 16:24
I found it difficult too, even with 15 years coding experience and I hope I could make it at least a little bit more accessible.

My goal with mpv.net is adding a few features I need for myself and help people a little bit if I can.

Other than that generally I like learning new languages, toolkits and frameworks etc., for mpv.net I've learned quite a bit about C# and WPF and found it quite nice after mastering difficulties I had before. Next on my table is C++, Rust, TypeScript, Python and F#.

BetA13
31st March 2019, 23:02
one little thing i noticed while testing.

open player, drops youtube link on it, video plays fine, all good BUT it does not go Fullscreen anymore. neither with "F", nor mouse double klick or via menue.

Only happens with youtube videos, normal movies/files are fine and fullscreen works via double klick.


not shure why that is, if you need more info, lemme know and ill get back to you ;)

Greetz


edit:

is there a way to make the player "ask" me what format/resolution etc. i want when loading a youtube link?

or do i have to set that up somewhere?


Thanks

stax76
1st April 2019, 04:28
open player, drops youtube link on it, video plays fine, all good BUT it does not go Fullscreen anymore. neither with "F", nor mouse double klick or via menue.

Only happens with youtube videos, normal movies/files are fine and fullscreen works via double klick.

I was able to fix it.

For youtube it should be possible to put options to the mpv.conf file.

https://mpv.io/manual/master/#options-ytdl-format

I hope it's OK, apparently it uses the best quality for default.

For the next release I've built an installer.

stax76
1st April 2019, 12:10
### 2.2

- messages boxes had always the info icon even if a different icon (error, warning, question) was intended
- instead of silently do nothing on unknown commands there is now a error message listing available commands and showing the location of the default bindings, this helps when commands are removed or renamed
- there was a problem fixed that made the cursor hidden when it should be visible
- dragging a youtube URL on mpv.net would break certain input related features
- there is now an installer with file extension registration (limited on Win 10) available
- WM_APPCOMMAND media keys were not working in the input (shortcut) editor and there were no defaults for prev and next defined

https://github.com/stax76/mpv.net/releases

BetA13
1st April 2019, 17:03
nice update..

Thanks for the great support :)

updating now...
ill report back later^^


edit:

Fullscreen with youtube videos still borked..

stax76
1st April 2019, 18:18
Oh sorry, I had made a change and tested it 2-3 times and it was OK. Tried it now again and yes it's still broken. Potentially it's gonna be difficult to fix because probably it requires deep win32 knowledge, I'll give it a try, there is a tool called spy++ useful for this kind of issue.

What is very simple to do is to check the clipboard for a YouTube URL when the mpv.net window gets focus/activation and show a message box then confirming to play the URL.

stax76
1st April 2019, 19:09
There was a simple bug where code was executed that should only run for files and not for URL's, this caused an exception and unfortunately there was a second problem, the exception handling not working properly.

stax76
4th April 2019, 18:29
### 2.3 (2019-04-04)

- dragging a youtube URL on mpv.net would still break something, it should work now
- when the main window gets focus/activation it will check the clibboard for a YouTube video and ask to play it
- libmpv updated
- changing to normal size from fullscreen resulted in a too large window in some circumstances
- some default key bindings and menu structure have changed and the input.conf file has a description added on top <https://github.com/stax76/mpv.net/blob/master/mpv.net/Resources/input.conf.txt>
- the file association code was completely rewriten, it's now contained within mpvnet.exe instead of a separate application and it adds a few more keys
- various new info added to the wiki: <https://github.com/stax76/mpv.net/wiki>
- On Top feature was implemented using mpv's native property 'ontop', default bindings at: <https://github.com/stax76/mpv.net/blob/master/mpv.net/Resources/input.conf.txt>

https://github.com/stax76/mpv.net/releases

BetA13
4th April 2019, 22:16
Thank you, its fixed now :)

gonna read a bit trough your Wiki now...

Cheers ;)

stax76
6th April 2019, 15:15
2.4 (2019-04-06)

new options added to the conf GUI editor: gpu-context, gpu-api, scale, cscale,
dscale, dither-depth, correct-downscaling, sigmoid-upscaling, deband
the conf edit GUI has a 'Apply' feature added to write the conf to mpv.conf
without the need to close the conf edit GUI
the input edit GUI shows a message box when a duplicate is detected and it has
a new feature to reduce the filter scope to eather of input, menu or command and
the editor writes always the same help on top of input.conf as it is found in the defaults
the conf edit GUI was often starting out of working area bounds and is now starting with center screen
the startup size was reduced and a issue was fixed that when the screen property
was defined for a screen that isn't connected the startup size wasn't applied
added feature to load external audio and subtitle files in the menu under:
Open > Load external audio|subtitle files (default binding at:
input.conf (https://github.com/stax76/mpv.net/blob/master/mpv.net/Resources/input.conf.txt))
previously the conf edit GUI removed settings from the conf file if the setting
was set to the default, the new behavior is not to remove anything
the autofit mpv property was partly implemented, you can use 'autofit = 50%' in mpv.conf or
'--autofit=50%' on the command line, WxH isn't implemented and only percent values are accepted.
There is a new wiki page explaining the mpv.net limitations compared to the original mpv:
Limitations (https://github.com/stax76/mpv.net/wiki/Limitations)

go to download page (https://github.com/stax76/mpv.net/releases)

ashlar42
7th April 2019, 21:47
Nice improvements.

stax76
7th April 2019, 22:11
Unfortunately the latest release has a bug causing the conf editor not to save the settings in certain situations, I've noticed it today.

stax76
8th April 2019, 03:29
2.5 (2019-04-08)

in case the input conf don't contain a menu definition mpv.net creates the default menu instead no menu like before
all message boxes were migrated to use the TaskDialog API
an improvement in the previous release unfortunately introduced a bug
causing the conf editor not to save settings

go to download page (https://github.com/stax76/mpv.net/releases)

stax76
8th April 2019, 15:09
Anybody using Wox launcher here?

https://postimg.cc/kR41XjQM

stax76
8th April 2019, 21:13
First release of my Wox launcher plugin to control mpv.

https://github.com/stax76/wox-mpv-plugin

BetA13
8th April 2019, 22:52
im having a tiny little bit trouble reading the Configurator :)
Same happens if i try an Dark theme, or any other Theme for that matter ^^

https://i.imgur.com/qNj1cwA.png

*Danke für die neuen Updates ;)

Cheers

stax76
9th April 2019, 04:04
I hope this release is more stable then the previous two.

2.6

on Win 7 controls in the conf editor were using a difficult too read too light color
context menu renderer changed to look like Win 10 design, except colors are still system theme colors

go to download page (https://github.com/stax76/mpv.net/releases)

stax76
10th April 2019, 16:08
Please someone confirms that the last release 2.6 actually starts on Win 7, I'm too lazy to set up a test environment. The last release has a manifest added which is a potential source of incompatibility.

BetA13
10th April 2019, 16:43
one second, im at it..

edit:

First start took around 3 seconds.
second start took under 1 second, all is fine at my end..

works just fine for me :)

Windows 7 64bit Pro

edit2:

The Configurator is also fine now :)

https://i.imgur.com/jGWxwuz.png

THANK YOU !!! :)

stax76
10th April 2019, 20:06
Thanks for testing! I get a white background, is your black background a windows setting or maybe changed by a 3rd party app?

The elements that previously had a too light color on Win 7 are now hard coded as Dark Slate Gray on systems prior Win 10, on Win 10 it uses the system theme/accent color. Hard coding it was easier than getting the system theme color, I had used a new method that didn't work on Win 7 but there is an old method that still could be implemented and probably works on Win 7, this old method is used in StaxRip.

This is how things look on Win 10 using Dark mode and Orange accent:

https://postimg.cc/JsVmB6QM

The screenshot also shows how radio buttons look in the settings dialog of Win 10 using dark mode.

mpv.net might support dark mode or color themes soon, I started experimenting with it today.

BetA13
10th April 2019, 20:44
im just using an windows 7 theme that i edited a bit..
its this here:

https://www.deviantart.com/barbiturikk/art/Viewlix-420986331

And yes, its mostly Systemwide.. i did some customization here and there..
Heres a screen with the STANDART windows 7 Style, for reference Purpose :)

https://i.imgur.com/sSCjs0J.png

Cheers

stax76
12th April 2019, 15:03
2.7 (2019-04-12)

the autofit mpv property was added to the conf editor
the routine that writes the mpv.conf file in the conf editor was completely rewritten
the conf editor has a dedicated page for mpv.net specific settings,
these settings are saved in the same folder as mpv.conf using mpvnet.conf as filename,
the first setting there is dark-mode
new optional dark theme

go to download page (https://github.com/stax76/mpv.net/releases)

https://i.postimg.cc/R0QWWzTQ/Screenshot-18.png

stax76
16th April 2019, 18:09
Changelog

2.9 (2019-04-16)

clicking the right top corner in full screen mode
closes the player but it did not work on all displays
the info display was changed to display the filename on top
so it's not displayed in the middle of the screen
on start up of the conf editor all text is now selected in the
search text box so it's ready for a new search to be typed
the conf editor was changed to write the settings to disk
only if the settings were actually modified, also the message
that says that the settings will be available on next start
is now only shown if the settings were actually modified.
there was an instance in the context menu where the sub menu
arrow was overlapping with the text
in the input editor when only one character is entered in the
search text box the search is performed only in the input and
not in the command or menu
in the input editor the routine that generates the input string
was completely rewritten because it was adding Shift where it
wasn't necessary (it took a huge amount of time to implement)
the context menu has a new track menu where the active track
can be seen and selected, it shows video, audio and subtitle
tracks with various metadata. Menu default definition (https://github.com/stax76/mpv.net/blob/master/mpv.net/Resources/input.conf.txt#L104).
The screenshots were updated showing the new track menu (https://github.com/stax76/mpv.net#screenshots).

go to download page (https://github.com/stax76/mpv.net/releases)

https://i.postimg.cc/nrKdxcMR/mpvnet-Context-Menu.png

stax76
16th April 2019, 20:13
I think my mission with this player is mostly completed, it already does more than I need and there is not much feedback (thanks to BetA13 and everybody else giving feedback). I'm still here trying to help, be it general mpv topics, help about extension development or incorporating pull requests.

Next mission is likely a Electron (https://electronjs.org/) based player similar to MusicBee (https://www.getmusicbee.com/), MediaMonkey or Dopamine (http://www.digimezzo.com/software/dopamine/). I've not any real wishes or complaints about MusicBee, I just don't know what else to code and I want to learn to program using the web platform.

Grimsdyke
16th April 2019, 21:00
As I said a few weeks ago I would love to have a player that gives me the opportunately to play certain parts of a 'file' via a playlist !!
But not the existing chapters but parts that I want to play. And directly within the player and not by creating a mkv or whatever.

stax76
16th April 2019, 21:24
The idea isn't that bad, I can't promise it but there is a chance if you create an issue on the tracker with a description of your requirements.

https://github.com/stax76/mpv.net/issues

hubblec4
17th April 2019, 11:20
Hey, stax76, you could learn C++ or Lazarus to write a GUÍ for mpv without depending on the ".net"-components. I don't like such tools, and for mpv.net I had to install it (cruel).

I'm always interested in a player with Matroska support (more as basic support).

stax76
17th April 2019, 13:28
I've written a series of C++ apps ten years ago, take a look here:

https://github.com/stax76/OpenWithPlusPlus

I prefer C#/VB.NET, Visual Studio and Visual Studio Code but am generally open-minded towards any kind of language and I don't mind installing a run time. For JDownloader I've installed Java and it's officially the slowest starting app on my system, over 5 seconds. There are numerous Visual C++ run times installed on my sys and Python mostly because I want to learn it due to its popularity and interesting concepts it uses.

.NET is part of the Win OS and it's update process and many .NET app makers use a new .NET version even if they could use an older version, they just don't see many disadvantages using the latest and greatest. Complaints are rare, I'm relatively sure you are the only one mention it for mpv.net.

Yesterday I wanted to add mkv edition support but gave up quickly when I noticed that there is no way getting the edition name with MediaInfo. I don't know if it's really missing and if there are other simple methods getting it.

If you miss things in players and player devs can't help you, you can always get involved in player development like I did two years ago. You can start from scratch, use a lib like libmpv or contribute to an existing player or fork one, or maybe you can find one that can be extended. mpv.net supports numerous extension languages but don't has a C interface, instead off adding a C interface I recommend people to learn one of the languages it supports but there is also a language agnostic interface built into the mpv core, json-ipc, you can read about it here:

https://mpv.io/manual/master/#json-ipc

I've used it in my Wox launcher mpv add-in:

https://github.com/stax76/wox-mpv-plugin

The mpv wiki has a list of front ends, there is an MPC clone for instance but I don't think any of them has great MKV and Windows support.

https://github.com/mpv-player/mpv/wiki/Applications-using-mpv

I decided against MPC and for mpv and I've never regretted it, in fact it was a great experience using libmpv, great documentation, everything just works wonderfully and in the rare occasion of encountering a problem there were helpful developers.

mpv.net has about 10 000 lines of code, probably only a third is essential and the rest is GUI related and nice to have features for better usability or better look and feel or features that hardly anybody uses.

stax76
17th April 2019, 13:51
I forgot to mention that .NET Core 3 supports desktop GUI development and I could easily port mpv.net to .NET Core which eliminates the need for installing the newest or any .NET framework, it's even possible to compile everything into one executable and would probably not be much bigger than a QT app.

hubblec4
17th April 2019, 16:06
I've written a series of C++ apps ten years ago, take a look here:

https://github.com/stax76/OpenWithPlusPlus

I prefer C#/VB.NET, Visual Studio and Visual Studio Code but am generally open-minded towards any kind of language and I don't mind installing a run time. For JDownloader I've installed Java and it's officially the slowest starting app on my system, over 5 seconds. There are numerous Visual C++ run times installed on my sys and Python mostly because I want to learn it due to its popularity and interesting concepts it uses.

.NET is part of the Win OS and it's update process and many .NET app makers use a new .NET version even if they could use an older version, they just don't see many disadvantages using the latest and greatest. Complaints are rare, I'm relatively sure you are the only one mention it for mpv.net.

Yes maybe I'm the only one, but sometime I found a cool app and want test it. But the app says there is some .net-component missing.


Yesterday I wanted to add mkv edition support but gave up quickly when I noticed that there is no way getting the edition name with MediaInfo. I don't know if it's really missing and if there are other simple methods getting it.

I know MediaInfo is not the best tool to get info about an mkv. It is very easy to parse an mkv.


If you miss things in players and player devs can't help you, you can always get involved in player development like I did two years ago. You can start from scratch, use a lib like libmpv or contribute to an existing player or fork one, or maybe you can find one that can be extended. mpv.net supports numerous extension languages but don't has a C interface, instead off adding a C interface I recommend people to learn one of the languages it supports but there is also a language agnostic interface built into the mpv core, json-ipc, you can read about it here:

https://mpv.io/manual/master/#json-ipc

I've used it in my Wox launcher mpv add-in:

https://github.com/stax76/wox-mpv-plugin

The mpv wiki has a list of front ends, there is an MPC clone for instance but I don't think any of them has great MKV and Windows support.

https://github.com/mpv-player/mpv/wiki/Applications-using-mpv

I decided against MPC and for mpv and I've never regretted it, in fact it was a great experience using libmpv, great documentation, everything just works wonderfully and in the rare occasion of encountering a problem there were helpful developers.

mpv.net has about 10 000 lines of code, probably only a third is essential and the rest is GUI related and nice to have features for better usability or better look and feel or features that hardly anybody uses.

mpv looks indeed interesting and I hope in future there is more native Matroska support.
Unfortunately my mkv's play not smooth in mpv.net. Stuttering or frame drops I don't know.

My knowledge about C coding is very rare and so I can't really help/join to projects. I can ask only and offer my helping hand.

stax76
20th April 2019, 19:35
Unfortunately my mkv's play not smooth in mpv.net. Stuttering or frame drops I don't know.

What's the content of your mpv.conf file and what GPU are you using?

hubblec4
20th April 2019, 20:45
mpv.conf

# https://mpv.io/manual/master/

input-ar-delay = 500
input-ar-rate = 20
volume = 50
hwdec = yes
vo = direct3d
keep-open = yes
keep-open-pause = no
osd-playing-msg = ${filename}
screenshot-directory = ~~desktop/
scale = lanczos
cscale = lanczos
dscale = lanczos


I have changed some settings because with default values not working. GPU is NVIDIA.

Mkv content is from Blu-ray and from UHD-BD. Both mkv's plays fine in mpv, but not in mpv.net.

stax76
20th April 2019, 23:07
Changelog

3.0 (2019-04-20)

the history feature logs now only files that were opened longer than 90 seconds
the default input command for cycling the audio tracks was replaced with an
mpv.net command that shows detailed track info and has no 'no audio' track. Default binding (https://github.com/stax76/mpv.net/blob/master/mpv.net/Resources/input.conf.txt#L89).
new website at https://mpv-net.github.io/mpv.net-web-site/
the Tracks menu supports now MKV edition selection. Default binding (https://github.com/stax76/mpv.net/blob/master/mpv.net/Resources/input.conf.txt#L106).
the Navigate menu supports now chapter selection. Default binding (https://github.com/stax76/mpv.net/blob/master/mpv.net/Resources/input.conf.txt#L57).
opening the context menu was crashing if the default binding for Tracks was missing

stax76
20th April 2019, 23:14
@hubblec4

Maybe try the default 'vo = gpu', it's usually better than 'vo = direct3d'.

my settings and card:

NVIDIA GT 1030

#log-file = C:\Users\frank\AppData\Roaming\mpv\log.txt
input-ar-delay = 500
input-ar-rate = 20
volume = 50
keep-open = always
keep-open-pause = no
screenshot-directory = ~~desktop/
input-default-bindings = no
screen = 1
input-ipc-server = \\.\pipe\mpvsocket
hwdec = yes
osd-playing-msg = ${filename}
alang = de,en
fullscreen = yes

hubblec4
21st April 2019, 12:30
Hi stax76,

it would be so nice if you could offer a portable version of mpv.net. And for me more important: the mpv config folder should be include in the portable exe-folder.

hubblec4
21st April 2019, 12:46
Hi stax76

a short test with an mkv which have 3 editions.

here is a pic of the sub entry "Track"
https://forum.videohelp.com/attachments/48762-1555846833/editions_mpv.net.jpg

The editions are 3 times shown. I think you have to adjust the list so that the editions located at the top(one times only), then video tracks, audio tracks, sub tracks.


EDIT:
I would prefer an extra entry in the popup menu for the Editions and also for the Chapters "EDIT: after the Subtitle entry".

hubblec4
21st April 2019, 12:59
@hubblec4

Maybe try the default 'vo = gpu', it's usually better than 'vo = direct3d'.


Now it seems to work. Video stuttering is gone.

But I have installed mpv.net in a VM(Win7-64) and try to open the mkv(from host OS, via network) and mpv.net crashes without a warning.

I copied the mpv.net install folder to my host OS and it works.

Thanks for upgrading Matroska support.

stax76
21st April 2019, 13:47
it would be so nice if you could offer a portable version of mpv.net. And for me more important: the mpv config folder should be include in the portable exe-folder.

I consider it, can you describe a few benefits this would have? My installer is extreme lightweight and there are many very easy ways to uninstall apps:


appwiz.cpl

ms-settings:appsfeatures (Win 10)

right click menu item in start menu and select uninstall (maybe only available in Win 10)

open start menu and type 'dein' (also maybe only available in Win 10)


https://github.com/stax76/mpv.net/blob/master/mpvnet.iss

I was able to get both edition names and chapter names from the mpv API, it was straightforward to implement.

stax76
21st April 2019, 14:00
The editions are 3 times shown. I think you have to adjust the list so that the editions located at the top(one times only), then video tracks, audio tracks, sub tracks.

It looks like all menu items are shown 3 times, did this happen only once or does it happen all the time?

I would prefer an extra entry in the popup menu for the Editions and also for the Chapters "EDIT: after the Subtitle entry".

Normally you can edit your menu by modifying your input.conf file but I think I've hard coded something that the chapter will always be under 'Navigate > Chapters'. I should be able to change this to allow people to move chapters to the top level menu.

edit:

I believe I know what was happening, you don't have defaults for Track and Chapters in your input.conf simply because input.conf was created by an earlier version. There are two ways to fix it, either add the defaults for track and chapters manually, links are in the change log, or delete input.conf so it gets created with those default.

Next version will show tracks and chapters only if input conf contains defaults and you will be able to move tracks and chapters wherever you want by editing input.conf.

Why would you prefer a sub menu for editions? I'm trying to keep the code base simple and lightweight.

hubblec4
21st April 2019, 14:31
I consider it, can you describe a few benefits this would have? My installer is extreme lightweight and there are many very easy ways to uninstall apps:....

I always prefer portable versions and with portable I mean 100% portable!
Most "portable" tools writes settings and other stuff in the registry. When I copy the app folder to an USB stick and want use it on other PCs it will not work right.




I was able to get both edition names and chapter names from the mpv API, it was straightforward to implement.

OK, but I guess the internal mkv parser is not really 100% working. I found nothing about nested chapters.


It looks like all menu items are shown 3 times, did this happen only once or does it happen all the time?
No. An mkv with 2 editions is shown correctly, but an other mkv with 3 editions don't work.



Normally you can edit your menu by modifying your input.conf file but I think I've hard coded something that the chapter will always be under 'Navigate > Chapters'. I should be able to change this to allow people to move chapters to the top level menu.

Don't forget the Editions entry, this is more important as Chapters. The Editions and Chapters entry should be shown in the main menu by default.

stax76
21st April 2019, 14:33
I just edited my previous post.

stax76
21st April 2019, 14:43
The Editions and Chapters entry should be shown in the main menu by default.

The top level menu is already too long, next version will allow to move chapters to the top level by editing input conf.

I would like to keep editions in the tracks menu (second level) in order to keep the code simple, in MPC-HC it's 3rd level.

hubblec4
21st April 2019, 15:50
The issue with the editions is gone after I deleted the old input.conf.

The list of top level entries is not too long (my opinion). I use LAV Filters tray icon and with only one right click I have access to the editions.
I want such short way within a player. Selecting editions (and chapters) within MPC is not good.
There are other top level entries which make no sense for me and could be moved to lower level.
Editions is the most important feature, selecting and changing.

What I want is a "button" to change quickly Editions in mpv, like the Audio/Sub buttons where you can change the track.

stax76
21st April 2019, 19:39
I wrote a script to get your editions to the top level menu, it works however only in the next release, find the script here:

https://github.com/stax76/mpv.net/wiki/Scripting

I don't know much about the mpv on screen controller. It might be possible to implement a control bar as mpv.net add-on but I'm not sure if it's easy to do.

hubblec4
21st April 2019, 20:11
I will test it. Thanks.

If it possible to implement such a control bar that would be soooo great. I dream of a Matroska control bar to navigate in Matroska menu structure :-)

ashlar42
21st April 2019, 22:37
I just don't know what else to code and I want to learn to program using the web platform.What about Kodi DSPlayer, if you don't know what else to code?
Sorry but it was too... tempting not to ask.

stax76
22nd April 2019, 18:23
If it possible to implement such a control bar that would be soooo great. I dream of a Matroska control bar to navigate in Matroska menu structure :-)

I might try it sometime but currently try to focus on my new project which is web platform based and because it is web platform based it is a challenge for me, that's why I created a website for mpv.net, in order to start learning the web platform.

What about Kodi DSPlayer, if you don't know what else to code?
Sorry but it was too... tempting not to ask.

The reason why I stopped working on staxrip (some maintenance work is still an option) is I'm not using it any longer and I'm also not using Kodi (but rather mpv.net) at this time but I agree that Kodi is great software, much better than most desktop player because it has a modular architecture.

ashlar42
23rd April 2019, 13:49
The reason why I stopped working on staxrip (some maintenance work is still an option) is I'm not using it any longer and I'm also not using Kodi (but rather mpv.net) at this time but I agree that Kodi is great software, much better than most desktop player because it has a modular architecture.
Yeah, Kodi is great software. When used together with madVR is quite likely to be the highest quality option available currently. Unfortunately the past developer of Kodi DSPlayer has abandonded the project and nobody is willing/capable of picking it up. A sad story. :(

Staxrip has been hugely helpful for me. Thanks a bunch for that.

stax76
23rd April 2019, 15:17
Yeah, Kodi is great software. When used together with madVR is quite likely to be the highest quality option available currently. Unfortunately the past developer of Kodi DSPlayer has abandonded the project and nobody is willing/capable of picking it up. A sad story.

I hope somebody will maintain it. HQ processing was never a special interest of me, it probably has something to do with not having the best eyesight I guess.

--------------------

Changelog

3.1 (2019-04-23)

the Tracks and Chapters menu are now only added if default bindings exist and
it's now possible to move the chapters menu to the top level by editing input.conf
mpvnet supports now like mpv a portable settings directory. If a directory named portable_config
next to the mpvnet.exe exists, all config will be loaded and written in this directory.
there is now a portable download in 7zip format.


https://mpv.io/manual/master/#files-on-windows

hubblec4
23rd April 2019, 15:34
Thanks. I have downloaded it and test the portable version.

When I start the mpvInputEdit there are nothing, no entries. Is this correct?

EDIT: You should include a folder "portable_config" to the portable version as default.


EDIT2:
I can change the Editions, many thanks. And playback looks very fine now.
But the Editions and also the Chapters should be in the top level menu by default.

stax76
23rd April 2019, 15:40
When I start the ConfEditor there are nothing, no entries. Is this correct?

Does the file mpvConf.toml exist next to mpvConfEdit.exe?

Did you set a filter key word that yields to zero results maybe?

stax76
23rd April 2019, 18:27
Article that writes about Lua which is the number one scripting language in mpv and VLC:

https://www.codementor.io/blog/worst-languages-2019-6mvbfg3w9x

hubblec4
23rd April 2019, 18:29
The mpvConf.toml exists and the editor works. You had answered to fast. I had changed my post.

In the change log you speak about editing the inputConf. I mean mpvInputEditor shows nothing. What is to do that Chapters/Editions move to the top level menu?

stax76
23rd April 2019, 20:13
In the change log you speak about editing the inputConf. I mean mpvInputEditor shows nothing.

I think when the input editor has no content then either input.conf don't exist or is empty and the input editor is not generating defaults because technically it might not be easy to do, the defaults are only included as resource in mpvnet and only mpvnet creates defaults when input.conf don't exist.

You can't however use the input editor for changing the menu structure, you have to edit input.conf manually. First try to move chapters to top level.

https://github.com/stax76/mpv.net/blob/master/mpv.net/Resources/input.conf.txt#L57

Once you figured out chapters you can try moving edition to top level with the script you can find here:

https://github.com/stax76/mpv.net/wiki/Scripting

hubblec4
23rd April 2019, 20:29
The input.conf exits but has no content, expect some comment lines.

EDIT: I deleted the input.conf and start mpv.net. A new filled input.conf was created.
My first step was to open the config editor and it saves an empty file after closing. And than I started mpv.net which create not a new input.conf file.

https://github.com/stax76/mpv.net/wiki/Scripting
Which of the script sample is for moving chapters?

EDIT:
I could find out how to move Chapters by manually editing the input.conf.

hubblec4
23rd April 2019, 20:37
Maybe it is better to ask the user for saving settings when he close an editor. With an option for auto-save on exit.

stax76
27th April 2019, 01:47
Changelog

3.2 (2019-04-27)

mpvInputEdit and mpvConfEdit were discontinued and merged into
mpvnet because separate apps were to difficult to work with
portable mode: in case no config folder exists and the
startup folder has write access mpvnet will ask where
the config folder should be created (portable or appdata)
there was an issue causing keys not working after a modal window was shown
there was a crash when no script folder existed in the conf folder
MediaInfo and youtube-dl were updated
a new JavaScript example script was added to the wiki and the
script descriptions were improved. Scripting Page (https://github.com/stax76/mpv.net/wiki/Scripting).
greatly improved README.md file and github startpage (https://github.com/stax76/mpv.net)
About dialog added
the input editor shows only a closing message if actually a change was made
the input editor don't show confusing menu separators any longer. Screenshot (https://github.com/stax76/mpv.net#input-editor)
new Command Palette feature added. Screenshot (https://github.com/stax76/mpv.net#command-palette), Default input binding (https://github.com/stax76/mpv.net/blob/master/mpv.net/Resources/inputConf.txt#L141)
the history feature had a bug causing files to be logged more than once

hubblec4
28th April 2019, 02:50
Thanks again. All seems to work, but I can't figure out how I can move the Editions to an Edition entry in the top level.

I have searched a bit in mpv Github and found an incredible thing. mpv supports the Matroska ChapterSegmentEditionUID (https://github.com/mpv-player/mpv/pull/258) element. I have made some first quick tests and it works. I need a bit time to understand the correct handling and then I could add a new Matroska menu structure profile for the Matroska menu editor in cE.

Maybe is some help of you required to get working such menu structure.

On the other hand I found out that mpv don't support Matroska Hard-Linking.

And I have started a Github project about Matroska-Playback (https://github.com/hubblec4/Matroska-Playback) to explain Matroska features.

stax76
28th April 2019, 16:41
If you want to do something that large like the script below I recommend creating a C# project in Visual Studio and add a reference to the mpvnet.exe assembly in order to get full code completion. If you've never worked with C# and WinForms before it's gonna be difficult. It might also help to see how other dynamic menu items are added:

https://github.com/stax76/mpv.net/blob/master/mpv.net/MainForm.cs#L79


using mpvnet;
using System.ComponentModel;
using System.Linq;

class Script
{
MainForm MainForm;

public Script()
{
MainForm = mpvnet.MainForm.Instance;
MainForm.ContextMenu.Opening += ContextMenu_Opening;
}

void ContextMenu_Opening(object sender, CancelEventArgs e)
{
// please note that you have to edit the input.conf
// file and add an 'Edition' menu item there
MenuItem menuItem = MainForm.FindMenuItem("Edition");
if (menuItem == null) return;
menuItem.DropDownItems.Clear();
var editionTracks = mp.MediaTracks.Where(track => track.Type == "e");

foreach (MediaTrack track in editionTracks)
{
MenuItem mi = new MenuItem(track.Text);
mi.Action = () => { mp.commandv("set", "edition", track.ID.ToString()); };
mi.Checked = MainForm.MpvEdition == track.ID;
menuItem.DropDownItems.Add(mi);
}
}
}

stax76
4th May 2019, 00:08
Changelog

3.4 (2019-05-03)

new feature added to manage file associations from within the app. It can be found in the menu at: Tools > Manage... Default Binding (https://github.com/stax76/mpv.net/blob/master/mpv.net/Resources/inputConf.txt#L149)
new zip download option added
new x86 download option added

3.3 (2019-05-01)

dark mode support was added to the command palette and partly to the input editor
a new icon was designed. Website (https://mpv-net.github.io/mpv.net-web-site/)
all windows (main, conf, input, about, command palette) can now be closed
by just pressing the Escape key
new feature added to open recent files and URLs with the context menu. Default Binding (https://github.com/stax76/mpv.net/blob/master/mpv.net/Resources/inputConf.txt#L33)
the info command (i key) now works also for URLs
CSScriptAddon add-on didn't load cs scripts from <startup>\scripts
error handling was improved by showing an improved message box that supports
a text copy feature, a support link and text heading and text folding
libmpv was updated

BetA13
4th May 2019, 01:52
Thanks for the Updates...

quick question, you cant use Madvr with this player right?
Or can you?

just wondering...

stax76
4th May 2019, 02:05
mpv/libmpv cannot use madvr.

hubblec4
4th May 2019, 12:17
No extra Script is working. I get the same errors which I have send you via pm.

And could you please stop using path's at C:\ like Temp folder for windows or the Local Temp folder. After I have started mpv.net there are many folders on C:\ and I don't want delete them all manually ever time.

ALL SETTINGS can be saved in the mpv.net folder in an ini-file.

stax76
4th May 2019, 13:36
@hubblec4

I don't know yet what is causing the problem with the C# script. The message box that is showing you the error has a copy feature in the last release, if you copy the error message I can ask the author of CS-Script what could cause the error.

I'm currently working on a new wiki page that explains how to do an .NET add-on, you could do an .NET add-on then instead of a .NET script, this has the benefit of debugging support.

And could you please stop using path's at C:\ like Temp folder for windows or the Local Temp folder. After I have started mpv.net there are many folders on C:\ and I don't want delete them all manually ever time.

I don't know what you mean, please post one full folder or file path. I did everything I could to support the requests for portable, x86 and zip. It could be a bug.

stax76
4th May 2019, 13:51
Wiki page about add-ons:

https://github.com/stax76/mpv.net/wiki/Addons

stax76
4th May 2019, 15:10
Who knows how this C# code translates to Python:

var editionTracks = mp.MediaTracks.Where(track => track.Type == "e");

edit:

I think it is:

editionTracks = [track for track in mp.MediaTracks if track.Type == "e"]

hubblec4
4th May 2019, 16:59
Here is the error message for the portable version 64bit

CompilerException

c:\Users\Hubblec4\AppData\Local\Temp\CSSCRIPT\dynamic\3220.4f8112b5-c061-406e-92fc-0a9745641f82.tmp(12,41): error CS0123: No overload for 'ContextMenu_Opening' matches delegate 'System.ComponentModel.CancelEventHandler'


csscript.CompilerException: c:\Users\Hubblec4\AppData\Local\Temp\CSSCRIPT\dynamic\3220.4f8112b5-c061-406e-92fc-0a9745641f82.tmp(12,41): error CS0123: No overload for 'ContextMenu_Opening' matches delegate 'System.ComponentModel.CancelEventHandler'

bei csscript.CSExecutor.ProcessCompilingResult(CompilerResults results, CompilerParameters compilerParams, ScriptParser parser, String scriptFileName, String assemblyFileName, String[] additionalDependencies)
bei csscript.CSExecutor.Compile(String scriptFileName)
bei CSScriptLibrary.CSScript.LoadWithConfig(String scriptFile, String assemblyFile, Boolean debugBuild, Settings scriptSettings, String compilerOptions, String[] refAssemblies)
bei CSScriptLibrary.CSScript.LoadCode(String scriptText, String tempFileExtension, String assemblyFile, Boolean debugBuild, String[] refAssemblies)
bei CSScriptLibrary.CodeDomEvaluator.CompileCode(String scriptText)
bei CSScriptLibrary.CodeDomEvaluator.LoadCode(String scriptText, Object[] args)
bei CSScriptAddon.CSScriptAddon..ctor() in C:\Users\frank\Daten\Projekte\CS\mpv.net\CSScriptAddon\CSScriptAddon.vb:Zeile 29.

stax76
4th May 2019, 17:23
Thanks, I'll try to find out what's wrong.

I was able to translate it to python:

import mpvnet
import MenuItem

fn = lambda t: lambda : mp.commandv("set", "edition", str(t.ID))

def ContextMenu_Opening(sender, e):
menuItem = MainForm.FindMenuItem("Editions")
if menuItem is None:
return
menuItem.DropDownItems.Clear()
editionTracks = [track for track in mp.MediaTracks if track.Type == "e"]

for track in editionTracks:
mi = MenuItem(track.Text)
mi.Action = fn(track)
mi.Checked = MainForm.MpvEdition == track.ID
menuItem.DropDownItems.Add(mi)

MainForm = mpvnet.MainForm.Instance
MainForm.ContextMenu.Opening += ContextMenu_Opening

stax76
4th May 2019, 17:36
if you mean the folder

c:\Users\Hubblec4\AppData\Local\Temp\CSSCRIPT

I don't have control over this, to run C# scripts mpv.net uses a third party component called CSSCRIPT which creates this folder, I hope it's not constantly creating new files.

hubblec4
4th May 2019, 20:48
Editions.py works.

Yes I mean this folder.

stax76
9th May 2019, 14:32
Changelog

3.5 (2019-05-09)

when the main windows gets activated and the clipboard content starts with http
mpv.net will ask to play the URL, previously this was restricted to YouTube URLs
Python script errors show line and column whenever it is supported by IronPython
if conf files exist in the startup directory mpv.net will use the startup
directory as config directory instead of creating default conf files in appdata
renamed commands are handled now by migration code instead of being broken

hubblec4
9th May 2019, 17:15
Downloaded and tested. Here is a small menu.mkv (https://forum.videohelp.com/attachments/49027-1557418329/S01E00%20-%20Hauptmen%C3%BC.7z) with more than 10 editions. Only 3 editions are shown, in the original menu entry Track and with the Editions.py script.

stax76
9th May 2019, 17:49
Try with mpv, I populate tracks like so:

count = get_property_int("edition-list/count");

for (int i = 0; i < count; i++)
{
MediaTrack track = new MediaTrack();
track.Text = "E: " + get_property_string($"edition-list/{i}/title");
track.Type = "e";
track.ID = i;
MediaTracks.Add(track);
}

In mpv.net you can do:

Tools > Execute mpv command

show-text ${edition-list/count}

hubblec4
9th May 2019, 18:59
The command show me a "3" on left top corner. I load the file in mpv but I don't know how can I change, see, select editions.

stax76
9th May 2019, 19:21
I've learned a couple of things about libmpv over the years but I'm not really an expert about mpv, Windows probably isn't the best platform for mpv. Two options I know is either the command line or IPC (shouldn't this rather be called RPC?).

Command line is documented like so:

mpv [options] [file|URL|PLAYLIST|-]

Following command line will probably work:

mpv --edition=<editionID> <file|URL|PLAYLIST|->

stax76
13th May 2019, 02:09
Changelog

3.6

playing files from rar archives caused an exception
there was a bug that caused underscores beeing removed from input like MBTN_LEFT_DBL
the search clear button in the input editor had a render issue in dark mode
new search feature added to search and play media files, requires
Everything (https://www.voidtools.com) to be installed. Default Binding (https://github.com/stax76/mpv.net/blob/master/mpv.net/Resources/inputConf.txt#L29), Screenshot (https://github.com/stax76/mpv.net#media-search-screenshot)

ashlar42
13th May 2019, 16:36
Nice choice on Everything for search functionality. I've been using it for years and it's, for me at least, a game changer in how I use my PC.

stax76
13th May 2019, 17:13
Everything is pretty good, agreed. When I've used Wox launcher, I noticed that it uses Everything for file searches so there must be a way for third party apps to query Everything, turned out that is super easy to do.

stax76
23rd May 2019, 00:05
there was a bug causing an exception if both the input editor and config editor
is opened, as soon as one is opened, the other can't be opened

https://github.com/stax76/mpv.net/releases

stax76
25th May 2019, 01:15
3.7

new icon design
the radio buttons in the config editor have now a Windows 10 like design,
they are larger and use the Windows theme color


https://github.com/stax76/mpv.net/releases

https://postimg.cc/XZhVsVqc

stax76
27th May 2019, 18:01
4.0

on the start screen the mpv.NET icon is shown instead of the mpv icon,
feedback and contributions regarding the icon are welcome! The paint.net
pdn and png source is located here (https://github.com/stax76/mpv.net/tree/master/img)
everytime only one file is opened the complete folder is loaded in the playlist
the info command (i key) shows the audio format
new options osd-font-size, sub-font, sub-font-size
new color options with dedicated GUI support: sub-color, sub-border-color, sub-back-color
the config editor no longer shows the command line switches
the github start page was greatly improved
the setup.ps1 PowerShell script was greatly improved in regard of error handling and readability
a manual to mpv.net (Manual.md) was created

ChaosKing
27th May 2019, 19:54
Is http://manual.md/ the correct link? Doesn't work for me.

stax76
27th May 2019, 20:16
this works:

https://github.com/stax76/mpv.net/blob/master/Manual.md

if something is unclear, feel free to ask.

stax76
1st June 2019, 14:24
4.1

drag & drop support for subtitles was added
libmpv was updated
command line support for stdin and URLs was added
there was a crash happening when the player is
minimized in the taskbar

stax76
16th June 2019, 11:43
Hi everyone, I've uploaded a new release. Thanks to everybody who provided feedback since the last release and helped me with the code!

4.2 Letting Go

the help and layout in the config editor was improved
clipboard monitoring for URLs can be disabled in the settings
the context menu has a new feature: Open > Add files to playlist,
it appends files to the playlist (Default binding) (https://github.com/stax76/mpv.net/blob/master/mpv.net/Resources/inputConf.txt#L33)
a setting was added to force using a single mpv.net process instance

stax76
24th June 2019, 01:21
There is a chrome extension that can start mpv, has anybody tried this on Windows 10?

https://github.com/Thann/play-with-mpv

What are the most popular video sites besides YouTube? I would like to rewrite the clipboard-monitoring feature to use a domain whitelist.

BetA13
24th June 2019, 02:08
What are the most popular video sites besides YouTube? I would like to rewrite the clipboard-monitoring feature to use a domain whitelist.

Quickly thinks about it and inserts comment: :)

Vimeo (https://vimeo.com/), archive.org (https://archive.org/details/movies), Dtube (https://d.tube/).

Besides Youtube, these are the ones i also mostly use..


i would love that option for firefox... aaargh...

greetz

stax76
24th June 2019, 07:36
Thanks for the suggestions, I made the whitelist feature keyword based, the tube keyword will work for all tubes.

Searching for mpv, Firefox shows some extensions too.

stax76
26th June 2019, 15:25
Since the last release there was more feedback than ever before (much on the issue tracker and people who starred the project). I would like to thank everybody for it. :thanks:

4.4


clipboard-monitoring was replaced by url-whitelist:
Keyword whitelist to monitor the clipboard for URLs to play.
Default: tube vimeo ard zdf
some settings like colors didn't work because enclosing quotes were missing
when single process queue is used the folder is no longer loaded
the playlist is never cleared whenever the control key is down but
files and URLs are appended instead
powershell script hosting bugs were fixed and a new powershell example script
was added to the scripting wiki page (https://github.com/stax76/mpv.net/wiki/Scripting#powershell)
the menu entry for the command palette was renamed to 'Show All Commands' and
the default key binding was changed to F1 which is also the default in VS Code
the default key binding of the Everything media search was changed to F3
support for the mpv property 'border' was added to the config editor
to show/hide the window decoration (titlebar, border). A toggle menu item and
key binding (b) was added as well (Default Binding (https://github.com/stax76/mpv.net/blob/master/mpv.net/Resources/inputConf.txt#L135))

stax76
1st July 2019, 02:04
4.5


opening a URL manually no longer uses a input box but uses the clipboard directly
the manifest was missing the company attribute which caused
mpv.net not appearing in the 'Open with' menu of the Windows File Explorer,
thanks to 44vince44 for pointing this out!!!
new Python and C# script examples were added to the wiki and the scripting and
add-on documentation was improved
invalid command line arguments were ignored, now an error message is shown
a description on how to start mpv.net from Google Chrome was added to the
manual, it's useful to play videos from sites like YouTube, find the
description here (https://github.com/stax76/mpv.net/blob/master/Manual.md#chrome-extension)
new config setting remember-height added to remember the window height,
otherwise the video's native resolution is used
support for protocols other then http added

amayra
5th July 2019, 00:27
How i can output 10bit in mpv.net ?

stax76
5th July 2019, 03:58
How i can output 10bit in mpv.net ?

Under normal circumstances 10 bit will be used.

You can toggle stats with shift+t key or write more info to the log with --log-file="path" or in mpv.conf log-file = 'path'.

amayra
5th July 2019, 14:39
doesn't need directx 11 like madvr and Exclusive Fullscreen for that ?

stax76
5th July 2019, 15:08
I don't think mpv has a Exclusive Fullscreen feature. Please note that mpv has many high quality rendering options but I'm not an expert with that, I'm not able to see great differences... :)

Two settings I use with my GT 1030 are:

profile = gpu-hq
hwdec = yes

huhn
5th July 2019, 17:38
to render in 10 bit you need to use a 10 bit presentation surface in a situation the OS/GPU driver except it.

like d3d11 FSE and under windows 10 d3d11 WFS.
the openGL 10 bit hack is only usable with professional driver and works in window mode. it uses 6 of the 8 bit from the alpha channel to render 10 bit on an RGBA 8 bit presentation surface.

dbcooper
6th July 2019, 06:02
Does mpv.net buffer queues of frames like madvr? I've found that, despite 15ms average frame times, it will often stutter due to slow frames.

amayra
6th July 2019, 21:11
I don't think mpv has a Exclusive Fullscreen feature. Please note that mpv has many high quality rendering options but I'm not an expert with that, I'm not able to see great differences... :)

Two settings I use with my GT 1030 are:

profile = gpu-hq
hwdec = yes

I appreciate your taking the time to answer my question

to render in 10 bit you need to use a 10 bit presentation surface in a situation the OS/GPU driver except it.

like d3d11 FSE and under windows 10 d3d11 WFS.
the openGL 10 bit hack is only usable with professional driver and works in window mode. it uses 6 of the 8 bit from the alpha channel to render 10 bit on an RGBA 8 bit presentation surface.
so there any way to output 10bit with mpv in windows 10 ?

huhn
6th July 2019, 21:40
sorry not going to read the source code to figure that out.

if they want to they could.

stax76
6th July 2019, 23:00
4.6

fix for middle mouse button not working
fix of logo overlay using a huge amount of memory (thx for the ghacks article (https://www.ghacks.net/2019/07/05/a-look-at-mpv-net-a-mpv-frontend-with-everything-integration/))
fix config dialog showing a message about app restart without reason
when multiple files are selected in Windows File Explorer and enter is
pressed, the files are opened as selected, the order is random though
because Explorer starts multiple mpv.net processes concurrently
libmpv was updated to shinchiro 2019-06-30
the mpv.conf defaults (https://github.com/stax76/mpv.net/blob/master/mpv.net/Resources/mpvConf.txt) were changed to show a larger OSC
in case a file is opened that has a aspect ratio smaller then 1.2 then
the window size will use a aspect ratio of 1.8
new JavaScript script osc-visibility.js included in the distribution
under startup\scripts. It sets the OSC to be always on for audio files
and auto for non audio files

stax76
13th July 2019, 03:01
4.7

remember-height was replaced with start-size, when start-size is set
to video the main video starts directly with the native video size,
before it was starting with the autofit size first and was only
afterwards resized to the native video size
on exit the window location can be saved with remember-position
in the learn window of the input editor underscores were stripped
because they have a special meaning in WPF labels
fix for keys/input not working for MBTN_LEFT_DBL, MBTN_BACK, MBTN_FORWARD
in the learn window of the input editor support was added for
mouse left, mouse left double, mouse mid, mouse forward, mouse back
libmpv was updated to shinchiro 2019-07-07
when border is none it wasn't possible to minimize the window from
the task bar because this is the WinForms default behavier. This
was fixed by calling Spy++ to the rescue and adding WS_MINIMIZEBOX
in CreateParams

Naomi010Sentzke
17th July 2019, 21:42
This can be my main media player except for a few issues
1. Ability to start the player and any video maximized. Also, fonts should not get oversized when maximized(it gets fixed with double click, but that should be default).
2. Pause when minimised. If possible an ability to assign a minimise key.
3. Playlist should be navigable like this script.
https://github.com/jonniek/mpv-playlistmanager
4. bat files to install and update in portable mode like mpv.
The above are actually implementable in mpv through scripts(although the playlist one has oversized fonts on Windows).
Optional features I would like
5. Preview Thumbnails when hovering on seekbar.
6. Media controls in taskbar.
7. Xbox controller input support.
8. Touch controls and gestures support(would be helpful in Surface Pro).

stax76
18th July 2019, 03:08
That is more than few. :)

Maybe create 1-2 new issues per month on the tracker on github.

One thing that was relatively easy to do is this:

2. Pause when minimised. If possible an ability to assign a minimise key.

You can minimize windows with the key Win+Down, for the rest you can save following with cs file extension in <config folder>\scripts


using System;
using System.Windows.Forms;

using mpvnet;

class Script
{
MainForm Form;

public Script()
{
Form = MainForm.Instance;
Form.Resize += Form_Resize;
}

private void Form_Resize(object sender, EventArgs e)
{
if (Form.WindowState == FormWindowState.Minimized)
mp.command_string("set pause yes");
}
}


Ability to start the player and any video maximized. Also, fonts should not get oversized when maximized(it gets fixed with double click, but that should be default).

there are two properties, 'fullscreen' and fs as alias, in mpv.conf you would do:

fullscreen = yes

fullscreen can also be found in the config editor in the screen section. For the font size there is osd-font-size, this can be found in the screen section of the conf editor as well.

3. Playlist should be navigable like this script.
https://github.com/jonniek/mpv-playlistmanager

If you like the script why not just use it?

4. bat files to install and update in portable mode like mpv.

You can do file associations from the menu. A update feature will be difficult, maybe there will be chocolatey support, all that will be difficult to do.

Preview Thumbnails when hovering on seekbar

The osc is implemented in Lua in the file OSC.lua, libmpv probably does not support what would be needed to implement this.

Media controls in taskbar.

Create an issue on the tracker and if few people bump it I might investigate it.

Xbox controller input support.

Unlikely to happen unless somebody writes and extension/script. I don't own such a device, still use a very old MS remote, few buttons are already broken.

Touch controls and gestures support(would be helpful in Surface Pro).

I don't own and use a touch device. Maybe it can be done with an extension if somebody wants to do it.

stax76
21st July 2019, 20:05
4.7.7

on Win 7 the theme color was hardcoded to DarkSlateGrey because
WPF was returning a bad color on Win 7, this was fixed by reading
the theme color from the Registry on Win 7. If the theme color
is identical to the background color it's corrected
dark-color setting was added to overwrite the OS theme color used in dark mode,
find the setting on the General tab
light-color setting was added to overwrite the OS theme color used in non dark mode,
find the setting on the General tab
various changes regarding input handling, multi media keys and
mouse forward/backward were successfully tested
it's now possible to use a custom folder as config folder, a TaskDialog shows five options:
1. appdata mpv.net, 2. appdata mpv (shared with mpv), 3. portable_config, 4. startup, 5. custom
slightly increased startup performance, start-threshold setting added.
Threshold in milliseconds to wait for libmpv returning the video resolution
before the window is shown, otherwise default dimensions are used as defined
by autofit and start-size. Default: 1500
autofit-smaller setting added. Minimum window height in percent. Default: 40%
autofit-larger setting added. Maximum window height in percent. Default: 75%

Naomi010Sentzke
26th July 2019, 08:18
That is more than few. :)

Maybe create 1-2 new issues per month on the tracker on github.

One thing that was relatively easy to do is this:



You can minimize windows with the key Win+Down, for the rest you can save following with cs file extension in <config folder>\scripts


using System;
using System.Windows.Forms;

using mpvnet;

class Script
{
MainForm Form;

public Script()
{
Form = MainForm.Instance;
Form.Resize += Form_Resize;
}

private void Form_Resize(object sender, EventArgs e)
{
if (Form.WindowState == FormWindowState.Minimized)
mp.command_string("set pause yes");
}
}




there are two properties, 'fullscreen' and fs as alias, in mpv.conf you would do:

fullscreen = yes

fullscreen can also be found in the config editor in the screen section. For the font size there is osd-font-size, this can be found in the screen section of the conf editor as well.



If you like the script why not just use it?



You can do file associations from the menu. A update feature will be difficult, maybe there will be chocolatey support, all that will be difficult to do.



The osc is implemented in Lua in the file OSC.lua, libmpv probably does not support what would be needed to implement this.



Create an issue on the tracker and if few people bump it I might investigate it.



Unlikely to happen unless somebody writes and extension/script. I don't own such a device, still use a very old MS remote, few buttons are already broken.



I don't own and use a touch device. Maybe it can be done with an extension if somebody wants to do it.
Hi, thanks for the reply. Actually, some scripts dont work with mpv.net(but I have used another playlist script and it worked for me). The later part of my list was mostly wishlist(should be ignored). So, in the last few days I tried to replicate everything I did on my own mpv on mpv.net and there are just really few this time(and I will keep it simple).
1. I use this script for pause when minimize
https://github.com/mpv-player/mpv/blob/master/TOOLS/lua/pause-when-minimize.lua
It pauses when minimized and then resumes when restored again, but it does not work with mpv.net. Your, script only pauses when minimized.
2. A PowerShell based updater like mpv.

stax76
26th July 2019, 15:30
Thanks for the feedback.

1. Most of mpv's window related features don't work in mpv.net because mpv.net has an own window implementation. I've replicated some window functionality, there is a wiki page called Limitations (https://github.com/stax76/mpv.net/wiki/Limitations)giving some info on this topic. I think I can improve the CS script to make it work like the lua script.

2. An updater is something I want to investigate, it's not trivial for me so it probably will take time and in the worst case it will never happen. I agree that it is a very useful feature. I also like PowerShell much. Next version will give status and debug output in the terminal. Yesterday I discovered a script called repl.lua (https://github.com/rossy/mpv-repl).

Naomi010Sentzke
26th July 2019, 18:25
Thanks for the feedback.

1. Most of mpv's window related features don't work in mpv.net because mpv.net has an own window implementation. I've replicated some window functionality, there is a wiki page called Limitations (https://github.com/stax76/mpv.net/wiki/Limitations)giving some info on this topic. I think I can improve the CS script to make it work like the lua script.

2. An updater is something I want to investigate, it's not trivial for me so it probably will take time and in the worst case it will never happen. I agree that it is a very useful feature. I also like PowerShell much. Next version will give status and debug output in the terminal. Yesterday I discovered a script called repl.lua (https://github.com/rossy/mpv-repl).
Thanks, the CS script just needs to resume the video when restored again(if it has paused through minimize) and it would be like the lua script.

stax76
26th July 2019, 20:55
Please try if following is working:

https://github.com/stax76/mpv.net/wiki/Scripting#pause-when-minimize

stax76
26th July 2019, 22:38
Does anybody know if mkv is suitable for streaming?

Is there a player that can play a rar file which contains a mkv file?

https://github.com/stax76/mpv.net/issues/57

sneaker_ger
26th July 2019, 22:52
MPC-HC, VLC and mpv can play certain mkv files from rar.
Depending on: RAR4 or RAR5 format. Compression enabled or disabled. With or without password.

stax76
26th July 2019, 23:22
That was helpful, I used wrong compression parameters. :thanks:

You are using mpv, right?

In the next release I have terminal support implemented in mpv.net.

Naomi010Sentzke
27th July 2019, 00:52
Does anybody know if mkv is suitable for streaming?

Is there a player that can play a rar file which contains a mkv file?

https://github.com/stax76/mpv.net/issues/57
Do I need to install or enable something to get this script to work ? All I get is this error(the previous script worked fine).

CompilerException

c:\Users\Ashi\AppData\Local\Temp\CSSCRIPT\dynamic\4984.1a9bc9c4-aaf2-4b7d-9760-6efb7dbacd09.tmp(29,20): error CS0117: 'mpvnet.mp' does not contain a definition for 'command'
c:\Users\Ashi\AppData\Local\Temp\CSSCRIPT\dynamic\4984.1a9bc9c4-aaf2-4b7d-9760-6efb7dbacd09.tmp(37,20): error CS0117: 'mpvnet.mp' does not contain a definition for 'command'


csscript.CompilerException: c:\Users\Ashi\AppData\Local\Temp\CSSCRIPT\dynamic\4984.1a9bc9c4-aaf2-4b7d-9760-6efb7dbacd09.tmp(29,20): error CS0117: 'mpvnet.mp' does not contain a definition for 'command'
c:\Users\Ashi\AppData\Local\Temp\CSSCRIPT\dynamic\4984.1a9bc9c4-aaf2-4b7d-9760-6efb7dbacd09.tmp(37,20): error CS0117: 'mpvnet.mp' does not contain a definition for 'command'

at csscript.CSExecutor.ProcessCompilingResult(CompilerResults results, CompilerParameters compilerParams, ScriptParser parser, String scriptFileName, String assemblyFileName, String[] additionalDependencies)
at csscript.CSExecutor.Compile(String scriptFileName)
at CSScriptLibrary.CSScript.LoadWithConfig(String scriptFile, String assemblyFile, Boolean debugBuild, Settings scriptSettings, String compilerOptions, String[] refAssemblies)
at CSScriptLibrary.CSScript.LoadCode(String scriptText, String tempFileExtension, String assemblyFile, Boolean debugBuild, String[] refAssemblies)
at CSScriptLibrary.CodeDomEvaluator.CompileCode(String scriptText)
at CSScriptLibrary.CodeDomEvaluator.LoadCode(String scriptText, Object[] args)
at CSScriptAddon.CSScriptAddon..ctor() in D:\Projekte\CS\mpv.net\addons\CSScriptAddon\CSScriptAddon.vb:line 32

stax76
27th July 2019, 01:01
@Naomi010Sentzke

There was a breaking change, it should work in the new release:

5.0


changed icon design (https://github.com/stax76/mpv.net/blob/master/img/mpvnet.png)
libmpv was updated to shinchiro 2019-07-14
new or improved config editor settings: screenshot-directory,
screenshot-format, screenshot-tag-colorspace, screenshot-high-bit-depth,
screenshot-jpeg-source-chroma, screenshot-template, screenshot-jpeg-quality,
screenshot-png-compression, screenshot-png-filter
mpv.conf preview feature added to config editor, it previews the mpv.conf content
in the entire project the term addon was replaced with the term extension,
unfortunately this will break user extensions. The reason for this drastic
change is that there exist too many different terms, addons, addins,
extensions, modules, packages etc.. mpv.net follows Google Chrome as the worlds
most popular extendable app, Chrome uses the term Extension.
a thread synchronization bug was fixed, the shutdown thread was aborted
if it was running more than 3 seconds, this caused the rating extension
to fail if it was waiting for a drive to wake up
a new JavaScript was included to show the playlist with a smaller font size,
the script is located at startup/scripts
terminal support added using mpvnet.com !
script engine performance and error handling was improved
the scripting wiki page (https://github.com/stax76/mpv.net/wiki/Scripting) was improved
the C# scripting host extension was converted from VB to C# because it's not
only used for hosting but I also use it now to code and debug script code
there was a copy paste bug in the file association feature resulting in keys
from mpv being overwritten instead of using mpv.net keys. Thanks to floppyD!
there was a exception fixed that happened opening rar files
instead of using the OS theme color there are now default colors
for dark-color and light-color

Naomi010Sentzke
27th July 2019, 01:31
After updating it works. Finally, switching to mpv.net as default. Thanks for everything.

stax76
27th July 2019, 01:43
In the new release I have renamed mp.command_string to mp.command because in the mpv JS/Lua scripting API it's called mp.command as well.

https://mpv.io/manual/master/#lua-scripting-mp-command(string)

Naomi010Sentzke
27th July 2019, 01:52
In the new release I have renamed mp.command_string to mp.command because in the mpv JS/Lua scripting API it's called mp.command as well.

https://mpv.io/manual/master/#lua-scripting-mp-command(string)
Yeah, I have now updated to 5.0. Thanks.

Naomi010Sentzke
30th July 2019, 10:30
This player wont go to full screen from a maximized window. You have to restore it to a normal window and only then will toggle full screen work. Hope, this gets fixed.

stax76
30th July 2019, 14:36
This player wont go to full screen from a maximized window. You have to restore it to a normal window and only then will toggle full screen work. Hope, this gets fixed.

This was easy to fix but it won't go back from fullscreen to maximized, it goes to normal. Changing this would very likely be very hard to do, you would have to request it on the tracker and hope few people up vote it.

Naomi010Sentzke
30th July 2019, 17:58
This was easy to fix but it won't go back from fullscreen to maximized, it goes to normal. Changing this would very likely be very hard to do, you would have to request it on the tracker and hope few people up vote it.
Its ok if going to maximized from full screen is impossible. But in mpv, when the screen is maximized I can go to full screen normally with the full screen command, while in mpv.net full screen command(Enter in my case) in maximized windows does not do anything, clicking it twice goes to restore(so I can use the command again to go to fullscreen).

stax76
30th July 2019, 18:37
Its ok if going to maximized from full screen is impossible

From maximized to fullscreen is going to work in the next release, this was easy to do. Problem is it will not go back from fullscreen to maximzed but rather go to normal. Fixing that will be hard, at least for me, impossible is nothing with code.

I just figured out today (by user bug report) that gpu-api=vulkan does not work in mpv.net, I'm having a bad day...

Naomi010Sentzke
31st July 2019, 12:44
From maximized to fullscreen is going to work in the next release, this was easy to do. Problem is it will not go back from fullscreen to maximzed but rather go to normal. Fixing that will be hard, at least for me, impossible is nothing with code.

I just figured out today (by user bug report) that gpu-api=vulkan does not work in mpv.net, I'm having a bad day...
If you use this script(change mpv.exe to mpvnet.exe), not only will mpv.net start maximized, but when ever you go out of fullscreen(also in mpv.net I can only go to full screen from restored window) it will go to maximized state. You have to then manually go to restored state to restore to normal window.
https://github.com/kevinlekiller/mpv_scripts/tree/master/maximize

Naomi010Sentzke
31st July 2019, 22:06
Is there any way to separate the color of context menu from the font color in settings menu. If I opt for light mode and give the context menu a light white color the labels in settings menu become unreadable.
https://i.imgur.com/8JhyauU.png
It is impossible to have a light mode and context menu being white too.

stax76
31st July 2019, 22:20
In light mode the context menu colors will always be based on the color defined by light-color or if light-color is empty use the OS theme color.

Please use the issue tracker for suggestions:

https://github.com/stax76/mpv.net/issues

stax76
1st August 2019, 11:13
5.1

'Tools > Execute mpv command' was replaced with mpv-repl (https://github.com/rossy/mpv-repl)
many wiki pages (https://github.com/stax76/mpv.net/wiki) were improved
the logo/icon had a very small cosmetic change
the help in the context menu was improved,
for quick access consider the command palette (F1 key)
config options specific to mpv.net are now available from the command line
the input editor no longer has known limitations, 'alt gr' and ctrl+alt are working now
the help in the input editor was simplified and the filter logic was improved
fixed issue in file associations causing mpv.net not to appear in OS default apps
'Tools > Manage File Associations' was replaced by 'Tools > OS Setup',
it has now a feature to add and remove mpv.net to and from the Path
environment variable and the OS default apps settings can be opened (Win 10 only)
startup folder and config folder being identical was causing a critical issue
as mpv.net was loading extensions twice and scripts four times, now identical
folders are no longer permitted
error messages are shown when unknown scripts and extensions are found in the startup folder
because user scripts and extensions are supposed to be located in the config folder instead
changing from maximized to fullscreen did not work
the search field in the config editor was not always remembered
new setting remember-volume added, saves volume and mute on exit
and restores it on start.
it's now enforced that mpv properties on the command line and in
the mpv.conf config file are lowercase, if not a error is shown
gpu-api vulkan was not working if media files were opened via
command line (that included Explorer)
new setting minimum-aspect-ratio added, minimum aspect ratio for the window,
this was previously hard coded to 1.3
new setting auto-load-folder added, for single files automatically load
the entire directory into the playlist, previously this was forced,
now it can be disabled
new setting themed-menu added, follow theme color in context menu,
default: no. UI related settings have now a separate UI tab in the config editor

chros
1st August 2019, 11:37
5.1
Congrats! I can't ignore anymore your hard-working efforts, I'll try it out this weekend :)

stax76
1st August 2019, 12:02
Terminal and OSD REPL (https://github.com/rossy/mpv-repl) feature:

https://github.com/stax76/mpv.net#terminal-and-repl-screenshot

stax76
1st August 2019, 12:10
Congrats! I can't ignore anymore your hard-working efforts, I'll try it out this weekend :)

I wish you success, let me know if something is not clear or don't work.

stax76
1st August 2019, 14:22
I think I discovered a memory leak triggered by the script <startup>\scripts\osc-visibility.js, the script is very simple so it's likely a problem in libmpv. The script is not important, so I recommend deleting it.

avih
3rd August 2019, 03:20
I think I discovered a memory leak triggered by the script <startup>\scripts\osc-visibility.js, the script is very simple so it's likely a problem in libmpv. The script is not important, so I recommend deleting it.

It's triggered by the OSC being on constantly - regardless if it was set on by the script or manually with a KB shortcut. And most probably it's not a leak but rather libass cache.

If you do think it's a leak with mpv then please file an issue.

stax76
3rd August 2019, 08:10
It's triggered by the OSC being on constantly - regardless if it was set on by the script or manually with a KB shortcut. And most probably it's not a leak but rather libass cache.

If you do think it's a leak with mpv then please file an issue.

The memory gets released as soon as I close the OSC. I started now letting it play 2-3 hours and see how much memory it uses after that. I will compare this to MusicBee (my default audio player), Dopamine and MediaMonkey 5. Apple and Oranges but still interesting.

stax76
3rd August 2019, 09:24
mpv memory usage playing music with OSD always on stays at 200 MB, it's OK but not very efficient compared to MusicBee which uses only 40 MB.

avih
3rd August 2019, 19:51
mpv memory usage playing music with OSD always on stays at 200 MB, it's OK but not very efficient compared to MusicBee which uses only 40 MB.

Right, sounds like it's libass cache which stops growing once it reaches some value. Maybe you can try to configure libass or libmpv to control this value (I've never looked at that code), but it's not worth it IMHO. I don't think there's an mpv option/property which controls it.

Programs use memory to speed things up, and while 200M might sound a bit much (though this includes mpv itself regardless of the OSC), it's not too terrible either in the grand scheme of things.

Anyway, the bottom line is it sounds like it's not a memory leak.

chros
5th August 2019, 10:26
I wish you success, let me know if something is not clear or don't work.
Thanks for the work you did. It's really impressive!

I used the portable version, just one small thing:
- if you run the exe for the first time, let's say by accident, then you can't close the "config folder selection" window at all :) , bit it's not a big thing.

About the OSD, it would be nice that it could show the used scalers as well, as madVR does, I'm not sure it's possible though.

And 1 question: can it do audio bitstreaming? I haven't found an option for it.

stax76
5th August 2019, 15:31
And 1 question: can it do audio bitstreaming? I haven't found an option for it.

I don't know much about this topic, one thing I found is this:

https://mpv.io/manual/master/#options-audio-spdif

if you run the exe for the first time, let's say by accident, then you can't close the "config folder selection" window at all , bit it's not a big thing.

The next release will have a close button in the title bar, this will close the app and the menu is shown again on the next start.

About the OSD, it would be nice that it could show the used scalers as well, as madVR does, I'm not sure it's possible though.

I don't know how this works in madvr and I don't know if a script exists for it, is it possible via script? Likely yes. (the built in stats view is also script) (https://github.com/mpv-player/mpv/blob/master/player/lua/stats.lua)

Desktop> mpv --list-properties | findstr scale
window-scale
subfont-text-scale
ass-scale-with-window
sub-scale
sub-scale-by-window
sub-scale-with-window
sub-ass-scale-with-window
osd-scale
osd-scale-by-window
video-unscaled
hidpi-window-scale
sws-scaler
scale
scale-param1
scale-param2
scale-blur
scale-cutoff
scale-taper
scale-wparam
scale-wblur
scale-wtaper
scale-clamp
scale-radius
scale-antiring
scale-window
dscale
dscale-param1
dscale-param2
dscale-blur
dscale-cutoff
dscale-taper
dscale-wparam
dscale-wblur
dscale-wtaper
dscale-clamp
dscale-radius
dscale-antiring
dscale-window
cscale
cscale-param1
cscale-param2
cscale-blur
cscale-cutoff
cscale-taper
cscale-wparam
cscale-wblur
cscale-wtaper
cscale-clamp
cscale-radius
cscale-antiring
cscale-window
tscale
tscale-param1
tscale-param2
tscale-blur
tscale-cutoff
tscale-taper
tscale-wparam
tscale-wblur
tscale-wtaper
tscale-clamp
tscale-radius
tscale-antiring
tscale-window
scaler-lut-size
scaler-resizes-only

stax76
5th August 2019, 15:43
It seems there is scaling info in the stats view but not in the first page but in the second page.

You can toggle the stats view with:

View > Toggle Statistics (shift+t (in mpv terms: T))

After that you can switch between first and second page with the 1 and 2 key.

stax76
6th August 2019, 17:59
I've uploaded a new release with small improvements.

5.2

bug fix for single-instance not working with unicode filenames
bug fix for logo not shown on start
osd-visibility.js script was removed because the OSC uses too much memory
youtube-dl was updated
libmpv was updated to shinchiro 2019-08-04
in case mpv.net was started from a terminal it sets now the mpv property input-terminal to yes,
this means mpv.net will now receive and handle input keys from the terminal
certain command line properties didn't work (input-terminal, terminal, input-file,
config, config-dir, input-conf, load-scripts, script, scripts, player-operation-mode)
the about dialog shows now the mpv version and build date
the dialog that asks for a config folder has now a cancel option

Aurelian
7th August 2019, 02:21
Thanks for the new release. I'm pretty new to this, coming from Potplayer, but really loving your version of MPV. Do you have plans to add a subtitle downloader in the future?

stax76
7th August 2019, 02:46
Thanks for the new release. I'm pretty new to this, coming from Potplayer, but really loving your version of MPV. Do you have plans to add a subtitle downloader in the future?

Yes, it's something I want to support.

Aurelian
8th August 2019, 01:14
Whenever I use the following grain settings thus, I always a get a blue screen on the program, with only sound playing:

glsl-shader = "D:\Portable Apps\mpv.net-portable\Shaders\noise_static_luma.hook"
glsl-shader = "D:\Portable Apps\mpv.net-portable\Shaders\ravu-r4.hook"

When I don't use the noise_static_luma.hook shader, it works fine with the ravu shader.

This is what my mpv.conf file looks like:

profile = gpu-hq
gpu-api = vulkan
cursor-autohide = 100
keep-open = yes
volume-max = 150
audio-file-auto = fuzzy
sub-auto = fuzzy
audio-delay = +0.084
slang = 'en,eng,de,deu,ger'
alang = 'ja,jp,jpn,en,eng,de,deu,ger'
demuxer-mkv-subtitle-preroll = yes
sub-ass-vsfilter-blur-compat = no
sub-fix-timing = yes
sub-ass-styles = D:\Portable Apps\mpv.net-portable
sub-gauss = 1.0
sub-gray = yes
sub-font = 'Andika New Basic Bold'
sub-font-size = 48
sub-blur = 0.2
sub-border-color = '0.0/0.0/0.0/1.0'
sub-border-size = 3.0
sub-color = '1.0/1.0/1.0/1.0'
sub-margin-x = 100
sub-margin-y = 50
sub-shadow-color = 0.0/0.0/0.0/0.25
sub-shadow-offset = 0
screenshot-format = png
screenshot-high-bit-depth = no
screenshot-png-compression = 1
screenshot-jpeg-quality = 95
screenshot-directory = 'D:\Portable Apps\mpv.net-portable\Screenshots'
screenshot-template = 'SPOILER_%f-%wH.%wM.%wS.%wT-#%#00n'
dither-depth = auto
dither = fruit
deband = yes
deband-iterations = 4
deband-threshold = 50
deband-range = 16
deband-grain = 0
glsl-shader = "D:\Portable Apps\mpv.net-portable\Shaders\ravu-r4.hook"
fbo-format = rgba16hf
scale = catmull_rom
dscale = catmull_rom
cscale = sinc
cscale-window = blackman
cscale-radius = 3
blend-subtitles = yes
video-sync = display-resample
interpolation = yes
tscale = box
tscale-window = sphinx
tscale-radius = 1.0
tscale-clamp = 0.0
profile-desc = cond:string.match(p.filename, "1080p.Web%-DL")~=nil
save-position-on-quit = yes
hwdec = dxva2-copy


I use an Nvidia GTX 960

Thanks in advance.

stax76
8th August 2019, 05:05
I tried your config with my Gt 1030 and it's not working, tried both mpv and mpv.net with same result. It works however with gpu-api=auto (that is d3d11), mpv generally don't work well with vulkan in my experience.

Aurelian
8th August 2019, 14:41
Thank you for that. It does work on gpu api auto.

stax76
11th August 2019, 05:34
Hi everybody,

I'll try not to code for a time so this might be the last release this summer.

I have to admit that I want to spend less time coding or even quit coding altogether but it's a long term goal and I might change my mind.

Have a good time.

5.3

added new feature: Open > Open DVD/Blu-ray Drive/Folder...
the default of remember-volume has been set to yes
scale, cscale, dscale defaults have been set to spline36,
profile=gpu-hq is not used in the defaults because it starts very slow
new menu items have been added to navigate to the first and
last playlist position, key bindings: Home, End
new config setting recent-count added, amount of menu items
shown under 'Open > Recent'
in the config dialog the description for keep-open was corrected
because unlike mpv, mpv.net will never terminate automatically
there was a rare occasion where the mpv.net logo wasn't shown
fix excessive memory usage using osd-scale-by-window = no
mpv setting osd-scale-by-window added to config dialog

ng4ever
11th August 2019, 18:26
Hi everybody,

I'll try not to code for a time so this might be the last release this summer.

I have to admit that I want to spend less time coding or even quit coding altogether but it's a long term goal and I might change my mind.

Have a good time.

5.3

added new feature: Open > Open DVD/Blu-ray Drive/Folder...
the default of remember-volume has been set to yes
scale, cscale, dscale defaults have been set to spline36,
profile=gpu-hq is not used in the defaults because it starts very slow
new menu items have been added to navigate to the first and
last playlist position, key bindings: Home, End
new config setting recent-count added, amount of menu items
shown under 'Open > Recent'
in the config dialog the description for keep-open was corrected
because unlike mpv, mpv.net will never terminate automatically
there was a rare occasion where the mpv.net logo wasn't shown
fix excessive memory usage using osd-scale-by-window = no
mpv setting osd-scale-by-window added to config dialog


Thank you for all you do!

chros
11th August 2019, 20:24
Indeed, thanks all the you've done so far!

stax76
5th September 2019, 18:02
5.4

added taskbar-progress implementation
added new setting to start with maximized window
long file paths work now even if not enabled by the OS
fixed history being written even when history file wasn't created prior
libmpv updated to shinchiro 2019-08-31

Naomi010Sentzke
6th September 2019, 18:30
How do I name and run a powershell script at the beginning or when closing mpv.net?
I want to run this when mpv.net opens
path = "C:\mpvtemp\thumbs"
If(!(test-path $path))
{
New-Item -ItemType Directory -Force -Path $path
}
And this when mpv.net closes
Get-ChildItem -Path "C:\mpvtemp\thumbs" -Include * -File -Recurse | foreach { $_.Delete()}

stax76
7th September 2019, 06:43
All scripts regardless of language are located in:

<config folder>\scripts

If you want to run PowerShell code on startup just put the script (*.ps1) in the script folder. It can take several seconds until the code is executed, JavaScript/Lua runs earliest.

Microsoft's PowerShell script host don't support assigning to events as far as I know. As workaround in mpv.net you can assign to events if you name the script filename after the event. Because of PowerShell being slow mpv.net runs PowerShell code asynchronously, this means you can't use the shutdown event with PowerShell because mpv.net will be shutdown before the event handler code is executed. This might change in the future.

You could use JavaScript and use the input command 'run' to execute a command line.


function shutdown() {
mp.commandv("run", "wutil.exe", "--rating");
}

mp.register_event("shutdown", shutdown)

Naomi010Sentzke
7th September 2019, 07:53
Is this how its done ?
function shutdown() {
mp.commandv("run", "cmd.exe" , "DEL C:\mpvtemp\thumbs\* /q");
}

mp.register_event("shutdown", shutdown)
It does not seem to work.

stax76
7th September 2019, 08:49
I think PowerShell and CMD would always show a console window, maybe try this cs script:


using System.IO;

using mpvnet;

class Script
{
public Script()
{
mp.Shutdown += Shutdown;
}

private void Shutdown()
{
foreach (string file in Directory.GetFiles(@"C:\mpvtemp\thumbs"))
File.Delete(file);
}
}

Naomi010Sentzke
7th September 2019, 11:25
Thanks it worked out. Is CreateDirectory also possible as a mpv.net CS script? I mean something like this
using System.IO

var folder = Directory.CreateDirectory("C:\mpvcapture\webms")
Its probably unnecessary, but I am just asking.

stax76
7th September 2019, 19:32
For CS-Script you need a Script class. It has something to do how C# is designed, how CS-Script is designed and how mpv.net uses CS-Script.

Naomi010Sentzke
7th September 2019, 22:45
I have no idea how scripting works in mpv.net. How do you even use Directory.CreateDirectory with CS script? I am not that good at C# myself.

Naomi010Sentzke
8th September 2019, 11:58
So, the issue I posted in github is partially solved
https://github.com/occivink/mpv-gallery-view
You just have to replace every mpv in contact-sheet.lua,gallery-thumbgen.lua and playlist-view.lua with mpvnet. Also, rename "./mpv_gallery_flagged" to "./mpvnet_gallery_flagged" in playlist-view.lua. But, if you open a archive with images(or even videos), it wont load thumbnails in gallery-view(this only happens with archives like zip/cbz), this problem does not happen with mpv. Is there any specific reason for mpv.net not being able to access thumbnails in a archive like mpv ? If not for this mpv.net would have made a great manga viewer.
Now for this one
https://github.com/ekisu/mpv-webm
Unfortunately, changing mpv to mpvnet in the script does not work. mpv actually makes a great encoder better than ffmpeg(unlike the latter it can properly hardcode subs into a video) and you only need ffmpeg for Direct Stream Copy(without encoding). mpv.net can use mpv's CLI, so it would be great if encoding scripts that dont rely on ffmpeg could work.

stax76
8th September 2019, 19:43
@Naomi010Sentzke

I modified the PowerShell script host so that you can use the shutdown event, mpv.net will wait now until the script exits.

Script engines like PowerShell and IronPython are heavy, the first script executed will take some time to load, it depends on which engine is used so you might want to run a script at startup to warm up the script engine, for instance: echo "warm up engine", it will run in the background and not delay the video start, if you don't do this the first script running will be the shutdown script causing the exit to be delayed for some milliseconds.

To delete files you can also try the PowerShell cmdlet Remove-Item.

I also redirected the PowerShell output to the attached console so in a PowerShell console start mpvnet like this:

mpvnet --really-quiet movie.mkv

All the PowerShell output of your scripts will show in the attached console.

With PowerShell you can access everything in mpv.net almost like with C#, to show a message box you can do:

[Msg]::Show("Hello World")

You can add mpv.net to Path with: Tools > OS Setup > Add to Path

I'll look into the other issues later.

https://www.dropbox.com/sh/4ctl2y928xkak4f/AAADEZj_hFpGQaNOdd3yqcAHa?dl=0

https://1drv.ms/f/s!ArwKS_ZUR01gySQIE1QCL2i9F_uR

Naomi010Sentzke
8th September 2019, 21:39
Thanks for the PowerShell part. Honestly, I will just use your CS script to clear my thumbs dir, that was one of my biggest complaints in mpv(really thanks for that). But I hope, you do look into the second issue. The guy who made gallery-view script said(in the /g/ thread), that having mpv.exe in mpv.net dir will work. But, if mpv.net can can run mpv's CLI, then it should be able to use the encoding tools and if it can generate thumbnails, then it should be able to do that inside zip files too.

stax76
9th September 2019, 00:01
I've still not looked at it, if it relies on certain mpv command line switches that are not properties then mpv.net cannot support it. mpv.net's CLI does only support mpv and mpv.net properties, any switch that is not a property will not work, as far as I know non property switches are not accessible via libmpv, I wish it could be done to support switches like --list-properties, I've not yet asked a mpv dev if it can be done or can be added, maybe avih still reads here and can answer it.

If it needs mpv.exe then I would try to keep it in a separate folder and add mpv to the Path environment variable.

Property list:

https://github.com/stax76/mpv.net/wiki/mpv-properties

Naomi010Sentzke
13th September 2019, 15:58
Whenever I open a video with mpv, the Blackbox script(A playlist manager that can also act like a file manager) is able to browse the whole drive. But on mpv.net it is not able to display anything if I navigate to the main drive folder(like D:\).
https://i.imgur.com/XyMLEB4.png
https://i.imgur.com/CAZ4vPT.png
If I launch mpv through Command Prompt, this issue is replicated in mpv too. But if I launch a media file with mpv.net from another application(like an installed torrent client), there are no issues with the script
https://i.imgur.com/hWBK38X.png
Is there some difference between a media file launched through the file explorer or an installed app ?

stax76
14th September 2019, 03:37
Hello Phil,

mpv.net is paused at the moment, I will probably continue soon! I'm currently extracting staxrip's mediainfo GUI to a standalone app, it could be useful not only for staxrip users but also for mpv users and anybody else. What it does better than the original mediainfo GUI is High DPI scaling and it has a very useful search/filter feature.

Naomi010Sentzke
18th September 2019, 08:16
First of all thanks for making such an amazing player. The encoding issue has been resolved since I am now using a script that uses ffmpeg instead. But still thumbnail generation in gallery view script inside an archive(like mpv)is the only thing thats stopping it from being a proper manga reader.

stax76
1st October 2019, 00:33
Is there some difference between a media file launched through the file explorer or an installed app ?

Both should pass a full file path, I can't think of a difference except maybe they set a different working directory. I try the script if I have time. It's probably time now to continue maintaining mpv.net.

stax76
13th October 2019, 05:00
### 5.4.2

- new: the [scripting wiki page](https://github.com/stax76/mpv.net/wiki/Scripting#powershell) was improved
- new: Toggle Shuffle has been added to the menu defaults
- new: for URLs the media title is shown in the title bar and in the info command
instead of displaying the URL, mpv.conf defaults were changed to use
[protocol.https] osd-playing-msg = '${media-title}'

- fix: on the very first start volume was set to 0 and mute was set to yes
- fix: there was a sound when closed from taskbar
- fix: the log feature was not working
- fix: clipboard monitoring removed because it was causing to many issues
- fix: restore resulted in collapsed window when maximized = yes was used

- update: libmpv shinchiro 2019-10-06
- update: youtube-dl 2019-10-01

von Suppé
14th October 2019, 20:15
Hi stax76,

First of all a big thanks for your work on mpv.net player.

When playing videos (mkv) that have the black borders cropped, the .SUP subtitles are displayed to high. This is not a fault, I think, because of my workflow in SubtitleEdit. Let me explain.

I do a lot of subtitles editing/creating and for my HW mediaplayers compatibilities to show SUPs in the right way, I do this as follows.

As an example for 1920x800 video (black bars both 140px cropped), When exporting a .srt file as Bluray SUP, I choose "1080p (1920x1080)" for resolution. So if it were to be for a normal 1920x1080 video.I then set the bottom margin to - let's say - 144. The result is that my mediaplayers show the SUP images 4 pixels above the black bars of the tv-screen.
(I think the players just add the black bars after decoding the 1920x800 video, so the output will be 1920x1080 and then overlay the SUP image, with the offset honoured).

mpv player plays the SUP images to high (I guess 144 pixels) above the bottom of the video itself. Is there a way to set mpv so, that it will handle the SUPs as I want?

stax76
15th October 2019, 05:24
I don't have great experience with subtitles even though sometimes I use them. You can try:

https://mpv.io/manual/master/#subtitles

Do you know how to edit mpv.conf ?

I've been working on something larger and uploaded a beta build.

5.4.2.1 Beta

pressing shift key suppresses auto-load-folder
switch --queue added, this will not clear the playlist but append
and it will suppress auto-load-folder. To get a 'Add to mpv.net playlist'
context menu item in explorer with multi selection support use my
Open with++ (https://github.com/stax76/OpenWithPlusPlus#add-to-mpvnet-playlist) shell extension, as far as I know multi selection
can not be done using the Registry but only via shell extension
window-size mpv property support added (default bindings (https://github.com/stax76/mpv.net/blob/master/mpv.net/Resources/inputConf.txt#L137))
the config editor keeps profiles and comments in mpv.conf intact!
the options in the config editor are better organized


https://www.dropbox.com/sh/4ctl2y928xkak4f/AAADEZj_hFpGQaNOdd3yqcAHa?dl=0

https://1drv.ms/f/s!ArwKS_ZUR01gySQIE1QCL2i9F_uR

stax76
25th October 2019, 16:49
mpv v0.30.0 was released today.

aufkrawall
25th October 2019, 17:42
Too bad there is no mpv.net for Linux. :(

FranceBB
26th October 2019, 05:15
mpv v0.30.0 was released today.

Thank you! :)
I use MPV quite often at home as well as at work and your .NET version adds some useful things to it.
By the way, I noticed that the solution explorer file you made targets .NET Framework 4.7 and you compiled it that way. Out of pure curiosity, I'm gonna try to target .NET Framework 4 on Visual Studio and re-compile it: if it works, it's gonna be a great gift to WinXP users. :)

stax76
26th October 2019, 12:56
It uses 4.5 APIs like System.Threading.Tasks. I promise extended Win 7 support only for staxrip, there is no official statement yet that .NET 5.0 will support Win 7.

https://devblogs.microsoft.com/dotnet/introducing-net-5/

Tadanobu
26th October 2019, 18:52
Thanks again for yet another great software.

I just tried it for the first time and here are a few suggestions :

- After a fresh install, the sound is set to 0% (or maybe 10%). It may be better to set it to 100% because the first idea you have is that the audio is not properly played.
- When you pause a video and drag another file, the player remain paused. It would be nice that it plays the new file automatically.
- Is it possible to enable to audio up to 200% (or even more, the more the better). I know the quality becomes awful but I sometimes put VLC at 200% audio when I can't use an external speaker.
- Panscan is not working for me (w/W shortcut).
- Shortcuts using upper-keyboard numbers are not convenient for azerty keyboards because you need to use shift/caps lock. Numpad and numbers shortcuts should do the same. (I know I can edit shortcuts)
- The cycle aspect ratio is not convenient. We need a menu and/or more options.
- Sometimes the control bar is too big and imposing, and sometimes it's too small and hard to read. Weird.
- We need a zoom menu to be able to easily set the displayed resolution at x1, x2, x0.5 etc...
- I like the single process setting. But then I can't have two instances of mpv.net opened at the same time. Is it possible to have an in-between ? i.e. whenever I double click on a file, it's played in the same instance. But if I click on mpv.net from the start menu it opens another instance.

Maybe some of these things are already possible and I just need to explore more of its options. Anyway, thank you for your work, I'll be using this player from now on. The only pros VLC has now is its VL Sub plugin to easy look for and download subtitles. Do you think it could be implemented ?

stax76
26th October 2019, 20:10
mpv.net is currently paused because at the moment I'm working on color theme support for MediaInfo.NET (link in my signature).

stax76
31st October 2019, 04:09
@Tadanobu

Sorry about the late reply, I finished my MediaInfo GUI (link in signature) and am now back working on mpv.net.

After a fresh install, the sound is set to 0% (or maybe 10%). It may be better to set it to 100% because the first idea you have is that the audio is not properly played.

This was fixed in v5.4.2.

When you pause a video and drag another file, the player remain paused. It would be nice that it plays the new file automatically.

I believe this is mpv default behavior, I don't know if it's important to change and if mpv has a setting for it. If you think it should be changed please create an issue on the tracker. Meanwhile you can do:

- Menu > Settings > Open Config Folder
- create 'scripts' sub folder
- create PowerShell script with filename 'FileLoaded.ps1' and code: [mp]::Command('set pause no')

For this particular task the best language is JavaScript or Lua, PowerShell is less efficient but more cool. :cool:

Is it possible to enable to audio up to 200% (or even more, the more the better). I know the quality becomes awful but I sometimes put VLC at 200% audio when I can't use an external speaker.

I think so but I'm not sure, you can try to search the manual (https://mpv.io/manual/master) for 'volume'.

Panscan is not working for me (w/W shortcut).

For me it's working, did you change video settings like vo or gpu-api ? This is purely mpv related, besides in this thread you can also get mpv help via bug tracker, chat and 4chan...

Shortcuts using upper-keyboard numbers are not convenient for azerty keyboards because you need to use shift/caps lock. Numpad and numbers shortcuts should do the same. (I know I can edit shortcuts)

Which shortcuts for instance? My shortcut defaults are designed to be compatible with German keyboard layout, MusicBee and my (partially broken) MS remote control. Some shortcuts are the same as mpv defaults. There are many players with pitiful key editing capabilities, mpv really shines in this regard.

The cycle aspect ratio is not convenient. We need a menu and/or more options.

I'm not sure if it's important, I've never needed to change the AR. The WinForms menu implementation is not very performant and certain people are prone to cognitive overload if the menu is too large. mpv.net is probably the only player with an easy way to customize the menu, see:

Menu > Settings > Open Config Folder: input.conf

I'm totally willing to assist beginners with this process, just let me know if you can't figure it out, this can be intimidating in the beginning but can be very satisfying once understood, especially if you use a cool editor like VS Code (yes, I'm a total fan of this editor...).

Sometimes the control bar is too big and imposing, and sometimes it's too small and hard to read. Weird.

This is also purely mpv related, the manual has some OSC settings documented you could try, it's based on the built-in OSC.lua script, since it's Lua based I could modify it (if I would understand Lua...) but there are no plans for doing this.

We need a zoom menu to be able to easily set the displayed resolution at x1, x2, x0.5 etc...

I'm not sure if I understand it correctly, for changing the window size you can try the last beta with the last menu defaults:


download:

https://www.dropbox.com/sh/4ctl2y928xkak4f/AAADEZj_hFpGQaNOdd3yqcAHa?dl=0

https://1drv.ms/f/s!ArwKS_ZUR01gySQIE1QCL2i9F_uR


menu defaults:

https://github.com/stax76/mpv.net/blob/master/mpv.net/Resources/inputConf.txt#L137


You have to either delete input.conf or update it manually...

I like the single process setting. But then I can't have two instances of mpv.net opened at the same time. Is it possible to have an in-between ? i.e. whenever I double click on a file, it's played in the same instance. But if I click on mpv.net from the start menu it opens another instance.

There is already some complexity, I would only be willing to implement it if it's a popular request.

The only pros VLC has now is its VL Sub plugin to easy look for and download subtitles. Do you think it could be implemented ?

It could be and should since it's a popular request, problem is I don't download external subtitles and it might not be easy to build. I think ideally this would be an external tool that can be integrated into both mpv and mpv.net, it surprises me that it's not already available for mpv or maybe I just missed it.

Tadanobu
31st October 2019, 15:44
Thank you very much for taking the time to write this extended answer. Thanks to your advices and the guide I've been able to tweak mpv.net more to my liking. The number of available settings is astonishing.

stax76
1st November 2019, 17:33
I've just uploaded a new release and hope that it's actually stable.

https://github.com/stax76/mpv.net/releases

stax76
17th November 2019, 15:45
Hey everybody,

I've uploaded a maintenance release, there is now an update check and routine.

The release is all about PowerShell because the update routine is PowerShell based and I've also migrated the release script from C# to PowerShell. It's possible to install mpv.net with PowerShell but I don't maintain this yet so there is a delay, I'll investigate if I can take over the maintenance for the Chocolatey package.

Let me know what you think about the default theme.

5.4.4.0

new: forecolors in the dark theme are slightly darker now

new: readme/website and manual were improved

new: source code includes now the release script to build the archives and setup files

new: the history feature now uses the full path

new: install via Scoop and Chocolatey added to readme/website (Restia666Ashdoll)

new: update check, it must be enabled first in the conf editor under General

new: update feature, requires PowerShell 5 and curl,
an up to date Windows 10 system has both included.
Main menu (input.conf) must be reset or updated manually (defaults (https://github.com/stax76/mpv.net/blob/master/mpv.net/Resources/inputConf.txt))

update: libmpv shinchiro 2019-11-10

fix: often the OSC was shown when fullscreen was entered
or on app startup, this is now suppressed

fix: the file association routine uses no longer 'Play with mpv.net' for the
default open verb caption because it doesn't support multi selection,
it shows now only Open, the manual explains how to get multi selection
in File Explorer, read about it here (https://github.com/stax76/mpv.net/blob/master/Manual.md#open-with).

fix: x86 builds had an older version included because
of a misconfiguration in the solution file



Link to the project can be found in my signature.

amayra
9th February 2020, 21:49
thanks for your hard work but i have hard time when i'm using your program because i can't control video Frame like MPC
here example:
https://aboutdevice.com/wp-content/uploads/2018/01/mpc-be-change-aspect-ratio.png
and can't use mpv.conf options like with mpv.net
--video-unscaled=yes
--video-zoom=0

stax76
9th February 2020, 23:00
You can create a menu by editing input.conf:


_ set video-aspect "-1" #menu: Video > Override Aspect Ratio > Default
_ set video-aspect "4:3" #menu: Video > Override Aspect Ratio > 4:3
_ set video-aspect "16:9" #menu: Video > Override Aspect Ratio > 16:9
_ set video-aspect "2.35:1" #menu: Video > Override Aspect Ratio > 2.35:1


It will not adjust the window size, that is something that could be supported in the future in case somebody creates an issue on the tracker.

Not sure what the other options are used for in mpv, if they are window related than they might not be supported in mpv.net as window related features need a custom implementation because mpv.net uses a custom window. So far only few popular window features are supported:

https://github.com/stax76/mpv.net/wiki/Limitations#window-implementation

Before work on mpv.net can continue I want to finish some staxrip modernization, made some progress this weekend:

https://github.com/staxrip/staxrip/commit/9e8eb219c0f226d308e740c9b10f1b979aa74f50

amayra
10th February 2020, 04:15
If I go fullscreen, the video gets stretched to take up the whole moniton
Is there a way to either maximize or go fullscreen so I have a video resolution in the center without resizing ?
and mpv.net does not support mpv.conf modification like original mpv ?

stax76
10th February 2020, 14:15
Is there a way to either maximize or go fullscreen so I have a video resolution in the center without resizing ?

Isn't that what video-unscaled=yes does? I tried adding it to mpv.conf and it works fine in mpv.net.

stax76
3rd March 2020, 13:10
Been working 3 months on staxrip and now shifting back to other tools, primarily mpv.net, been already doing mpv.net improvements the last two days so there will be much likely a new build this or next month.

stax76
13th March 2020, 22:18
I'm trying to make colors show in mpv but don't seem to work, has anybody else tried it?


Desktop> mpvnet --vf=format:colormatrix=bt.2020-ncl:primaries=bt.2020 'D:\Samples\GeminiMan_temp\GeminiMan_new_play.avs'
(+) Video --vid=1 (rawvideo 3840x2072 29.970fps)
VO: [gpu] 3840x2072 yuv420p10

amayra
15th March 2020, 20:25
Been working 3 months on staxrip and now shifting back to other tools, primarily mpv.net, been already doing mpv.net improvements the last two days so there will be much likely a new build this or next month.

thank you for your hard work mpc+madvr is the only thing that keep me from change to linux :thanks:

chros
21st March 2020, 07:58
I just tried 5.4.4.0 and it asks for installing .NET 4.8, v5.1.0.0 didn't have this requirement and I didn't find anything in the change log about this.
Edit: the last portable that works without .NET 4.8 is 5.4.1.0
Edit2: oh, it's in the main readme file, sorry

stax76
21st March 2020, 08:55
5.4.4.2 Beta


- update: libmpv shinchiro 0.32.0-258-g281f5c63c1
- update: youtube-dl

- new: d3d11va-zero-copy setting added to conf editor
- new: hdr-compute-peak setting added to conf editor
- new: flag cli switches support now `--no-flag` in addition to `--flag=no`
https://mpv.io/manual/master/#usage
- new: cli switches can also start with single `-` instead of double `--`
https://mpv.io/manual/master/#legacy-option-syntax
- new: PowerShell script host was completely rewritten, events can be assigned
by using `Register-ObjectEvent`, the scripting wiki page was updated
https://github.com/stax76/mpv.net/wiki/Scripting#powershell
- new: Context Menu > View > Show Profiles
https://github.com/stax76/mpv.net/blob/master/mpv.net/Resources/input.conf.txt#L147
- new: Context Menu > View > Show Properties
https://github.com/stax76/mpv.net/blob/master/mpv.net/Resources/input.conf.txt#L148
- new: Context Menu > View > Show Commands
https://github.com/stax76/mpv.net/blob/master/mpv.net/Resources/input.conf.txt#L149
- new: config editor tab is now remembered
- new: osd-duration setting added to config editor and default mpv.conf
- new: external console replaced with internal console, in case mpv.conf is missing it's
generated with correct Hight DPI font size scale settings.
`script-opts=console-scale=<dpiscale>`
https://github.com/stax76/mpv.net/blob/master/mpv.net/Resources/input.conf.txt#L150
https://mpv.io/manual/master/#console
- new: blue color in dark theme is now less intense
https://github.com/stax76/mpv.net/blob/master/Manual.md#color-theme
- new: menu item 'View > Show Progress' (p key) to show progress bar
https://github.com/stax76/mpv.net/blob/master/mpv.net/Resources/input.conf.txt#L146
- new: `script-message mpv.net playlist-first`, unlike mpv does not
restart if the first file is already active
https://github.com/stax76/mpv.net/blob/master/mpv.net/Resources/input.conf.txt#L44
- new: if mpv.net is started from the terminal and an error happens then the error
is printed to the terminal instead of shown with a message box
- fix: update routine did only work when mpv.net was located in 'Program Files'
- fix: fatal errors were ignored and only seen in the terminal, now a message box is shown
- fix: when start-size=video was used then enlarging or shrinking the window size was broken

https://github.com/stax76/mpv.net/blob/master/Changelog.md

https://github.com/stax76/mpv.net#download

amayra
22nd March 2020, 22:42
[sub/ass] Could not open libavcodec subtitle converter
i can't watch some file with subtitle with new beta 5.4.4.2

stax76
25th March 2020, 17:24
Please try if it happens with the latest mpv as well. If so you can report it on the mpv tracker.

kerimcem
4th April 2020, 11:01
I liked it,using less cpu,thank you...

stax76
19th April 2020, 20:01
I needed a break from staxrip...


5.4.4.3 Beta
============

- update MediaInfo 20.03
- update libmpv 2020-04-12, it supports vpy playback, read manual or ask in forum
- mpv property `window-maximized` support added, cycling it from input.conf
is not recommended, use native Windows shortcuts Win+Up, Win+Down
- the mpv.net `start-size` option supports `always` to always remember the window height
- if the window was maximized before fullscreen was entered, it's now set to
maximized after fullscreen was left
- with `border=no` the OSC did not auto hide after the mouse curser left the window
- the script that modified the seek OSD was removed, it still can be found in the mpv wiki
- certain videos were showed with black bars


https://github.com/stax76/mpv.net#beta

stax76
22nd April 2020, 07:09
For this build a lot of debugging was done, fortunately it could be solved completely in the end. I improve the readme/start page and the manual, moving the wiki content to the manual.


5.4.4.4 Beta
============

- with `border=no` the OSC top bar window buttons min, max and close are fully supported.
- anamorphic videos are shown without black bars, the window is resized according to the ascpect ratio.
- PowerShell 5.1 was made optional.
- full implementation for `window-minimized` and `window-maximized`,
scripts that depend on this like pause-when-minimize.lua are now fully supported.
- fix cycling from maximized to fullscreen and back.

stax76
25th April 2020, 19:15
mpv.net 5.4.4.6 Beta
====================

- using start-size=video the window size was not remembered
after fullscreen mode was left.
- using start-size=video the window can now use the entire
working area using autofit-larger=100


mpv.net 5.4.4.5 Beta
====================

- overhaul of the webpage and the manual.
- change that possibly could fix a multimedia keyboard volume issue.

https://github.com/stax76/mpv.net

stax76
1st May 2020, 21:35
After 5 months there's a new mpv.net stable release, no changes since the last beta 5.4.4.6 from last week.

https://github.com/stax76/mpv.net

ashlar42
2nd May 2020, 15:34
Thanks for continuing development on this.

chros
2nd May 2020, 15:36
Thanks for continuing development on this.
Me too!

stax76
3rd May 2020, 11:46
Thanks for the feedback, I'm always having fun with mpv.

chros
3rd May 2020, 12:18
Thanks Stax for your work!

I have been fooling around with autoprofiles (https://github.com/scetus/mpv-scripts/blob/master/auto-profiles.lua), like this, but nothing wants to work:

[1080p25]
#profile-desc=cond:(p["video-params/h"]<1081 and p["estimated-vf-fps"]<26)
profile-desc=cond:(p["video-params/h"]<1081 and p["container-fps"]<26)
#profile-desc=cond:(get("video-params/h", -math.huge)<1081 and get("estimated-vf-fps", -math.huge)<26)
osd-playing-msg = '1080p25: ${media-title}'


Only the 3rd (get()) works due to returning the specified value. Others say: compare nil with a number.
Also, how can you print out value of a property (e.g. "video-params/h") onto console (`) ?

Thanks

stax76
3rd May 2020, 13:15
The built-in on screen console lets you execute so-called input commands:

https://mpv.io/manual/master/#list-of-input-commands


A very useful command is print-text:

https://mpv.io/manual/master/#command-interface-print-text


This will print on video screen but also on the terminal if you started mpv(.net) from the terminal.

To print a property you can use a technique called property expansion:

https://mpv.io/manual/master/#property-expansion

So to show the path property you would enter:

print-text ${path}


If I have time I give this script a try.

chros
3rd May 2020, 18:14
So to show the path property you would enter:
print-text ${path}
Thanks it works with this, the properties are populated:
print-text ${container-fps}
print-text ${estimated-vf-fps}
print-text ${video-params/h}

But for whatever reason it doesn't come through into autoprofiles.
I've put "auto-profiles.lua" into "portable_config\scripts".
Examples: link1 (https://github.com/Argon-/mpv-config/blob/master/mpv.conf#L183), link2 (https://gist.github.com/shabbir-hasan/2b096ebb554e029faa476728f3b5c741#file-mpv-conf-L426)

chros
3rd May 2020, 18:33
It's sort of working, but something weird is going on. Consider this config:

[0576p25]
profile-desc=cond:(p.height < 577)
osd-playing-msg = '0576p25: ${media-title}'

[1080p25]
profile-desc=cond:(p.height < 1081)
osd-playing-msg = '1080p25: ${media-title}'

[2160p25]
profile-desc=cond:(p.height < 2161)
osd-playing-msg = '2160p25: ${media-title}'


Upon playing a 1080p23 file, the 1080p25 OSD message is diplayed, but in console:
- you see 6 times of: "attempt to compare nil with number"
- and it applies profiles 2 times (I'm not sure how it's supposed to work):
-- 1st time: Applying profile 2160p25
-- 2nd time: Applying profile 1080p25

I thought once it found the first match in the config it stops looking for the rest :)

stax76
3rd May 2020, 20:37
If it's not applying the correct profile I can't do much as I'm typically not much involved in image quality topics and I'm not particular good in Lua and don't know who originally wrote the script and who maintains it. As for the OSD this Lua code seem to help:


function on_osd_playing_msg(name, value)
msg = mp.command_native({"expand-text", "${osd-playing-msg}"})
msg = mp.command_native({"expand-text", msg})
mp.commandv("show-text", msg)
end

mp.observe_property("osd-playing-msg", "string", on_osd_playing_msg)


Maybe not a perfect solution but seem to work.

What it does is observing the property osd-playing-msg, if it changes then it renders it to the OSD with the duration defined by osd-duration which is 2 seconds in mpv.net defaults.

stax76
4th May 2020, 05:03
The last stable release had unfortunately a text encoding bug, so I had to do a new stable release:


5.4.6.0
=======

- youtube-dl update
- auto update routine fix


5.4.5.1 Beta
============

- extensions no longer need to end with *Extension.dll but rather
the file name and the directory name must be identical
- text encoding exception fix
- the PowerShell script host is more feature complete, easier to use
and more efficient, there were however many PowerShell and C# breaking
changes requrired to make the core more robust and efficient
- Python 2 script host removed, Python 3 support is planned for summer


https://github.com/stax76/mpv.net

https://github.com/stax76/mpv.net/tree/master/scripts/powershell

chros
4th May 2020, 11:44
I had to do a new stable release
Thanks for the new release!

Upon playing a 1080p23 file, the 1080p25 OSD message is diplayed, but in console:
- you see 6 times of: "attempt to compare nil with number"
- and it applies profiles 2 times (I'm not sure how it's supposed to work):
-- 1st time: Applying profile 2160p25
-- 2nd time: Applying profile 1080p25

So, I read through the auto-profile script and as it turned out:
- the first 6 times of error were produced upon launching the application without video, so it didn't have any properties yet
-- to fix this we have to use get() (https://github.com/scetus/mpv-scripts/blob/435543c60f423a89811942c9c4c82eea6d910e40/auto-profiles.lua#L183) in profile condition where we can specify a default value
--- since we use less in conditions we have to specify a big value as default in get(), hence "math.huge" is used (= inf)
- for applying the profile more than 1 time: we have to add interval checks for properties (as was shown here (https://gist.github.com/shabbir-hasan/2b096ebb554e029faa476728f3b5c741#file-mpv-conf-L426))

So I think this works fine now (no more error message and a profile only applies once), as an example:

[0576p25]
profile-desc=cond:(get("video-params/h", -math.huge)>0 and get("video-params/h", math.huge)<577 and get("estimated-vf-fps", -math.huge)>0 and get("estimated-vf-fps", math.huge)<26)
osd-playing-msg = '0576p25: ${media-title}'

[0720p25]
profile-desc=cond:(get("video-params/h", -math.huge)>576 and get("video-params/h", math.huge)<721 and get("estimated-vf-fps", -math.huge)>0 and get("estimated-vf-fps", math.huge)<26)
osd-playing-msg = '0720p25: ${media-title}'

[1080p25]
profile-desc=cond:(get("video-params/h", -math.huge)>720 and get("video-params/h", math.huge)<1081 and get("estimated-vf-fps", -math.huge)>0 and get("estimated-vf-fps", math.huge)<26)
osd-playing-msg = '1080p25: ${media-title}'

[2160p25]
profile-desc=cond:(get("video-params/h", -math.huge)>1080 and get("video-params/h", math.huge)<2161 and get("estimated-vf-fps", -math.huge)>0 and get("estimated-vf-fps", math.huge)<26)
osd-playing-msg = '2160p25: ${media-title}'

stax76
4th May 2020, 15:05
So you have everything working correctly, nice.

I wonder how the render capabilities of mpv compare to madvr, for me it's fine as image quality topics don't interest me and common issues like banding don't bother me but as mpv user and frontend author I wonder how mpv compares to madvr. I understand that mpv isn't made for everybody and it's fine.

chros
4th May 2020, 17:21
I wonder how the render capabilities of mpv compare to madvr
What do you exactly mean about "render" capabilities?

for me it's fine as image quality topics don't interest me and common issues like banding don't bother me
You'd be shocked what you can achieve with mpv today on windows :)
Take a look at this blog article (https://artoriuz.github.io/blog/mpv_upscaling.html), and these short comments: link1 (https://forum.doom9.org/showthread.php?p=1906789#post1906789) , link2 (https://forum.doom9.org/showthread.php?p=1907691#post1907691).
There's a built-in deband filter as well, 3dlut support (I'm not sure how it works exactly), HDR tonenapping with Win10 1804, etc.

Obviously, there are missing image refinements and maybe a lot more, I don't know yet :)

but as mpv user and frontend author I wonder how mpv compares to madvr.
I was curious as well, that's why I started to play with it. I'll create a github repo for the config files later. :)
The biggest "issue" is the overall user experience (e.g. compared to mpc-hc/be + madvr):
- different monitor profiles (maybe it can be done with auto-profiles)
- auto refresh rate switching
- remote control! (e.g. via an android phone)
- who knows what else :)

stax76
4th May 2020, 19:02
Thanks for the explanation. I use an old MS remote configured to send standard keys, a similar model (other brand) is still available.

chros
5th May 2020, 10:09
Does it require other program to run (e.g. like Girder was 20 years ago :) )? Also, can you browse your filesystem to select any other media with it?

If you have time and are in the mood then try this one (https://forum.doom9.org/showthread.php?t=175007) out e.g. with mpc-be and you'll see what I mean :) . Although most people use some fancy frontend (kodi, emby, etc), I don't like and need those since I have this.
Btw, stax, are you good in vbscript? :)

stax76
5th May 2020, 10:39
Does it require other program to run (e.g. like Girder was 20 years ago )?

Windows has a driver for this remote built-in, by default I think it sends both regular keys and weird wm_appcommand messages but it can configured via registry key which I did, sends now regular keys.


Also, can you browse your filesystem to select any other media with it?

This might be possible via mpv user scripts like this one:

https://github.com/darsain/uosc

At the moment it might not work in mpv.net, yesterday somebody made a requested regarding it, I hope it's easy to fix.


If you have time and are in the mood then try this one out e.g. with mpc-be and you'll see what I mean

I've many interesting topics usually, remote isn't at the moment but it could change in the future.


Btw, stax, are you good in vbscript?

Actually I have a history with that, was my first language in 2001 and it's the origin of staxrip because first it was a vbscript to automate encoding DVB sources, then it was ported to VB6 shortly after and when .NET appeared in 2002 it was ported to .NET, the name staxrip came later, before it was called DVX. At that time most people rejected .NET

aufkrawall
5th May 2020, 14:51
I wonder how the render capabilities of mpv compare to madvr, for me it's fine as image quality topics don't interest me and common issues like banding don't bother me but as mpv user and frontend author I wonder how mpv compares to madvr.
It defaults to FP16 internal format, which should be enough to do any processing without visible banding even with HDR video. Dithering is disabled by default and I'd always enable it. ewa_lanczos looks exactly like the Jinc scaler in madVR, though mpv has no working anti-ringing filter for it integrated.

pirlouy
5th May 2020, 16:33
Dithering is enabled with gpu-hq profile, and with a GPU dedicated card (even from 5 years), it should be usable:
Profile gpu-hq:
scale=spline36
cscale=spline36
dscale=mitchell
dither-depth=auto
correct-downscaling=yes
linear-downscaling=yes
sigmoid-upscaling=yes
deband=yes

@stax76: I'm also not interested in image quality since I watch good sources, so I'm fine with mpv, plus it uses less ressources.
But I'm sensible to motion, and the equivalent of madVR's Smooth Motion is quite costly in ressources (display-resample + tscale=oversample). And there's nothing planned for that (nervous conversation inc (https://github.com/mpv-player/mpv/issues/7674)).

aufkrawall
5th May 2020, 22:03
I can't recall the performance hit by tscale=oversample, but tscale=linear is cheap.
You can always use display-resample with a close match to the actual refresh rate or a multiple of it with crap GPUs, as unlike interpolation, it doesn't turn off dumb-mode.

stax76
6th May 2020, 18:21
I'm back with profile=gpu-hq, card is too slow for 4K 50/60 fps but I rarely have such files.

There were some issue reported I try to address:


5.4.7.0
=======

- log error fix
- workaround to support AviSynth portable (ffmpeg blocks loading AviSynth from path env var)
- attempt to fix not reproducible volume input issue
- attempt to fix exception caused by powershell being not available on Win 7


https://github.com/stax76/mpv.net

I hope the auto update function fix from 5.4.6.0 works.

chros
7th May 2020, 11:42
Thanks for the new version!

I'm back with profile=gpu-hq
Note that hq enables debanding as well which is not needed for hq content.

Quick question (missing feature): how to achieve the same basic playlist functionality with mpv/mpv.net (like with mpc-be)?
- there's always a default playlist
- when open the player this default playlist is loaded
- when you open/drag a file the playlist is overridden with the new one
- this default playlist is saved automatically
- prev/next track "button" loads the next file in the same folder even if the playlist has just 1 file entry (and modify itself)

aufkrawall
7th May 2020, 12:54
Some performance data: When I had an RX 560 4GB installed, I could do


hwdec=d3d11va
d3d11va-zero-copy=yes
dither-depth=8
sigmoid-upscaling
linear-downscaling
correct-downscaling
cscale=ewa_lanczos
scale=ewa_lanczos
dscale=ewa_lanczossharp
tscale=linear
video-sync=display-resample
interpolation
deband
hdr-compute-peak=no

without issues for playing 4k 60fps HDR@1440p.

stax76
7th May 2020, 12:55
- there's always a default playlist
- when open the player this default playlist is loaded
- this default playlist is saved automatically


I think there is a Lua script to make the playlist persistent, Reddit has a mpv section, I think that's where I saw this script. I don't know if it works in mpv.net and if it's solid. The bests scripts are usually self written. :)

- when you open/drag a file the playlist is overridden with the new one

What happens when dropping files depend on the settings and which modifier key is pressed.

To get more info you can do a text search in the mpv.net manual and using the search field in the config editor.

Search for:

shift

control

playlist

https://github.com/stax76/mpv.net/blob/master/Manual.md

https://mpv.io/manual/master

prev/next track "button" loads the next file in the same folder even if the playlist has just 1 file entry (and modify itself)

Would also require writing a script, current default is loading the folder into the playlist, there is a Lua script for that and mpv.net has it built in using the mpv.net specific setting auto-load-folder, enabled by default I think.

chros
7th May 2020, 20:55
Thanks, stax, then I skip this one for now. :)

I've created a repo and added couple of settings (https://github.com/chros73/mpv.net-config/issues/1).
I'll take a look at upscaling profiles next.

(Note I use 4k TV with an AVR + nvidia 1060 6GB GPU.)

chros
10th May 2020, 15:00
It defaults to FP16 internal format, which should be enough to do any processing without visible banding even with HDR video.
I wonder which fbo-format corresponds to madvr?
I've put "fbo-format=rgba32f" into my conf but it has a big performance impact, and mpv defaults to "rgba16f" or "rgba16hf".
At the same time madshi says this about madvr:
- full 16bit processing queue
- final 16bit processing result is dithered down to RGB output bitdepth

So, what do you think: rgba16hf or rgba32f ?

Greenhorn
11th May 2020, 03:44
From the sound of it, rgba16hf is closest to what madVR uses, and I doubt you really need much more precision than madVR would offer.

(FYI-- a bit of googling shows that the "hf" stands for "host float" and not "half float," if you thought it might, as I did.)

stax76
11th May 2020, 16:37
5.4.8.0 is a new mpv.net stable release with following improvements since the last stable release:

- fix learn window of input editor (much work)
- fix black one pixel bar on right side
- fix beep sound when closed from taskbar
- media key issue finally fixed
- libmpv and youtube-dl update
- fix crash caused by powershell 5.1 not being installed
- log error fix
- the release script now also outputs x86 beta versions so x86 users can test betas

Website:

https://github.com/stax76/mpv.net


Windows 10 users that have version 5.4.6.0 or higher can use the update feature in the menu, I've updated mpv.net of staxrip with it and it worked correctly. Windows 7 users have to ensure they have PowerShell 5.1 and curl.

Tadanobu
20th May 2020, 19:26
If we could have dav1d 0.7.0 in the next release that would be appreciated !

https://code.videolan.org/videolan/dav1d/-/releases/0.7.0

pirlouy
23rd May 2020, 11:40
A bit of drama recently (anti-Microsoft rant from wm4) ? ^^
https://github.com/mpv-player/mpv/commit/a20ae0417f2d1e1a2c173f5eaf66a81974df0008#commitcomment-39290870

stax76
23rd May 2020, 19:51
Thanks for posting, that was new to me. I think Microsoft's open source story has improved, and they are building a few good open source products. wm4 and some others are not convinced, there are however enough Windows users convinced of mpv, it's a fantastic application, I'm not just using it but love to use it.

pirlouy
25th May 2020, 19:47
"Timetotal=yes" in osc.conf seems broken from 20200517 build.
I don't want to open a ticket for that. Someone to confirm ? Should I open a ticket for this or they will find it by themselves ?

rock
26th May 2020, 01:54
"Timetotal=yes" in osc.conf seems broken from 20200517 build.
I don't want to open a ticket for that. Someone to confirm ? Should I open a ticket for this or they will find it by themselves ?

https://github.com/mpv-player/mpv/issues/7733#issuecomment-631293579

pirlouy
26th May 2020, 20:22
Ah thanks ! That's it ! Too bad there's always someone to trash talk (Argon in this case). It's a bug, why being so arrogant...
The EOL conversion trick works though.

stax76
26th May 2020, 21:16
Good to know about this issue.

In VS Code:

Text Editor > Files > EOL

OAKside
22nd June 2020, 00:44
Finally got around to giving MPV.NET a serious try, and... just wow. Thank you, Stax. :thanks:

Not sure why I hesitated; I think I remember some settings issues for me long ago, early on. And I thought MPV was great as-is. Now I regret not moving to MPV.NET earlier. It is amazing, incredibly (infinitely?) customizable, and now with config editor. Brilliant, beautiful work. And very much appreciated, esp. as something used daily.

Have loved StaxRip for years, still the best of its kind. Recently found MediaInfo.NET, super helpful and a massive improvement over vanilla. Now using MPV.NET as main video player, again giant leap over default. You need more donations. Again, thank you for this work, and anyone else helping out or supporting these apps.

stax76
23rd June 2020, 02:06
Thank you OAKside for the fantastic feedback. :thanks:


5.4.8.2 Beta


Changelog:

https://github.com/stax76/mpv.net/blob/master/Changelog.md


Download:

https://github.com/stax76/mpv.net/blob/master/Manual.md#beta

Ejziponken
20th July 2020, 09:41
Is it not possible to change audio device?

pirlouy
20th July 2020, 17:19
https://mpv.io/manual/master/#audio
--audio-device=<name>

-log-
23rd July 2020, 19:10
Is it possible for mpv.net to start on the display that it was called from? For example, if I open a video from a file explorer on display 2, the player should also open on display 2 instead of defaulting to the primary display. Both normal mpv and mpc can do this.

stax76
25th July 2020, 10:44
@-log-

It will be supported in the next beta build.

stax76
25th July 2020, 12:00
5.4.8.3 Beta


Support Wheel_Left and Wheel_Right. (arnesacnussem)
Default screen was changed from primary to OS default to start from the same screen where the File Explorer window is located.
When mpv.net was started maximized and next was invoked then the window state was changed to normal instead of staying maximized.

chros
25th July 2020, 22:00
Thanks for the new beta!

From 5.4.8.2 Beta: "Menu support for BluRay title, audio and subtitle selection"

Sounds really interesting, because now I use VLC (x64 as well) for this on PC.
How does it work?

I tried in 2 ways with a UHD BD in directory (not ISO) but no menu showed up but it plays the main title straight away:
- when I drop the directory all is working fine (name of directory is shown in the title, fast opening)
- when I open the directory via right-click menu:
-- bd:// is shown in the title
-- slow opening
-- right-clicking on mpv.net window makes the player unresponsive, you can only force close the player

Thanks

stax76
26th July 2020, 03:38
Thanks for testing. I've uploaded a new beta addressing some things:

5.4.8.4 Beta


Blu-rays with dozens of titles showed all titles in the menu which was difficult to choose and extremely slow.
Blu-ray folder paths are auto detected when received from drag & drop and command line.
Cycle audio key was not working for Blu-ray.
Message asking if image is BD or DVD in case image is < 10 GB.

chros
26th July 2020, 11:48
Thanks, now it behaves the same with drag-n-drop and opening via menu (e.g. UHD BD, Transporter 3) (I use the x64 version):
- slow opening time (5-8 sec)
- bd:// is shown in the title
- main title is being played right away, no BD menus
- right-clicking on mpv.net window makes the player unresponsive, you can only force close the player

stax76
26th July 2020, 13:14
Thanks for testing. mpv does not support on screen BD menus.

Only thing I probably can do about the unresponsiveness is adding debug trace code and try to test whenever a get the chance. I've bookmarked your post but it will take time before I do anything because I'm still trying to have a coding break.

I've tested everything with about ten HD images, usually directly loading the image but also often mounting. Load times are OK, 2-4 seconds I guess, I've not really compared it with MPC-BE. Context menu shows instantly since the last beta.

GillesH
26th July 2020, 15:17
Hello,
6 years ago, I asked the question about the best Player to play an AVS script in a VB.Net solution.
http://forum.doom9.net/showthread.php?t=171241
At this time, stax76 had proposed the VB.NET Code for a DirectShow player (StaxPlayer.7z).

But, today it seems that this player is replaced by MPV.NET.
Like yesterday, do you have sample code to open an MPV.NET player in a VB.NET solution.
And of course, this is to use an AVS or AVS+ script.

Thank you in advance

stax76
26th July 2020, 16:03
Sorry it's one of those apps I did not keep the code.

GillesH
26th July 2020, 16:56
Thank you stax76.
But, maybe you have the same in C# or C++.
Afterwards, I can possibly convert.
Or if you have a link for an example in one of these languages (VB.net, C# ou C++).

stax76
26th July 2020, 17:17
There is probably enough code available, I suggest creating a dedicated thread in the dev section and describe your goal and requirements, here it's OT.

brad86
30th July 2020, 16:17
Is it possible to set dual audio output ?

VictorLS
2nd August 2020, 09:59
Good day, stax76
Many thanks for your MediaInfo, StaxRip, mpv
Can you read two pages of my HLGtoSDR shader ask thread (http://forum.doom9.org/showthread.php?t=176909) and help us (SAT amateurs) to write such ps_2_0 or ps_3_0 shader there for use in app SmartDVB?
Btw I like colors while playing HLG file in mpv before August 2019 while software decoding (therefore without mpv.conf) - beginning from August 2019 red becomes some rose on my own...

chros
8th August 2020, 18:48
But can you achieve the same tone mapping results ? That's the #1 reason I have to stick with MadVR (beta builds from AVSForum)

Do you have a pointer to initial instructions, settings I could try?

Take a look at this repo (https://github.com/chros73/mpv.net-config): only the basic settings are created (profiles, 3dlut, fps switching, etc are not).
This is "profile=hq" without debanging.
You can switch "fbo-format=rgba32f" to "fbo-format=rgba16hf", that's the default value and is way faster.

For HDR (https://mpv.io/manual/master/#options-target-trc): "--target-trc", "--target-peak", "--tone-mapping*", "--hdr-*" swithes
It's supposed to use HDR switch in the OS via Win10 API.

If you managed to figure it out let us know :)

dbezerra
12th August 2020, 00:15
Take a look at this repo (https://github.com/chros73/mpv.net-config): only the basic settings are created (profiles, 3dlut, fps switching, etc are not).
This is "profile=hq" without debanging.
You can switch "fbo-format=rgba32f" to "fbo-format=rgba16hf", that's the default value and is way faster.

For HDR (https://mpv.io/manual/master/#options-target-trc): "--target-trc", "--target-peak", "--tone-mapping*", "--hdr-*" swithes
It's supposed to use HDR switch in the OS via Win10 API.

If you managed to figure it out let us know :)

Thanks!

sarsaK
14th August 2020, 16:54
dear stax76
I appreciate your work and follow the subject closely. I like the image, especially HDR tone mapping. I think you will go further. request: in info (T) do we have the opportunity to see scala, dscala, cscala and converted resolution information currently used?

sarsaK
21st August 2020, 09:51
Hello friends, can we make arrangements for the automatic program according to the profile configuration in the works I have collected from the internet and can obtain quality images in the appendix. especially for intel, separate for amd, separate for nvidia, can we run 'automatic profiles-functions' for automatic execution in config config and vara profiles in config file. By the way, I apologize for the lack of google language translation.

https://mega.nz/file/xYwxBa5B#v1A8CQS5YdnaHSnHOBbHrHpuxSTzsv-o58Wq8SBQIdM

chros
24th August 2020, 21:41
Hello friends, can we make arrangements for the automatic program according to the profile configuration in the works I have collected from the internet and can obtain quality images in the appendix
Good idea, but can you upload it somewhere else and link it here instead? Thanks

sarsaK
31st August 2020, 10:07
Hi chros, I added the link. I have updated the working profile and shaders files and config now. I want you to test as far as I can. Replace all the files I added in C: \ Users \ xxxxx \ AppData \ Roaming \ mpv.net. It works automatically according to the resolution of the film. Press T then 2 to see the properties on the screen.

https://mega.nz/file/xYwxBa5B#v1A8CQS5YdnaHSnHOBbHrHpuxSTzsv-o58Wq8SBQIdM

chros
31st August 2020, 16:36
Thanks, I'll take a look.

toniash
1st September 2020, 07:25
How to use it?

sarsaK
1st September 2020, 10:25
from the first page https://github.com/stax76/mpv.net Download and install. when running it asks you where to store config files. Select option 1 and copy over the files I added ( C:\ Users\????? \AppData\ Roaming\mpv.net\ ). so

toniash
1st September 2020, 16:59
from the first page https://github.com/stax76/mpv.net Download and install. when running it asks you where to store config files. Select option 1 and copy over the files I added ( C:\ Users\????? \AppData\ Roaming\mpv.net\ ). so

There are some overlapping profiles, I get activated low and SD with a 704 x 392 mkv
Also in some conf lines appears "mitchellcorrected"

I'll keep on testing

the "low" profile is always activated

toniash
2nd September 2020, 12:10
Is it possible to:
1-Autopan to the the top?
2-Autochange the refresh rate to a multiple of fps?

toniash
4th September 2020, 18:14
Is it possible to:
1-Autopan to the the top?
2-Autochange the refresh rate to a multiple of fps?

nobody?

sarsaK
5th September 2020, 10:19
mpv does not need automatic refresh rate because it has its own calculation. I also researched and found this result.
https://gitlab.com/lvml/mpv-plugin-xrandr (This is currently implemented only for Unix systems which provide the
"xrandr" command to control the X server. No Windows/Mac support yet.)

skrowl
18th September 2020, 18:25
I like the look of this player but every time I close it and open a video by double clicking, it loads the window in some kind of default size rather than the last size / position I had. There appear to be settings to remember window position and size, but they don't work (or I'm using them wrong). Can anyone recommend how to do get it to ALWAYS load the window in the last position and size?

sarsaK
19th September 2020, 11:40
full screen when opened, center when double clicked. If you want a different situation, you can edit it by searching this way.
Paste the following commands into the mpv.conf file. C:\Users\xxxxxxxxx\AppData\Roaming\mpv.net\
priority = high # |belownormal|normal|abovenormal|high|realtime kilitlenme olursa normale al
#fullscreen = yes
input-ipc-server = /tmp/mpvsocket # listen for IPC on this socket
load-stats-overlay = yes # use local stats.lua
save-position-on-quit # filmin kaldığı yerden devam etmesi (aktif olursa renkler en son ayarlanan ayarda kalır)
#ontop # Oynatıcı penceresinin diğer pencerelerin üzerinde kalmasını sağlar.
#no-border # pencere başlığı yoktur no-border veya iptal için kare koy
autofit-larger = 100%x95% # resize window in case it's larger than W%xH% of the screen
input-media-keys = no # enable/disable OSX media keys
cursor-autohide = 1000 # autohide the curser after 1s
prefetch-playlist = yes
force-seekable = yes
msg-color = yes # Colors!
# Fit fps to movies
correct-pts = yes

LordX2
29th October 2020, 02:24
Hey all - I like MPV player - great, light, and the default HDR to SDR curve looks great!

I get micro-stutters (or unreported frame drops) while watching 4k .mkv files.

Frame timings are 2000 or less, screen is set to 23.976 (same as video).

I love MPV, but if I cant figure this issue out, I may not be able to use it.

Here is my config (I have tried enabling/disabling some of these, no difference):

--audio-spdif=truehd,dts-hd

--vo=gpu

--gpu-context=d3d11

--hwdec=d3d11va

--opengl-swapinterval=1

--video-sync=display-resample

--cache=yes

fs=yes

pirlouy
29th October 2020, 11:12
Hard to tell, you'll have to do your own tests, since mpv has better performance than madVR in general, if you don't have these stutters with madVR, you shouldn't have them in mpv.
First, remove all your options, to check if it's not one of these options (maybe video-sync=display-resample).

Try to force "max performance" in nVidia drivers (just temporarly, don't let it at max performance in general).
Then you'll have to check the performance of your GPU/CPU (with HWinfo for example).

LordX2
29th October 2020, 16:01
Thank you for the reply!

I only use this system for HTPC, and always have the nvidia card at max power to avoid any playback issues.

I guess I will try to disable the video sync lines and see if that clears things up.

PS - Madvr gets a dropped frame every hour due to the refresh rate of the monitor, but aside from that, plays smoothly.

sarsaK
31st October 2020, 12:57
When playing a 4k movie, add the following parameter mpv.config "vd-lavc-threads = 32"

LordX2
31st October 2020, 18:50
When playing a 4k movie, add the following parameter mpv.config "vd-lavc-threads = 32"

Thank you, I added that line, and will have to do another test.

I removed the display sync as well - so will have to test that. 1 dropped frame in an hour isnt bad if that ends up being the case.

Can MPV player do some of the refinement that madvr can? Like sharpness, or highlight recovery for hdr content being displayed in sdr?

Chroma upscaling and/or luma upscaling as well? Even for 4k content? I see the vdpaupp option in the manual for sharpness. How is this used? No --? just vdpaupp sharpen=1 in the config?

I also see options like: --scale=ewa_lanczossharp - and then there is cscale... can I use that in conjunction with scale? Just add: --cscale=ewa_lanczossharp ??

sarsaK
7th November 2020, 14:30
You can use both scale, dscale, cscale at the same time. You can add these commands to input config ( "g add sharpen 1" "G add sharpen -1") and increase or decrease them from the keyboard. If you want, you can fix it in mpv.config. "sharpen = 1.50"

Tadanobu
15th November 2020, 17:56
Is there a way to manually update mpv.net to use the lastest dav1d build ?

stax76
11th December 2020, 18:26
Is there a way to manually update mpv.net to use the lastest dav1d build ?

I'm not doing my own libmpv builds but rather use shinshiros builds, now updated to 2020-12-06, it's not a problem for users to update libmpv on their own, usually there are no breaking changes or serious bugs. I cannot tell you which dav1d version is used, you can try asking on the issue tracker of shinchiro or mpv.


libmpv builds/binaries by shinchiro:

https://sourceforge.net/projects/mpv-player-windows/files/


libmpv support:

https://github.com/mpv-player/mpv/issues


Support for shinchiros builds:

https://github.com/shinchiro/mpv-winbuild-cmake/issues


New mpv.net build:


5.4.8.5 Beta
============

- Load AviSynth DLL from environment variable AviSynthDLL
in order to support AviSynth portable mode.
- New option global-media-keys (next, previous, play/pause, stop).
- Redesigned PowerShell based setup and setup dialog, it was done
because of a bug and upcoming chocolately and winget integration.
- Redesigned auto update using different file name, using zip instead
of 7zip format now, 7zip distribution will shortly get dropped.
- Whenever there is a new startup location, the setup dialog is shown.
- libmpv updated to shinshiro 2020-12-06
- youtube-dl is no longer included, users have to install it
on their own (put it in the startup or a PATH folder).


https://1drv.ms/u/s!ArwKS_ZUR01g1ldoLA90tX9DzKTj?e=xITXbC

https://www.dropbox.com/sh/t54p9igdwvllbpl/AADKyWpaFnIhdyosxyP5d3_xa?dl=0

Greenhorn
11th December 2020, 23:53
I'm pretty sure the default mpv build system just clones the git master branch for everything it needs, so unless shinchiro is using something different (that isn't MABS, because MABS does the same thing) his libmpv is using dav1d from 2020-12-06 as well.

stax76
13th December 2020, 23:26
Maybe somebody has image drawing skills or can point me to a good tutorial.

I've paint.net installed but don't have many skills in it.

I want to get a Santa hat on top of my logo, just as mpv:

We might have Corona Christmas, but maybe we can get at least that Santa hat, right?

https://www.google.com/search?q=mpv+santa+hat

https://i.postimg.cc/Vsjj2LBr/mpv-santa.png

https://raw.githubusercontent.com/stax76/mpv.net/master/img/mpvnet.png

huhn
14th December 2020, 01:01
does the mpv logo licenses allow such a "steal"?

stax76
14th December 2020, 01:16
Next question...

stax76
24th December 2020, 11:47
Merry (and healthy) Christmas everybody!

5.4.8.6 Beta (2020-12-24)

- Santa hat shown in December. (#216)
- Filename not being always shown in title bar. (#214)
- Improved OSD message when cycling audio.
- DVD audio and subtitle track selection.
- Input key list can be shown on the command-line with --input-keylist
- Profiles can be shown on the command-line with --profile=help
- Decoders can be shown on the command-line with --ad=help and --vd=help
- Decoders can be shown in the menu under: View > Show Decoders
- Demuxers can be shown in the menu under: View > Show Demuxers
- Audio devices can be shown in the menu under: View > Show Audio Devices
- Audio devices can be shown on the command-line with --audio-device=help
- Protocols can be shown in the menu under: View > Show Protocols
- Allow mpv.net to start from different startup locations without showing the setup dialog. (#218)
- libmpv updated to shinshiro 2020-12-20

sarsaK
26th December 2020, 21:50
thanks stax (5.4.8.6 Beta (2020-12-24)
Merry Christmas everybody!

therube
6th January 2021, 18:46
MPV.NET 5.4.8, Win7 x64

i consider .srt files as "video" (.srt is included in my Everything video: filter)
(that way, in Everything, i see .srt files along with their actual associated video file. convenient, for me.
i change the video file name [through Everything], i see the associated .srt, i know i need to adjust its'
name also...)
now, i often drag "video" files from Everything into MPV
as .srt are considered as "video", in Everything, .srt also get dragged into MPV
& that breaks things, in MPV, in different ways, depending on how you go about things...


file set:

file1.avi
file2.MPEG
file3.MPEG
file3.srt
file4.MPEG
file4.srt
file5.MPEG
file5.srt
file6.AVI
file7.AVI


open MPV
'S' (Stop)
drag files (including .srt) into MPV

F8: files1..7
- playlist is complete
F9: Video: (1) Audio: (1) Sub (1) Sub: (2) Sub: (3) [Sub: (3) is shown as selected]
PLAY: file1 plays using Sub:3 (file5.srt) .srt
- incorrect


(do NOT 'S')
drag files (including .srt) into MPV (again)

F8: files1..7
- playlist is complete
F9: Video: (1) Audio: (1) Sub (1) Sub: (2) Sub: (3) [Sub: (3) is shown as selected]
- do NOT PLAY, yet -
F12: (next clip, file2, is shown)
F11: (previous clip, file1, is shown)
F9: Video: (1) Audio: (1)
- no longer is the Sub: shown
PLAY: file1 plays, no sub displays
- correct behavior


[another scenario]


(do NOT 'S')
drag ONLY files1..4 (including file3.srt - but NOT file4.srt) into MPV

F8: files1..3
- playlist is TRUNCATED
F9: Video: (1) Audio: (1)
- sub does not show up
PLAY: files1..3 play
- file4, which was truncated from the playlist, (obviously) does not play


'S'
drag ONLY files1..4 (including file3.srt) into MPV

F8: files1..4
- playlist is NOT truncated
F9: Video: (1) Audio: (1) Sub (1) [Sub: (1) is shown as selected]
PLAY: file1 plays using Sub:1 (file3.srt) .srt
- incorrect
F12:
F12:
PLAY: file3 plays using Sub:1 (file3.srt) .srt
- correct


not sure if above only applies to .srt, or if other "random" files dragged into MPV likewise affect things?

if i create a file3.xls & drag that into MPV (along with other video files), file3.xls does get added to
the playlist, but obviously does not play, instead "silently" skipped over

so what is seen can depend on actions taken, like whether an intervening 'S' (Stop) has been thrown
into the mix, or not, & also by the number of .srt that are dragged into MPV...

so is it only .srt that is "special"

.srt dragged into MPV, do not show up in the playlist (F8), but does affect what files do end up in the
playlist & what happens during file playback

therube
6th January 2021, 18:47
if you DRAG a file over MPV.NET, then, without DROPPING, hit ESC to cancel the DRAG,
MPV.NET closed (in addition to the DRAG being cancelled)
- would be nice if ONLY the DRAG were cancelled & MPV.NET left unchanged

stax76
6th January 2021, 20:31
In input.conf the ESC key is associated with the input command quit. I checked mpv, and it behaves same as mpv.net, nothing I'm interested to think about or work on.

About the subtitle issue, that post is difficult to understand, or maybe I'm tired, probably it's not written very well.

ChaosKing
6th January 2021, 20:57
if you DRAG a file over MPV.NET, then, without DROPPING, hit ESC to cancel the DRAG,
MPV.NET closed (in addition to the DRAG being cancelled)
- would be nice if ONLY the DRAG were cancelled & MPV.NET left unchanged

Why don't you just move the mouse out of the window again?

stax76
6th January 2021, 21:09
Why don't you just move the mouse out of the window again?

It's captured, I think the only solution is change the ESC key binding or Alt+Tab to deactivate the window.

therube
6th January 2021, 22:24
Why don't you just move the mouse out of the window again?
That does work, only it can be awkward, in particular if mpv.net is fullscreen.

therube
6th January 2021, 22:35
the subtitle issue
Let's try this way.

Drag & drop an arbitrary set of files into a mpv.net window.
You expect media related files to be added to mpv's playlist.
Or, you would expect that dropped files are accepted for what they are, dropped files. Then, when it comes time to actually playing of the file, if mpv.net can play it, it does, & if not, it simply skips over that file & goes on to the next file...

What happens currently, if the dropped files include .srt file(s), is that either the list of dropped files is truncated, or the list of files does end up complete, as expected - except that the first played file will display (external) subtitles regardless of whether that subtitle file was appropriate or not for the particular video file.

Behavior that is seen may vary based the steps carried out as noted in the post above.

stax76
7th January 2021, 13:31
subtitles regardless of whether that subtitle file was appropriate or not for the particular video file.

You mean you wish that the player will figure out which files belong together? It's not going to happen, and it would surprise me if any player supports that.

therube
7th January 2021, 17:21
No.
In the example above, if you follow the first set of steps, on the first file, if you F9, shows:

Video: (1) Audio: (1) Sub (1) Sub: (2) Sub: (3)

which would mean that there is 1 video track, 1 audio track, & 3 subtitle tracks.

Where in fact, there is 1 video track & 1 audio track - only.

There are 3 subtitle files that were dragged into the playlist, but none relate to file1.

Additionally, when you do play file1, it does display subtitles.
In this case, the subtitles are for file3.

So file1 is incorrectly displaying subtitles where it should not be.

To duplicate, the (video) files are immaterial, the (.srt) files are immaterial - just use any.
The only requirement is that you drag both video & .srt files into mpv.net window.
Behavior seen depends on how many files, how many .srt, & whether you've invoked an 'S' (Stop) between drags.

In the scenario described, I would expect that any .srt files dragged into mpv.net are simply ignored, just as dragging a .xls file into mpv.net is ignored.

(Now, when starting playback, if file1.mp4 does have an associated .srt, obviously you expect mpv.net to see that & to display subtitles for that file.
[The fact that some random .srt or even an associated .srt happened to be dragged into a playlist should be immaterial, IMO.])

stax76
7th January 2021, 18:09
Does any desktop media player support what you propose?

therube
7th January 2021, 21:20
I'm not really proposing anything.

I'm more reporting a behavior that seems wrong.

I drag an arbitrary set of files into mpv.net.
I start playback of the first file.
The first file displays subtitles where there are none in (internally) nor externally (.srt or otherwise) for that file.

Or...

I drag an arbitrary set of files into mpv.net.
I look at my playlist.
I see that my playlist has been truncated.

---

Other player, MPUI-hcb (https://sourceforge.net/projects/mpui-hcb/).
(I only use the GUI player, not his full package, getting mplayer.exe elsewhere.)

I drag an arbitrary set of files into the mpui gui:

dumy1.srt
dumy2.srt
import - Copy.xls
import.srt
Import_Searching_For_Items.mp4
O365_Dialog_Animation.mp4
Photos_FRE_Carousel_ElevatorPitch_620x252.mp4
Photos_FRE_Carousel_Explore_620x252.mp4

I look at its' playlist:

import - Copy.xls
Import_Searching_For_Items.mp4
O365_Dialog_Animation.mp4
Photos_FRE_Carousel_ElevatorPitch_620x252.mp4
Photos_FRE_Carousel_Explore_620x252.mp4

The .srt do not show up - which is fine (& to me, expected).
The .xls does show up - but obviously won't play.
The .mp4 show up, & do play, with none displaying subtitles (as none of the files contain subtitles, & there are no external .srt files associated with any of the .mp4 files).


MPC-BE:

I drag the same set of files into MPC-BE.
Its' playlist shows:

C:\out\SRT\dumy1.srt
C:\out\SRT\dumy2.srt
C:\out\SRT\import.srt
C:\out\SRT\import - Copy.xls
C:\out\SRT\Import_Searching_For_Items.mp4
C:\out\SRT\O365_Dialog_Animation.mp4
C:\out\SRT\Photos_FRE_Carousel_ElevatorPitch_620x252.mp4
C:\out\SRT\Photos_FRE_Carousel_Explore_620x252.mp4

All of the items show up there.
The .srt & the .xls are marked as "Invalid" (in the playlist window) - which is fine, because they are.
The .mp4 files all show up as expected, with playback starting with the first valid file.

stax76
8th January 2021, 17:49
In mpv.net for any subtitle file passed to the load function the mpv input command sub-add (https://mpv.io/manual/master/#command-interface-sub-add) gets called.

I could check if there is a mixture of video and subtitle files and in that case not call sub-add.

I usually don't accept super special requests however because of two reasons:

1. Time could be spent on something more useful.

2. It adds code and complexity without adding much value.

If such a request is made on the tracker I usually tag it with low priority which means it will lay there forever unless more people support the request.

Warlock
22nd February 2021, 13:09
Hi. I wanted to configure the player to always open any video with the window in 1280x720 format, whatever the video has resolution of 1080p, 2160p or etc, I always wanted to open the video in 1280x720, that the player window always opens in this format. How do I set this up?

stax76
22nd February 2021, 13:20
I don't understand the question.

Did you try options at:

Context Menu > Settings > Show Config Editor > Screen

pirlouy
22nd February 2021, 14:14
https://mpv.io/manual/master/#options-autofit
autofit=1280x720

stax76
22nd February 2021, 14:44
Yes for mpv, not exactly for mpv.net:

https://github.com/stax76/mpv.net/blob/master/Manual.md#differences

Warlock
22nd February 2021, 15:16
I think I got a solution. I reset the player settings, configured everything again, only this time, I opened a video already in 1280x720 format, then I checked the option "always" on the screen tab.

Now I can open any video, it can be any resolution that the video will always open in 720p, now it's perfect. Thanks for the tips guys, they helped me a lot, and what a fantastic gui, now using mpv is much better. Its use was much more practical. D:

therube
24th February 2021, 19:01
Next thing to ponder ;-).

The time remaining display.

If you speed up the playback of a file (the, ']' key), the time remaining display displays the time left to play the file - at the current speed, rather then the remaining time left position in the file.

Like if you have a 10:minute file, you start playback, time remaining shows -10:00..-9.59..., you then set playback speed to 2x (2.00), at that point, the time remaining count(down) takes the speed factor into consideration, so it displays something like -4.55..-4.54...

I mention this cause I'll often visually preview sets of files. And when I do so, I'll often speed up the playback speed.
And during this times, I may have intermixed full clips & partial clips.
Say a full clip is 1 hour, & a partial is 36 min.
When playback is speed up, it makes it harder to distinguish (from the remaining time display), if a file is partial or full.
Often I'll say, huh?, thinking a file should be full, yet time remaining indicates it is more likely to be a partial file.
(And then it hits me, duh, I've speed up playback, so [what I consider "time position remaining"] is displaying "time to playback".)

Just to ponder...

stax76
24th February 2021, 19:29
If I understand correctly, then this is a bug or missing feature in OSC.lua (https://github.com/mpv-player/mpv/blob/master/player/lua/osc.lua)?

I'm not really understanding much Lua at the moment, hopefully I will learn it sometime.

Maybe try making a bug report on the mpv tracker.

butterw2
26th February 2021, 18:02
Is there an option to display the full mediainfo properties of the file being played (like in mpc-hc) ?

I only found this:
i script-message mpv.net show-info #menu: View > File/Stream Info

stax76
26th February 2021, 18:46
It's not built-in, but it's mpv... Once I integrated my MediaInfo GUI MediaInfo.NET that just like mpv.net originally was developed for staxrip, I still have it in my input.conf, even though I think I really never used it, here it is:

ctrl+m run D:\MediaInfo.NET\MediaInfoNET.exe "${path}" #menu: Tools > Open file with MediaInfo.NET

https://github.com/stax76/MediaInfo.NET

mpv run input command (https://mpv.io/manual/master/#command-interface-[-]]])

butterw2
27th February 2021, 11:43
I'm using the mpvnet default auto-load-folder feature, is it possible to specify what file extension should be added to the playlist ?
I only want video files added (no images, no audio).

butterw2
28th February 2021, 09:06
& used as a hotkey in input.conf doesn't display in context menu

nsnhd
28th February 2021, 11:56
Can mpv.net play youtube clips ? Tried to drop clips into it but nothing happened.

Alexkral
3rd March 2021, 12:13
Hi, I'd like to know if anyone around here has been able to run the FSRCNNX_x2_56-16-4-1.glsl shader with vulkan or d3d11. With my GTX 1080 and the FSRCNNX_x2_16-0-4-1.glsl shader using vulkan, I get about 93 fps for 2160p upscaling and about 240 fps for 1080p upscaling, and then with the FSRCNNX_x2_56-16-4-1.glsl shader I get only about 1 fps for both, so the difference is not proportional. With opengl and the FSRCNNX_x2_56-16-4-1.glsl shader I get about 12 fps, the same for both sizes, which also seems weird.

On the contrary, with one of the AiUpscale Medium shaders and again vulkan, I get about 48 fps for 2160p upscaling, although comparing them via AVSMeter, the FSRCNNX_x2_56-16-4-1.glsl shader seems to be a bit faster. :confused:

edit: Never mind, I fixed this by setting gpu-shader-cache-dir

KrazyLurt
3rd March 2021, 15:24
I did try FSRCNNX_x2_56-16-4-1.glsl few month ago when upgrading to a 10700k @ 5 GH, RTX 3080 using standalone mpv, not (.net) but it was too resource intensive. Used Vulkan. Don't remember if I tried Opengl, D3D11.

Alexkral
3rd March 2021, 16:42
Well I'm getting 38.5 fps with d3d11 so it seems like there is still plenty of scope to implement a heavier network that can be used with one of the latest GPUs. This is a big surprise to me.

chros
3rd March 2021, 17:33
Well I'm getting 38.5 fps with d3d11 so it seems like there is still plenty of scope to implement a heavier network that can be used with one of the latest GPUs. This is a big surprise to me.
Alex, I've noticed with your shader implementation that when a non-fullscreen video is played I get garbage at the bottom and top. (d3d11 is used)
Can you reproduce it?

Alexkral
3rd March 2021, 18:21
Alex, I've noticed with your shader implementation that when a non-fullscreen video is played I get garbage at the bottom and top. (d3d11 is used)
Can you reproduce it?
They look fine here. Doesn't it also happen with FSRCNNX? I think there must be another reason because there is no different element between the two models that can be blamed.

chros
3rd March 2021, 21:07
They look fine here. Doesn't it also happen with FSRCNNX? I think there must be another reason because there is no different element between the two models that can be blamed.
No, only with yours. I'll post the config tomorrow, thanks.

chros
4th March 2021, 21:54
They look fine here. Doesn't it also happen with FSRCNNX? I think there must be another reason because there is no different element between the two models that can be blamed.

No, only with yours. I'll post the config tomorrow, thanks.
Sorry, I remembered wrong :( It has nothing to do with your shaders (also happened with FSRCNNX), it was blur-edges.lua (https://github.com/occivink/mpv-scripts#blur-edgeslua), I disabled it with "active=no" config entry in "blur_edges.conf".

So, which flavour do you prefer out of your AI* shaders?

Alexkral
4th March 2021, 23:14
So, which flavour do you prefer out of your AI* shaders?

I especially like the HQ Sharp. I did it by playing with the image formation, trying to "match" the sharpness of the reference image, hopefully without introducing too much ringing. It needs a clean source though, and it is probably too sharp for 4x in most cases. Anyway I think even the Fast ones look pretty good.

I'm training now the next release, which will include Sharp versions of all the models, all of them faster, with better metrics and with shaders for mpv.

chros
5th March 2021, 00:18
That sounds really interesting, let us know when it's finished.
I have set Medium, it was really fast. I'll give the HQ Sharp a try again.

stax76
9th March 2021, 08:07
& used as a hotkey in input.conf doesn't display in context menu

It was a quirk in the UI framework, now fixed.

I'm using the mpvnet default auto-load-folder feature, is it possible to specify what file extension should be added to the playlist ?
I only want video files added (no images, no audio).

There are new options in the conf editor, see changelog, enter something like 'nothing'. I plan adding soon all mpv.net specific options to the mpv.net manual.

Can mpv.net play youtube clips ? Tried to drop clips into it but nothing happened.

It should work if you have youtube-dl in PATH or startup or system folder or in mpv.conf:

https://mpv.io/manual/master/#options-ytdl-path


Documented in the mpv.net manual here:


Installation:

https://github.com/stax76/mpv.net/blob/master/Manual.md#installation


Menu Item:

https://github.com/stax76/mpv.net/blob/master/Manual.md#open--open-url-or-file-path-from-clipboard


Dropping URL works, just tried it.


New mpv.net build with a few small fixes and improvements:

mpv.net 5.4.8.7 Beta


History feature can be configured to ignore defined strings: script-opt = history-discard=value1;value2
Web stream audio and subtitle track selection, finally.
On Windows 10 1903 and later the default code page was changed to UTF-8.
Support of --version command.
File associations and auto-load-folder can be customized with video-file-extensions, audio-file-extensions and image-file-extensions.
Fix menu not showing key '&'.


I've not updated libmpv since a while, an old one for me is fine, but mpv.net development continues now, will be updated in the next mpv.net beta build, soon.

A fresh libmpv build can be found here:

https://sourceforge.net/projects/mpv-player-windows/files/libmpv

Tracker in case of issues:

https://github.com/mpv-player/mpv/issues

https://github.com/stax76/mpv.net/issues

sarsaK
26th March 2021, 14:38
thank you. I always follow your work with appreciation. health to your mind and hand

stax76
26th March 2021, 15:34
Thanks, today I'm fine, and I'm looking forward to work on mpv.net these weekend.

chros
4th April 2021, 00:10
I'm training now the next release, which will include Sharp versions of all the models, all of them faster, with better metrics and with shaders for mpv.
Thanks, I just noticed that you have finished them, next time drop a line here as well about it :)

I've tried AiUpscale_Fast_Sharp_2x_Photo with 1080p@23p -> 2160p, looks pretty good, slightly faster than the previous Fast version (Medium is already too slow with my underclocked 1060).

What do you think about these settings? (part of autoprofile config)
- the rest of the config is here (https://github.com/chros73/mpv.net-config/blob/master/portable_config/mpv.conf)
- about chroma upscaling: can we use AIUpscale for this as well or KrigBilateral is the best option?
- do you recommend using SSimSuperRes on top of AIUpscale (if it's used)?


[1080p25]
profile-desc=cond:(get("video-params/h", -math.huge)>720 and get("video-params/h", math.huge)<=1080 and get("estimated-vf-fps", -math.huge)>0 and get("estimated-vf-fps", math.huge)<26)
osd-playing-msg='1080p25: ${media-title}'
glsl-shaders-clr
glsl-shader='~~/shaders/KrigBilateral.glsl' # HQ chroma upscaling (that uses luma information for high quality upscaling)
glsl-shader='~~/shaders/AiUpscale_Fast_Sharp_2x_Photo.glsl' # Fast quality AiUpscale image doubling (based on layered convolutional networks)
glsl-shader='~~/shaders/SSimSuperRes.glsl' # Enhancing the selected built-in upscaler (by removing ringing artifacts, restoring original sharpness, etc) if it's used
glsl-shader='~~/shaders/SSimDownscaler.glsl' # HQ perceptually based image downscaling (requires: dscale=mitchell , linear-downscaling=no)
#cscale=bicubic
dscale=mitchell
linear-downscaling=no


And what do you think, can this be integrated into mpcVR? :)

Alexkral
5th April 2021, 06:55
about chroma upscaling: can we use AIUpscale for this as well or KrigBilateral is the best option?

I guess it would be possible to modify the mpv shaders to process chroma, but I think KrigBilateral already does a very good job, and the difference would probably only be noticeable when looking for it.

do you recommend using SSimSuperRes on top of AIUpscale (if it's used)?

madshi advised against this for SuperRes and NGU (see here (https://forum.doom9.org/showthread.php?p=1786603#post1786603)), I'm not sure if SSimSuperRes is the same concept, but I think the same would apply here.

And what do you think, can this be integrated into mpcVR?

Unfortunately in mpc the shaders work in a different way, so it wouldn't be possible to do the same even using a chain of shaders. :(
the rest of the settings seem OK to me.

therube
22nd April 2021, 20:15
RFE:

It would be nice if a video (heh, or even an audio) clip had no audio,
that it would be so marked (somewhat differently from the Mute'd
symbol, so maybe, simply grayed out).

That would make it easier to discern between something that is not
there & something that you just can't hear...

Thank you.

stax76
9th May 2021, 14:56
RFE:

It would be nice if a video (heh, or even an audio) clip had no audio,
that it would be so marked (somewhat differently from the Mute'd
symbol, so maybe, simply grayed out).

That would make it easier to discern between something that is not
there & something that you just can't hear...

Thank you.

You can request OSC improvements here:

https://github.com/mpv-player/mpv/issues


mpv.net 5.4.8.8 Beta

- Improved window scaling.
- Title property implementation.
- Command palette shows commands without assigned menu item.
- The code from the included JavaScript file was ported into the core
player because JavaScript is currently broken in the builds of shinshiro.
- New option `--command=<input command>`, can be used in combination
with `process-instance=single` to control mpv.net via command line,
for instance to create global hotkeys with AutoHotkey.
- New global hotkey feature added using the file global-input.conf.
- The global-media-keys option was removed because global-input.conf
can be used instead.
- MediaInfo 21.3
- libmpv shinchiro 2021-04-04

JKyle
9th May 2021, 19:05
@stax76,

Good to see that you're up and running again. :)

Thanks for the new mpv.net build.

I think it's almost time we updated the bundled version in StaxRip. Maybe it will be the right time when you decide to release a stable build later on.

But I'm already trying out the beta version on StaxRip and haven't found any issues yet. Will report when I find any.

Keep up the good work. :)

Atlantis
10th May 2021, 17:20
Great player. I use MPC-HC. I'm testing mpv.net to see if I switch, however there are 2 major things that is missing.

Jumping to a frame number. Can we do that?
Also not seeing the list of the external subtitles. In the Track it only shows the internal subtitles. It would be great if it showed all the subtitles.

kerimcem
10th May 2021, 21:47
I stopped using madvr and mpc, the mpv image quality is better.


no android remote control app only, I couldn't?
thank you.

Atlantis
11th May 2021, 12:04
I would if at least we could see the list of the external subtitles and also jump to a specific frame. Surprised it doesn't have them.

therube
12th May 2021, 15:31
MPV.NET 5.4.8.9 beta

player 'title bar' (aka Border)
(now) shows clip (Metadata) Title:
rather then the (on disk) filename

earlier versions showed (on disk) filename in the 'title bar'
& the (Metadata) Title: on the /player/ OSC (status bar, if you will)

to me, the former method was desirable
as often disk filename & Title: differed

forinstance:

on disk filename: Rednex - Cotton-Eyed Joe.mp3
OSC (Metadata) Title: 03

if 'title bar' displays, "Rednex - Cotton-Eyed Joe.mp3", you know (pretty much) what you're dealing with
if 'title bar' displays, "03", you're at a dead end
(well, you could check File/Stream Info, or open History, but that's not the point)

if there is no (Metadata) Title:, /then/ MPV.NET 5.4.8.9 displays the (on disk) filename

(maybe there is a '${disk-title}' setting or something like that ?)

Possibly related to:
- Title property implementation

therube
13th May 2021, 20:38
Regarding above...

In mpv.conf, adding:
title = '${filename}'
looks to work.

(I'm not really sure about these things, so while it may "work" it might not be "correct". As in, with that, if you open mpv.net GUI [without a file], the [border] "title" reads, "(unavailable)".)


Ah, adding a colon into the mix fixes that:
title = '${filename:}'

stax76
15th May 2021, 12:17
I think it's almost time we updated the bundled version in StaxRip. Maybe it will be the right time when you decide to release a stable build later on.

Thanks for the feedback JKyle. I'll try to release a new stable this or next month, it's over a year since the last stable, the main reason for that is me working on staxrip all the time. :)

Jumping to a frame number. Can we do that?

I don't think there is an easy way built into mpv to jump to a given frame, the best I've found is documented here:


https://mpv.io/manual/master/#options-start

https://mpv.io/manual/master/#command-interface-seek-%3Ctarget%3E-[%3Cflags%3E]


It's far away from being easy to use. Feel free to request this functionality on the mpv.net issue tracker. I think I'm going to port the new TaskDialog of staxrip to mpv.net, it has an input box, this could be used from an PowerShell script. You could also ask on the mpv tracker or the mpv section on reddit. It's maybe to special/advanced to add the functionality directly to mpv.net, but if I have time I can write a script if you request the feature on the issue tracker.

Also, not seeing the list of the external subtitles. In the Track it only shows the internal subtitles. It would be great if it showed all the subtitles.

You can find an option in the config editor:

Context menu > Settings > Show config editor > Subtitle > sub-auto

https://mpv.io/manual/master/#options-sub-auto

no android remote control app only, I couldn't?
thank you.

Maybe there isn't a remote app.

In mpv.conf, adding:

title = '${filename:}'

That's probably fine unless you watch YouTube, you can show the default like so:

Start mpvnet from terminal, in the onscreen console enter:

print-text ${title}

It prints:

${?media-title:${media-title}}${!media-title:No file} - mpv

butterw2 had requested better title support, I hope he likes it. It wasn't easy writing the pinvoke code required for property expansion.

butterw2
15th May 2021, 13:44
I don't think there is an easy way built into mpv to jump to a given frame, the best I've found is documented here:

https://mpv.io/manual/master/#options-start

https://mpv.io/manual/master/#command-interface-seek-%3Ctarget%3E-[%3Cflags%3E]

It's far away from being easy to use. Feel free to request this functionality on the mpv.net issue tracker. I think I'm going to port the new TaskDialog of staxrip to mpv.net, it has an input box, this could be used from an PowerShell script. You could also ask on the mpv tracker or the mpv section on reddit. It's maybe to special/advanced to add the functionality directly to mpv.net, but if I have time I can write a script if you request the feature on the issue tracker.


@Atlantis you should open a feature request at Github for this:
https://github.com/stax76/mpv.net/issues

Mpc has a "Go to..." Hotkey/Menu Command which displays the current time in a text entry, it can then be copied, or pasted to go to a specific time. It's a useful feature, but it only makes sense in a player with a GUI which base mpv doesn't have (but mpv.net does).
You mention frame number. Mpv (like ffmpeg) is based on time.The correspondance between the two is simple enough if the framerate is constant (ex: 30fps), but many videos (from smartphones, web videos) now have (slightly) variable frame-rate.
Regardless, you should also be aware that seeking cannot be guaranteed to be frame-accurate in Directshow players (seeking could be a couple frames off the desired timestamp). In mpc, it should work ok as long as you stick to seeking to keyframes. Mpv isn't based on Directshow so may perform better here.



${?media-title:${media-title}}${!media-title:No file} - mpv

butterw2 had requested better title support, I hope he likes it. It wasn't easy writing the pinvoke code required for property expansion.
Thanks, I'll check it out.

stax76
16th May 2021, 04:33
I've created now a private to-do list for mpv.net, so people can also make requests here at Doom9.


Goals
-----

- If possible and not too hard implement features mpv, Windows 7, Mac and Linux compatiple


High Priority
-------------

- Tag issues on the tracker
- Important issues on the tracker
- Release stable Version
- External subtitles are shown in the OSC but not in the context menu


Medium Priority
---------------

- Android remote app
- Jumping to a frame number


Low Priority
------------

- Show filename instead of clip metadata in title bar? https://forum.doom9.org/showpost.php?p=1942723&postcount=392

stax76
29th May 2021, 11:43
mpv.net 5.4.9.0


`window-scale 1` does not work correctly in mpv, so I've removed support for it and added my own implementation: `script-message mpv.net window-scale`.
The CS-Script library was replaced with my own C# scripting implementation.
If a player window border is near to a screen border and the window size changes, the player windows sticks to that near screen border location. Furthermore, the `remember-window-position` option remembers a near screen border position instead of remembering the window center position.
Multi monitor fix using different DPI values.
`start-size` option has new options, see config editor and manual.
Improved `script-message mpv.net cycle-audio` OSD info.
The logic for finding the config directory has changed, see manual.
The dotnet script and extension host was a little redesigned, this breaks backward compatibility unfortunately, but I can help to fix existing open source code. Example scripts and extensions were updated.
Fix console not working due to incorrect mpv.conf value generated (script-opts=console-scale=0).
Settings are stored in the file settings.xml now instead of the Registry.
Video rotation support added.
After using the config editor it's no longer necessary to restart mpv.net.
Improved input editor theming.

brad86
30th May 2021, 10:29
Hi guys, I was just wondering what settings would give me motion smoothness as good as MadVR's Smooth Motion option. I do not set separate refresh rates, so a good motion smoothness is essential for me. I currently have all the scaling options set to oversample, and video-sync set to display-resample, but It looks off to me, so I'm pretty sure I don't have the right settings to achieve what I am after.

Also, is it possible to set two audio outputs at the same time ? - For instance, one via the Realtek audio outs on my motherboard, and the other from the Nvidia HDMI out of my GPU.

sarsaK
31st May 2021, 14:21
Thank you so much.

brad86
2nd June 2021, 11:01
Found a solution to my dual audio output question. I set up a quick output cycle in the input config. Works great.

Also spent a bit of time researching and testing motion interpolation, and I think oversample is currently my preferred method. Other methods blur too much, and I absolutely hate that. Makes everything look like shit, imo. Oversample doesn't remove all judder, but it is the best for me. I haven't been able to achieve MadVR's Smooth Motion setting, which I think looks better than anything else, but I'm happy enough with the results here, for now.

One thing I'm not too sure about is how HDR tone-mapping compute-peak screws up highlights on Mad Max 4. Outside that, I don't see tone-mapping in general looking worse than MadVR's. Not to my eyes, anyway.

Here's an example of the highlight issue in Mad Max with compute peak on;

https://i.ibb.co/rM44RZC/mpv-shot0001.png

chros
2nd June 2021, 13:47
Don't judge it based on MMFR, it's a shitty grade, can peak around 9000 nits and the mastering monitor was 4000 :) Some special treatment was applied in madvr exactly beacuse of this, but it can screw up other things.

brad86
2nd June 2021, 14:19
Don't judge it based on MMFR, it's a shitty grade, can peak around 9000 nits and the mastering monitor was 4000 :) Some special treatment was applied in madvr exactly beacuse of this, but it can screw up other things.

Thanks for the explanation. Indeed, outside of Mad Max mpv has been handling HDR material really well. Blade Runner 2047 and the recent Speed UHD look fantastic.

therube
2nd June 2021, 16:11
MPV.NET 5.4.9.0

Some really nice additions/fixes are in 5.4.9.0:
MANY of which i had come across this weekend & was going to suggest changes for.
well done. thank you.

---

DONE (basically) in 5.4.9.0
[would be nice to have command-line option to not display Setup dialog on the start
of a new Profile] :-)

DONE (basically) in 5.4.9.0
[if you use MPV_HOME,
HKEY_CURRENT_USER\Software\mpv.net\recent
still gets updated
so 1 Profile may see Recent files from an entirely different Profile depending on
how/if/when a particular Profile may have been exited] :-)

DONE (basically) in 5.4.9.0 (simply by using /portable_config/)
(if it were me, i'd prefer settings in a simple .ini file, with the Windows Registry not used at all...)

---

RFE: user.conf:
a place to hold user set preferences
such that if placed into portable_config
they override existing mpv.conf/input.conf/mpvnet.conf settings
(might be some facility there already? i need to look further...)

---

history.txt:
is there a minimum file size (or some other determining factor) for which history.txt
is not updated for particular file(s)?
- like if i throw (drag & drop) a directory of files into mpv.net, files ranging
in length between 0:10 to 1.34.23
no. it is not length or size alone?
is % of file played a factor?
or how the player is Quit? Or...?
- as it is, something ? either causes a file to turn up in history.txt, or not?

---

typos in manual.md:

< To disable the border property:
< `--no-boder` or `--border=no`
> To disable the border property:
> `--no-border` or `--border=no`

< ### Tools > Command Palette
< Shows the command palette window which allows to quickly find and execute commands and key shortcuts.
> ### Tools > F1 (Command Palette)
> Shows the command palette window which allows to quickly find and execute commands and key shortcuts.

---

Ctrl+p faults. Win7 x64, MPV.NET 5.4.9.0 (portable, using portable_config)
---------------------------
mpv.net
---------------------------
System.IO.FileLoadException: Could not load file or assembly 'System.Management.Automation, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. Strong name validation failed. (Exception from HRESULT: 0x8013141A) File name: 'System.Management.Automation, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' ---> System.Security.SecurityException: Strong name validation failed. (Exception from HRESULT: 0x8013141A) The Zone of the assembly that failed was: MyComputer at mpvnet.PowerShell.InvokeAndReturnString(String code, String varName, Object varValue) at mpvnet.mpvHelp.GetProfiles() in D:\Projekte\CS\mpv.net\src\Misc\Help.cs:line 88 at mpvnet.Commands.Execute(String id, String[] args) in D:\Projekte\CS\mpv.net\src\Misc\Commands.cs:line 49 at mpvnet.CorePlayer.<>c__DisplayClass290_0.<EventLoop>b__2() in D:\Projekte\CS\mpv.net\src\Misc\CorePlayer.cs:line 389 at mpvnet.App.<>c__DisplayClass72_0.<RunTask>b__0() in D:\Projekte\CS\mpv.net\src\Misc\App.cs:line 110
---------------------------
OK
---------------------------


View Show Commands, faults, similarly.
View Show Decoders, faults, similarly.

---

changes made through Input Editor are apt to have changed whitespace
compared to a "default" copy of input.conf
- (& until you realize that) it makes comparison between an "original"
& a modified copy a touch harder
#'s at the top of the file are not indented 1-char
otherwise, there are general spacing differences throughout

(& to top it off, when opened in Vim, if the very first [non-blank] line in the file is a
left justified #... it nicely colorizes all the #'s [including #menu items], heh.
[actually i don't really know the criteria that Vim uses to determine what it does, but...)

---

> OSC visibility -> always
> how to set that as default?
> which .conf file does it go in
> & what is the name/syntax of the particular variable ?

mpv.conf
append (or set)
script-opts = [...whatever...],osc-visibility=always

---

MPV_HOME:
am i correct that %MPV_HOME% is no longer used/needed ?

---

history.txt:
what is the 3rd column?
you have; date | time | ? | path+name

---

when (mpv.net &) a playlist is closed & you reopen mpv.net, & it resumes playback where it left off,
am i correct in understanding that it is that set of GUID files in /watch_later/
that determine which file to restart playback with?
(& in that regard, /i/ would find --write-filename-in-watch-later-config of interest)
(i have a huge playlist, & at some point i realized it restarted from the beginning.
between /watch_later/ & history.txt [& --playlist-start=#] i'm pretty sure i got myself
back on track, err, playlist, correctly)

---

/Setup/:
in Portable (or otherwise, I suppose), is /Setup/ redundant?
in that Tools | Setup... looks to offer the same functionality (from the GUI)
(i suppose "redundant" in the sense that if you weren't scripting, or were not interested
in the underpinnings... IOW, my intent is to make a "portable" of Portable, & for my
needs, if /Setup/ isn't needed, i'll simply leave it out

---

fwiw (my), go_mpv.bat:

set MPV_HOME=%cd%
if exist portable_config goto skipMD:
md %MPV_HOME%\portable_config

:skipMD

if exist mpvnet.exe goto runmpv:
\bin\ln -r C:\WLIB\PLAYERS\MPV.NET_SOURCE .

:runmpv
cmd /c start "" mpvnet.exe --write-filename-in-watch-later-config
set MPV_HOME=
exit

(ln is hermann schinagl's link command.
As is, you can't call, i don't think, mpvnet.exe from a "foreign" directory (like C:\WLIB\PLAYERS\MPV.NET_SOURCE)
& have it store it's Profile, elsewhere (like in the current directory, . , in my example. [it would be nice...]
- though setting up a hardlink looks to work just fine.
Within C:\WLIB\PLAYERS\MPV.NET_SOURCE, i have /portable_config/, & within that, mpvnet.conf with: process-instance = multi
[i just need to be careful that i don't actually modify/delete any of these files, in particular in
/portable_config/ - because they hardlinks & changes in 1 place will change them, everyhere [linked].
i guess that's not really a good way to do it, for mpvconf.net, & i'll probably create it, directly
- not linked, in my batch file...

> if exist mpvnet.exe goto runmpv:
> \bin\ln -c C:\WLIB\PLAYERS\MPV.NET_SOURCE\portable_config .\portable_config
> \bin\ln -r C:\WLIB\PLAYERS\MPV.NET_SOURCE .

-c is a copy, copy /portable_config/ contents are copied
& the MPV.NET program parts itself are hardlinked)

therube
7th June 2021, 16:22
Playlist Fails To Advance Automatically

- this appears to be an issue with mpv itself, not necessarily mpv.net


behavior diff between 5490 & 5480
where, at times, sometimes, 5490
fails to begin playback of the next file in the playlist
(either by drag & drop or by playlist, m3u, pls...)

ordering may be pertinent?
active inaction by the user is important in seeing this
(iow, you don't want to be moving the mouse within the Player's space...)

both mpv.com/mpv.exe & mpvnet fail (with failing versions)
on a fail version, mpv.com, mpv.exe, mpvnet.com, mpvnet.exe all fail similarly,
with GUI or not, with Console display or not.


mpv 032 works
mpvnet 5480 (uses dll.032) works

mpv 033 fails
mpvnet 5490 (uses dll.033) fails (both dll 033.046 & 033.107 [& also 033.178] fail)


modifing the files (my test files) by copying or transcoding, still fails.

ffmpeg -i xxx.mp3 -c copy out.mp3
(a simple COPY sometimes "rights" an issue) - no change
ffmpeg -i xxx.mp3 copy out.mp3
(actually TRANSCODING [re-encoding]) - no change

playing with any number of (mpv) command-line options (not that i particularly knew what they did,
or what a particular parameter to it might do?) - no change

disabling "thumbnail" display --no-audio-display - no change


the order of the files in the "playlist" can affect things
like in order to fail, you must play 1 then 2. where if you played 2 then 1, it (might) work.

similarly you do NOT want to be interacting with the Player. drag the files in (or give it
the playlist, or whatever), & then either move away from Player, or simply do nothing (i.e.
don't move mouse or do any key actions).

on a fail, where playback pauses, you don't need to necessarily do anything to the Player
to cause playback to resume. you could alt+TAB away, then right back, & playback will
start. you can move your magic wand (mouse cursor) OVER the Player window, & that too
is sufficient to start playback. (iow, you don't actually even have to 'click' into the
Player.)

/sometimes/, a fail works, & a works fails.
but must often, results are consistent. a fail fails, & a works works.

using 'portable_config', fresh except for 'process-instance = multi', matters not

in mpv (with time set to display), on a "fail" (i.e., where the next file in sequence
does not automatically play) there is a clock-like icon that shows beside the time
indicator. not sure what that signifies?


using 5490 with 5480's (mpv-1.dll) 0.32.dll, works.

sometimes, i've seen, 'Audio device underrun detected.' with that combo
though every so often i'll see that in any particular version

anyone else seeing this?
ideas? possible work around?


(as is, for my "audio" Profile, i'm using mpv.net 5490 & mpv-1.dll (0.32) from 5480.)
(for me, this definitely exits with audio files. i've not paid particular attention to video files, so not sure there?)
(Win7 x64, mpv 033, mpv.net 5490)
(this does not occur with all files, only some, or at least with some combination or maybe it is some ordering of files.)


TRIPLE is the playlist, the other 3 files contain mp3's (george, also has a few screenshots) that match up with the playlist.
Throw it all into a single directory, drag the playlist into mpv.net, & see if it plays 1 2 3 or if it plays 1 pauses 2 3.


mpv bug report, Playlist fails to automatically play next file in sequence - sometimes. #8904 (https://github.com/mpv-player/mpv/issues/8904).
.

therube
11th June 2021, 16:44
If a player window border is near to a screen border and the window size changes, the player windows sticks to that near screen border location. Furthermore, the `remember-window-position` option remembers a near screen border position instead of remembering the window center position.
I find that very useful.

Though I'll note that there is a potential "flash" of the player window every time a new video clip is loaded.

Maybe ? it is that the player is resetting to W H from settings.xml, or, maybe something with that 1.2 --minimum-aspect-ratio?

And you'll get that flash even with same sized consecutive clips.

(oh, really babbling now...)

Maybe, something like --frames=0, could be used to gather the frame size of the next video in the playlist, & if that next frame size = current_frame_size, avoid the resize (flash)?

Are you using --snap-window here, or did you use your own function?

therube
11th June 2021, 16:51
https://forum.doom9.org/showthread.php?p=1936654#post1936654
If you speed up the playback of a file (the, ']' key), the time remaining display displays the time left to play the file - at the current speed, rather then the remaining time left position in the file.

Like if you have a 10:minute file, you start playback, time remaining shows -10:00..-9.59..., you then set playback speed to 2x (2.00), at that point, the time remaining count(down) takes the speed factor into consideration, so it displays something like -4.55..-4.54...

There seems to be two settings, in that regard:

playtime-remaining & time-remaining (which is scaled by the current speed)

What I saw seemed to imply that playtime-remaining is what "should" be displayed, but what (seems to be) displayed is time-remaining?

Is there a setting or override that one could set to change the behavior so that playtime-remaining displayed instead of time-remaining?

therube
11th June 2021, 16:57
The boxvideo setting sounds interesting.
How does one, or can one implement it in some way?

Something like:

B cycle boxvideo

I tried that in input.conf, but it doesn't fly.

I like to have OSC always.
Though sometimes, OSC gets in the way of something I might want to see, like if subs were at the very bottom.
Now, I could (& do) cycle OSC through DEL (key), but I figured that if I could cycle boxvideo, that would be even better.

stax76
23rd June 2021, 06:47
The boxvideo setting sounds interesting.
How does one, or can one implement it in some way?

It's not possible to change OSC options at runtime. You can change it at load time in mpv.conf:


script-opts = osc-scalewindowed=1.5,osc-hidetimeout=2000,osc-boxvideo=yes


I tried osc-boxvideo=yes, and it generally doesn't seem to work.

Is there a setting or override that one could set to change the behavior so that playtime-remaining displayed instead of time-remaining?

The OSC has a timetotal setting:

https://mpv.io/manual/master/#on-screen-controller-timetotal

But I think your issue requires fixing the built-in script OSC.lua.


Though I'll note that there is a potential "flash" of the player window every time a new video clip is loaded.

Maybe ? it is that the player is resetting to W H from settings.xml, or, maybe something with that 1.2 --minimum-aspect-ratio?

And you'll get that flash even with same sized consecutive clips.


It's not reproducible here, maybe you can try to record it.

https://www.screencastify.com

Are you using --snap-window here, or did you use your own function?

Anything window related requires a dedicated implementation in mpv.net because mpv.net uses an own window implementation.

Playlist Fails To Advance Automatically

- this appears to be an issue with mpv itself, not necessarily mpv.net

I use keep-open=always, so wouldn't notice.

---------

There is a new Beta version available, I could not address all open requests on the issue tracker but at least a few:

5.4.9.1

- Fix exception using named pipes.
- The mpv window property keepaspect-window was implemented.
- Everything search removed to keep the core player lightweight, it might come back as user script or extension.
- The command palette is integrated into the main window.
- Playlist is shown with the command palette and not using the OSD.
- New media info command: `Ctrl+m script-message mpv.net show-media-info #menu: View > Show Media Info`
- Context menu font render quality fix.
- Context menu and `cycle-audio` command supports external audio and subtitle tracks.
- Fix window size not being saved.
- libmpv shinchiro 2021-06-20

I hope it's useful and stable.


Unrelated things I worked on recently are:

https://stax76.github.io/frankskare

https://github.com/stax76/pwgen

brad86
25th June 2021, 08:15
Having an issue with Windows Media Video files. Seems to only affect those encoded with the advanced profile.

https://i.ibb.co/mbZSMyS/Untitled.png

If I change from NVDEC to CUDA, the image works fine, but performance is slightly higher, and I need that for downsampling 4K HDR videos. Seeking is also broken with most WMV files I tried.

pirlouy
25th June 2021, 20:48
There's a good chance it's not a mpv.net bug but mpv in general.
But as always, you should upload (a sample of) the video to confirm the problem is not linked to your config.

brad86
27th June 2021, 10:56
There's a good chance it's not a mpv.net bug but mpv in general.
But as always, you should upload (a sample of) the video to confirm the problem is not linked to your config.

It's not linked to my config, as it happens on freshly generated default config once NVDEC is selected as the decoder. CUDA works fine, but I wish to use NVDEC as the requirements aren't as high for my machine. Switching between then every time I want to watch a wmv file will be a nuisance.

I'm not uploading a sample video, as it is rather pointless considering anyone can just play an advanced profile wmv and get the same issue themselves.

therube
2nd July 2021, 15:52
considering anyone can just play an advanced profile wmv and get the same issue themselves
That assumes one knows what an "advanced profile wmv" is?

As it is, I don't, but I do have some wmv's that don't "play" in mpv.
Took a look at a couple, & the particular files showed 2 video tracks (2 & 3 as it was), & mpv was defaulting to play 2. 2, I'm not quite sure what it is, but I gather it is "bogus" (size was not large enough for it to be anything but, bogus). If I changed to 3, it then played in mpv. (Other players just played the file without having to manually select 3.)

Anyhow...

therube
2nd July 2021, 15:55
5491 Portable
Win7 x64

---

C, Show Commands, generates a fault

---------------------------
mpv.net
---------------------------
System.IO.FileLoadException: Could not load file or assembly 'System.Management.Automation, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. Strong name validation failed. (Exception from HRESULT: 0x8013141A) File name: 'System.Management.Automation, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' ---> System.Security.SecurityException: Strong name validation failed. (Exception from HRESULT: 0x8013141A) The Zone of the assembly that failed was: MyComputer at mpvnet.PowerShell.InvokeAndReturnString(String code, String varName, Object varValue) at mpvnet.Commands.ShowCommands() in D:\Projects\CS\mpv.net\src\Misc\Commands.cs:line 327 at mpvnet.Commands.Execute(String id, String[] args) in D:\Projects\CS\mpv.net\src\Misc\Commands.cs:line 38 at mpvnet.CorePlayer.<>c__DisplayClass294_0.<EventLoop>b__2() in D:\Projects\CS\mpv.net\src\Misc\CorePlayer.cs:line 404 at mpvnet.App.<>c__DisplayClass75_0.<RunTask>b__0() in D:\Projects\CS\mpv.net\src\Misc\App.cs:line 112
---------------------------
OK
---------------------------

show decoders generates a fault

---------------------------
mpv.net
---------------------------
System.IO.FileLoadException: Could not load file or assembly 'System.Management.Automation, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. Strong name validation failed. (Exception from HRESULT: 0x8013141A) File name: 'System.Management.Automation, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' ---> System.Security.SecurityException: Strong name validation failed. (Exception from HRESULT: 0x8013141A) The Zone of the assembly that failed was: MyComputer at mpvnet.PowerShell.InvokeAndReturnString(String code, String varName, Object varValue) at mpvnet.mpvHelp.GetDecoders() in D:\Projects\CS\mpv.net\src\Misc\Help.cs:line 143 at mpvnet.Commands.Execute(String id, String[] args) in D:\Projects\CS\mpv.net\src\Misc\Commands.cs:line 40 at mpvnet.CorePlayer.<>c__DisplayClass294_0.<EventLoop>b__2() in D:\Projects\CS\mpv.net\src\Misc\CorePlayer.cs:line 404 at mpvnet.App.<>c__DisplayClass75_0.<RunTask>b__0() in D:\Projects\CS\mpv.net\src\Misc\App.cs:line 112
---------------------------
OK
---------------------------

show playlist (F8), which I assume you exit via ESC ?, when you exit via ESC, generates a fault

---------------------------
mpv.net
---------------------------
System.NullReferenceException: Object reference not set to an instance of an object. at System.Windows.Forms.Integration.ElementHost.ProcessCmdKey(Message& msg, Keys keyData) at System.Windows.Forms.Control.PreProcessMessage(Message& msg) at System.Windows.Forms.Control.PreProcessControlMessageInternal(Control target, Message& msg) at System.Windows.Forms.Application.ThreadContext.PreTranslateMessage(MSG& msg)
---------------------------
OK
---------------------------

show profiles generates a fault

---------------------------
mpv.net
---------------------------
System.IO.FileLoadException: Could not load file or assembly 'System.Management.Automation, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. Strong name validation failed. (Exception from HRESULT: 0x8013141A) File name: 'System.Management.Automation, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' ---> System.Security.SecurityException: Strong name validation failed. (Exception from HRESULT: 0x8013141A) The Zone of the assembly that failed was: MyComputer at mpvnet.PowerShell.InvokeAndReturnString(String code, String varName, Object varValue) at mpvnet.mpvHelp.GetProfiles() in D:\Projects\CS\mpv.net\src\Misc\Help.cs:line 131 at mpvnet.Commands.Execute(String id, String[] args) in D:\Projects\CS\mpv.net\src\Misc\Commands.cs:line 48 at mpvnet.CorePlayer.<>c__DisplayClass294_0.<EventLoop>b__2() in D:\Projects\CS\mpv.net\src\Misc\CorePlayer.cs:line 404 at mpvnet.App.<>c__DisplayClass75_0.<RunTask>b__0() in D:\Projects\CS\mpv.net\src\Misc\App.cs:line 112
---------------------------
OK
---------------------------

ESC from F1 generates a fault

---------------------------
mpv.net
---------------------------
System.NullReferenceException: Object reference not set to an instance of an object. at System.Windows.Forms.Integration.ElementHost.ProcessCmdKey(Message& msg, Keys keyData) at System.Windows.Forms.Control.PreProcessMessage(Message& msg) at System.Windows.Forms.Control.PreProcessControlMessageInternal(Control target, Message& msg) at System.Windows.Forms.Application.ThreadContext.PreTranslateMessage(MSG& msg)
---------------------------
OK
---------------------------

therube
2nd July 2021, 15:59
5491 beta


Ctrl+M is nice :-).

Ctrl+M & various other commands generate temporary files in %TMP%
& get cleaned up when mpv.net exits. I guess that's OK.

---

A playlist of 80 K files, while time consuming & resource intensive to load,
does load in F8 successfully, without crashing (which is good ;-)
scrolling through the list, or searching is speedy
(close, ESC, then F8 again, is again, time consuming & resouce intensive)


(F8 in 5490 looks to load a little quicker, but its presence is only
momentary - though it does provide some relative position context)


---


"flickering"
- see video
in this example all the file aspect ratios are /relatively/ the same.
with a more diverse set of files, more diverse a/r's, "flickering" is even more apparent
so if you have a playlist, & F12 through it, the player window is apt to jump around quite a bit
as it goes from 1 video to the next
- in the video, i F12 through it, then Home'd to start it again, F12'ing yet again
(note that even on consecutive videos with the same aspect ration, you still get flicker.
does not seem to happen with audio only files. [perhaps it might if an album cover gets loaded?])

https://drive.google.com/file/d/1JzsV-bmKiGEEy2ocvtisyHvGA4cto0YC/view?usp=sharing

atsukasa
4th July 2021, 06:53
How do I change start-size to always open a video similar to vanillia mpv?
Changing it to other options like video looks similar on widescreen videos like 1920x1080 though not exactly the same fit.

But if I play a vertical format like 1080x1920, there are black bars on a small squarish rectangle window.
While on vanilla mpv, only the vertical video is shown without black bars and fits nearly my full 1080p monitor vertical screen.

I also noticed sometimes when I open a video from file explorer, the player will flash a purple vanilla mpv drag files to play here icon for 1s before the video starts. It happens more often if window-maximized is enabled.

brad86
8th July 2021, 15:55
I know this has been asked numerous times the past year-or-so, but is there really not going to be a basic remember playback position implementation come to light ?
The current one saves setting, windows state, volume, and other annoyances that a lot of users don't want.

therube
8th July 2021, 18:26
if I play a vertical format like 1080x1920, there are black bars
If I had to guess, I'd say:
Config - Screen - Start Size -> video

But that doesn't seem to do it.

And that may have to do with mpv.net itself being a GUI & that the GUI would only diminish so much in size (relative to video aspect ratio)?

Messing around with autofit(s) didn't get me anywhere either.

NanoBot
10th July 2021, 15:46
Hi everybody,

is it possible to assign a specific audio renderer to be used in mpv.net ? E.g. I would like to use the "Sanear Audio Renderer" because it allows me to switch the output device and wasapi exclusive mode during playback.

cvrkuth
14th July 2021, 17:04
Hello guys,

I want to use a simple script "clock.lua" which constantly shows the current time on the lower-left corner of the video screen.
However, I can't bind a key (in MPV work).

Could you provide me some help?

Regards

stax76
18th July 2021, 13:29
"flickering"
- see video
in this example all the file aspect ratios are /relatively/ the same.
with a more diverse set of files, more diverse a/r's, "flickering" is even more apparent
so if you have a playlist, & F12 through it, the player window is apt to jump around quite a bit
as it goes from 1 video to the next
- in the video, i F12 through it, then Home'd to start it again, F12'ing yet again
(note that even on consecutive videos with the same aspect ration, you still get flicker.
does not seem to happen with audio only files. [perhaps it might if an album cover gets loaded?])

I'm not able to reproduce it. Maybe it's related to your files or to your OS setup, your Window chrome looks uncommon. Or maybe it's GPU related.

But if I play a vertical format like 1080x1920, there are black bars on a small squarish rectangle window.
While on vanilla mpv, only the vertical video is shown without black bars and fits nearly my full 1080p monitor vertical screen.

It works that way by design, it can be configured in the conf editor:

screen/minimum-aspect-ratio=0.1

I also noticed sometimes when I open a video from file explorer, the player will flash a purple vanilla mpv drag files to play here icon for 1s before the video starts. It happens more often if window-maximized is enabled.

The vanilla icon is baked into the vanilla osc.lua, a better solution would require modifying osc.lua, it is somehow difficult to fix.

I know this has been asked numerous times the past year-or-so, but is there really not going to be a basic remember playback position implementation come to light ?

In the default input.conf of mpv.net there is:

Q quit-watch-later #menu: Exit Watch Later

https://mpv.io/manual/master/#command-interface-quit-watch-later

If that is not what you want, you can try to find a user script and make a feature request on the mpv and mpv.net issue trackers.

is it possible to assign a specific audio renderer to be used in mpv.net ? E.g. I would like to use the "Sanear Audio Renderer" because it allows me to switch the output device and wasapi exclusive mode during playback.

I don't know much about this topic, the documentation is here:

https://mpv.io/manual/master/#options-audio-device


I want to use a simple script "clock.lua" which constantly shows the current time on the lower-left corner of the video screen.
However, I can't bind a key (in MPV work).

Could you provide me some help?

If your key binding is in the script, it will not work by design or missing libmpv functionality, but you can create a binding in input.conf

It can now be found in the manual:

https://github.com/stax76/mpv.net/blob/master/docs/Manual.md#scripting-limitations-lua-and-javascript

brad86
18th July 2021, 16:47
If that is not what you want, you can try to find a user script and make a feature request on the mpv and mpv.net issue trackers.


It is not. This is the default action that myself and many others have mentioned often in the issue tracker. This method remembers screen size/state, current volume levels, and many other settings for that individual video. Most of us just want a simple playback position remembered, with none of the other stuff.

stax76
18th July 2021, 21:39
It is not. This is the default action that myself and many others have mentioned often in the issue tracker. This method remembers screen size/state, current volume levels, and many other settings for that individual video. Most of us just want a simple playback position remembered, with none of the other stuff.

I'm sorry, it's not something I've interest to build.

The only related script I found is this:

https://github.com/NurioHin/mpv-bookmarker

cvrkuth
27th July 2021, 14:18
If your key binding is in the script, it will not work by design or missing libmpv functionality, but you can create a binding in input.conf

It can now be found in the manual:

https://github.com/stax76/mpv.net/blob/master/docs/Manual.md#scripting-limitations-lua-and-javascript

I don't get it ... Tried to edit input.conf and put in last line this:
"h script-binding clock/show-clock"

What I am doing wrong here!?

KrazyLurt
27th July 2021, 16:11
For me, this (in osd-clock.lua) works:
-- defaults
local cfg = {
interval = '9999h',
format = "%H:%M",
duration = 2.5,
key = 'h',
name = 'show-clock'
}

cvrkuth
27th July 2021, 16:30
For me, this (in osd-clock.lua) works:
-- defaults
local cfg = {
interval = '9999h',
format = "%H:%M",
duration = 2.5,
key = 'h',
name = 'show-clock'
}

Trying to use the same script ... strange, it does not work here. Do you have Windows? Did you edit the input.conf file?

stax76
28th July 2021, 12:15
@brad86

There was a commit addressing the issue:

https://github.com/mpv-player/mpv/commit/1d1d1fbff9648e9adf7acf571514abf618ffc40f


@cvrkuth

If your script file is called osd-clock.lua, then your binding becomes:

h script-binding osd_clock/show-clock


Here is a guess:

It's an implementation detail and has something to do with almost all programming languages do not support Hyphen (minus sign) in function and variable names, as a workaround underscore is typically used instead.

The only language I know supporting Hyphen in function names is PowerShell.

cvrkuth
28th July 2021, 13:43
It's an implementation detail and has something to do with almost all programming languages do not support Hyphen (minus sign) in function and variable names, as a workaround underscore is typically used instead.

The only language I know supporting Hyphen in function names is PowerShell.

That is true, problem solved.

Thanks!

therube
29th July 2021, 16:05
If you set, (b)order:no, how do you drag, move, resize the player (other then being able to put it into fullscreen [& of course, setting border:yes])?

therube
29th July 2021, 16:09
Track (menu item)

Somehow ? audio can become deselected
& with that audio, is then "muted".

- This is different from Mute (in that Mute, UnMute, has no affect).

And with that, you simply do not get audio (presumably in that /session/ ?) unless you, Track (menu item), & "select" the audio track.


(I haven't been able to manually deselect audio or video from, Track (menu item), so not sure how I got into that situation, but I did.)

stax76
29th July 2021, 20:13
If you set, (b)order:no, how do you drag, move, resize the player (other then being able to put it into fullscreen [& of course, setting border:yes])?

Moving works with the left mouse button with and without border. Resize without border in mpv.net works only via shortcut key (Alt++ and Alt+-), because the Windows API does not provide a built-in mouse resize feature for borderless forms, I think. It works in mpv, I believe mpv has an implementation for it. It's not something I have interest to build unless a lot of people request it on the issue tracker.

Somehow ? audio can become deselected

aid=no generally is possible according to the mpv manual. But I don't know how to get there without running 'set aid no' by intend. I've never experienced this.

brad86
3rd August 2021, 19:48
Was just about to watch the new F&F film, and something is seriously wrong with the HDR handling. Not sure what is going on.

https://i.ibb.co/g4DxK5C/mpv-shot0001.png

chros
3rd August 2021, 19:57
Maybe it was DoVi? :)

brad86
3rd August 2021, 20:07
DoVi ?

EDIT: Silly me. Dolby Vision.

Not compatible with MPV then ?

JKyle
3rd August 2021, 22:43
It must be Dolby Vision Profile 5.

https://avdisco.com/uploads/default/original/1X/34572c0b9749856ee22c4a19032f55dc72e2604e.png

Profile 5 is playable on only Dolby Vision enabled devices. So it cannot be played properly on open source players like mpv, mpc, etc. The tonemapping is really weird if the Dolby Vision dynamic metadata is not properly parsed and applied by the player.

This is true even if you force-put HDR10-like metadata (SMPTE 2086) in the video stream by re-encoding or if you tonemap the Profile 5 source video down to SDR following the standard methods.

chros
3rd August 2021, 22:51
It's not just the metadata and tonemapping, but the colorspace is also different, as it's shown in the table.

brad86
4th August 2021, 07:54
@brad86

There was a commit addressing the issue:

https://github.com/mpv-player/mpv/commit/1d1d1fbff9648e9adf7acf571514abf618ffc40f


Looks to be exactly what I am after, thanks.
How does one go about using this, though ?

therube
4th August 2021, 17:53
(Win7. Not sure what happens in Win10 with LFN "enabled" in the OS?)

if you open a LFN (say a 255 chars name part [which you can do with drag&drop from Everything (https://www.voidtools.com/) [might need 1.5alpha, not sure?])
MPV.NET opens & plays the file just fine, but cannot "stat" it, Ctrl+M

(in a case like this, what is drag&drop'd is the SFN of that LFN'd file
i, Info, shows SFN
F8, shows SFN
though Ctrl+M is ineffective, nothing [seemingly] happens
[i suppose you're sending the LFN to MediaInfo in order to stat the file, but MediaInfo isn't "LFN aware".])

stax76
8th August 2021, 14:53
Looks to be exactly what I am after, thanks.
How does one go about using this, though ?

The documentation for it can be found here:

https://github.com/mpv-player/mpv/blob/master/DOCS/man/options.rst

Search for watch-later-options.

watch-later-options can be found in the mpv.net conf editor, for instance enter: start

Then only the start property is saved and restored.

Win7. Not sure what happens in Win10 with LFN "enabled" in the OS?

It works fine in Windows 10 with long path enabled. I only use API features that are available in Windows 7 to ensure Windows 7 compatibility, but actually setting up a Windows 7 debug environment is not something I would invest time for, too difficult anyway.

Maybe use an external app like so:

Ctrl+M run Z:\MediaInfo.NET\MediaInfoNET.exe "${path}" #menu: Tools > Open file with MediaInfo.NET


There is a new mpv.net beta release:

5.4.9.2 Beta (2021-08-08)

- Manual translated to simplified Chinese. (hooke007)
- watch-later-options support added to conf editor. (hooke007)
- Showing the playlist selects the currently played file/stream in the playlist.
- Properties are shown in the command palette instead of the text editor making it very easy to find a property and show/print its value.
- Support for --keep-open=no.
- Profile selection in the context menu.
- Use defaults in case settings.xml fails loading (not reproducible).
- conf editor support for keepaspect-window.
- Drawing flicker in the command palette was fixed.
- Saving window size and position was fixed.
- Some scroll bars were replaced with Windows 10 styled scroll bars, complex code used from HandyControl project.
- Some UI elements use rounded corners.
- The recent list can also be shown in the command palette: Alt+r script-message mpv.net show-recent #menu: View > Show Recent
- The recent context menu removes the folder info in case of very long paths.
- libmpv shinchiro 2021-08-01

brad86
8th August 2021, 22:44
Those watch later options are exactly what I was after. Thanks :)

brad86
9th August 2021, 08:45
Think I found a bug in the newest build.
Whenever I come out of fullscreen mode, mpv disappears to the task bar and does not come back when clicked on.

therube
9th August 2021, 17:33
Whenever I come out of fullscreen mode, mpv disappears to the task bar and does not come back when clicked on.
Cannot confirm, Win7 (non-aero).

therube
9th August 2021, 17:39
(Win7)

Showing the playlist selects the currently played file/stream in the playlist.
F8 (also via menu) looks to be ineffectual, Win7.
The recent list can also be shown in the command palette: Alt+r script-message mpv.net show-recent #menu: View > Show Recent
Shortcut looks to be ineffectual. And on my end looks to be, #menu: Open > Recent

stax76
9th August 2021, 20:05
@therube

It's required to reset input.conf, or update it manually, here are the defaults:

https://github.com/stax76/mpv.net/blob/master/src/Resources/input.conf.txt

therube
10th August 2021, 19:02
It's required to reset input.conf, or update it manually
Ah, that's got it, thanks :-).

stax76
22nd August 2021, 23:50
No problem.

After a longer coding session, I was able to port the WPF based context menu of the HandyControl project. The main reason I did this was rounded corners. There are a lot of more UI improvements and new png and webp screenshots here:

https://github.com/stax76/mpv.net


mpvnet 5.4.9.3 Beta

- Leaving fullscreen using keepaspect-window=no restores the correct size.
- Major UI rework!
- libmpv shinchiro 2021-08-15


Sorry if it works not correctly on Win 7, if that's true, then it can probably be fixed, please make a bug report in that case.

I'm happy how things went with the player, for some time I was thinking to do a Python script host, or Linux support or a WinUI port which would be the end of Win 7 support, but I don't think I do any of this but rather do something unrelated.

therube
23rd August 2021, 19:58
Sorry if it works not correctly on Win 7
Quick look looks good :-).

Actually, it isn't.

Start mpv.net


Show Commands, errors
Show Decoders, errors

Show Playlist, isn't doing anything, no, actually it errors
(this is starting with an empty, /portable_config/)

System.NulReferenceException: Object reference not set to an instance of object.
Once that happens, any focus away, focus back (to mpv.net) results in that message (re)appearing (until mpv.net is closed & reopened).

Show Profiles, errors

Show Properties, errors
Once that happens, any focus away, focus back (to mpv.net) results in that message (re)appearing (until mpv.net is closed & reopened).

Show Recent, errors
Once that happens, any focus away, focus back (to mpv.net) results in that message (re)appearing (until mpv.net is closed & reopened).

Command Palette, errors
Once that happens, any focus away, focus back (to mpv.net) results in that message (re)appearing (until mpv.net is closed & reopened).


Once that happens, any focus away, focus back (to mpv.net) results in that message (re)appearing (until mpv.net is closed & reopened).

And with that, even something like advancing through the timeline (arrow-keys), each arrow-key click causes that popup message.

(I've got another Win7 I can look at, but that won't be till tomorrow at the earliest.
I'm on, & use, Win7.)

stax76
23rd August 2021, 21:29
There is not a full stack trace? On the terminal, maybe?

therube
23rd August 2021, 21:41
Oh...

Starting from mpvnet.com, while some things (like F8) still fail, it is "silent", i.e., there is no (re-occurring) error message(s) displayed.

Microsoft Windows [Version 6.1.7601]

C:\mpv.net>mpvnet.com
(+) Audio --aid=1 (mp3 2ch 44100Hz)
AO: [wasapi] 48000Hz stereo 2ch float
A: 00:00:01 / 01:19:40 (0%)
[input] No key binding found for key 'MBTN_LEFT'.
[mpv.net] System.ComponentModel.Win32Exception (0x80004005): Error creating wind
ow handle.
at System.Windows.Forms.NativeWindow.CreateHandle(CreateParams cp)
at System.Windows.Forms.Control.CreateHandle()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.ControlCollection.Add(Control value)
at System.Windows.Forms.Form.ControlCollection.Add(Control value)
at mpvnet.MainForm.ShowCommandPalette() in D:\Projects\CS\mpv.net\src\Misc\Ma
inForm.cs:line 1146
at mpvnet.Commands.ShowPlaylistInternal() in D:\Projects\CS\mpv.net\src\Misc\
Commands.cs:line 411
[mpv.net] System.NullReferenceException: Object reference not set to an instance
of an object.
at System.Windows.Forms.Integration.ElementHost.Select(Boolean directed, Bool
ean forward)
at System.Windows.Forms.Form.set_Active(Boolean value)
at System.Windows.Forms.Form.WmActivate(Message& m)
at mpvnet.MainForm.WndProc(Message& m) in D:\Projects\CS\mpv.net\src\Misc\Mai
nForm.cs:line 876
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr
wparam, IntPtr lparam)

[input] No key binding found for key 'MBTN_LEFT'.


And from the GUI itself (starting from mpvnet.exe), Console doesn't show anything either.
(Open a file, hit F8, focus away, focus back.)


Also, I hadn't realized that these issues do not look to occur on Win10.

Dotnet 4.8 on Win7.

stax76
24th August 2021, 07:32
@therube

I've uploaded a new build and hope that it works now on Windows 7. This build disables code used for rounded corners in the command palette.

therube
24th August 2021, 16:06
5.4.9.4
I've uploaded a new build and hope that it works now on Windows 7.
(With a quick look), yes, that's better :-).

F8 opens as expected.

(Now I still get an error message when I ESC F8, but that has long been the case.
Similarly, I'll assume that I'll still get the other same errors that I've come across over time...


Microsoft Windows [Version 6.1.7601]

C:\mpv.net.5494>mpvnet
Behavior of playlist-pos when writing the same value will change (currently restarts, it will stop doing this).
(+) Audio --aid=1 (mp3 2ch 44100Hz)
AO: [wasapi] 48000Hz stereo 2ch float
A: 00:00:01 / 01:19:40 (0%)
[input] No key binding found for key 'MBTN_LEFT'.
[mpv.net] System.NullReferenceException: Object reference not set to an instance
of an object.
at System.Windows.Forms.Integration.ElementHost.ProcessCmdKey(Message& msg, Keys keyData)
at System.Windows.Forms.Control.PreProcessMessage(Message& msg)
at System.Windows.Forms.Control.PreProcessControlMessageInternal(Control target, Message& msg)
at System.Windows.Forms.Application.ThreadContext.PreTranslateMessage(MSG& msg)



I'll test further...

[With 5.4.9.3, on my other Win7 system, it had the same issues as reported yesterday & the same relative lack of information from Console.])

stax76
24th August 2021, 16:45
Doing something against that would be too difficult, I'm afraid. It would be helpful if another Win 7 user can confirm that the command palette cannot be closed on Win 7.

therube
27th August 2021, 19:41
Win7.
5.4.9.4 looks to be working well. (As well as any earlier version, discounting 5.4.9.3.)

F8.
I've looked at 3 separate Win7 systems & the all exhibit the same behavior, (Error) on ESC-ing F8.

stax76
27th August 2021, 20:01
It will take some weeks until I get access to a Win 7 system.

stax76
28th August 2021, 11:56
I did some research, it's a bug in the .NET Framework described here:

https://github.com/dotnet/wpf/issues/898

https://github.com/dotnet/wpf/issues/649

It was fixed and distributed via Windows Update, and apparently Windows 7 is not receiving the fix!

I tried to understand and workaround the issue, v5.4.9.7 Beta is online, I hope it works on Windows 7 as well!

therube
31st August 2021, 19:13
Cool beans!
With a 1 moment look, I'd say with 5.4.9.7 you've got it :-).

Thank you.

I'll give it flogging later...



(Oh, I'll just mention...
With 5.4.9.6, of late, I've been doing a lot of drag&drop of individual files (from Everything, generally) into mpv.net.
Most times, the clips start (auto)playing as expected.
Though sometimes it goes into a "pause" mode, where I actually have to hit the play button for it to start.
And it could be something like: play, play, play, pause, play, play, play. So rather random.
Haven't put my finger on just what is going on... yet.)

therube
1st September 2021, 16:25
Oh, I'll just mention...
With 5.4.9.6, of late, I've been doing a lot of drag&drop of individual files (from Everything, generally) into mpv.net.
Most times, the clips start (auto)playing as expected.
Though sometimes it goes into a "pause" mode, where I actually have to hit the play button for it to start.
And it could be something like: play, play, play, pause, play, play, play. So rather random.
Haven't put my finger on just what is going on... yet.

That appears to be due to me setting:
MBTN_LEFT cycle pause
(At least when I take it out, the issue subsides. Don't know [yet] if this is mpv.net specific or if mpv itself is also affected?
And odd that this happens at all. Does not appear to be mouse [hardware] related, & does not happen in MPUI/Mplayer.
It could be mouse user related ;-).)

therube
1st September 2021, 16:28
flogging
5490 old style F8
- C, commands, fails
- View, decoders, fails
- P, profiles, fails


5497 new style F8

- C, commands, fails

Could not load file or assembly 'System.Management.Automation, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. Strong name validation failed. (Exception from HRESULT: 0x8013141A)

System.IO.FileLoadException: Could not load file or assembly 'System.Management.Automation, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. Strong name validation failed. (Exception from HRESULT: 0x8013141A)
File name: 'System.Management.Automation, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' ---> System.Security.SecurityException: Strong name validation failed. (Exception from HRESULT: 0x8013141A)
The Zone of the assembly that failed was:
MyComputer
at mpvnet.PowerShell.InvokeAndReturnString(String code, String varName, Object varValue)
at mpvnet.Commands.ShowCommands() in D:\Projects\CS\mpv.net\src\Misc\Commands.cs:line 313
at mpvnet.Commands.Execute(String id, String[] args) in D:\Projects\CS\mpv.net\src\Misc\Commands.cs:line 37
at mpvnet.CorePlayer.<>c__DisplayClass302_0.<EventLoop>b__2() in D:\Projects\CS\mpv.net\src\Misc\CorePlayer.cs:line 407
at mpvnet.App.<>c__DisplayClass76_0.<RunTask>b__0() in D:\Projects\CS\mpv.net\src\Misc\App.cs:line 126

- View, decoders, fails, ditto
- View, decoders, fails, ditto (wonder if i didn't mean to write something else here, rather then decoders?)
- Ctrl+P, profiles, fails, ditto


(None of this has been a big deal to me, as in those fails don't affect overall operation of the program.
That said, it is better not to have the errors ;-).)

So...

F8 (& some other dialogs) are now working properly in 5.8.9.7 & Win7.
Some issues which have existed for some time, still do.

stax76
2nd September 2021, 13:24
> MBTN_LEFT cycle pause

Supporting fullscreen via left double-click plus
window moving via left drag plus
pause via left click all at the same time might not be possible without a compromise. I've never tried to implement it, but can try it someday if somebody creates an issue on the tracker.

There are a couple of features in mpv.net built on top of PowerShell 5.1, some of these features could be implemented without powershell, but Win 7 is very old (2009), I'm not sure if better Win 7 support is important, Win 7 users can install PowerShell 5.1.

stax76
5th September 2021, 21:30
mpv.net 5.4.9.8 Beta

- All PowerShell dependencies except the script host were removed in order to improve Windows 7 compatibility.
- Fix message box not working when ontop is enabled.
- Use Vista folder browser.
- Improved context menu performance.
- libmpv shinchiro 2021-09-05

therube
8th September 2021, 15:56
improve Windows 7 compatibility
All is looking good on that end. Thanks.

dbezerra
9th September 2021, 21:42
I want to do an A/B test comparison of MPV and MadVR when it comes to HDR Tone Mapping to my projector (JVC RS500, 95 nits in high lamp). However, I do have a lot more experience with MadVR, so I am seeking for some input from MPV experts! I made a similar post on the MPV Reddit channel but got zero answers so far (but other 9 folks upvoted the post - so I am assuming others have the same question :-).

What would you change in the config below? The two scenarios I have in mind are: 1) HDR Tone Mapping as I mentioned above 2) Compare how Blu-Rays are upscaled to 4K. I don't care about low quality rips, DVDs, etc.

#Video
vo=gpu
hwdec=d3d11va
video-output-levels=full

#GPU Renderer
fbo-format=rgba32f
gpu-api=d3d11
gpu-context=d3d11
d3d11-output-format=rgb10_a2

glsl-shaders-clr
glsl-shaders="d:\temp\mpv\shaders/FSRCNNX_x2_8-0-4-1.glsl"
scale=ewa_lanczossharp
dscale=mitchell
glsl-shaders-append="~/.config/mpv/shaders/KrigBilateral.glsl"
cscale=mitchell
linear-downscaling=no
correct-downscaling=yes
sigmoid-upscaling=yes
scale-antiring=0.7 # luma upscale deringing
dscale-antiring=0.7 # luma downscale deringing
cscale-antiring=0.7 # chroma upscale deringing

## Do I need error_difusion or fruit instead?##
dither-depth=auto
dither=error-diffusion

##Do I need deband on my 2 scenarios??##
deband=yes
deband-iterations=5
deband-threshold=50
deband-range=16
deband-grain=48

#HDR Tone mapping#
hdr-compute-peak = yes
## I am a bit lost with the two items below - Should I have target-trc=gamma2.4? Or something else?
target-prim = auto
target-trc = gamma2.4
target-peak = 95
tone-mapping = mobius

Also, where is the "main" MPV discussion place? For example, for MadVR Tone Mapping it's the AVSForum.com.

Thanks!

pirlouy
10th September 2021, 19:15
I can't help on HDR (I have no HDR source/display/knowledge) or on advanced scalers. :/
So I can just confirm you the 2 places you used to have information for mpv: Reddit forum or this thread.
2 other places are IRC Chat (you might have to try several times on different days if first answers are not acceptable to you) and even the bug tracker (which is sometimes used for discussion, but better if you explain it as a problem like this thread (https://github.com/mpv-player/mpv/issues/8484)).

https://mpv.io/community/

aufkrawall on this forum has good knowledge of both madVR and mpv so let's hope he'll be able to help you.

My advice though: if you want to test HDR tone mapping, don't use particular scaler/deband/dithering settings, just use profile=gpu-hq settings.
you'll want to test deband/scaler/dithering settings individually.

dbezerra
17th September 2021, 00:56
I can't help on HDR (I have no HDR source/display/knowledge) or on advanced scalers. :/
So I can just confirm you the 2 places you used to have information for mpv: Reddit forum or this thread.
2 other places are IRC Chat (you might have to try several times on different days if first answers are not acceptable to you) and even the bug tracker (which is sometimes used for discussion, but better if you explain it as a problem like this thread (https://github.com/mpv-player/mpv/issues/8484)).

https://mpv.io/community/

aufkrawall on this forum has good knowledge of both madVR and mpv so let's hope he'll be able to help you.

My advice though: if you want to test HDR tone mapping, don't use particular scaler/deband/dithering settings, just use profile=gpu-hq settings.
you'll want to test deband/scaler/dithering settings individually.

Thanks. Not much activity on the Reddit channel as well. I will keep playing with the settings and see what I settle with.

brad86
28th September 2021, 08:51
I have always had an issue where the mouse cursor does not always disappear. I have to register a random click for it to them time-out after a few seconds. Been through various mice and desks since this started happening, so it is not a case of my mice moving on their own.

It's more of a nuisance than anything. Be nice to stop it, though.

therube
29th September 2021, 20:58
You might see if testing with setting it to always hide does so?

--cursor-autohide=<number|no|always>
Make mouse cursor automatically hide after given number of milliseconds. no will disable cursor autohide. always means the cursor will stay hidden.

--cursor-autohide-fs-only
If this option is given, the cursor is always visible in windowed mode. In fullscreen mode, the cursor is shown or hidden according to --cursor-autohide.

brad86
1st October 2021, 08:10
You might see if testing with setting it to always hide does so?

Neither of these options work for me, sadly. Default auto hide behaviour is the same. It seems to be random. Sometimes it disappears after a few seconds, and other times it doesn't go unless I register a click or a seek.

stax76
12th October 2021, 16:15
I have always had an issue where the mouse cursor does not always disappear. I have to register a random click for it to them time-out after a few seconds. Been through various mice and desks since this started happening, so it is not a case of my mice moving on their own.

It's more of a nuisance than anything. Be nice to stop it, though.

Sorry about the late reply. It's most likely a issue that happens because of a special configuration or a special usage pattern. The code that shows and hides the cursor is mpv.net specific, mpv.net implements the cursor auto hide functionality, most mouse related window messages are never sent to mpv, so cursor related mpv options have no effect, mpv.net does not implement them, it uses hard-coded values instead.

There is a dead zone slightly above the OSC, is that maybe the problem? It's because mpv.net does not know the exact height of the OSC because this info is not provided by libmpv, mpv.net guesses the OSC height to be 10% of the window height. Normally this implementation is good enough, you are the first to report a cursor problem.

brad86
1st November 2021, 18:59
Sorry about the late reply. It's most likely a issue that happens because of a special configuration or a special usage pattern. The code that shows and hides the cursor is mpv.net specific, mpv.net implements the cursor auto hide functionality, most mouse related window messages are never sent to mpv, so cursor related mpv options have no effect, mpv.net does not implement them, it uses hard-coded values instead.

There is a dead zone slightly above the OSC, is that maybe the problem? It's because mpv.net does not know the exact height of the OSC because this info is not exposed by libmpv and the OSC lua script, mpv.net guesses the OSC height to be 10% of the window height. Normally this implementation is good enough, you are the first to report a cursor problem.

Thanks for the reply. Yes, the deadzone for the OSC is exactly it. Took me so long to realize it's rather embarrassing, lol. Getting use to not leaving the cursor near the OSC :)

stax76
2nd November 2021, 13:34
mpv v0.34.0 was announced:

https://github.com/mpv-player/mpv/releases/tag/v0.34.0

therube
4th November 2021, 15:55
MPV.NET 5.4.9.8

F8

enter a search string

if only 1 hit is returned,
you are NOT able to select it to switch to it & play it

- you can /see/ it
- you can /tab/ to it (& it turns "red" ?)
but you cannot select it to cause it to play
(/something/ plays, but not the wanted file
- /perhaps/ it is the next file [based on playlist order] after the wanted file?)

-

i didn't look, but can the search results box be widened?
if not (or maybe even if so), mouseover on overflow might be nice.

(heh. oh, i see, that "line" is a scrollbar. [that's not obvious.]
even so, widening & or mouseover would be nice.
heh. oh, so the "red" is once you've tabbed to an entry. obvious
when there is more then one, not so much when there is only one. &
once you've tabbed, you can /scroll/ [arrow-key] left/right.)

stax76
13th November 2021, 14:14
MPV.NET 5.4.9.8

F8

enter a search string

if only 1 hit is returned,
you are NOT able to select it to switch to it & play it


It works here with keyboard and mouse using v5.5.0.4 and Win 11,
it could be Win 7 specific, which I can't test.

i didn't look, but can the search results box be widened?

No

if not (or maybe even if so), mouseover on overflow might be nice.

You mean showing a tooltip? The VS Code command palette supports this, I consider implementing it in case it gets requested on the issue tracker.

(heh. oh, i see, that "line" is a scrollbar. [that's not obvious.]

Most modern apps use a similar design.

heh. oh, so the "red" is once you've tabbed to an entry. obvious
when there is more then one, not so much when there is only one. &
once you've tabbed, you can /scroll/ [arrow-key] left/right.)

Command palettes are not designed for tab navigation, typically you do:

1. Enter what you search for.
2. Navigate the results with the up/down keys.
3. Confirm with enter.

therube
16th November 2021, 22:00
OK, looking again, I guess I wasn't entirely clear.

F8, filtered such that only 1 hit turns up
- you cannot arrow-key down to that (single) entry & play it (with CR).

You can tab to it, & play it (with CR), but you cannot arrow-key down to it.


(If there are >1 results displayed, you can arrow-key down to the wanted item & play it (with CR).)

stax76
18th November 2021, 19:29
The logic is whenever the search text changes, the first item is selected, this works here with one or more results.

therube
19th November 2021, 21:51
the first item is selected
Ah.

So if your search is 'a', & that returns one hit, say "abcdefghijk.mp4", then hitting return - at that point, opens "abcdefghijk.mp4".

I never would have figured that out.

Thanks.

stax76
19th November 2021, 22:43
Your browser address bar should work like this, they call it omnibox today, the Windows 10/11 start menu works like this too. Keyboard driven launchers are very popular, I released a new launcher plugin a few days ago here:

https://github.com/stax76/Flow.Launcher.Plugin.Favorites

Everything.NET is supposed to support it too, but I forgot to handle the enter key, it needs to be fixed.

https://github.com/stax76/Everything.NET

stax76
19th November 2021, 23:10
I like using the Microsoft Store for installations because getting automatic updates is very convenient, so I worked on putting mpv.net to the store. It's now online, but since it's the first store release, there could still be issues. I will of course also support portable downloads on GitHub, but I discontinue the Inno setup installer. After the store support works well, I will investigate winget and choco support.

https://www.microsoft.com/store/productId/9N64SQZTB3LM

amayra
20th November 2021, 23:12
do you plan to support Linux ?

stax76
21st November 2021, 10:28
do you plan to support Linux ?

It's an interesting long-term possibility, but I'm not really planning a larger project at this point. I plan learning how to use Linux in the next 1-2 years.

dbezerra
1st December 2021, 06:30
Hey folks, two questions:

1. Is there a way to see which auto-profile is active via the Statistics screen? I have profiles for 4K, 1080p, interlaced, etc and I would like to confirm that the proper one is active.

2. I am using Krigbilateral shader to handle Chroma Upscale/downscale. I understand Chroma is always upscaled, but I don't understand why the stats is also showing a downscale step. This is a 4K video playing on a 4K TV. (see image). Is it normal? Am I doing anything wrong here?

stax76
1st December 2021, 18:23
1. Is there a way to see which auto-profile is active via the Statistics screen? I have profiles for 4K, 1080p, interlaced, etc and I would like to confirm that the proper one is active.

If you toggle the stats view, you can press 1-4 to show different stats views, but it does not show which profile is active. I tried to show it via key binding, but could not find a way. The best you can get is maybe defining profile descriptions with profile-desc (https://mpv.io/manual/master/#profiles), I think this will cause the description being shown via OSD whenever a profile changes.

therube
3rd December 2021, 19:22
Track (menu item)

Somehow ? audio can become deselected
& with that audio, is then "muted".

- This is different from Mute (in that Mute, UnMute, has no affect).

And with that, you simply do not get audio (presumably in that /session/ ?) unless you, Track (menu item), & "select" the audio track.

(I haven't been able to manually deselect audio or video from, Track (menu item), so not sure how I got into that situation, but I did.)

heh.

so i figured out what "disables" a tracks audio or video, heh
on the "status bar", there is that "cloud" & a (most typically)
1/1, if you happen to inadvertently click them, that does...
something ? (that disables, i guess, audio, as the case may be)

therube
3rd December 2021, 19:32
Just babbling... ignore if you wish...

so i, F12 to jump to next clip (boots.mpg, as it was) &...

---------------------------
Microsoft Visual C++ Runtime Library
---------------------------
Assertion failed!

Program: C:\WLIB\PLAYERS\mpv.net\mpvnet.exe
File: ../stream/stream_libarchive.c
Line: 83

Expression: stream_tell(src) == 0

For information on how your program can cause an assertion
failure, see the Visual C++ documentation on asserts

(Press Retry to debug the application - JIT must be enabled)
---------------------------
Abort Retry Ignore
---------------------------


heh (to say the least).

so i check mpv with the same playlist & it too crashes
(so not an mpv.net issue)

& mpv.net seems to be mentioning "hp1.mpg" & "horse.mpg" - neither of which i have
& console says something like, archive://C:\movies\boots.mpg|/New/hp1.mpg
& i'm like, i don't have any /New/ directory nor any hp1.mpg?
& i'm like, what is going on? no idea what "archive://" is?
so i'm looking at the files trying to figure out whats happening?
& when i look at boots.mpg, it starts out with "PK" - it's a dang ZIP file - NOT a .mpg!
& /then/ it starts to make a bit of sense...

so mpv can read ZIP's (archive://)
& what does it do with that? well, it plays the files within.
(i never knew)
& what does it do with a CORRUPT ZIP archive?
well, it plays what it can & movies on to the next...
& it also causes a MS Visual C++ error message to pop up ;-)

so i ZIP -FF boots.mpg --out out.zip
then i extract the files from out.zip - which gives me hp1.mpg & horse.mpg,
both of which play (for the parts of them that exist, video files are fogiving like that)
& together hp1 & horse play for the same (combined) length of time that boots.mpg played.

heh.


[libarchive] possibly unsupported seeking - switching to reopening
[libarchive] Truncated ZIP file data
[libarchive] fatal error received - closing archive
[libarchive] Seek failed...


before i realized that the .mpg was in fact a .zip, i looked in the playlist directory
& saw that it /happened/ to contain a (single) zip file, & that file (oddly) was
password protected, so i thought, maybe mpv is crapping out due to the password protection
so i fiddled around with that some before i finally realized the real issue was a ZIP
named as .mpg (& that it was corrupted to boot)

oddest thing (to me at least) is that this "zip" file also played in mplayer
- which i (also) never even knew could play "zip'd" media.
(actually it's media /stored/ - -m0, with no compression, within a ZIP archive)
(and, in the same way, MediaInfo also handles "zip'd" media [again, i never knew])

how this all came about - had to be some 20 some years ago, no clue, but wasn't my doing.

heh.


another tidbit... 7-Zip (https://www.7-zip.org/) can "see" & "extract" a/v streams from .flv
7z.exe x videoclip.flv
like, who knew!?
(does that apply to all .flv, all codecs? don't know? but the couple
i've looked at so far; sorenson video & mpeg audio, it did.
ffmpeg -i g.mp4 -c copy out.flv
7z.exe l out.flv ->

Date Time Attr Size Compressed Name
------------------- ----- ------------ ------------ ------------------------
..... 12088403 12088403 gout.aac

so... if i do a search for 'flv zip', i bet i'll find something ;-)

avih
10th December 2021, 11:16
> it does not show which profile is active

There's no such thing as "active profile".

A profile is only a set of config values. If profile A set option A=yes, and profile B sets option B=yes, and you apply them one after the other then you'd have both A=yes and B=yes.

It's neither "profile A active" nor "profile B active". It's just that the options of both have been set previously.

ashlar42
14th December 2021, 18:19
May I ask a question? What's the point of using mpv under Windows? Why not the usual madVR-LAV filters-xySubFilter-MPC-HC? I am not asking to be a smartass, I'm genuinely curious about why people are choosing this. Thanks in advance.

pirlouy
14th December 2021, 19:30
Because it's better ?
Ok, it's better *in my case*.
It uses less ressources than madVR (again, in my case).
And I really like the config files, especially the binding keys.

But I prefer to be honest, I don't have 4k screen nor HDR, and I don't care about upscaling. All my sources are 1080p, I don't see differences in chroma upscaling and more, I use my TV in 4:2:2 mode for the (Samsung) interpolation.

But I miss the screen auto refresh rate change based on video & screen (present in madVR or MPC).

huhn
14th December 2021, 21:12
xysubfilter is not even close to the speed of current asslib for high resolution subs just as an example.

this is also open source so it will never really die.
look at madVR nothing changes for years it can't even do HLG properly.
but with mpv if some one and it doesn't matter who creates a new filter it can be added.
take NLS i will never understand why someone will ever use something like it but do you really think madVR will ever get it? on the other hand stop the MPV community from adding something for what ever reason not gonna happen.

cvrkuth
11th January 2022, 20:36
Because it's better ?
But I miss the screen auto refresh rate change based on video & screen (present in madVR or MPC).

Maybe you should try this (https://github.com/CogentRedTester/mpv-changerefresh)

mpv-changerefresh is a script to automatically change the refresh rate of the current display to match the playing video

pirlouy
12th January 2022, 20:02
Not bad at all.
It's not as complete as competitors, since you can't choose the display on which you want auto change. But at least, there's a key for manual change.
With some changes/settings, it seems functional. I'll have to confirm in the next days/weeks.

Thanks for your useful message !

stax76
5th March 2022, 15:15
There is a new beta version online:

mpv.net 5.6.1.0 Beta

- Various conf editor improvements. (hooke007)
- Custom conf folder location feature removed.
- Inno Setup replaced with Microsoft Store setup.
- Fix script-opts files being ignored.
- Showing the recent list in the command palette,
the top item gets auto selected.
https://github.com/stax76/mpv.net/issues/328#issuecomment-1057296054
- If the play list is empty, the most recent file
gets loaded when pressing space.
https://github.com/stax76/mpv.net/issues/328#issuecomment-1057296054
- Ctrl+v (previously u) opens files (or URLs) from the clipboard,
previously it had to be a file path (format string) and now
it can also be the clipboard format of type file.
- The usability of the menu structure was improved.
- Audio and subtitle tracks and various other features
are now available in the command palette.
- Single character input in the command palette searches exclusively
key bindings, much like the search field of the input editor.
- Various default key bindings improved.
- New protocol registrations, so far supported are: ytdl, rtsp, srt, srtp
- libmpv zhongfly 2022-02-27

https://github.com/stax76/mpv.net/releases

sarsaK
7th March 2022, 11:41
Congratulations on your work, I'm always following you. DV. for vo=gpu-next system will it be supported

stax76
7th March 2022, 15:06
Thanks, there is a minor cosmetic glitch with Vulkan, it does not work when initialized before the window is visible, because of that mpv.net is waiting for the window to be visible before it loads a file when Vulkan is enabled, that is the only render related difference between mpv and mpv.net. It's the main reason why I've set up a dev environment for mpv, I briefly examined it with a debugger, but since it's much code I'm not familiar with and Vulkan support is not so important in my opinion, I decided not to spend more time, it's only cosmetic, maybe takes a view millisecond more to load and the window resizes.

gpu-next is not bound to a specific render API it seems, does not use Vulkan by default, so there should not be any difference between mpv and mpv.net. The good thing is that I now have a dev environment and can examine how mpv works internally, which sometimes can help to develop certain things, and I've learned a couple of things about Linux, which is also useful.

therube
7th March 2022, 17:17
(I've not looked at 5.6.1.0/5.6.2.0, yet...)

Custom conf folder location feature removed.
Could you explain that?

Currently, I've have (have had) a /portable_config/ within my MPV.NET "install" directory.


(I'll just note that I've been running the newer mpv-2.dll's [renamed to mpv-1.dll] in the older 5.4.9.8 without issue. [And I see you've got mpv-2.dll in 5.6.2.0.]

Similarly the "flickering" that I saw, https://forum.doom9.org/showthread.php?p=1946659#post1946659, was also resolved with newer .dll.)

stax76
7th March 2022, 19:15
Portable should still be supported. I don't remember why exactly the custom conf folder location feature was removed, much likely it had something to do with the new MS Store distribution.

It's still possible via symlink, here is a tutorial:

https://www.howtogeek.com/howto/16226/complete-guide-to-symbolic-links-symlinks-on-windows-or-linux/

That can be very useful.

therube
8th March 2022, 16:45
/portable_config/
Still working :-).

therube
8th March 2022, 16:48
mpv 5620

what is diff between
cycle pause & script-message mpv.net play-pause ?

rate-file & delete_current_file
- are they effectual ?
(i hope they are not)

what is Power ? [oh, the Close button?]
what is SHARP ?

t, being a toggle,
Shift+up/down/left/right, are nice changes/additions

settings.xml:
<InputDefaultBindingsFixApplied>true</InputDefaultBindingsFixApplied>

what is the significance of that?
iow, what happens if that line is/is not there?

therube
8th March 2022, 16:49
behavior change...


old:
(existing) clip is paused
i drag a new clip into mpv.net, clip (automatically) plays

5620:
(existing) clip is paused
i drag a new clip into mpv.net, clip loads - PAUSED

(or said another way)

5498 if (existing clip is) PAUSED
& i /drag/ a file into mpv.net, file automatically plays - which is what i want
(if i F12 on a pause, the next file opens, paused - which is fine, but that is
different from a drag).

5620 if (existing clip is) PAUSED
& i /drag/ a file into mpv.net, file opens, PAUSED
(if i F12 on a pause, the next file opens, paused - which is fine, but that is
different from a drag).


???



input.conf:
i long ago change F11/F12 to playlist-next
(rather then to, playlist-next; set pause no)


mpv.conf:

input-ar-delay = 500
input-ar-rate = 20
keep-open = always
osd-duration = 2000
osd-playing-msg = '${filename}'
script-opts = osc-scalewindowed=1.5,osc-hidetimeout=2000,console-scale=1,osc-visibility=always
screenshot-directory = '~~desktop/'
hwdec = auto
title = '${filename:}'



# Editor

keep-open-pause = no

[protocol.https]
osd-playing-msg = '${media-title}'



mpvnet.conf:

# Editor
process-instance = multi


ideas?



what i want (again) is if existing clip is PAUSED
& i /drag/ a file into mpv.net, i'd like to play, automatically
(not to open, PAUSED)

stax76
8th March 2022, 21:41
what is diff between
cycle pause & script-message mpv.net play-pause ?

After startup, when your playlist is empty and no file is loaded, you can now press enter, it loads the last file/URL from the recent list.

rate-file & delete_current_file
- are they effectual ?
(i hope they are not)

What do you mean with that?

I use this functionality all the time, scripts can be found here:

https://github.com/stax76/mpv.net/blob/master/src/Scripts/Lua/delete-current-file.lua

https://github.com/stax76/mpv.net/blob/master/src/Scripts/C-Sharp/rate-file.cs

If I have time, I port it to Lua.

what is Power ? [oh, the Close button?]

I researched it and it remains a mystery.

what is SHARP ?

Number sign: #


settings.xml:
<InputDefaultBindingsFixApplied>true</InputDefaultBindingsFixApplied>

iow, what happens if that line is/is not there?


In early versions, mpv.net generated a mpv.conf with several settings, one of them being:

input-default-bindings = no

This was not the best possible design and was changed to happen internally, allowing users to overwrite it. To ensure backward compatibility with existing settings, it had to be removed from the settings, which happens once.

old:
(existing) clip is paused
i drag a new clip into mpv.net, clip (automatically) plays

5620:
(existing) clip is paused
i drag a new clip into mpv.net, clip loads - PAUSED

(or said another way)

5498 if (existing clip is) PAUSED
& i /drag/ a file into mpv.net, file automatically plays - which is what i want
(if i F12 on a pause, the next file opens, paused - which is fine, but that is
different from a drag).

5620 if (existing clip is) PAUSED
& i /drag/ a file into mpv.net, file opens, PAUSED
(if i F12 on a pause, the next file opens, paused - which is fine, but that is
different from a drag).


???

In the conf editor, you can change:

Playback > auto-play

That is a mpv.net specific option, and I've forgotten to document it.

stax76
9th March 2022, 13:03
5.7.0.0 Stable

- Improved title and chapter menu for Blu-Rays.
- Fix of conf folder virtualization issue of MS Store version.
- MS Store page no longer displays ARM and x86 support.

I've submitted it to the store, but I don't know how long it takes until the process completes. Once it's available in the store, it will also be available via winget.

The portable version is on GitHub.

OrangeColaJuice
10th March 2022, 05:20
May I ask a question? What's the point of using mpv under Windows? Why not the usual madVR-LAV filters-xySubFilter-MPC-HC? I am not asking to be a smartass, I'm genuinely curious about why people are choosing this. Thanks in advance.

Why would I do that, sounds complicated and time consuming. MPV I just install and the defaults work amazing.

therube
10th March 2022, 17:44
Playback > auto-play
That is a mpv.net specific option, and I've forgotten to document it.
That's got it, thank you.

therube
10th March 2022, 17:47
Media Info, Ctrl+M:
- older method was much nicer, IMO, when it opened, "simply" in a (black & white) "text" window
(where i can also determine font & size...)
- now, sizing & colors make it very difficult (for me) to "see"
(gray on pale blue, doesn't really work for these eyes)

---

how to make 'p' "cylicable" (like 't' now is) ?
is there a "script-binding show-progress-toggle" ?
- NO.
something that accomplishes that?

---

"PAUSE"
- may or may not effect a change in the pause/play "icon"?

sometimes "pause" displays, even when it is playing,
(or is it the other way around... in any case...)
sometimes making it difficult to determine if you are in fact playing or not
(in particular on relatively static scenes)
[oh, that's been that way for a long time, at least as far back as 5480.
wonder how that escaped my attention? perhaps i've been running into more
"static-like" videos?]

---

(heh. did you know that once you've deleted a file, & even though it still
"displays" in mpv.net, you can no longer Ctrl+m it. took me a moment before
i realized why it wasn't working, heh. ;-).)

stax76
10th March 2022, 19:12
Media Info, Ctrl+M:
- older method was much nicer, IMO, when it opened, "simply" in a (black & white) "text" window

The text editor was used for various features, and I've replaced it everywhere with either the command palette or a message box. If you like, you can use MediaInfo, or maybe MediaInfo.NET (https://github.com/stax76/MediaInfo.NET). How to do that can be found here:

https://github.com/stax76/mpv.net/issues/383

- now, sizing & colors make it very difficult (for me) to "see"
(gray on pale blue, doesn't really work for these eyes)

It looks fine to my eyes, maybe you want to edit the theme colors:

https://github.com/stax76/mpv.net/blob/master/docs/Manual.md#color-theme

how to make 'p' "cylicable" (like 't' now is) ?
is there a "script-binding show-progress-toggle" ?
- NO.
something that accomplishes that?

Nothing I'm aware of, and there is nothing to be found with Google.

"PAUSE"
- may or may not effect a change in the pause/play "icon"?

sometimes "pause" displays, even when it is playing,
(or is it the other way around... in any case...)
sometimes making it difficult to determine if you are in fact playing or not
(in particular on relatively static scenes)
[oh, that's been that way for a long time, at least as far back as 5480.
wonder how that escaped my attention? perhaps i've been running into more
"static-like" videos?]

You mean the blue mpv.net logo that is shown when no file is loaded?

(heh. did you know that once you've deleted a file, & even though it still
"displays" in mpv.net, you can no longer Ctrl+m it. took me a moment before
i realized why it wasn't working, heh. ;-).)

You can delete a file from disk, even tough it is the currently active file of mpv? I was expecting that it's locked.

rock
11th March 2022, 09:59
how to make 'p' "cylicable" (like 't' now is) ?

Use "no-osd cycle-values osd-level 3 1", found this in mpv's input.conf.

sarsaK
12th March 2022, 10:48
(5.7.0.0 stable) vo=gpu-next # dolby Vision is working, congratulations on your work.

therube
14th March 2022, 16:34
Use "no-osd cycle-values osd-level 3 1"

That's got it. Thank you.

Scoty
16th March 2022, 09:56
I use this player first time and i have a Nvidia 3060 Ti but the player use always d3d11va but not cuda or nvdec. I have set one from both but dont use it.

sarsaK
16th March 2022, 12:01
I use this player first time and i have a Nvidia 3060 Ti but the player use always d3d11va but not cuda or nvdec. I have set one from both but dont use it.

Hi, have you tried the following way

hwdec=nvdec
#hwdec=d3d11va
#hwdec=d3d11va-copy
#hwdec=dxva2
#hwdec=dxva2-copy
#hwdec=auto
#hwdec=auto-copy
hwdec-codecs=all

therube
17th March 2022, 17:55
So what, Alt+F4 (or the window 'X' button) is a "hard" exit?
Any way to capture that to set (them) to 'quit-watch-later'?

(Is that actually what i want to do... ?
What i'm wanting, is that if i "quit", i want my position in
my playlist to ALWAYS be saved. i.e., when i restart mpv.net
i want it to pick up with the last song that i was playing.)


IOW, is there a setting that regardless of how you Quit, quit-watch-later always gets invoked?

therube
17th March 2022, 18:10
"PAUSE"
- may or may not effect a change in the pause/play "icon"?

The "status bar" (OSC visibility: always) pause/play button.


I kind of see what is happening now.
Sometimes, when you click "pause", heh, more too it then just that too...
I have left mouse set to Pause.
Sometimes, left mouse click - into the video itself, does not change the icon to a "pause", even though it has paused.
If mouse position is left within the the video body, that (wrong) pause/play condition persists.
If mouse position is moved outside the player - except to a spot to the right of the status bar "timeline", it then changes.

If you actually click the pause/play icon, similar may happen, but it's different again, in that the || (double bar) may gray out rather then changing to a > icon.

No big deal. Just a quirk.

stax76
24th March 2022, 11:15
I use this player first time and i have a Nvidia 3060 Ti but the player use always d3d11va but not cuda or nvdec. I have set one from both but dont use it.

Do you have a reason for changing a default? Changing a default generally requires caution to ensure not making the situation worse. Many defaults are default for a good reason.

So what, Alt+F4 (or the window 'X' button) is a "hard" exit?
Any way to capture that to set (them) to 'quit-watch-later'?

The OS is sending an exit message, generally this can be intercepted easily, but there are other aspects like thinking about a design, in the end there are more important and exciting issues. Maybe you can get it with AutoHotkey, which is an indispensable tool in my opinion. A .NET programmer could write an extension or script that installs a message filter, but it has a performance cost.

What i'm wanting, is that if i "quit", i want my position in
my playlist to ALWAYS be saved. i.e., when i restart mpv.net
i want it to pick up with the last song that i was playing.)

I think you could configure the Escape key for quit-watch-later, and use watch-later-options and a script:

https://github.com/jonniek/mpv-playlistmanager

If it's not working, you can contact the script author.

therube
25th March 2022, 16:54
Pan & Scan

w, does not allow you to decrease height below original source (0.0)
- would be nice if you could, such that it would then have "black bars" top & bottom (for < 0.0)

(wonder if you can set incr/decrement range in input.conf ?
- doesn't look like it)


odd, cause Zoom, Ctrl++/+- works just that very way

stax76
25th March 2022, 20:55
Zoom and pan scan is mpv functionality, it's out of my control and interest.

For range, you can check if a property exists, in the command palette (F1) enter property. You can also press shift+p, which shows available properties in the command palette, or find it in the menu at:

View > Advanced > Show Properties

stax76
2nd April 2022, 15:19
Hi there,
a new beta version addressing various issues is available. In case you need something to play, my playlist (https://www.youtube.com/playlist?list=PLnVfFuh_eWkHea5HbrAxu8PaL4frxuiA7).

5.8.0.0 Beta (2022-04-02)


Fix crash on Windows 7 systems without PowerShell.
Fix showing incorrect timestamps in About dialog of Store version.
Fix Store page showing non-existent ARM and x86 support.
Fix opening zip files.
The list of available input commands is like before shown by the text editor, so it's like everything else searchable.
Media Info isn't shown directly, instead the command palette shows several choices. The command palette can be bypassed using the arguments: msgbox, editor, full, raw.
https://github.com/stax76/mpv.net/blob/master/docs/Manual.md#show-media-info-flags
mpv.net specific commands, the command palette, auto-play property and various other things are documented in the manual.
The action used for the right mouse button can be configured.
https://github.com/stax76/mpv.net/blob/master/docs/Manual.md#show-menu
Workaround not reproducible logo drawing crash.
Info command shows the length.
New mpv.net specific option show-logo that allows to disable the drawing of the blue mpv.net logo on top of the native OSC logo.
MediaInfo 22.03


https://github.com/stax76/mpv.net/releases

therube
5th April 2022, 16:59
Media Info isn't shown directly, instead ... The command palette can be bypassed using the arguments: msgbox, editor, full, raw.
Thank you.

The action used for the right mouse button can be configured.
Oh, so MBTN_Right, default action had always been (& still is), show-menu, but now, you have the option to change it as you want (like to... show-profiles [if one is so inclined]).

stax76
11th April 2022, 09:52
Announcing mpv.net-next:

https://github.com/stax76/mpv.net/discussions/405

https://github.com/mpv-net-player/mpv.net-next

chros
11th April 2022, 10:40
Nice, thanks Stax!!!

aufkrawall
11th April 2022, 14:20
Guess it can't hurt sharing this here once: In case you're not happy with the result by "interpolation", give
tscale=sphinx
tscale-blur=0.65
a try. I find this to still look a bit smoother than madVR's smooth motion, but it's much sharper than mpv's default. Looks much closer to 23.976fps@48Hz with just "video-sync=display-resample".

dbcooper
14th April 2022, 10:47
Announcing mpv.net-next:

https://github.com/stax76/mpv.net/discussions/405

https://github.com/mpv-net-player/mpv.net-next

Interesting.

What are some of the goals of the project?

Will it use libplacebo?

stax76
14th April 2022, 13:05
Interesting.

What are some of the goals of the project?

Will it use libplacebo?

Currently, all mpv render capabilities are supported, this is completely handled by mpv itself. There is a small Vulkan issue that can hopefully be fixed. The next generation aims as well to offer all render capabilities.

I had some time to think and have updated the project description:


mpv.net is like mpv geared towards elite users, the next generation mpv.net will also try to reach average users.
Translation to different languages, many possible users don't understand English very well.
Rethink the main menu and keyboard shortcuts implementation. In the current implementation, control over the shortcuts and main menu is lost after everything was generated and written to the input.conf file. The new generation will only save changed shortcuts.
Make it a collaborative project.
Support Linux and Mac.

dbcooper
15th April 2022, 01:27
Currently, all mpv render capabilities are supported, this is completely handled by mpv itself. There is a small Vulkan issue that can hopefully be fixed. The next generation aims as well to offer all render capabilities.

I had some time to think and have updated the project description:


mpv.net is like mpv geared towards elite users, the next generation mpv.net will also try to reach average users.
Translation to different languages, many possible users don't understand English very well.
Rethink the main menu and keyboard shortcuts implementation. In the current implementation, control over the shortcuts and main menu is lost after everything was generated and written to the input.conf file. The new generation will only save changed shortcuts.
Make it a collaborative project.
Support Linux and Mac.


Thanks for the reply. Would be nice to have a more straight forward UI for average users.

stax76
8th May 2022, 14:50
There is a new beta release that addresses reported issues:

5.9.0.0 Beta


Fix startup without media file not working with gpu-api=vulkan.
Fix keyboard layout change not working.
Fix multi monitor setup with different DPI values not working.
Fix config editor handling keep-open and keep-open-pause incorrectly.
New mpv.net specific option keep-open-exit added. If set to yes and keep-open is set to no, mpv.net exits after the last file ends.
New playlist-add command added to change the playlist position, jumps to the other end when the beginning or end is reached. Ctrl+F11 goes 10 positions backward. Ctrl+F12 goes 10 positions forward.
libmpv zhongfly 2022-05-07


For remote control users, I made a script showing an on-screen menu:

https://github.com/stax76/mpv-scripts

therube
19th May 2022, 15:47
5900 (vs. older beta/releases)...

with: (mpv.conf) keep-open;always

When a clip gets to 00:00:00, either through unimpeded playback or by jumping through the timeline, an F12 to advance to the next file (in the playlist) loads PAUSED (& you actually have to hit Play, for playback to proceed).

In all older versions, F12 would load & automatically start playback.

Any way to get that behavior back.


(Setting keep-open;no is not what I want.)

therube
19th May 2022, 15:55
5900: F11/F12

F12 script-message mpv.net playlist-add 1;

How is that different from

F12 playlist-next


One difference, is when playing a playlist (say file1..file9), after file9 plays, with 'script-message mpv.net playlist-add 1', hitting F12 causes a "wrap-around" action & playback (again) starts over at file1.

(By that token, if you are playing file1, one might expect that hitting F11 would cause a "wrap-back" through the playlist loading file9, but that does not happen.)

I would think the wrap-around would be an unwanted feature (at least by me).
(I'll often go through a list of files, & when it is done, I want to know that it is done [i.e., hitting F12, well doesn't do anything at that point], & not, unexpectedly, start playing through the playlist, again. [If I did want to do that, I'd just hit HOME...])

stax76
19th May 2022, 23:29
When a clip gets to 00:00:00, either through unimpeded playback or by jumping through the timeline, an F12 to advance to the next file (in the playlist) loads PAUSED (& you actually have to hit Play, for playback to proceed).

I think keep-open-pause=no is what you want, recent mpv.net versions use mpv defaults for keep-open and keep-open-pause because these defaults are ok for many users, there is no need for mpv.net to change these defaults.

(By that token, if you are playing file1, one might expect that hitting F11 would cause a "wrap-back" through the playlist loading file9, but that does not happen.)

The wrap-back works here in both directions, I cannot reproduce it. If you don't like the wrap-back you can always use the mpv commands. It's hard for me to guess what is more popular.

Kl3r
22nd May 2022, 20:15
Hi,

I tested MPV today. When I launch a video, my screen activates Freesync and synchronizes at 48 Hz (instead of 144 Hz). Is it possible to prevent this without having to deactivate it each time a video is launched?

Thank you.

stax76
24th May 2022, 14:35
Is there anything in the manual about Freesync?

therube
24th May 2022, 16:47
FWIW, mentions "Vulcan", mpv changes my refresh rate to 60hz when going fullscreen (https://www.reddit.com/r/mpv/comments/g5o2k7/mpv_changes_my_refresh_rate_to_60hz_when_going/).

therube
25th May 2022, 15:46
I think keep-open-pause=no is what you want
That's it. Thank you :-).

stax76
25th May 2022, 16:14
No problem.

A guide showing how to use VapourSynth in mpv.net:

https://github.com/stax76/mpv.net/wiki/Using-VapourSynth-in-mpv.net


osm (on screen menu) script was improved a lot:

https://github.com/stax76/mpv-scripts/blob/main/osm.lua

therube
31st May 2022, 16:03
mpv.net 5800 vs 5900

- using the same 5900 mpv-2.dll (0.34.0-292-g3458651010) also (now that i'm testing) in 5800
(prior in 5800, i was probably using 0.34.0-253-g2cafe5137f)
- the only diffs are in mpvnet.exe & mpvnet.pdb, all else, identical


CPU
i'm noticing higher CPU usage in 5900
- at some point in time
all can be well, then, at some point, for whatever reason
i'm seeing sustained 15% (or more) cpu
- regardless of particular clip that is playing...
i can load the same playlist in 5800 & 5900 & they use
about the same cpu. i can F12 to the end, F11 to the
beginning, back & forth & forth & back, & cpu remains the
same between the two
- but, at some point, i'll catch 5900 using higher then
"normal" cpu, where i had not run into that in 5800
(what i do, how i do, is fairly consistent, so that i did
not see in 5800, but i do in 5900, tells /me/ ;-) that
there is some sort of issue)
- that said, i don't know what the trigger is
(typically, i have various mpv.net windows open & drag
sets of files into the windows. typically these windows,
once opened, pretty much remain open, for extended periods
of time, 6 days in the particular instance - as in i rarely
fully close windows once opened)

scale & whatnot are at defaults (bilinear)
& yes i know that other settings can provide greater quality at the expense of cpu


(the instance i use for music, 5498, has been open since 4-3-22 [it's now 5-30-22])

- maybe it's an issue with mpv-2.dll in 5900 ?
(guess i ought to pull down the current mpv-2.dll, build, & see if i again run into the issue)

(in the screenshots, the same clip is playing in all instances)
(2nd set of shots are from 2 instances of 5900, both opened 6 days ago, playing the same clip, substantially higher CPU in the one compared to the other)



https://i.postimg.cc/K12cj9Mc/mpv-net-5800-new-5900-new-5900-6-days-old-58-59-58-59-58-59.png (https://postimg.cc/K12cj9Mc)

https://i.postimg.cc/Z0W5Mvmm/mpv-net-5900-vs-5900-both-6-days-old.png (https://postimg.cc/Z0W5Mvmm)

therube
31st May 2022, 16:05
mpv.net 5800 vs 5900

- using the same 5900 mpv-2.dll (0.34.0-292-g3458651010) also (now that i'm testing) in 5800
(prior in 5800, i was probably using 0.34.0-253-g2cafe5137f)
- the only diffs are in mpvnet.exe & mpvnet.pdb, all else, identical


during playback, F8
- opens, displays list
- "flutters", at best, does not open


(in order for F8 to be "effective" in 5900, you need to pause playback)

stax76
5th June 2022, 16:11
New beta release:

https://github.com/stax76/mpv.net/releases

(in order for F8 to be "effective" in 5900, you need to pause playback)

I don't think that code in this area was changed, it's likely something changed on your side.

therube
6th June 2022, 16:47
during playback, F8
- opens, displays list
- "flutters", at best, does not open
Looks like the missing part to that is to have set; OSC visibility: always.

(6000 also has that behavior. Anything < 5900 was fine in that regard.)

therube
6th June 2022, 16:56
6000.

Ctrl+p "flutters", if playback is not paused (& regardless of OSC visibility).

(Likewise, Ctrl+7, Ctrl+m, Alt+r, P, F1.)


Oh, so that's what an "ab-loop" is. I never knew.

stax76
6th June 2022, 18:59
I'm not able to reproduce "flutters" using Windows 11 and NVIDIA card, what OS and graphics card do you use?

If you use any video related options, you can try to disable them.

stax76
6th June 2022, 19:14
If you cannot use the command palette, which is unfortunate because it's very useful (most important mpv.net feature besides the context menu), you can use scripts which provide equivalent functionality, example:

https://github.com/CogentRedTester/mpv-search-page

therube
6th June 2022, 20:51
Win7 (in two cases).
Both with "built-in" Intel HD Graphics 4000 (though the one here also says something about AMD Radeon HD 7650A, but I'm not really clear on that, nor have I pursued the matter).

(I'll test on other systems / OS...)

I can use the features, just not all of them - during playback.

therube
7th June 2022, 19:33
3rd Win7, AMD Radeon HD 6450
- flutters.

Win10, Ryzen 5 2400g, AMD 15DD video, works.


I tried another Win10 machine, but couldn't get .net 4.8 to install.
(Too old version of Win10, seemingly.)

therube
7th June 2022, 20:15
Just noting...

/script-opts/

- checks for the existance of a /script-opts/ /directory/ rather then
the /files/; console.conf & osc.conf /within/ that directory

- so if that directory happens to exist, even if it happens to be "empty"
then no console.conf / osc.conf are created

therube
7th June 2022, 20:19
'i'

now looks to do the very same thing as F9,
displaying A/V information,
but you've lost display of file (disk) name, length, size...

(yes, you can do a 't', but...)

appears ? this change comes from mpvnet end, mpvnet.exe.


Notes mention, "a second key press".
Is that supposed to apply here, to 'i' ? cause if so, I'm not getting anything different on 2nd key press.

therube
7th June 2022, 20:26
When a clip first loads, & the "name" displays, it now looks to be displaying the "name" as defined in the files' tag "Movie name" (if defined, with fallback to the files' name on disk).

To me, that is far less useful.

The tag may not be indicative of the movie contents, a "Movie name" of " " (presumably) would result in the display of "nothing"...
I may have multiple clips, all tagged the same, but with the file name on disk differentiating each, & not being able to (easily) see that information is a hindrance.

'i' used to have that, but no longer does.
't' does have it, but it is awkward to use, when you're expecting to see information, momentarily, as a file first starts to load.


(Maybe there is a way for me to have it display, '${filename:}' ?)

therube
7th June 2022, 20:29
New behavior with 6000...

if you're, PAUSED,
then you, F12,
next clip loads & PLAYS
- instead of opening, PAUSED (which is what I want, under those circumstances)

mpv.conf.5900
title = '${filename:}'
keep-open = always
script-opts = 'osc-visibility=always'
keep-open-pause = no

mpvnet.conf.5900
auto-play = yes
process-instance = multi

(i had to add, keep-open-pause = no, to 5900 to get it working as i wanted.)

if i change, auto-play = no, then it works as before
- EXCEPT if i drag a file into the window, it loads PAUSED,
rather then starting playback

5800 (& earlier) all worked.
5900 worked after adding, keep-open-pause = no.

6000, i'm not sure what to push or pull to get wanted behavior ?

therube
7th June 2022, 20:37
(Just noting...)
One difference, is when playing a playlist (say file1..file9), after file9 plays, with 'script-message mpv.net playlist-add 1', hitting F12 causes a "wrap-around" action & playback (again) starts over at file1.

(By that token, if you are playing file1, one might expect that hitting F11 would cause a "wrap-back" through the playlist loading file9, but that does not happen.)
For whatever reason 5900 didn't wrap-back on my end. 6000 does.
(Not that I like the feature, but...)

therube
7th June 2022, 20:53
"fluttering"

https://drive.google.com/file/d/1LhMC0zSyhm5mfSOgt_504tb_HCxqTvlG/view?usp=sharing

i click the clip to begin playback
then hit F8
you can see a quick flutter
at that point, the list of files is there, you just can't see them
if i mouse-over the list, they display briefly
all the while, F8 is still open & "active"
& i have to hit ESC to close the list to "return control" back to the player...

therube
8th June 2022, 18:25
"Flutter"...
Win7 ...
(though the one here also says something about AMD Radeon HD 7650A, but I'm not really clear on that, nor have I pursued the matter).
So I enabled AMD Radeon HD 7650A & told it to run mpv.net with it (rather then the Intel HD 4000), but there is no change in behavior. Still flutters.

stax76
8th June 2022, 20:18
New tutorial: Extending mpv and mpv.net via Lua scripting (https://github.com/stax76/mpv.net/wiki/Extending-mpv-and-mpv.net-via-Lua-scripting)

auto-mode script (https://github.com/stax76/mpv-scripts) to use mpv and mpv.net as image viewer and audio player.

therube
15th June 2022, 16:45
(Just providing context...)


(heh. did you know that once you've deleted a file, & even though it still
"displays" in mpv.net, you can no longer Ctrl+m it. took me a moment before
i realized why it wasn't working, heh. ;-).)
You can delete a file from disk, even tough it is the currently active file of mpv? I was expecting that it's locked.
https://forum.doom9.org/showthread.php?p=1965524#post1965524

Tag audio file while it's playing (https://github.com/mpv-player/mpv/issues/10289).



And I'll (also) note (that in 5900), in such a situation (or similar, like with a long file name, >260...) Ctrl+M, where before it did nothing, now displays the same information as F9.

brad86
17th June 2022, 21:25
I have had this windows size issue when trying all new builds for the past year-or-so where my window size (width) will always get resized for the input videos aspect ratio.
The older version which I have to still use does not have this issue. I have tried scripts, config lines found on the web, autofit settings, but nothing seems to work.

I just want to be able to continue having a fixed window size, that does not change itself no matter what aspect ratio the input video is. Video will scale accordingly to the window, and add black bars within that window where necessary. Not sure what it was that changed this all those builds ago, but I would love to be able to finally get around this issue so that I can enjoy the benefits of the new builds.

Thanks.

stax76
19th June 2022, 06:25
@brad86

You can use:

start-size=always

keepaspect-window=no

Find it with the search feature of the conf editor, where it is in the screen section.

Note: start-size=session isn't working due to a bug.

stax76
30th June 2022, 14:17
# 6.0.1.0

- New tutorial: [Extending mpv and mpv.net via Lua scripting](https://github.com/stax76/mpv.net/wiki/Extending-mpv-and-mpv.net-via-Lua-scripting)
- New options `autofit-image` and `autofit-audio`, like autofit, but used for image and audio files.
- New [auto-mode](https://github.com/stax76/mpv-scripts) script to use mpv and mpv.net as image viewer and audio player.
- New [smart-volume](https://github.com/stax76/mpv-scripts) script. Records the volume per file in order to restore it
in future sessions. What is recorded and restored is the volume offset relative to the session average volume.
- New support of the mpv option `snap-window`.
- New feature to show chapters in the command palette, see binding and menu definition below.
- New option minimum-aspect-ratio-audio, same as minimum-aspect-ratio but used for audio files.
- Fix long commands causing key bindings not visible in the command palette.
- Fix script compatibility with mordenx and mpv-osc-tethys.
- Fix borderless window not resizable with mouse.
- Fix start-size=session not working.
- Fix chapters that are script created after the media file is loaded.
- Width of command palette slightly increased.
- The default key bindings for 0 and 9 change the volume, like mpv.
- When a menu item is defined multiple times with different key bindings,
only one menu item is created, it shows all bindings.
- libmpv zhongfly 2022-06-19

input.conf changes:

New:

```
Ctrl+c script-message-to mpvnet show-chapters #menu: View > Show Chapters
```

brad86
1st July 2022, 08:42
@brad86

You can use:

start-size=always

keepaspect-window=no

Find it with the search feature of the conf editor, where it is in the screen section.

Note: start-size=session isn't working due to a bug.

EDIT: Just seen the new release above. It's fixed :)
Awesome. Thank you.

EDIT AGAIN: Scrap that lol. No good. Same issue. Will just revert to this small little box every time I leave fullscreen. Have tried to set config to read-only, but it doesn't work.

https://i.imgur.com/3VlfNqh.png

mpv.net 033.0-107 from 04/04/21 behaves normally, and is the version I keep falling back to due to the issue above on newer builds.

therube
1st July 2022, 18:05
From what I can tell, setting start-size=always does look like it should be working.

What I would do, is to start with a new "profile", & see if things work as wanted in there.

So extract the files from the ZIP, somewhere, say, C:\TMP\6010, & create a directory named, "portable_config" within (So C:\TMP\6010\portable_config\.)
Then run C:\TMP\6010\mpvnet.exe.
With that, all settings (except for a few that are set in the Windows Registry) are stored "locally" (within C:\TMP\6010).

Set start-size=always & see if that works for you.

If it does, then compare settings & see if there isn't something in your "regular" Profile that is affecting what you are seeing.


(I'll note, that every so often, I'll come across some odd file that sets some really weird aspect ratio, often very small, & after that point, newly opened files [within the same session] seem to follow that setting, oddly.)

stax76
2nd July 2022, 09:40
deleted

stax76
2nd July 2022, 09:46
I've uploaded a new version which fixes the issue with the collapsed window.

If the title text returns (unavailable) then mpv.net is shown instead. If ${filename} is used (I'm using that too) but the path is a protocol like http, then ${media-title} is used instead.

brad86
2nd July 2022, 19:19
I've uploaded a new version which fixes the issue with the collapsed window.

If the title text returns (unavailable) then mpv.net is shown instead. If ${filename} is used (I'm using that too) but the path is a protocol like http, then ${media-title} is used instead.

Such a strange issue. Sadly, for me, this version puts it into the taskbar after leaving fullscreen, and it doesn't expand back at all. Have to right-click and close it.
With the old version, I have a set windows resolution that never changes, and can easily bounce to and from fullscreen. Aspect ratios don't change the window, everything just scales into it.

Thing is, I have reinstalled fresh Windows 11, which I thought might fix the conflict somewhere.

stax76
2nd July 2022, 21:06
There are a couple of settings that are relevant, most importantly start-size. At this point, it's better you upload the full setup:

C:\Users\JonDoe\AppData\Roaming\mpv.net\mpvnet.conf
C:\Users\JonDoe\AppData\Roaming\mpv.net\settings.xml
C:\Users\JonDoe\AppData\Roaming\mpv.net\mpv.conf

brad86
3rd July 2022, 09:14
There are a couple of settings that are relevant, most importantly start-size. At this point, it's better you upload the full setup:

C:\Users\JonDoe\AppData\Roaming\mpv.net\mpvnet.conf
C:\Users\JonDoe\AppData\Roaming\mpv.net\settings.xml
C:\Users\JonDoe\AppData\Roaming\mpv.net\mpv.conf

Uploaded my ini files, but I have this issue when starting from fresh and different settings, too. It's when I try to have a fixed window size the issue pops up.

stax76
3rd July 2022, 10:11
The attachment feature can take long. Alternatively, you can post file contents or use mediafire, which is popular amongst users here.

https://www.mediafire.com

I hope it can be reproduced, for the stable release it's too late, I've submitted it to the ms store a few minutes ago.

In doubt, in particular for less experienced users, it's better to use the GitHub issue tracker for bug reports because there are many highly experienced users reading the issue tracker and often help users with issues. There is an issue template which guides users, telling which info is needed, screenshots and attachments are directly supported by the tracker system.

brad86
3rd July 2022, 19:23
The attachment feature can take long. Alternatively, you can post file contents or use mediafire, which is popular amongst users here.

https://www.mediafire.com

I hope it can be reproduced, for the stable release it's too late, I've submitted it to the ms store a few minutes ago.

In doubt, in particular for less experienced users, it's better to use the GitHub issue tracker for bug reports because there are many highly experienced users reading the issue tracker and often help users with issues. There is an issue template which guides users, telling which info is needed, screenshots and attachments are directly supported by the tracker system.

Thanks for the tip. I'll certainly look more into github, and the issue tracker. I'm having some problems with a gaming emulator too, so I should jump on there and look around at opening an issue.

Here's the config again, anyway. https://www.mediafire.com/file/mu51srq4l36bkyc/config.7z/file

stax76
4th July 2022, 05:56
Thanks for the files. It's not reproducible on my PC, sometimes this happens and most of the time it's difficult to find the reason. Last week there was such a case and there it was a difference in the display configuration. I had the left display configured as primary display and the user the right display. Once that was discovered, it was possible to fix the bug. In your case, I really don't know why it happens.

this version puts it into the taskbar after leaving fullscreen, and it doesn't expand back at all

The Window is probably off-screen, this should however be reproducible and there is already code in place that detects and corrects this.

BigBrahma
5th July 2022, 13:13
I have been having the same issue as therube in the recent versions of mpv.net.
Both the command palette and playlist are not visible when i press the buttons, and i end up having to press ESC to regain control of mpv.net.
It worked back in version 5.8.0.0, but having tries the updates released afterwards it's stopped working for some reason.

therube
5th July 2022, 17:25
@BigBrahma, what OS & what video card?

BigBrahma
5th July 2022, 18:13
Windows 8.1 and Intel Core i5-4219U

therube
6th July 2022, 16:01
Assuming that is actually i5-4210U (https://www.intel.com/content/www/us/en/products/sku/81016/intel-core-i54210u-processor-3m-cache-up-to-2-70-ghz/specifications.html), that says it has "Intel® HD Graphics 4400" (which I'll take as being in the same family as the two systems where I run into the issue on).

stax76
10th July 2022, 08:04
I tested it on my notebook, using Win 10 with Intel HD 4600, there it works fine.

therube
26th July 2022, 21:01
Possibly an issue affecting Win7/8 ?

therube
26th July 2022, 21:14
06-07-2022

'i'

now looks to do the very same thing as F9,
displaying A/V information,
but you've lost display of file (disk) name, length, size...

(yes, you can do a 't', but...)

appears ? this change comes from mpvnet end, mpvnet.exe.


Notes mention, "a second key press".
Is that supposed to apply here, to 'i' ? cause if so, I'm not getting anything different on 2nd key press.
At some point in time (a long while back, now), "out of the blue", this started working as expected.

But... come 07-24-2022, it reverted to its original (for me) behavior.
Again, out of the blue.

I've no clue what triggered it to fix itself, way back?
Nor do I have any clue what caused it to break, again?

I went through every hotkey, thinking maybe something there cause something to cause something... but so far, correct behavior has not returned.

Debug shows:

error getting property: dwidth
property unavailable
error getting property: dheight
property unavailable
error getting property: dwidth
property unavailable
error getting property: dheight
property unavailable
error getting property: track-list/0/title
property unavailable
error getting property: track-list/1/title
property unavailable
error getting property: track-list/1/lang
property unavailable

dwidth, dheight, seems to be "expected" (as in that information seems to turn up regardless of whether things are working or not)

Though the track-list/#/... appears to be related to this issue.
As in every time I (now) hit 'i', I get those same sets of track-list messages.

Maybe that tells you something?

therube
26th July 2022, 21:17
hah!

i never realized (cause i never use), but if you drag&drop from (Win7)
Windows Explorer, files get added... in some order
- not that i'm understanding what order that is?

yet, if you use Everything (https://www.voidtools.com/) to d&d from,
the files are ordered in the order that they were listed within Everything.
(logical, isn't that.)

i ALWAYS d&d from within Everything, & i ALWAYS want my files ordered in the order that they were in Everything.

(heh. is it any wonder i never use Window Explorer!
nonetheless, i wonder what causes that difference?
[& i pity poor WE users.]
i wonder if that is the same "everywhere"?)

therube
26th July 2022, 21:21
/when 'i' is working correctly/
while the i information is (still) displaying
if you hit 'i', again, the F9 information then displays

(/maybe/ that has something to do with the 'i' issue i've been seeing... ?)
- partially, perhaps
if you're jumping through clips (F12, F12, F12...)
you hit F12, & the "title" displays
- if during that time, before that display "times out"
you hit F12 again, immediately followed by 'i'
that triggers the F9 behavior rather then the (i'll call it) "native" 'i' behavior

(you might have to be quick to cause/see that behavior, but it's certainly there)

stax76
30th July 2022, 11:29
@therube

In the last release the simple info menu was removed, there is now only a full/advanced info menu which shows all tracks in the file.

When you multi select, it might make a difference which item was selected first and last, you can change the focused item with ctrl+up/down in explorer.

When you drag, it might make a difference which item is focused or under the cursor location.

mpv.net simply uses the order it received.

stax76
30th July 2022, 12:07
v6.0.3.1

https://github.com/stax76/mpv.net/blob/master/docs/Changelog.md

therube
1st August 2022, 18:42
6031
The show-info command shows directly an advanced view, which was enhanced with a General section and the filename.
(With a quick look) 'i' now looks to be working again (on my, Win7 end) :-).


e run powershell -command "explorer.exe ..."
Is using powershell a security liability (compared to say, explorer.exe %1 [or CMD /C explorer %1, or similar, if need be]) ?

therube
2nd August 2022, 17:02
e run powershell -command "explorer.exe ..."
If a folder displays in "Icon" mode (in Windows Explorer), then the first 'e' open of that folder fails to focus on the expected file.

(Subsequent 'e' to that same folder work as expected.)
(If the folder is in "Details" mode, focus is always set as expected.
I've not checked other folder display modes.)

(I've only checked this on Win7, so far.)

JNW
8th August 2022, 19:30
@stax76

It looks like JRiver's new renderer JRVR is using mpv. Have you considered bundling FSRCNNX, SSimSuperRes, KrigBilateral and even SSimDownscaler with mpv.net and adding it to the GUI? Would make it easier for the average user to implement these high quality glsl algorithms. Just a thought.

https://github.com/igv/FSRCNN-TensorFlow/releases/tag/1.1
https://gist.github.com/igv

You could also add change-refresh.lua to scripts so people had automatic display mode switching. I've seen people ask about it a few time on reddit. You also need nircmd.

https://github.com/CogentRedTester/mpv-changerefresh
https://www.nirsoft.net/utils/nircmd.html

stax76
9th August 2022, 09:12
It looks like JRiver's new renderer JRVR is using mpv.

Are you sure it's not DirectShow based?

Have you considered bundling FSRCNNX, SSimSuperRes, KrigBilateral and even SSimDownscaler with mpv.net and adding it to the GUI?

No, I use a minimalist approach.

clsid
9th August 2022, 09:47
JRVR does not use mpv, they both use libplacebo.

therube
18th August 2022, 17:25
6031

When running in Fullscreen, there is about a 1" swath of screen at the top where the cursor does not auto-hide.

djones
25th August 2022, 22:20
@stax76

Any consideration given to a potplayer style of bookmarking, i.e. press a key and a bookmark file is written out with same filename of video, but with a bookmark extension. When video file is loaded, it checks for presence of bookmark file and loads saved bookmark positions for playback.

When I saw the "quick-bookmark" line in mpv.net recent changelog I got excited that persistent bookmarks might finally be a thing, but alas it's just temporary until video file is closed. I've also looked at a few bookmark LUA scripts but they all have issues or outdated.

Regardless, some type of persistent bookmarking capability for mpv.net would be fantastic.

stax76
27th August 2022, 15:44
@djones

I usually work only on features that are used by myself or can't be scripted with Lua, sorry.

therube
4th October 2022, 17:48
I'll just note, for anyone who might want to pull down more recent libmpv (https://sourceforge.net/projects/mpv-player-windows/files/libmpv/) (mpv-2.dll), he now builds 2 versions, & you would want the version that does not have "-v3" in the name.

stax76
14th October 2022, 11:39
I'll just note, for anyone who might want to pull down more recent libmpv (mpv-2.dll), he now builds 2 versions, & you would want the version that does not have "-v3" in the name.

Thanks for the info, do you know what's different?

-

There is a maintenance release available, it has two important bug fixes.

https://github.com/mpvnet-player/mpv.net/releases

I'm kind of in a similar situation than with staxrip, no longer using the application since I migrated to Linux in order to properly learn Linux.

I moved the project to https://github.com/mpvnet-player/mpv.net, opening it up for collaboration, in case somebody interested helping with maintenance and implementing Linux support.

therube
8th November 2022, 20:53
do you know what's different?
(I didn't till now...)
Difference between x86_64 and x86_64-v3

x86_64-v3 build have these instructions enabled by default:
avx avx2 bmi bmi2 fma lzcnt movbe sse3 sse4 sse4.1 sse4.2 ssse3 xsave sahf mwait crc32 cx16 popcnt f16c

Cpu which dont have these features will fail to launch the x86_64-v3 build
So I guess it is more it may or may not work for a particular user.
(It didn't, for me.)

no longer using the application since I migrated to Linux
You have to use it, it's one of the best out there :-).

therube
16th November 2022, 21:25
Just to note (mpv updated to an 0.35 release) & the libmpv (mpv-2.dll, from https://sourceforge.net/projects/mpv-player-windows/files/libmpv/) looks to be fine in mpv.net.

x7007
6th December 2022, 22:10
how can I play Dolby Vision-supported files? just getting the 0.35 release V3?

therube
8th December 2022, 16:52
Not that I know what "dolby visision" is, per se... but if this is "dolby vision"...

https://developer.dolby.com/tools-media/sample-media/video-streams/dolby-vision-streams/

https://media.developer.dolby.com/DolbyVision_Atmos/mp4/iOS_P5_GlassBlowing2_3840x2160%4059.94fps_15200kbps.mp4

then I don't know that you need to do anything "special" at all.


Simply open the file in mpv.net.

v0lt
13th December 2022, 05:02
then I don't know that you need to do anything "special" at all.
mpv.net v6.0.3.2-beta (just downloaded from releases (https://github.com/mpvnet-player/mpv.net/releases))
iOS_P5_GlassBlowing2_1920x1080@59.94fps_15200kbps.mp4
Pink instead of red. And other color distortions.

As far as I remember, the same problem in mpv. There is something that needs to be forced to configure for such videos, which is very inconvenient, because I have different types of videos (SD, HD and others).
I would like to hear an explanation from the developers about this.

pirlouy
13th December 2022, 09:09
Sorry I don't know anything about HDR, Dolby Vision, 4k. I don't know how you can use settings in mpv.net but in mpv, to test latest fixes, you need to use gpu-next option (which allows the use of libplacebo).
In mpv, you need to have a line with vo=gpu-next (https://mpv.io/manual/master/#video-output-drivers-gpu-next) in your config (mpv.conf)

For the original question, I'm letting the pros answer you (maybe nevcairiel has answers since he works on libplacebo).

KeLLeYLeK
15th January 2023, 08:40
Does mpv.net not support mpv player's environment variable MPV_HOME?

therube
16th January 2023, 18:41
I mention MPV_HOME back here, http://forum.doom9.net/showthread.php?p=1944164#post1944164.

Now where it's at currently, if actually used or not, not quite sure?


Though, mpv.net can use a /portable_config/ directory (within the program's "instalDir") to make a "portable" configuration (if you will).

stax76
21st January 2023, 09:16
I don't remember it, so probably not supported, I created a ticket for it here:

https://github.com/mpvnet-player/mpv-gui/issues/3

KeLLeYLeK
1st February 2023, 10:26
stax76 and therube
Thanks for your interest and response.

therube
20th February 2023, 17:52
Is there a Mirror function?
Yes.
You can do something like this in input.conf
H vf toggle hflip
(Capital H was unused, so...
And you can do similar for a vertical flip, 'vflip'.)

brad86
15th June 2023, 15:16
Is this fork still being worked on, or should one look at others ?

I love .net, but obviously if another fork is now recommended then I'll naturally move over.

therube
22nd June 2023, 16:22
AFAIK, no ongoing work (at present ;-)), though I don't think you'll find a better (mpv) player then mpv.net (IMO).

Current libmpv (https://sourceforge.net/projects/mpv-player-windows/files/libmpv/) is still working.
(Rename libmpv-2.dll to mpv-2.dll & replace the existing with that.)

djones
20th July 2023, 20:07
I'll just note, for anyone who might want to pull down more recent libmpv (https://sourceforge.net/projects/mpv-player-windows/files/libmpv/) (mpv-2.dll), he now builds 2 versions, & you would want the version that does not have "-v3" in the name.

Note that this breaks resume-on-playback for mpvnet, and possibly other things.

Took me forever to trace the problem to the .dll change, but had to roll back to the mpv-2.dll bundled with mpvnet.

Zetti
17th August 2023, 11:21
Version 6.0.4.0 is released.
https://github.com/mpvnet-player/mpv.net/releases/tag/v6.0.4.0-stable

brad86
11th September 2023, 12:50
EDIT: Found the issue.

therube
3rd October 2023, 20:18
Current libmpv [20231001] (mpv-2.dll, from https://sourceforge.net/projects/mpv-player-windows/files/libmpv/) does not look to work in 6.0.4?


Unable to load DLL 'libmpv-2.dll': The specified procedure could not be found. (Exception from HRESULT: 0x8007007F)


I am on Win7, in case that matters.
(I checked both the "plain" & v2 versions.)


I am on Win7, in case that matters.

Ah! It does look like it's going to be a Win7 issue!

Here, Windows 7 #12330 (https://github.com/mpv-player/mpv/issues/12330).
(I like the second comment ;-).)

Grimsdyke
12th November 2023, 12:35
I am currently looking into the edl function and I did get it to work on mplayer relatively fast after a few trial&errors.

But I can't figure out the syntax in mpvnet ! Maybe I am just to blind to see the obvious.

So, to make it easy, I did put the video and the edl into the mpvnet-directory.

Fired up a consol and tried : mpvnet edl:// 01.edl
then: mpvnet edl://01.edl
then: mpvnet -edl:// 01.edl

So I thought that maybe it expects txt-files and tried the same again with 01.txt.

# mpv EDL v0
WhiteRabbitJeffersonAirplane.mp4,30,20
#

The video plays otherwise just fine. Does anyone maybe have any ideas ?

stax76
21st November 2023, 10:10
Does it play with mpv? In that case, it's likely a mpv.net bug.

stax76
25th November 2023, 15:49
I wrote a powershell script that implements command line completion in the terminal for mpv and mpv.net, for terminal/powershell enjoyers. :)

https://github.com/stax76/mpv-scripts

Damien147
2nd December 2023, 16:32
Are there any plans for mpv to acquire a normal like interface with settings etc. like a normal player?Commands and scripts are confusing for a noob like me.

butterw2
2nd December 2023, 16:55
Are there any plans for mpv to acquire a normal like interface with settings etc. like a normal player?
None, no. That's why gui's like mpv.net exist.

Damien147
2nd December 2023, 17:18
I guess I am gonna have to learn how to use it but not yet.Thanks.

Schwartz
2nd December 2023, 21:57
Hush, you're supposed to believe it's *better* this way. ;)

mpv.net makes things fairly usable imo. There's also https://github.com/tsl0922/ImPlay for Windows which offers a neat context menu.

Damien147
3rd December 2023, 15:33
Literally I know how to type sfc/scannow and ipconfig in cmd,that's all my knowledge.I am gonna stay with Madvr for a couple of years but I am looking for something to replace it because things move on and mpv seems like the right choice.Mpv has everything I want and I don't mind to spend some time to learn how to use it.I can google and I can ask here if someone is willing to help but in a couple of years,not yet.

stax76
4th December 2023, 08:02
Sure you can ask here, doom9 has some mpv user's, not that many though compared to mpc, which was originally developed by Gabest, an inactive doom9 member.

The best address for mpv beginner questions is reddit:

https://www.reddit.com/r/mpv

More resources can be found here:

https://github.com/stax76/awesome-mpv

Damien147
4th December 2023, 17:41
I think I found all the settings I wanna make but still don't know how to do it.I'll be checking around when I am killing time but I am gonna use mpv in a couple of years and it's better to ask when the time comes and not now.The good thing is till then things will progress more.Thanks guys for being helpful.

therube
11th December 2023, 18:09
v7.0.0.1 Beta (2023-12-11)

.NET 6 is a new requirement (Windows 7 is still supported)
Alas, AFAIK .NET 6 is not supported on Win7, so in that respect mpv.net 7.x will not run on Win7.


* Windows 7 SP1 is supported with Extended Security Updates (https://learn.microsoft.com/en-us/troubleshoot/windows-client/windows-7-eos-faq/windows-7-extended-security-updates-faq) installed.

Which requires Windows 7 Professional and Windows 7 Enterprise.

(I didn't realize that 7 Pro was supported. I might be able to test that.
Though computer I am on currently is only Win7 Home Premium.)

---

Well I'll be.
I had a "windowsdesktop-runtime-6.0.12-win-x64.exe" & that did install on 7 Home Premium.
(I did this sandboxed, Sandboxie.)
Though attempting to run mpv.net, I get:

Unable to load DLL 'libmpv-2.dll' or one of its dependencies: The specified procedure could not be found. (0x8007007F)

System.DllNotFoundException: Unable to load DLL 'libmpv-2.dll' or one of its dependencies: The specified procedure could not be found. (0x8007007F)
at MpvNet.Native.LibMpv.mpv_create()
at MpvNet.MainPlayer.Init(IntPtr formHandle)
at MpvNet.Windows.WinForms.MainForm.Init()
at MpvNet.Windows.WinForms.MainForm..ctor()

(Let me thrown in 6.0.25-win-x64.exe...)

Same error message.

Though may be in fact, as it says, the (particular) libmpv-2.dll that is bundled (in the .7z).
(Earlier post in this thread made mention of differences between different "versions" of libmpv-2.dll [or its' earlier named .dll] & later the ability to run current libmvp on Win7.)

---

It lives (& plays) :-).

I threw in last (that I know of) libmpv-2.dll (09/16/2023) & that worked in Win7.


---

So, it works in Win7.
It does need .NET 6.0 (v6.0.25 is most recent, currently).
(Pretty sure it is the "desktop runtime", that one needs [rather then one of the other packages], .NET Desktop Runtime 6.0.25 (https://dotnet.microsoft.com/en-us/download/dotnet/6.0).)
It also needs an older version of libmpv.dll, mpv-dev-x86_64-20230917-git-181eddc.7z (https://sourceforge.net/projects/mpv-player-windows/files/libmpv/).
(Note that there is a x86_64 & also a x86_64-v3 version. On my end, I specifically need the x86_64.
For others that might be different. And the i686 version would not apply at all.
https://forum.doom9.org/showthread.php?p=1992250#post1992250)

Tested on Win7 Home Premium x64.
Presumably it will also work on Win7 Pro (& up).
(I'll note that my Win7 Home Premium is a hacked together version that I cooked up, in case that matters.)

therube
11th December 2023, 19:03
v7.x

Support of the MPVNET_HOME environment variable that allows customizing the conf directory location.
Seems that (pre)-creation of a /portable_config/ directory also (still) works.

stax76
12th December 2023, 07:48
Glad to hear that you were able to run it on Win 7. .NET 6 and .NET 8 are LTS. There is a new version annually in December. I've read that .NET 8 has Win 7 support dropped. Things were like this in the past, so this isn't a great surprise. For mpv.net, I probably try to stay on .NET 6 until 2028.

On my desktop PC, I have partitions for Win 11 and Ubuntu 22 and enough disk space for another OS partition, which I will probably use when Ubuntu 24 arrives. For power users, Linux is a great option. I made the migration from Windows to Linux within a month and was stressed by it, should have done it more slowly. WSL2 and MSYS are great tools to learn and use Linux tools on Windows. When I need a new PC, I will definitely install a 2 GB SSD to have plenty room for OS partition.

SirMaster
12th December 2023, 22:03
Can't you also just build a self-contained release version too?

Yes it makes the release larger, but then no framework requirement is needed. However, you can of course offer both types of builds in the releases.

I wonder if self-contained builds using .NET 8 work on Windows 7?

stax76
13th December 2023, 01:48
You can find the discussion about it here:

https://github.com/mpvnet-player/mpv.net/issues/571

> However, you can of course offer both types of builds in the releases.

Self-contained would be 150MB, so similarly heavy as an Electron app, libmpv adds another 90 MB. I consider it in case it becomes a popular feature request on the issue tracker. The release notes contain a link to the runtime download.

> I wonder if self-contained builds using .NET 8 work on Windows 7?

It would work.

stax76
13th December 2023, 08:55
v7.0.0.2 Beta (2023-12-13)

Besides a portable download there is now again a setup installer.
Fix dynamic menu items missing in context menu.
Fix certain binding setups shown poorly or incorrectly in the main menu.
Fix conf editor not remembering the search text.
Fix quit-watch-later not working.
New option menu-syntax. Default: #menu:
New zhongfly libmpv build.

stax76
13th December 2023, 16:34
Has somebody here experience maintaining winget packages? Hopefully winget isn't such a horrible experience like submitting an app to the MS Store. I discontinue uploading to the store, it's not worth the hassle.

sarsaK
15th December 2023, 15:19
Hello Stax, I appreciate your efforts on the project. I wish continued success. I've installed version 7.0.0.2 Beta (2023-12-13) by uninstalling the previous installation, but the right-click menu doesn't appear. I must be doing something wrong. When I revert to Satabil or just replace mpvnet.exe, the menu appears. I wanted to report this in case I made a mistake. I apologize if I'm at fault.

stax76
15th December 2023, 15:33
Hello Stax, I appreciate your efforts on the project. I wish continued success. I've installed version 7.0.0.2 Beta (2023-12-13) by uninstalling the previous installation, but the right-click menu doesn't appear. I must be doing something wrong. When I revert to Satabil or just replace mpvnet.exe, the menu appears. I wanted to report this in case I made a mistake. I apologize if I'm at fault.

Please post the content of your input.conf.

I had to release yet another beta version today because yet another severe bug was found.

v0lt
15th December 2023, 16:34
I've installed version 7.0.0.2 Beta (2023-12-13) by uninstalling the previous installation, but the right-click menu doesn't appear. I must be doing something wrong.
On my PC, the menu appears in the center of the window. If you move the cursor closer to the edges, the menu is not displayed.
mpv.net 7.0.0.3, Windows 10 22H2, DPI 100%.

stax76
15th December 2023, 17:10
On my PC, the menu appears in the center of the window. If you move the cursor closer to the edges, the menu is not displayed.
mpv.net 7.0.0.3, Windows 10 22H2, DPI 100%.

It's due to a problem discussed here:

https://github.com/mpv-player/mpv/issues/12782

stax76
16th December 2023, 12:36
@therube

If I remember right, mpv has Win 7 support dropped because of a dependency. If it stays that way, I probably use .NET 8 or 10 sooner than previously planned.

sarsaK
16th December 2023, 13:15
Please post the content of your input.conf.

I had to release yet another beta version today because yet another severe bug was found.

I'm adding input.conf. I deleted and tried; the menu appeared, but I'm adding it again anyway.

stax76
16th December 2023, 13:58
It takes time here until attachments are approved, maybe use pastebin.com.

I also recommend reading what the manual explains about the context menu, I've improved the context menu section and a few other sections today.

https://github.com/mpvnet-player/mpv.net/blob/main/docs/manual.md#input-and-context-menu

stax76
19th December 2023, 09:48
v7.0.0.4 Beta (2023-12-19)
--------------------------

- When mpv.net is started for the first time from a new startup location,
it asks if file associations should be registered.
- Setup supports installing per user in non admin mode.
- Command line parser supports list options with `-add` suffix.
- Fix window sometimes shown with wrong size.
- Limited support for the mpv option `geometry`, it supports location in percent,
for size use `autofit`. Read the instructions in the mpv.net manual or in the conf editor.
- Improved manual.
- Improved bindings.
- Conf editor reorganized according to options categories used in mpv manual.
- mpv.net is available via command line package manager winget.
- New libplacebo config editor options added.
- The conf editor uses a newly developed combo box control (dropdown menu)
instead of radio buttons whenever an option has more than 3 items,
this improves the look and feel, usability and performance.
The navigation tree view was improved.
- New zhongfly libmpv build.

therube
19th December 2023, 20:59
(Just noting that) 7.0.0.3 & 7.0.0.4 both seem broken in Win7.
7003, mpvnet.exe, I see the process start (Process Explorer), then immediately close (& a flash of the GUI).
7004, mpvnet.exe, I see nothing. No process (at all?), no flash.
mpvnet.com (in both 7003 & 7004), I can see (what I suppose is) the 1st frame of the clip display (before the player exists) [see attachment].


Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.

C:\mpv.net-v7.0.0.3-beta-portable>mpvnet.com xxx.mp4
Behavior of playlist-pos when writing the same value will change (currently restarts, it will st
op doing this).
(+) Video --vid=1 (*) (h264 858x996 30.000fps)
VO: [gpu] 858x996 yuv420p
[mpv.net] System.NullReferenceException: Object reference not set to an instance of an object.
at MpvNet.Windows.Help.WinMpvHelp.AddToPath()
at MpvNet.Windows.WinForms.MainForm.<>c.<OnShown>b__85_1()
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args,
Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, O
bject args, Int32 numArgs, Delegate catchHandler)
[mpv.net] System.NullReferenceException: Object reference not set to an instance of an object.
at MpvNet.Windows.Help.WinMpvHelp.AddToPath()
at MpvNet.Windows.WinForms.MainForm.<>c.<OnShown>b__85_1()
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args,
Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, O
bject args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.DispatcherOperation.InvokeImpl()
at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)
at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(Object obj)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCa
llback callback, Object state)
--- End of stack trace from previous location ---
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCa
llback callback, Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback c
allback, Object state)
at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext execut
ionContext, ContextCallback callback, Object state)
at System.Windows.Threading.DispatcherOperation.Invoke()
at System.Windows.Threading.Dispatcher.ProcessQueue()
at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, Int
Ptr lParam, Boolean& handled)
at MS.
Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled
)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args,
Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, O
bject args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan
timeout, Delegate method, Object args, Int32 numArgs)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam
)
at Interop.User32.DispatchMessageW(MSG& msg)
at System.Windows.Forms.Application.ComponentManager.Interop.Mso.IMsoComponentManager.FPushMe
ssageLoop(UIntPtr dwComponentID, msoloop uReason, Void* pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(msoloop reason, Applica
tionContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(msoloop reason, ApplicationC
ontext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at MpvNet.Windows.Program.Main()

[mpv.net] System.InvalidOperationException: Invoke or BeginInvoke cannot be called on a control
until the window handle has been created.
at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] arg
s, Boolean synchronous)
at System.Windows.Forms.Control.BeginInvoke(Delegate method, Object[] args)
at System.Windows.Forms.Control.BeginInvoke(Action method)
at MpvNet.Windows.WinForms.MainForm.Player_Shutdown()
at MpvNet.MpvClient.OnShutdown()
at MpvNet.MainPlayer.OnShutdown()
at MpvNet.MpvClient.EventLoop()
[mpv.net] System.InvalidOperationException: Invoke or BeginInvoke cannot be called on a control
until the window handle has been created.
at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] arg
s, Boolean synchronous)
at System.Windows.Forms.Control.BeginInvoke(Delegate method, Object[] args)
at System.Windows.Forms.Control.BeginInvoke(Action method)
at MpvNet.Windows.WinForms.MainForm.PropChangeWindowMaximized()
at MpvNet.MpvClient.OnPropertyChange(mpv_event_property data)
at MpvNet.MpvClient.EventLoop()
[mpv.net] System.InvalidOperationException: Invoke or BeginInvoke cannot be called on a control
until the window handle has been created.
at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] arg
s, Boolean synchronous)
at System.Windows.Forms.Control.BeginInvoke(Delegate method, Object[] args)
at System.Windows.Forms.Control.BeginInvoke(Action method)
at MpvNet.Windows.WinForms.MainForm.PropChangeWindowMinimized()
at MpvNet.MpvClient.OnPropertyChange(mpv_event_property data)
at MpvNet.MpvClient.EventLoop()

C:\mpv.net-v7.0.0.3-beta-portable>

(7.0.0.1 & 7.0.0.2 both worked.)

stax76
20th December 2023, 17:00
You can try an auto build, which should be a debug build which gives line numbers for the source code.

https://github.com/mpvnet-player/mpv.net/actions

Grimsdyke
24th December 2023, 13:48
In the next few days I surely have more time to look into mpvnet but should I post my embarrissing noob questions here ?
Like how to choose audio device ? There is no drop-down in the UI - just an inbox.

Seasons greetings

stax76
26th December 2023, 15:24
Like how to choose audio device ? There is no drop-down in the UI - just an inbox.

The conf editor doesn't support dynamic options.

To print available devices in the terminal:

mpvnet --audio-device=help

I can add a menu item to show available devices with a message box. And improve the help text in the conf editor.

@therube

The crash is fixed in the next build. I changed my release script to always use debug builds.

Grimsdyke
26th December 2023, 16:05
Thanks Stax, a setting in the UI is always better for us old f*rts. !!
However, just so that I know - a script like cycle-adevice.lua that works perfectly in basic mpv is not garantueed to work in mpv.net ?

stax76
26th December 2023, 16:43
Most scripts work. I often work on improving mpv compatibility, it's an ongoing effort, the next release supports 'title-bar' and list operation suffixes on the command line. Please let me know if you find something that doesn't work. The mpv.net manual has a section about differences here:

https://github.com/mpvnet-player/mpv.net/blob/main/docs/manual.md#differences-compared-to-mpv

The context menu can show audio devices in a message box, this message box has selectable text for copying.

View > More > Show Audio Devices

I've improved the audio-device description in the conf editor:

To list audio devices in mpv.net use the context menu:

View > More > Show Audio Devices.

therube
28th December 2023, 17:13
7.0.0.5 portable, Win7 x64 (running within Sandboxie).
(Oh, & since I'm on Win7, I have to substitute for older version of libmpv-2.dll.)

OK, so weird?


Double-click on mpvnet.exe, or drop a file on mpvnet.exe, & zilch.
AFAICT, the mpvnet.exe process does not even fire?


Though, if i mpvnet.com xxx.mp4, the player opens & the file plays as expected.


C:\mpvnet7005>mpvnet.com xxx.mp4
Behavior of playlist-pos when writing the same value will change (currently restarts, it will st
op doing this).
(+) Video --vid=1 (*) (h264 858x996 30.000fps)
VO: [gpu] 858x996 yuv420p
V: 00:00:16 / 00:00:21 (73%)



Ah, I see, you have a new file: libmpvnet.pdb & maybe that is playing into it, as in a particular .dll (libmpv-2.dll) requires a ("correct") associated .pdb (and not that I know what a .pdb file is)?

And yet another oddity.

I can mpvnet.exe xxx.mp4, or even mpvnet.exe (no file name) successfully - from a command prompt.
(In the latter case, the GUI opens as expected & waits for you to do something more.)
Yet double-click mpvnet.exe or drop a file on mpvnet.exe & nothing (process does not fire).

therube
28th December 2023, 17:24
The "portable" builds.


Should the portable builds (.zip) have an (empty) pre-created /portable_config/ subdirectory within, such that when things are copied out from the zip (including said /portable_config/ directory), you're "done".


That way, things would be more "portable", & %APPDATA%/roaming would not (otherwise by default) be used.

Grimsdyke
28th December 2023, 18:18
Got the script for audio devices working !! The problem was the key bindings. The script asked me to use "a" and "strg+a" to cycle or back-cycle through the devices.
Unfortunately those two are reserved by mpv.net.
So I just modified the script to use "y" and "strg+y". Of course, once you know of such of obstacles it is somewhat easy to fix but under normal circumstances I would have not the time to do this.

Would suggest to add this script !! Will also test a multi-audio-out script later this evening. Thank you !!

therube
29th December 2023, 16:50
And yet another oddity.

My other Win7 machine...

Win7, x64, Pro (vs. Home Premium)
.NET installed system-wide (vs. only in Sandbox)

on that machine, 7.0.0.5 works totally as expected - natively or within the sandbox.


I'll have to see if I can figure out what's going on (sometime next year ;-)).

stax76
30th December 2023, 06:15
and not that I know what a .pdb file is

These files contain debug symbols, tells me exactly which code file and line number causes a crash/exception.

I can mpvnet.exe xxx.mp4, or even mpvnet.exe (no file name) successfully - from a command prompt.
(In the latter case, the GUI opens as expected & waits for you to do something more.)
Yet double-click mpvnet.exe or drop a file on mpvnet.exe & nothing (process does not fire).

Maybe the file associations don't work, you can try:

Context menu > Settings > Setup > Register video file associations

Should the portable builds (.zip) have an (empty) pre-created /portable_config/ subdirectory within, such that when things are copied out from the zip (including said /portable_config/ directory), you're "done".

There are probably many users downloading the zip file without using the portable_config folder/feature.

@Grimsdyke

It's better to define all bindings in input.conf. Many script authors miss documenting how to do this, making it necessary to read and understand the code, which is a problem for people not knowing Lua and mpv scripting.

The script uses:


mp.add_key_binding("A", "cycle_adevice", function()

mp.add_key_binding("Ctrl+a", "cycleBack_adevice", function()


This means you can use the following in input.conf when the script file name is cycle-adevice.lua:

script-binding <name of script>/<name of binding>

<name of script> is the script name without file extension and dashes and spaces replaced with underscores.

Some script authors do not use mp.add_key_binding and script-binding, but rather mp.register_script_message and script-message-to, there are even more methods and some of them are better than others. Good documentation should make it easy and clear how to add a binding in input.conf, the best way to do this is giving an example:

y script-binding cycle_adevice/cycle_adevice

Grimsdyke
31st December 2023, 11:04
Thanks for the detailed instructions, however I think that "choosing and/or cycling through audio devices" is such an important feature that it should be included in mpv.net or even directly in the mpv code base.

And I do understand that the "I only install what I want/need" approach is attractive for many but for me personally i can't justify the time I spent the last couple of days just to get "audio device" working each time I want to add anything. So I hope that you'll continue to improve mpv.net in the next year(s) !!

butterw2
31st December 2023, 14:11
mpv-menu-plugin has a dynamic menu entry to switch audio devices I think (I don't use this feature). Customization allows the user to tailor the player to his specific requirements.

SirMaster
31st December 2023, 22:16
Hmm, I just started trying to use the beta version, but I am not able to open the config editor, or any other menu screen as far as I can tell. I get the context menu, but selecting show config editor or pressing the 'c' hotkey both just do nothing.

stax76
2nd January 2024, 09:35
Thanks for the detailed instructions, however I think that "choosing and/or cycling through audio devices" is such an important feature that it should be included in mpv.net or even directly in the mpv code base.

And I do understand that the "I only install what I want/need" approach is attractive for many but for me personally i can't justify the time I spent the last couple of days just to get "audio device" working each time I want to add anything. So I hope that you'll continue to improve mpv.net in the next year(s) !!

I created a feature request on the issue tracker here:

https://github.com/mpvnet-player/mpv.net/issues/631

mpv-menu-plugin has a dynamic menu entry to switch audio devices I think (I don't use this feature). Customization allows the user to tailor the player to his specific requirements.

I tested the menu plugin, indeed it allows changing the audio device.

Hmm, I just started trying to use the beta version, but I am not able to open the config editor, or any other menu screen as far as I can tell. I get the context menu, but selecting show config editor or pressing the 'c' hotkey both just do nothing.

There is a new beta release with:

Improved backward compatibility with input.conf files created by old versions.

If there is still something not working, please post your input.conf content using pastebin.com. This new build will hopefully also work for @sarsaK.

stax76
2nd January 2024, 12:01
I wrote a small mpv guide today trying to solve a common mpv problem, how to easily test user scripts. Hopefully it's beginner-friendly enough and helps some users. Please let me know if it needs improvements/corrections.

https://github.com/mpvnet-player/mpv.net/wiki/The-best-way-to-test-mpv-user-scripts

therube
3rd January 2024, 17:47
(So I threw in 7.0.0.6 on same computer where I had issue with 7.0.0.5, & .6 ran as expected.
Switched over to the .5 directory, & then, it too ran - where it didn't the other day [last year, as it was ;-)].
I'll suspect that something was running ? in that sandbox, that for whatever reason ? was affecting things?
I'll dig around when I get some time...)

SirMaster
3rd January 2024, 19:15
I uninstalled 7.0.0.5 and installed 7.0.0.6 and the config editor and other screens open now, thanks!

stax76
4th January 2024, 04:09
@Grimsdyke

The next beta release has:

- Context menu supports audio device selection (Audio > Audio Device)
- New option `remember-audio-device` to save and restore the audio device chosen in the context menu.

If you want, you can try an auto build, which you can find here:

https://github.com/mpvnet-player/mpv.net/actions

I also added audio device support to my command_palette user script:

https://github.com/stax76/mpv-scripts

Please let me know if you find more things that should be easier.

@SirMaster

Thanks for the feedback and testing.

stax76
12th January 2024, 11:41
The last stable release has a bug causing PGS subtitles support not working, so I needed to make a new release, which I now did.

pirlouy
26th January 2024, 17:42
I have a question about mpv & hardware, not necessarily about mpv.net:
With this configuration:

vo=gpu-next
gpu-context=d3d11
gpu-api=d3d11
hwdec=d3d11va
profile=gpu-hq

How is it handled by Intel recent iGPU like UHD 770 or UHD 730 or Iris Xe (or even "UHD" found on laptop) ?
Can it play difficult videos like HEVC 60 fps 4k HDR 10 bits ? Or no, you need an external GPU ?

butterw2
19th February 2024, 16:59
intel uhd730 should be able to handle default.
gpu-hq profile was changed to high-quality in mpv v0.37 and polar lanczos scalers do use more resources than lanczos (now default).

[high-quality]
scale=ewa_lanczossharp
hdr-peak-percentile=99.995
hdr-contrast-recovery=0.30
deband=yes

# Deprecated alias
[gpu-hq]
profile=high-quality

JNW
20th February 2024, 07:19
I use an 11th gen Intel Core i3-1115G4 which is listed as Intel UHD Graphics Xe G4 (48EU) and get some pretty good settings I'm happy with!

## GENERAL ##
keep-open=always
fullscreen=yes
save-position-on-quit=yes

## VIDEO ##
vo=gpu-next
gpu-api=d3d11
d3d11-output-format=rgb10_a2
hwdec=d3d11va-copy
glsl-shader="C:\Users\jrw6\Downloads\Media\mpv/mpv/shaders/ravu-lite-ar-r4.hook"
glsl-shader="C:\Users\jrw6\Downloads\Media\mpv/mpv/shaders/KrigBilateral.glsl"
scale=ewa_lanczossharp
sigmoid-upscaling=yes
dither-depth=auto
deband=no
target-colorspace-hint=yes

## AUDIO ##
ao=wasapi
audio-exclusive=yes
audio-spdif=ac3,eac3,dts,dts-hd,truehd
audio-channels=7.1,6.1,5.1,stereo
af=lavcac3enc

profile-desc=cond:p["audio-codec-name"]==aac
af=lavcac3enc=yes:640:2


target-colorspace-hint=yes gives HDR passthrough to my TCL QLED which I prefer but I do have to change windows manually to HDR and remember to turn it off. If you use Vulkan instead of D3D11 it will do it for you. You can use MPC Video Renderer for auto switching with HDR but don't get Krig chroma. I can use FSRCNNX_x2_8-0-4-1.glsl if I lower chroma to a orthogonal or polar scaler but I think I've found a happy medium. This way with UHD I still get better chroma scaler as that's all you can upscale. One more thing is this model prefers copyback hardware decoding or software. I guess it prefers the cpu over the iGPU. But that could be this particular chip. I think you'd be fine anything above this model. But I'm very happy.

huhn
20th February 2024, 07:48
KrigBilateral.glsl is one of the most dangerous Chroma scaler i know of i can not recommend at all.

One more thing is this model prefers copyback hardware decoding or software. I guess it prefers the cpu over the iGPU. But that could be this particular chip.
well you told it to use d3d11va-copy so yes that's what happening. the chip ahs nothing to do with that.

not using GPU-next or switching to vulkan could help a lot. but this needs testing i have no clue if intel has proper vulkan driver or even supports vulkan hardware decode.

JNW
20th February 2024, 08:09
If I use d3d11va or Native for LAV it will push the iGPU too far. It's a PoC. But as I said it might be this particular chip or Intel altogether. Intel absolutely has Vulkan but I find it glitchy for video. Again might be this chip. Check this out below screenshot of Intel command centre and chroma plate posted here many moons ago. My settings absolutely maxes out said chip. Tested and tinkered forever as we do :)

https://www.file.io/aUgt/download/Aih3UdtJmB62

JNW
20th February 2024, 08:30
Look what's happening mate with the CPU in copyback vs d3d11va/native even though the graph looks better for d3d11va/native you get frame drops nonstop slow motion style but with copyback the the cpu kicks in higher frequency and super smooth, no drops. I wouldn't argue my friend but I can't work it out either. I can only conclude as its all on same chip it prefers the cpu component to drive it. Why is it running at 2 but kicks into gear to 2.5 . This chip is capable of 3Ghz. Make no bl***y sense to me either. lol

https://www.file.io/hnqc/download/ZJL9J6TbslhC

JNW
20th February 2024, 09:23
Huhn/Mightyhuhn (I'm JimboTHX1138 back in the day :)) let me clarify my chroma comments. We all know it shows up on red really bad. But I'm a fan of upscaling chroma. Getting 4:2:0 to 4:4:4. People can test this on Netflix logo. Bad filter will look like a sabertooth tiger with rigid edges or cheap bilinear filter so soft like most TV manufactures that's annoying. Check out Netflix logo 720p/1080p with Krig. :D Love ya:)

pirlouy
20th February 2024, 10:34
intel uhd730 should be able to handle default.
gpu-hq profile was changed to high-quality in mpv v0.37 and polar lanczos scalers do use more resources than lanczos (now default).
Thanks for the info about new profile.
If you think it can "handle default", you surely mean Intel iGPU can't handle "high-quality" profile with display-resample interpolation ? That's what I though but I would have know from someone who has the hardware.
I guess I'll test myself if/when I got one in the next years.

If someone wants to test before that...
vo=gpu-next
gpu-context=d3d11
gpu-api=d3d11
hwdec=d3d11va
d3d11va-zero-copy

profile=high-quality

video-sync=display-resample
interpolation=yes
tscale=oversample

huhn
20th February 2024, 11:59
Huhn/Mightyhuhn (I'm JimboTHX1138 back in the day :)) let me clarify my chroma comments. We all know it shows up on red really bad. But I'm a fan of upscaling chroma. Getting 4:2:0 to 4:4:4. People can test this on Netflix logo. Bad filter will look like a sabertooth tiger with rigid edges or cheap bilinear filter so soft like most TV manufactures that's annoying. Check out Netflix logo 720p/1080p with Krig. :D Love ya:)

and i'm obsessed with them:
https://slow.pics/c/H2YeNTcm
https://slow.pics/c/7iTtfshW

and yes i think chroma in mpv is just terrible when krig the bleeding master is one of the better scaler. all hail super xbr the king of kings.

https://slow.pics/c/KbViAj68 it even beat ravu in image scaling well r4 is not tested yet but seeing the others i'm not sure.

anta777
14th March 2024, 18:49
How can you measure fps ?
Artoriuz write
"Measure-Command { mpv --no-config --vo=gpu-next --gpu-api=vulkan --audio=no --untimed=yes --video-sync=display-desync --vulkan-swap-mode=immediate --window-scale=2.0 --fullscreen=yes }"

How can I make sure my shader is connected and working?

Could you add to your wonderful player the ability to load custom shaders through the menu?

huhn
14th March 2024, 21:38
try this: mpvnet.exe --no-config --vo=gpu-next --gpu-api=vulkan --loop-file=yes --dither=no --audio=no --untimed=yes --video-sync=display-desync --vulkan-swap-mode=mailbox --opengl-swapinterval=0 --osd-msg1="FPS: ${estimated-display-fps}" --window-scale=2.0 --fullscreen=yes --glsl-shaders="path to the GLSL shader to test like "~~/shaders/ArtCNN_C4F16.glsl"" "path to a testfile like a 1080p file if you have a UHD screen"

C4F16 has about 320 FPS at 90 % GPU load using my 4060 that's relative low noise.

opening the OSD will tank FPS massively even the OSD text may massively lower FPS. but the OSD will also show you if the shader is loaded and does something. shift+i open the OSD for rendering you now press 2. `will show you protentional errors that's shift+´ on my keyboard which is next to backspace.


~~/shaders/ArtCNN_C4F32.glsl
there are some arguments in there that do nothing i just changed my benchmark mpv.conf to an command line and this works.

Alexkral
15th March 2024, 00:25
I don't remember the benchmarking profile I used with regular mpv, but d3d11 was the fastest renderer, and setting gpu-shader-cache-dir was needed for heavy shaders like FSRCNNX-56-16-4-1, possibly beneficial for others as well.

huhn
15th March 2024, 00:57
are you sure about that?
gpu-shader-cache-dir is "on" by default it is used to change the shader cache not to create one or use one that's gpu-shader-cache which is also on by default. does it not work one windows?

D3D11 1800 40 %
vulkan 1900 40 %

these numbers are completely meaningless and it is only one GPU architecture anyway.

and i don't see a way to benchmark D3D11 at all.

Alexkral
15th March 2024, 01:36
This was some time ago, at the time I was using a GTX 1080 and d3d11 was clearly faster than vulkan on windows. When I set gpu-shader-cache-dir the folder was filled with shaders on run, I don't remember if FSRCNNX-56-16-4-1 was much slower before that or directly unusable.

Many things may have changed since then, and I'm just talking about Windows.

EDIT:

I've looked at the reference and I think gpu-shader-cache didn't exist back then, so it probably wasn't used unless gpu-shader-cache-dir was set.

For benchmarking d3d11, you may be missing d3d11-sync-interval=0

huhn
15th March 2024, 04:01
i was very close to report that it is slower when it is active window/application it caps at 300 exactly.

d3d11 360 fps 2600 mhz at 94 % load
vulkan active 330
vulkan inactive 320 2700 mhz at 90% load

i'm not skilled enough to read the OSD to know if it is rendering 10 bit or not.

artcnn is now on my ignored scaler list anyway. the motion errors are unacceptable and the 16 version has similar issues as fsrcnn.

anta777
15th March 2024, 09:19
Help me!
I can't connect some shader:
-FSRCNN
-ArtCNN
-Ravu
-Nvscaler
Why don't I see connected shaders in the statistics?

SSIM,Krigbilateral,Anime4K work fine.

anta777
15th March 2024, 09:22
delete

huhn
15th March 2024, 12:49
you can put it where ever you want.

~~/shaders/ points to your home directory for mpv so it is different for every computer and different between mpv and mpv.net.


could be this: C:\Users\anta777\AppData\Roaming\mpv.net\shaders

i don't know could be everything. it's the location of mpv.net.conf
you can also put them in C:\mpv\shaders\ArtCNN_C4F16.glsl
so glsl-shader="c:\mpv\shaders\ArtCNN_C4F16.glsl"

mpv is literally design so people don't use it.

anta777
15th March 2024, 13:28
Thank you!

What should I see in the statistics when ArtCNN is applied?
t,2
Can you take a screenshot?

huhn
15th March 2024, 13:36
yeah they changed the OSD to t here.

https://i.postimg.cc/HL4GCNtB/mpv-net.png

anta777
15th March 2024, 14:16
Thank you very much!!!!!!
Everything works, I checked it on rip 600x300!


They just don't work now NVScaler and NVsharpen.
But this maybe my old video?
Notebook 8600GS.

huhn
15th March 2024, 15:18
https://www.techpowerup.com/gpu-specs/geforce-8600-gs.c1767 ?

not that i know but i doubt that it will run modern gpu instruction and even if it could do these instruction there is no way it is fast enough.

anta777
15th March 2024, 15:29
AiUpscale doesn't work either.
AiUpscale working today!

anta777
17th March 2024, 14:05
What's the easiest way to compare the performance of different settings?

huhn
18th March 2024, 03:07
try the benchmarking settings.

anta777
18th March 2024, 12:14
Thank you very much, everything worked out!

anta777
18th March 2024, 12:31
FSRCNN only luma or upscale chroma too ?

anta777
18th March 2024, 12:37
Which upscaler is the best right now for films (not manga) SDR fhd to 4K?

1. AiUpscale?
2. ArtCNN? (for manga only?)
3. FSRCNN?
4. SXBR?
5. NGU sharp?

anta777
18th March 2024, 17:59
How to disable built-in filters scaler in mpv?

Write in mpv.conf:
scaler=no

huhn
19th March 2024, 04:35
How to disable built-in filters scaler in mpv?

Write in mpv.conf:
scaler=no
video-unscaled=yes
makes the video native resolution but chroma scales.

FSRCNN only luma or upscale chroma too ?
not sure but there are a lot of fsrcnn versions out there. on a first look it doesn't seem to scale chroma the version i have here.

Which upscaler is the best right now for films (not manga) SDR fhd to 4K?

1. AiUpscale?
2. ArtCNN? (for manga only?)
3. FSRCNN?
4. SXBR?
5. NGU sharp?

there will never be a general answer for that.
SXBR is clearly not the highest end it's power is that it is cheap and save to use. the mpv version is bad anyway.

artcnn is supposed to be good for everything. but everything i have seen it should be completely avoid. motion issues massive ringing and odds lines... and chroma is super noisy with odd artefacts.

all of this hit me unprepared because the preview image and psnr are very good.

AIscale no clue looks like yet another FSRCNN port/fork.

FSRCNN there are a lot of version of it originally it had ringing issues now isthas the same issue as NGU sharp it like to mess things up if they are not "perfect". i didn't really look to much into it.

NGU sharp another rated scaler but has virtually no ringing gaving me the impression neural network scaler can generally do that i guessed wrong. can go completely wrong.

NGU AA is most likely the saves selection it can handle nearly everything without going nuts but is by far not as sharp.
no ringing no totally odd behaviour no common issues with sources of type x. i guess pixel art is the one thing it can go wrong on else this is a stable but not as sharp scaler.

if i had to choice something as "best" it would be NGU AA.

anta777
19th March 2024, 10:08
Thank you very much!

I want to disable all built-in ones scalers in mpv and use for upscale my glsl shaders.

Is it possible?

anta777
19th March 2024, 12:44
What are there chroma upscalers without pixel offset?
Only built-in mpv?

huhn
19th March 2024, 15:09
Thank you very much!

I want to disable all built-in ones scalers in mpv and use for upscale my glsl shaders.

Is it possible?

if you load a shader it will do that automatically the build in one are then used as correction or chroma.

What are there chroma upscalers without pixel offset?
Only built-in mpv?

you need an offset the build in ones will use the correct offset automatically. with glsl chroma you run the risk of wrongly placed chroma there is new hooks that can be added but not sure which ones have them.

anta777
19th March 2024, 16:34
If I use FSRCNNX and cscaler=ewa_lanczos4sharpest , then they won’t have a conflict?

Or cscaler won't work ?


How can I check correct offset in new hooks?
Krigbilateral?
Joinbilateral
Chroma-from-luma-prediction?

anta777
19th March 2024, 21:17
Why i look in statistics
ortho(vert)upscaling (lanczos)
ortho(horiz)upscaling (lanczos)

I disable scalers in mpv and use my shader.

huhn
19th March 2024, 22:20
If I use FSRCNNX and cscaler=ewa_lanczos4sharpest , then they won’t have a conflict?

Or cscaler won't work ?


How can I check correct offset in new hooks?
Krigbilateral?
Joinbilateral
Chroma-from-luma-prediction?

i don't know if it is even used i only know it exist.
you can try this: https://drive.google.com/file/d/19wIkcOpBGCtaCeh-ZNsShlCn-FvKnc48/view?usp=sharing

all files are 100% the same only the meta data is different. if it moves when you switch between them it is most likely working.

maybe maybe not mpv is a complete mystery to me:
Chroma variants are trained to learn how to reconstruct chroma using information from both chroma and luma. The DN and DS variants should generally work well on most lossy video content, you should only consider the other variants on very high quality sources. You should not use this alongside luma prescalers.

YCbCr variants are 2x YCbCr models that double the image and reconstruct chroma simultaneously. This is what you should generally use if you want to use ArtCNN for both luma and chroma. Do not use these on 4:4:4 content.

RGB variants are normal 2x RGB models. These are not trained to learn how to reconstruct chroma, they simply double the image. These are the preferred models for RGB or 4:4:4 content in general.

why do you need to use a different shader when the source is 4:4:4.
why does it need an RGB version.
if can i not use the chroma version with another prescaler i'm so confused.

maybe FSRCNN works together with krig but it is not supposed to work together with chroma artcnn for reasons or something.

Why i look in statistics
ortho(vert)upscaling (lanczos)
ortho(horiz)upscaling (lanczos)

I disable scalers in mpv and use my shader.
well it has to scale to match luma even if you tell it not to "scale".
could be chroma when you scale the image with FSRCNN. i'm really not qualified to answer that.

stax76
17th July 2024, 05:30
awesome-mpv has been updated today, I sync it a few times per year with the user script section in the wiki.

https://github.com/stax76/awesome-mpv

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

therube
18th July 2024, 17:04
history.txt:
is there a minimum file size (or some other determining factor) for which history.txt
is not updated for particular file(s)?
- like if i throw (drag & drop) a directory of files into mpv.net, files ranging
in length between 0:10 to 1.34.23
no. it is not length or size alone?
is % of file played a factor?
or how the player is Quit? Or...?
- as it is, something ? either causes a file to turn up in history.txt, or not?

https://forum.doom9.org/showthread.php?p=1944164#post1944164 (only answering a 3-year old post ;-).)

Not length, size, or %, or... simply the amount of time that the clip has been open (not necessarily playing or anything else, simply open) - with a minimum time needed before a file is logged of 60 seconds.

---

And in that respect...


history.lua (https://github.com/stax76/mpv-scripts/blob/main/history.lua)

a minimum of 60 sec.

Is there any downside (as in extra polling or i/o or...)
to reducing that 60 to some other amount, say 18 seconds or whatever?

likewise, say you jump to the next file, never start playback,
& the player simply sits... for hours or days... any impact there?
or does it simply sit in a no-op state, & on the next Next File,
/then/ it checks time & writes to the .log ?

therube
18th July 2024, 17:41
(I don't really know what I'm saying below, so I'll just carry on... heh.)

input.conf

> a cycle-values video-aspect 16:9 4:3 2.35:1 -1 #menu: Video > Cycle Aspect Ratio

so 'a' cycles aspect ratio
i suppose you can simply add any wanted value, say 16:10, to that "list", & they would then (also) cycle

what is the meaning of -1 ?
or does that mean something like, reset on close (of clip)?
oh "video-aspect-override"... & that means just what... ?
oh, oh. so -1 resets AR to "Default", & if set that way, /then/ subsequent clips open at Default - otherwise they'll open at whatever the last override was set to.

in that regard, could hitting -1 throw up a message, "video-aspect: #, Default", to make it more apparent that the DAR is being used instead of an override?
likewise, considering a/r carries forward unless reset, maybe an 'A' to manually reset it - without cycling, or can something like the be defined in input.conf ?

and 0 is "PAR", which is "native resolution" ? NO, must be "pixel aspect ration"... which means what, width/height ?
and -1 is "Default", which is what "DAR", display aspect ration ?

so if:
Width: 426
Height: 282
PAR is then: 1.5106 = ar = 0
DAR: 3:2, is 1.5000 = ar = -1

Do I kind of understand the above - kind of correctly?

stax76
20th July 2024, 02:24
I did a little maintenance work and released a new beta version.

# v7.1.1.1 Beta (2024-07-20)

- Korean, Russian and Turkish translation added, Japanese translation fixed. Thanks to the translation team!
- Action/Workflow/Auto build fix and update.
- New default bindings and menu items for select.lua which is a new simple mpv built-in command palette script.
In the context menu select.lua features can be found under `View > On Screen Menu`.
https://github.com/mpv-player/mpv/blob/master/player/lua/select.lua
- New PowerShell script 'Tools\release-mpv.net.ps1' used to releases mpv.net on GitHub.
- Fix DVD ISO file support.
- MediaInfo updated to version v24.6.
- New ARM64 support.
- New zhongfly libmpv x64 build.
- New Andarwinux libmpv ARM64 build.

therube
23rd July 2024, 17:17
7111.

- New default bindings and menu items for select.lua which is a new simple mpv built-in command palette script. In the context menu select.lua features can be found under `View > On Screen Menu`.

I'll just note that I'm not getting anything; F8, F1, F3...?

Win7 x64 (might matter).

No messages in Console.


If I download select.lua, I get:


[select] stack traceback:
[select] C:\mpvnet7111\portable_config\scripts/select.lua:19: in main chunk
[select] [C]: at 0x07fec638c550
[select] [C]: at 0x07fec638cb00
[select] Lua error: C:\mpvnet7111\portable_config\scripts/select.lua:19: module 'mp.input' not found:
[select] no field package.preload['mp.input']
[select] no file 'C:\mpvnet7111\lua\mp\input.lua'
[select] no file 'C:\mpvnet7111\lua\mp\input\init.lua'
[select] no file 'C:\mpvnet7111\mp\input.dll'
[select] no file 'C:\mpvnet7111\loadall.dll'
[select] no file 'C:\mpvnet7111\mp.dll'
[select] no file 'C:\mpvnet7111\loadall.dll'

stax76
24th July 2024, 12:47
I don't know if you can use select.lua with an old libmpv build, you can use command_palette.lua. It has new features:

- Command palette features
- Bindings
- Playlist
- Chapters
- Profiles
- All tracks
- Audio tracks
- Video tracks
- Subtitle tracks
- Secondary subtitle tracks
- Subtitle line
- Commands
- Properties
- Options
- Audio devices
- Blu-ray Titles

https://github.com/stax76/mpv-scripts?tab=readme-ov-file#command_palette

stax76
18th August 2024, 12:43
The command palette user script supports now stream quality and aspect ratio.

https://github.com/stax76/mpv-scripts?tab=readme-ov-file#command_palette

therube
4th September 2024, 16:12
How is mpv-hero (https://github.com/stax76/mpv-hero) (which I've not looked at yet) different / related to mpv.net ?

stax76
5th September 2024, 03:44
They are both easy to learn and use mpv GUIs, mpv.net is easier to learn and use, and it will probably stay that way. I intend to improve both, it depends on the feedback I get.

stax76
10th October 2024, 13:22
# v7.1.1.2 Beta (2024-10-10)

- Polish translation fixed. German, Turkish and Japanese translation updated.
French translation added! Thanks to the translation team!
- Support of relative folders from command line.
- Support for the mpv option `cursor-autohide`.
- A issue with the support of the mpv property `title-bar` has been fixed,
at the moment this is most useful for users of the popular uosc user script,
the mpv built-in OSC doesn't fully support it yet.
- `media-controls=yes` is now enabled by default, this enables play controls
in the `KDE Connect` android app.
- The mpv.net option `auto-load-folder` by default is now disabled and the
option is deprecated. The reason for this is mpv has new native support
for it using `autocreate-playlist`, which mpv.net uses now instead by default.
- New zhongfly libmpv x64 build.
- New Andarwinux libmpv ARM64 build.

stax76
20th October 2024, 08:48
I'm releasing a new mpv.net version with a few small improvements to mpv.net and the Command Palette script.


# v7.1.1.3 Beta

- Support for autocreate-playlist, video-exts, audio-exts, image-exts.
Windows 7 support should still work, but needs auto-load-folder to be enabled
or autoload.lua.
- The command palette user script is installable from the context menu under
`Settings > Setup > Install Command Palette`. The command palette features
are shown in the menu under 'View > Command Palette'.
- New command to select the stream quality `Video > Stream Quality (Alt+q)`,
this calls the Stream Quality feature of the command palette.
- mpv.net interacts with the Command Palette to enable the Recent Files
feature in the Command Palette.
- New zhongfly libmpv x64 build.
- New Andarwinux libmpv ARM64 build.


In the Command Palette script, there is improved default font size handing, so people get a good default font size with any DPI setting, people that customized the font size need to adjust.

stax76
16th September 2025, 01:13
I've updated and improved my awesome-mpv (https://github.com/stax76/awesome-mpv) project today.

There is not much mpv.net development, but I want to make a new beta release this or next year, if it becomes incompatible with libmpv, I will fix it.

stax76
5th October 2025, 00:31
Hello everybody,

I released the first beta version this year. I try to make at least one beta and one stable release every year.

On the issue tracker, I need to be more active.

I hope it works well.


# v7.1.1.4 Beta (2025-10-05)

- Support for select.lua has been added. It's a new Lua script built
directly into mpv like the osc or console script. It's similar to command_palete.lua.
- Fix --script-opt not working.
- The mpv.net manual was updated.
- The Turkish translation was updated. A Bulgarian translation was added.
Thanks to the translators!
- The required Dotnet version changed from 6.0 to 9.0. This drops Win 7 support
unfortunately. It was done to use new C# language features and make
the mpv.net project more attractive for new developers to contribute.
Also most users prefer having the newest runtime.
- auto build has been disabled because it requires updating libmpv and
mediainfo all the time which is too much manual work.
- The script src/Tools/update-mpv.ps1 has been improved. It's the easiest way
update mpv and libmpv (x64 and ARM64). Shinshiro has a update script too,
but it's a lot longer and more complex.
- mediainfo and libmpv have been updated.

v0lt
5th October 2025, 06:44
Thank you.
I tested it, it works.

Could you explain why developers use .NET Standard Term Support instead of Long Term Support?
.NET 9 STS 2024-11-12 ... 2026-05
.NET 8 LTS 2023-11-14 ... 2026-11
LTS support is one and a half years longer than STS.

stax76
5th October 2025, 08:35
Thanks for the interest. I think younger users and developers are more excited than older people about the latest and greatest features and software. For me, it's not a problem to wait a few years, I cannot remember many programming features anyway, poor memory. I'm looking for a new developer because I can no longer spend a lot of time on my software projects, mpv.net and awesome-mpv are the only projects I still maintain.

mpv/libmpv is written in C, and it requires at least Windows 10, this is not because of mpv, but because of a mpv dependency requires it and Linux developers don't care much about Windows 7 support.

v0lt
5th October 2025, 09:31
My question is not about Windows 7 support.
Support for your chosen .NET 9 STS will end earlier than support .NET 8 LTS.

stax76
5th October 2025, 10:15
I don't know what implications the difference between STS and LTS has. Is your concern security related?

If enough people request LTS, I can change it to use LTS, v10 comes out in December I believe.

v0lt
5th October 2025, 15:25
I don't know what implications the difference between STS and LTS has. Is your concern security related?
As a user, I don't like having to install new versions of .NET frequently. I'd like to do it less often. Long Term Support versions are preferable in this regard.

stax76
5th October 2025, 23:53
I understand and will update it to use v10 LTS, v10 is scheduled for this November.

therube
24th October 2025, 19:47
How to change the (Windows) taskbar icon (of mpv.net)?

I tried Resource Hacker (http://www.angusj.com/resourcehacker/), & with that the desktop icon changed, but not the taskbar icon.
(With other programs I've messed with, Resource Hacker seems to do the job. With mpv.net, I'm only getting partial results.)

(I'm on Win7, & I've been using 7.1.1.3, but never got the F8 "playlist" to work, so I reverted to 6.0.4, but now my audio instance of mpv.net uses the same taskbar icon as my "video" instance, making hard to distinguish. [And with the back end changes to 7.1.1.4, I'm left out altogether.])

stax76
20th November 2025, 01:34
I uploaded a new beta release today with small improvements.

# v7.1.1.5 Beta (2025-11-20)

- Same as in mpv the `?` and `t-4` keys can be used to show the active
key bindings on-screen, it supports scrolling and searching.
In the context menu it's located at:
`View > More > Show Active Bindings On-Screen`
- Bindings of select.lua menus have changed:
`F1` On-Screen menu
`F2` Bindings
`F3` Properties
`F4` Commands
- The German, Chinese, Japanese and Turkish translations were updated. Thanks to the translators!
- Users need to install .NET 10 LTS (Long Term Support), it should run on Windows 10.
It was requested by users to prefer LTS over STS (Short Term Support).
- libmpv and MediaInfo was updated.

stax76
26th November 2025, 09:53
I have a GitHub project that lists all my projects, I updated it today, you can check it out here:

https://github.com/stax76/software-list

stax76
9th January 2026, 06:42
Hi there, mpv recently released a stable build, so I took the opportunity to release a stable mpv.net build too. I hope it works well.

*MidnightWatcher*
13th January 2026, 08:44
Hi there, mpv recently released a stable build, so I took the opportunity to release a stable mpv.net build too. I hope it works well.
Just tried this for.the first time, nice! Will you be adding a way to make it easy to enable refresh rate switching in a future release?

stax76
13th January 2026, 16:40
Maybe you just want to have a custom menu item in the context menu. You can get that by editing input.conf, here is an example:

Ctrl+a show-text Test #custom-menu: Test > Test

I don't know which commands you need. If nobody at doom9 can help, you can ask at reddit:

https://www.reddit.com/r/mpv/


If you want to cycle commands by key, there is a script called cycle-commands, it can be found here:

https://github.com/stax76/awesome-mpv

pirlouy
24th June 2026, 16:02
A problem I have with mpv (not .net but you said we could talk about it in this thread, @stax76).

This (AV1 sample) video is not being correctly decoded by hardware decoder (hwdec=auto with a Radeon 9060 XT): https://files.catbox.moe/t1y2e1.webm

I have jerks and artefacts.

https://files.catbox.moe/7eg0lx.png
https://files.catbox.moe/oagmyw.jpg

Video is maybe not well encoded, but it works well MPC-BE with mpcVR.

huhn
24th June 2026, 17:08
if it works with hardware decoding in other player mpv is to be blamed but i tried an very old version of mpv with vulkan and it is properly hardware decoded also tested d3d11 worked just fine using a 9060 xt 26.5.2

pirlouy
24th June 2026, 19:22
You're right, it looks like it is linked to tscale. I use display-resample with mpv to avoid some judder but as I suspected it's not a perfect solution.
You should reproduce with:

hwdec=auto
video-sync=display-resample
interpolation=yes
tscale=sphinx

I've not reproduced with "oversample", but I did with linear, catmull_rom, mitchell, gaussian, or bicubic.

I use
tscale=sphinx
tscale-blur=0.6991556596428412

I guess there are some settings found on the Internet and because a so-called haasn is involved.

huhn
24th June 2026, 19:44
no its not corrupting to 120 HZ.

pirlouy
24th June 2026, 23:29
OK, I give up. I've just updated drivers, but still the same, even in 120 Hz mode. I'll check with other AV1 videos in the future.

Emulgator
25th June 2026, 00:05
pirlouy:
https://forum.doom9.org/showthread.php?t=187021

pirlouy
25th June 2026, 10:09
Oh noes... not something I wanted to read. :(
He has always been nice and I wish I had thank him more for all his work and his always nice answers.

Emulgator
25th June 2026, 12:22
I was wondering as he changed his user title some months ago after ~6800 posts.
Location: On thin ice, he said.

Klaus1189
25th June 2026, 22:56
:( how old was he?