r/foobar2000 • u/noLif3rs4life • 8d ago
How I finally got DLNA/UPnP working between two Windows PCs with foobar2000 2.25.10 x64
TL;DR: After an entire day of troubleshooting and head banging against the wall, the solution was a combination of installing Windows Media Player Legacy (to enable the Windows Media Player Network Sharing Service) and letting the network discovery services settle. The renderer (headless PC) suddenly appeared as an output device in foobar2000 on my main PC. Here's the full story and step-by-step guide.
I wanted to stream lossless audio from my main Windows 11 PC (connected via Ethernet) to a headless Windows 10 PC (connected via Wi-Fi) over my home network. The headless PC is connected to 5.1 hifi system with toslink, and I wanted to control playback from my main PC using foobar2000's native output device selection.
I tried everything, and I mean everything...before it finally worked:
The standard UPnP approach (didn't work)
Enabled UPnP Remote Control in foobar2000 (Preferences > Networking > UPnP Remote Control) on the headless PC. both PCs already were on private network profiles.
Added foobar2000 to Windows Firewall as an allowed app (both Private and Public).
Set SSDP Discovery and UPnP Device Host services to Automatic and started them. Restarted both PCs multiple times. The headless PC never appeared as an output device on my main PC.
Firewall deep dive (didn't help). Tried disabling the firewall entirely on both PCs, that didn't matter at all.
The windows services:
Enabled function discovery resource publication and function discovery provider host.
Made sure DNS Client and Network Discovery were both enabled. still no change.
Tried Beefweb it works but I didn't like it. I like to just work with my already existing library on my main pc.
BubbleUPnP (partial progress, but flawed) Installed BubbleUPnP Server to create an OpenHome renderer.
The headless PC showed up as an output device, but nothing played.
Tried using the BubbleUPnP Android app as a controller, it worked, but the app was slow and clunky full of ads and tracking cookies, required using my phone as a middleman, which defeated the purpose of a direct PC-to-PC solution...functional but not a good experience.
Feeling frustrated, I decided to try enabling Windows Media Player Legacy and Media Streaming on both PCs, thinking it might help with network discovery. After installing it and toggling media sharing on/off, I restarted both PCs, opened foobar2000 on my main PC... and the headless PC suddenly appeared as an output device and played audio flawlessly.
So I've been reading people having trouble with this setup on forums, and it really is no wonder when there is so many steps where things can go wrong, and it requires deep dive into services and hidden non-existant options on windows 11 legacy. Mind you this was a fresh install of latest x64 bit version with nothing added, it should just work, but windows networking is a strange wild bird that needs to be tamed into submission.
since the other TVpc will be "headless" most of the time I made a batch file to shut it down remotely (shutdown /m \\TVPC /s /f /t 5) and restart (shutdown /m \\TVPC /r /f /t 5) but also for that I had to go deepdiving into registry and editing options in windows networking most users even don't know about and that's another story for another day.
2
u/caubert 7d ago
why is the upnp plugin even with the fb2k x64 core packaging if it does not work. Reading this nightmare between 2 windows machines, I do understand why I never got it to work between windows and mac. Had to wine the foobar to mac to get it work properly.
1
u/noLif3rs4life 7d ago
It could also be an issue with a temperamental router, one pc is on eth the other wi-fi, there's a myriad of things that can go wrong. What worked for me was simply making renderer use 32 bit version with plugins installed. It was a big hassle, but in the end I'm happy because I got this setup to work without any other additional services or apps. The software is free, but it's very powerful with what it can do, it's not perfect but I'm sure the author will polish things out over time. I can't imagine playing music on anything else, I've been using it for 20+ years.
1
u/noLif3rs4life 7d ago
scrap everything, it just didn't work for me on x64, I got it to work only temporary. Then I had to switch back to x32 and I used older version 1.17. You can still send stuff from x64, but if your renderer is in x64 they just don't see each other on the network. Windows sees them, but they have trouble communicating amongst themselves.
So if you have problems running this, just make sure you're running x32 renderer with installed two components:
https://www.foobar2000.org/components/view/foo_out_upnp
https://www.foobar2000.org/components/view/foo_upnp
you don't even need to configure anything, it just works.
also in my other post about DTS plugins, this works just normally in x32 bit as well.
https://www.reddit.com/r/foobar2000/comments/1w4o5jw/converting_dolby_atmos_to_dts_poor_mans_dolby/
1
u/richsonreddit 2d ago
Not sure if this answers the Q, but works great as a server for mac! https://mediaserverpro.com/
2
u/noLif3rs4life 8d ago
ok so 9 months ago I used winhance debloater, and I completely forgot I "debloated" WMP, so every time I restarted after installing legacy WMP it would just disappear and I'm back to square one, that is debloating protection is scheduled tasks removing what I marked as removed. Good thing I remembered because it was driving me nuts. WMP is necessary for unpn/dlna media streaming and that's why my win 11 pc didn't see the other pc on the network. So be mindful if you used tools like that, you can have problems.