Post Reply 
Dynamic transcoding feature
30-08-2026, 20:20
Post: #1
Dynamic transcoding feature
Any ideas welcome. I use Minimserver to stream to my Wiim devices. Only one of those devices uses an outboard DAC allowing me to decode native DSD as DSD outside of the streamer due to DSD limitations in the streamer itself. Normally the streamer automatically transcodes any incoming DSD signal to PCM. When the Wiim sees a DOP PCM packet generated by Minumstreamer containing DSD, it simply passes them through the USB output port (into the outboard DAC).
So Minimserver passing DSD to the Wiim units is binary. If the plugin is installed all DSD gets wrapped in DOP regardless where it is being directed or what is processing it. Those WiiMs using an external DAC, DSD capable love DOP. Those Wiims using the internal DAC seeing DOP are silent.
I tried running two NAS servers and two images of Minimumserver configured with and without Minumstreamer installed. Maybe I can setup them up to share the music. Rats..I wanted to take advantage of two servers to cut my catalogue size in half. The optimum solution of cousre is just replace all my streamers with DSD capable devices and sack DOP.
Find all posts by this user
Quote this message in a reply
30-08-2026, 21:29
Post: #2
RE: Dynamic transcoding feature
It isn't possible for MinimStreamer to use different transcoding settings based on renderer capabilities. This is because 1) there is no mechanism in UPnP for a server to know anything about the capabilities of the renderer that is requesting the stream and 2) UPnP requires the properties of the stream to be sent to the control point in advance before the control point has selected a renderer to play the stream.
Find all posts by this user
Quote this message in a reply
07-09-2026, 14:30 (This post was last modified: 07-09-2026 14:35 by Claudius2k.)
Post: #3
RE: Dynamic transcoding feature
Thank you. I suspected as much. So I will need to run both servers on both NAS' and only run Mimimstreamer from one of them for DSD capable devices, the other devices need the raw media.
How do you uninstall Minimstreamer easily? I tried loading Watch but it is not clear to me how it is accomplished and on just one of the servers.
Can I just remove the ffmpeg and DoPwave properties? Or uninstall Mimimserver and reinstall it? Thank you
Find all posts by this user
Quote this message in a reply
07-09-2026, 19:24
Post: #4
RE: Dynamic transcoding feature
To uninstall MinimStreamer, open the MinimServer configuration web page and select the MinimStreamer tab. Select the About sub-tab and click the Remove button.

Alternatively, you can edit the stream.transcode property to remove dopwav transcoding. You can also remove ffmpeg if you wish but leaving it there does no harm.
Find all posts by this user
Quote this message in a reply
08-09-2026, 10:39
Post: #5
RE: Dynamic transcoding feature
(07-09-2026 19:24)simoncn Wrote:  To uninstall MinimStreamer, open the MinimServer configuration web page and select the MinimStreamer tab. Select the About sub-tab and click the Remove button.

Alternatively, you can edit the stream.transcode property to remove dopwav transcoding. You can also remove ffmpeg if you wish but leaving it there does no harm.

Thank you
Find all posts by this user
Quote this message in a reply
18-09-2026, 17:42
Post: #6
RE: Dynamic transcoding feature
As an alternative feature, what if there was an option in MinimStreamer to specify exposure (either globally or by format property setup) to expose an additional entry so, for example if I have an album called "My Album" which is DSD 64 - 2 of my devices do not support this, but 2 others do. If I configure multiple format exposure then I'd see "My Album [DSD]" and "My Album [24/88]" with the first one being the original files and the second being transcoded.

This would then allow optimal quality output by device while still offering the flexibility of compatibility.

As it stands, I'm having to do the same manually, keeping both a DSD copy and a PCM copy in some cases - this would save a ton of storage.
Find all posts by this user
Quote this message in a reply
18-09-2026, 22:48 (This post was last modified: 18-09-2026 22:49 by simbun.)
Post: #7
RE: Dynamic transcoding feature
(18-09-2026 17:42)tiefling Wrote:  As it stands, I'm having to do the same manually, keeping both a DSD copy and a PCM copy in some cases - this would save a ton of storage.
I might be showing my ignorance of DSD but can't you do this already, except the control point sees multiple streams per track rather than multiple albums?

Code:
stream.transcode: dsf:-/wav24;88

   
The control point should then choose the appropriate stream for the renderer.
Find all posts by this user
Quote this message in a reply
Yesterday, 20:50 (This post was last modified: Yesterday 21:05 by tiefling.)
Post: #8
RE: Dynamic transcoding feature
(18-09-2026 22:48)simbun Wrote:  
(18-09-2026 17:42)tiefling Wrote:  As it stands, I'm having to do the same manually, keeping both a DSD copy and a PCM copy in some cases - this would save a ton of storage.
I might be showing my ignorance of DSD but can't you do this already, except the control point sees multiple streams per track rather than multiple albums?

Code:
stream.transcode: dsf:-/wav24;88


The control point should then choose the appropriate stream for the renderer.

In theory, yes - In practice, results are mixed.

I have tried multiple control points with different renderers and everything seems to give different results.

This is my current config:
Code:
stream.transcode: dsf:-/wav24;88, dsf(128):wav24;88, dsf(256):wav24;88

I have 2 renderers - 1 is a Cambridge Audio CXN v2, The other a Cambridge Audio Stream Magic 6. I am using multiple control points to test with the following results:

CXN v2
- Stream Magic App
- DSD64 - Plays Natively
- DSD128 / 256 - Plays as 24/88 PCM
- CA Connect
- DSD64 - Plays Natively
- DSD128 / 256 - Plays as 24/88 PCM
- Serento
- DSD64 - Plays Natively
- DSD128 / 256 - Fails - I think this is a Control Point bug, which I've logged with Lorin (the Serento developer). The control point is detecting that the device is not DSD Native and is trying to use DoP, but the device doesn't support DoP - The app probably just needs a config option to turn on/off DoP fallback for specific renderers and that'll be sorted.

StreamMagic 6 (No native DSD support at all)
- CA Connect
- DSD64 - Fails and does not play
- DSD128 / 256 - Plays as 24/88 PCM
- Serento
- DSD64 - Fails and does not play
- DSD128 / 256 - Fails (pointless test - see above)

The Issue seems to be with the StreamMagic 6 that it only uses the transcoded options that are forced and doesn't work through the list. If I set my config like this:
Code:
stream.transcode: dsf:wav24;88, dsf(128):wav24;88, dsf(256):wav24;88
it will play everywhere, but that's downgrading my DSD streams everywhere in the house which, as many of them have PCM variants, is not desirable. My StreamMagic 6 also limits me to 88 or 96 - If I push it beyond that then it fails to play, even though it will play 192kHz PCM directly it won't do it through MinimStreamer, which is... weird.

UPDATE: I've also now tried mConnectLite (briefly) and am getting identical results as CA Connect on both devices. The only control point difference seems to be Serento's DoP bug.
Find all posts by this user
Quote this message in a reply
Yesterday, 22:00
Post: #9
RE: Dynamic transcoding feature
The "fails to play" problem might be a renderer issue, not a control point issue. If the renderer isn't telling the control point that it can play wav24;88, the control point won't select this stream. To check this, you need to use a tool such as Device Spy in "Developer Tools for UPnP Technology" to see what the renderer claims to be able to play. To get the list of supported formats, select ProtocolInfo for OpenHome and GetProtocolInfo for classic UPnP.

If you are able to use BubbleUPnP as a test control point, this implements stream matching correctly if the renderer is sending the correct information. I recall (from a long time ago) that there was a configuration setting to enable/disable this but I don't see it in the current version.
Find all posts by this user
Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 1 Guest(s)