View Full Version : mpv.net media player
Pages :
1
2
3
4
5
6
7
8
9
10
11
12
[
13]
14
15
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:)
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.