-
-
Notifications
You must be signed in to change notification settings - Fork 162
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
MacOS no audio when playing videos #1132
Comments
This isn't a bug with hydrus, but a bug with how the mpv library works with Qt on macOS. jaseg/python-mpv#61 Normally, hydrus video playback uses mpv, but on macOS, mpv can't work, so it's disabled, and some legacy player code that doesn't have audio support runs instead. |
Is there no workaround to install/load mpv via homebrew or an alternative player? |
It doesn't matter how you install mpv, it won't work because of the linked issue. To resolve this issue, someone needs to implement a workaround somewhere, so it's gonna require some programming. Unfortunately, I tried to take a crack at it a while ago, but I have absolutely zero experience with Qt and macOS GUI programming so I got nowhere. The owner of this project knows about this limitation and that's why the macOS build disables mpv, but I think he is also in no place to go fix the underlying bug in the third party libs. So we're probably screwed unless someone who does know what they're doing takes interest in fixing it, or one of us teaches himself enough to fix the bug on his own, lmao |
same issue in ubuntu OS here. |
@HerveKuate I am 99% sure it should work on Linux if you have mpv installed, and if you are having issues even if mpv is installed, it would be a separate issue than the fundamental problem on macOS, so you'd want to either get help on the discord about it or open a new github issue. |
I asked help on discord, thanks for the advice. |
@roachcord3 thank you for this information about python-mpv on macOS. What a shame. I had spent a bunch of time trying to get mpv built into the macOS App, having mixed success and knowing there was a 100% CPU problem still to solve, and it seems like that second problem is more serious. There are some interesting ideas in that python-mpv thread on how to get around this with subprocess, so I've recorded that stuff for now and will think about it when I revisit this topic. I am going to close this issue for now. Hope to have proper mpv support on macOS in future, but for now it just seems a no-go. |
Ok, this is super janky, because not only does it seem to produce a not-completely-functioning player, but it also causes exceptions to get thrown, BUT I did manage to use some reimplementation of just a part of the Since hydrus is using part of the python-mpv API that wasn't reimplemented, I had to shove it back in. Here's the code diff:
I was even able to seek with arrow keys! So some of the messaging actually works. I didn't bother trying every little thing because of how janky it is, I just wanted to share. Of course, it causes a bunch of exceptions, such as
As well as a TypeError that occurred at some point when I was trying to interact with the media window underneath the external mpv player window:
And it seems like the media window has no idea what's going on with the mpv window. I'm like 20 seconds into the actual video at this point, but the media window still thinks I'm on frame 1: But, yeah, this is somewhat exciting. I wonder if it's possible to make the macOS build use this JSON IPC version instead, and have it handle events slightly differently specifically when using that version. If nothing else, this probably will help me and maybe a few others come closer to making python-mpv work on macOS. |
Hydrus version
481
Operating system
macOS 11 "Big Sur" (Apple silicon)
Install method
Installer
Install and OS comments
install via disk image (dmg)
Bug description and reproduction
no audio when playing videos in hydrus. Has not worked since install. There is no audio output on either the preview player or the full player
Log output
No response
The text was updated successfully, but these errors were encountered: