Post Reply 
 
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Can Minimserver Resize Album Art?
13-08-2017, 21:35 (This post was last modified: 13-08-2017 21:38 by simoncn.)
Post: #11
RE: Can Minimserver Resize Album Art?
(13-08-2017 16:56)paultaylor Wrote:  Can you send small, medium and large versions to control point. If you did could the control point then send a suitable one to renderer?

This is possible but only with DLNA rather than UPnP. In the DLNA protocol, the <albumArtURI> tag has a dlna:profileID attribute that specifies whether the image is small, medium or large. This means that the server could send the control point multiple <albumArtURI> elements containing URIs for different image sizes.

The control point would then need to send all these <albumArtURI> elements to the renderer and the renderer would need to select the appropriate URI from these elements to match its image size capabilities. In theory, this could work if control points and renderers have full support for this capability but past experience leads me to doubt that this would be the case. I would want to verify this support with a few control points and renderers before doing the work to implement support for multiple image sizes in MinimServer.

MinimServer is already sending this dlna:profileID information (for a single image) so it is likely that the buggy renderer in question is not looking at this information before attempting to render the image.
Find all posts by this user
Quote this message in a reply
13-08-2017, 21:47
Post: #12
RE: Can Minimserver Resize Album Art?
(13-08-2017 20:04)AlexKornitzer Wrote:  I am confused, isn't this a 'simple' interaction between the server (MiniServer) and the client (Media Player). Or is there a server, renderer and control point?

The server sends the image URI to the control point (together with DLNA size information), then the control point sends this URI to the renderer and the renderer uses the URI to obtain the image from the server.

Quote:UPnP utilises HTTP, so surely the referrer and the ability to dynamically generate the response from that is enough to deal with 'profiles'. Apologies if I have oversimplified this, UPnP is not something I know well.

Any such implementation would be based on the User-Agent header (not the Referer header). Not all renderers send User-Agent and some send a generic User-Agent that is not useful for identification. Also, it is my understanding that having the server dynamically change the size of the image from the size that was previously advertised to the control point would violate the DLNA protocol.
Find all posts by this user
Quote this message in a reply
13-08-2017, 22:17
Post: #13
RE: Can Minimserver Resize Album Art?
(13-08-2017 21:47)simoncn Wrote:  
(13-08-2017 20:04)AlexKornitzer Wrote:  I am confused, isn't this a 'simple' interaction between the server (MiniServer) and the client (Media Player). Or is there a server, renderer and control point?

The server sends the image URI to the control point (together with DLNA size information), then the control point sends this URI to the renderer and the renderer uses the URI to obtain the image from the server.

Quote:UPnP utilises HTTP, so surely the referrer and the ability to dynamically generate the response from that is enough to deal with 'profiles'. Apologies if I have oversimplified this, UPnP is not something I know well.

Any such implementation would be based on the User-Agent header (not the Referer header). Not all renderers send User-Agent and some send a generic User-Agent that is not useful for identification. Also, it is my understanding that having the server dynamically change the size of the image from the size that was previously advertised to the control point would violate the DLNA protocol.

Ah I see, oops yeah I mean't User-Agent. Are the control point and the render both the client? If so, wouldn't the User-Agent or Static IP be enough to lie to the control point, which would then lie to the renderer.

So Synology's Media Server program allows you to set profiles: Small artwork (this works for the BeoSound 5), etc. Are they violating the protocol to achieve this? If that is the case, then maybe there is a need to violate the protocol for vendors who were/are incapable of coding the protocol correctly.
Find all posts by this user
Quote this message in a reply
14-08-2017, 09:23
Post: #14
RE: Can Minimserver Resize Album Art?
(13-08-2017 22:17)AlexKornitzer Wrote:  Ah I see, oops yeah I mean't User-Agent. Are the control point and the render both the client? If so, wouldn't the User-Agent or Static IP be enough to lie to the control point, which would then lie to the renderer.

The renderer is the hardware that converts networked digital audio into analogue sound. It has a network connection (Ethernet or wireless) to stream digital audio data from the server and it has analogue audio outputs to your amplifier and speakers.

The control point is the component that provides the user interface for selecting and playing music. It has a network connection (usually wireless) to the server and the renderer.

The control point and renderer are usually separate network devices communicating acrosss the Ethernet network. Sometimes the control point is built into the renderer device and is operated by front-panel buttons or an IR remote control.

How are the control point and renderer implemented in the Beosound system?

Quote:So Synology's Media Server program allows you to set profiles: Small artwork (this works for the BeoSound 5), etc. Are they violating the protocol to achieve this? If that is the case, then maybe there is a need to violate the protocol for vendors who were/are incapable of coding the protocol correctly.

I will investigate how the Synology media server implements its "small artwork" profile. It is possible that this affects what is sent to the control point rather than the renderer.

Violating the protocol to work around a deficiency or incorrect operation of some device is usually not a good idea as it can cause problems with other devices that implement the protocol correctly.
Find all posts by this user
Quote this message in a reply
14-08-2017, 13:02
Post: #15
RE: Can Minimserver Resize Album Art?
I have looked at what the Synology media server does. It doesn't adjust the size of the image based on the User-Agent header. Instead, it looks at the IP address of the machine requesting the image and uses a list of UPnP device profiles to rescale the image based on the profile for that IP address.

This approach doesn't work correctly if the machine requesting the image isn't a dedicated renderer machine. In this case, all requests from this machine (whether or not they come from the renderer software) are processed according to the profile settings for the device's IP address. I tried this on my Windows PC and the default setting is downscale the image to 160x160 (even without "transmit low resolution images" enabled).

If the device requesting the image is running control point software that is managing other renderers with different image size requirements, the Synology scheme doesn't allow for this and this probably explain the posts I have seen about images from the Synology media server being fuzzy.

The profile settings don't seem to be documented anywhere and I don't think it is possible for the user to customize them.

I think this approach has too many problems for it to be implemented by MinimServer.
Find all posts by this user
Quote this message in a reply
14-08-2017, 13:58
Post: #16
RE: Can Minimserver Resize Album Art?
Thanks for looking into that. The BeoSound 5 is essentially windows xp embedded so I would assume that the control point and renderer are on the same box as it renders the image on its display.

Ah that would explain why them come through fuzzy, imo 160x160 is too low. It is annoying that they don't let you change it. I don't use it anyway as MinimServer is the only program that handles transcoding of my ALAC files correctly.

Yeah, synology don't let you make custom profiles which is another annoyance. I do still think that providing these caveated solutions can be beneficial if you understand the limitations.

Apologies for pushing this, it is just that this is the only thing preventing me from having the perfect streaming solution to my device. I would happily accepts the limitations in setting a 500x500 artwork profile for that device as I would never need the images to render any higher. But again I understand the issue with implementing so many bespoke solutions to handle vendors inconsistencies.

Could you maybe provide us a way to script this hack in or add an api to create custom plugins, etc?
Find all posts by this user
Quote this message in a reply
14-08-2017, 19:56
Post: #17
RE: Can Minimserver Resize Album Art?
(14-08-2017 13:58)AlexKornitzer Wrote:  Thanks for looking into that. The BeoSound 5 is essentially windows xp embedded so I would assume that the control point and renderer are on the same box as it renders the image on its display.

A UPnP renderer isn't a device that renders artwork images. As I explained in an earlier post, it renders digital audio files into analogue audio signals. Does the Beosound 5 have analogue audio output connections for playing music into an amplifier or speakers? If not, it isn't a UPnP renderer.

Quote:Ah that would explain why them come through fuzzy, imo 160x160 is too low. It is annoying that they don't let you change it. I don't use it anyway as MinimServer is the only program that handles transcoding of my ALAC files correctly.

Yeah, synology don't let you make custom profiles which is another annoyance. I do still think that providing these caveated solutions can be beneficial if you understand the limitations.

Apologies for pushing this, it is just that this is the only thing preventing me from having the perfect streaming solution to my device. I would happily accepts the limitations in setting a 500x500 artwork profile for that device as I would never need the images to render any higher. But again I understand the issue with implementing so many bespoke solutions to handle vendors inconsistencies.

Could you maybe provide us a way to script this hack in or add an api to create custom plugins, etc?

Are you saying that the Beosound can handle 500x500 images? If so, why not convert all the images in your library to this resolution? I am not sure what you are trying to achieve.
Find all posts by this user
Quote this message in a reply
14-08-2017, 20:05
Post: #18
RE: Can Minimserver Resize Album Art?
(14-08-2017 19:56)simoncn Wrote:  
(14-08-2017 13:58)AlexKornitzer Wrote:  Thanks for looking into that. The BeoSound 5 is essentially windows xp embedded so I would assume that the control point and renderer are on the same box as it renders the image on its display.

A UPnP renderer isn't a device that renders artwork images. As I explained in an earlier post, it renders digital audio files into analogue audio signals. Does the Beosound 5 have analogue audio output connections for playing music into an amplifier or speakers? If not, it isn't a UPnP renderer.

Quote:Ah that would explain why them come through fuzzy, imo 160x160 is too low. It is annoying that they don't let you change it. I don't use it anyway as MinimServer is the only program that handles transcoding of my ALAC files correctly.

Yeah, synology don't let you make custom profiles which is another annoyance. I do still think that providing these caveated solutions can be beneficial if you understand the limitations.

Apologies for pushing this, it is just that this is the only thing preventing me from having the perfect streaming solution to my device. I would happily accepts the limitations in setting a 500x500 artwork profile for that device as I would never need the images to render any higher. But again I understand the issue with implementing so many bespoke solutions to handle vendors inconsistencies.

Could you maybe provide us a way to script this hack in or add an api to create custom plugins, etc?

Are you saying that the Beosound can handle 500x500 images? If so, why not convert all the images in your library to this resolution? I am not sure what you are trying to achieve.

The BeoSound 5 is the amplifier, the speakers are connected to it, it is also used to select and navigate the music library.

Yes it can, but I don't only stream my library to that device, I don't wish to reduce the image quality in my library to cater for just one device. I guess I would just like to be able to force the artwork size for devices that can't cope. These issues are why other servers provide 'compatibility' profiles, to handle the quirks.

I guess I am struggling to see why implementing this would be a problem, it would never break compliant devices as it would not be applied for them, it would only be applied to devices that it would fix the problem for.
Find all posts by this user
Quote this message in a reply
14-08-2017, 21:23
Post: #19
RE: Can Minimserver Resize Album Art?
(14-08-2017 20:05)AlexKornitzer Wrote:  I guess I am struggling to see why implementing this would be a problem, it would never break compliant devices as it would not be applied for them, it would only be applied to devices that it would fix the problem for.

From this discussion, I think what you want is for MinimServer to provide a way to downsize images to a fixed maximum resolution based on the IP address of the control point device. This resolution would be configurable by the user and could be different for different control point devices.

This would require the user to be technically knowledgeable and understand IP addresses. In addition, the user would need to set fixed IP addresses in the router configuration for all his/her control points, which requires advanced technical knowledge. These are significant disadvantages.

The alternative is for MinimServer to implement what paultaylor has suggested and offer multiple image resolutions to all control points, leaving each control point to select the most suitable image size(s) for its needs. This doesn't require any user configuration or technical knowledge and would be a better solution if the control point does the right thing. It is also more efficient because a control point can use small images for thumbnails while browsing and download a larger image when required for a Now Playing screen.

I will try the latter approach with a few control points to see whether it appears to be viable. This won't happen immediately because of other work in progress.
Find all posts by this user
Quote this message in a reply
14-08-2017, 22:03
Post: #20
RE: Can Minimserver Resize Album Art?
(14-08-2017 21:23)simoncn Wrote:  I will try the latter approach with a few control points to see whether it appears to be viable. This won't happen immediately because of other work in progress.

Can't argue with that, seems entirely reasonable.

Personally from a power user point of view, I would prefer the former as in an ideal scenario I could make a profile that lets me tweak aspects of the protocol in order to increase compatibility with certain incorrect devices. Such flexibility, while complex to the average user could be an incredibly powerful and versatile solution.

Anyway, I hope the latter succeeds and would be more than happy to test if that is something that is required.
Find all posts by this user
Quote this message in a reply
Post Reply 


Forum Jump:


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