Post Reply 
 
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Renderer specific transcoding
10-06-2015, 13:16
Post: #11
RE: Renderer specific transcoding
(10-06-2015 11:50)n3mmr Wrote:  
(10-06-2015 11:45)n3mmr Wrote:  I now think the sequence is roughly/partly as follows.

A control point gets set to use a particular media server. Then it tells the server what to use as player/renderer. Then the server sets up transcoding based on a renderer specific profile.
Then, on reload(???), it sets up menues offering streams appropriate for that renderer.

Makes sense?

I mean it sets up menues, and then SENDS them to the control point on reload

The industry standard UPnP protocol doesn't allow a control point to tell the server which renderer is being used. There are other options within the UPnP architecture that might provide this capability but they are unlikely to work with industry standard control points and renderers.

Which control point and which renderer (in your personal experience) can do what you are describing?
Find all posts by this user
Quote this message in a reply
10-06-2015, 14:04
Post: #12
RE: Renderer specific transcoding
(10-06-2015 13:16)simoncn Wrote:  
(10-06-2015 11:50)n3mmr Wrote:  
(10-06-2015 11:45)n3mmr Wrote:  I now think the sequence is roughly/partly as follows.

A control point gets set to use a particular media server. Then it tells the server what to use as player/renderer. Then the server sets up transcoding based on a renderer specific profile.
Then, on reload(???), it sets up menues offering streams appropriate for that renderer.

Makes sense?

I mean it sets up menues, and then SENDS them to the control point on reload

The industry standard UPnP protocol doesn't allow a control point to tell the server which renderer is being used. There are other options within the UPnP architecture that might provide this capability but they are unlikely to work with industry standard control points and renderers.

Which control point and which renderer (in your personal experience) can do what you are describing?
BubbleUPnP and plugplayer control points with renderer denon AVR1912 and Xbmc/kodi and WD TV Live HD. These appear to dö something like that when using serviio as a server.
Find all posts by this user
Quote this message in a reply
10-06-2015, 14:47 (This post was last modified: 10-06-2015 14:48 by simoncn.)
Post: #13
RE: Renderer specific transcoding
(10-06-2015 14:04)n3mmr Wrote:  BubbleUPnP and plugplayer control points with renderer denon AVR1912 and Xbmc/kodi and WD TV Live HD. These appear to dö something like that when using serviio as a server.

I should be able to set up a test with BubbleUPnP, XBMC/Kodi and Serviio to see what the protocol messages are. What kind of custom transcoding are you configuring for a specific renderer (i.e., what is the original stream type and what is the transcoded stream type?) Also, how would I configure Serviio to create the custom renderer profile?
Find all posts by this user
Quote this message in a reply
10-06-2015, 15:10 (This post was last modified: 10-06-2015 15:15 by n3mmr.)
Post: #14
RE: Renderer specific transcoding
(10-06-2015 14:47)simoncn Wrote:  
(10-06-2015 14:04)n3mmr Wrote:  BubbleUPnP and plugplayer control points with renderer denon AVR1912 and Xbmc/kodi and WD TV Live HD. These appear to dö something like that when using serviio as a server.

I should be able to set up a test with BubbleUPnP, XBMC/Kodi and Serviio to see what the protocol messages are. What kind of custom transcoding are you configuring for a specific renderer (i.e., what is the original stream type and what is the transcoded stream type?) Also, how would I configure Serviio to create the custom renderer profile?

There's a standard set of profiles included in serviio. No need to write a new one.

If you download a standard free serviio, there's a complete and tested profiles file included. That file includes all tested and published transcoding and remuxing profiles. It's an XML file.

Then you can look thru that file and see if you have one or more of the renderers that actually need some real transcoding.available.

I can assist if needed.

Serviio does a discovery run at startup (and if you push a refresh button). It keeps ( and displays in a config tool) a table of what renderers are at what ip-addresses, and what transcoding profile will be used.

That table has columns for name, IP address and profile selected.
At discovery serviio decides on a profile for each renderer (or player), based on the type name the renderer responds with. The admin for the server can select a different profile in the config tool, and that tool knows about everything in the profiles file.

There are distris for Linux, windows and Mac.

Linux is just a tar file, extract that into a dir. Put a symlink to ffmpeg int serviios top dir. Start the server in the background and the config tool script. Make sure you have one or two renderers for serviio to discover, and things will seem clearer.
Find all posts by this user
Quote this message in a reply
10-06-2015, 17:42
Post: #15
RE: Renderer specific transcoding
(10-06-2015 15:10)n3mmr Wrote:  There's a standard set of profiles included in serviio. No need to write a new one.

If you download a standard free serviio, there's a complete and tested profiles file included. That file includes all tested and published transcoding and remuxing profiles. It's an XML file.

Then you can look thru that file and see if you have one or more of the renderers that actually need some real transcoding.available.

I can assist if needed.

Serviio does a discovery run at startup (and if you push a refresh button). It keeps ( and displays in a config tool) a table of what renderers are at what ip-addresses, and what transcoding profile will be used.

That table has columns for name, IP address and profile selected.
At discovery serviio decides on a profile for each renderer (or player), based on the type name the renderer responds with. The admin for the server can select a different profile in the config tool, and that tool knows about everything in the profiles file.

There are distris for Linux, windows and Mac.

Linux is just a tar file, extract that into a dir. Put a symlink to ffmpeg int serviios top dir. Start the server in the background and the config tool script. Make sure you have one or two renderers for serviio to discover, and things will seem clearer.

Thanks for explaining this in detail.

In the specific case of XBMC/Kodi as the renderer, did you use the default profile or did you select a custom profile? What was the original type of your music files and what was the transcoded type for these files in the profile that was selected for playing the files on XBMC/Kodi?
Find all posts by this user
Quote this message in a reply
10-06-2015, 20:36
Post: #16
RE: Renderer specific transcoding
(10-06-2015 17:42)simoncn Wrote:  
(10-06-2015 15:10)n3mmr Wrote:  There's a standard set of profiles included in serviio. No need to write a new one.

If you download a standard free serviio, there's a complete and tested profiles file included. That file includes all tested and published transcoding and remuxing profiles. It's an XML file.

Then you can look thru that file and see if you have one or more of the renderers that actually need some real transcoding.available.

I can assist if needed.

Serviio does a discovery run at startup (and if you push a refresh button). It keeps ( and displays in a config tool) a table of what renderers are at what ip-addresses, and what transcoding profile will be used.

That table has columns for name, IP address and profile selected.
At discovery serviio decides on a profile for each renderer (or player), based on the type name the renderer responds with. The admin for the server can select a different profile in the config tool, and that tool knows about everything in the profiles file.

There are distris for Linux, windows and Mac.

Linux is just a tar file, extract that into a dir. Put a symlink to ffmpeg int serviios top dir. Start the server in the background and the config tool script. Make sure you have one or two renderers for serviio to discover, and things will seem clearer.

Thanks for explaining this in detail.

In the specific case of XBMC/Kodi as the renderer, did you use the default profile or did you select a custom profile? What was the original type of your music files and what was the transcoded type for these files in the profile that was selected for playing the files on XBMC/Kodi?

I have no idea at all any more, it's been two-three years.

Just look at the profiles. They're there because real people have used them..
Find all posts by this user
Quote this message in a reply
10-06-2015, 21:45
Post: #17
RE: Renderer specific transcoding
(10-06-2015 20:36)n3mmr Wrote:  I have no idea at all any more, it's been two-three years.

Just look at the profiles. They're there because real people have used them..

Are you actively using this feature with Serviio at the present time? I had the impression that there is some transcoding combination that you need for one or more of your renderers and MinimServer isn't able to provide. Is this the case or have I misunderstood the nature of your original question?
Find all posts by this user
Quote this message in a reply
11-06-2015, 10:07 (This post was last modified: 11-06-2015 10:11 by n3mmr.)
Post: #18
RE: Renderer specific transcoding
(10-06-2015 21:45)simoncn Wrote:  
(10-06-2015 20:36)n3mmr Wrote:  I have no idea at all any more, it's been two-three years.

Just look at the profiles. They're there because real people have used them..

Are you actively using this feature with Serviio at the present time? I had the impression that there is some transcoding combination that you need for one or more of your renderers and MinimServer isn't able to provide. Is this the case or have I misunderstood the nature of your original question?

My current need is audio files to send to a small number of renderers that cannot play flac.

There's a Reciva based radio, Argon inet 1, and a sony Bluray. Neither can play any lossless format except linear PCM, lpcm.

Most of my enthusiasm for the argument came from having the feeling you simply hadn't thought the issue of server side transcoding profiles thru. It is quite the normal thing in my world, and I just didn't like to agree to "it cannot be done, legally" as I knew there must be something I missed, and you too.

It would be nice to have, it can be immediately moderately useful, but it is by no means a pressing issue.
I have seen others asking about it in these forums.

Can we agree that there IS a way to do it, w/o breaking any compliance related restrictions???
You should ask, and take a poll, and decide if it's worth trying, or maybe asking somebody else to write some module?

I can think of two remaining issues with serviio's way; a renderer's IP might change, and there might be more than one, totally different, renderer at one address (think apps in a phone). Serviio seems (not sure) to solve the IP change issue by polling for type name just before starting a stream. I don't know if that could handle different renderer apps in one device.
Find all posts by this user
Quote this message in a reply
11-06-2015, 11:13 (This post was last modified: 11-06-2015 11:21 by simoncn.)
Post: #19
RE: Renderer specific transcoding
(11-06-2015 10:07)n3mmr Wrote:  My current need is audio files to send to a small number of renderers that cannot play flac.

There's a Reciva based radio, Argon inet 1, and a sony Bluray. Neither can play any lossless format except linear PCM, lpcm.

Most of my enthusiasm for the argument came from having the feeling you simply hadn't thought the issue of server side transcoding profiles thru. It is quite the normal thing in my world, and I just didn't like to agree to "it cannot be done, legally" as I knew there must be something I missed, and you too.

It would be nice to have, it can be immediately moderately useful, but it is by no means a pressing issue.
I have seen others asking about it in these forums.

Can we agree that there IS a way to do it, w/o breaking any compliance related restrictions???
You should ask, and take a poll, and decide if it's worth trying, or maybe asking somebody else to write some module?

I can think of two remaining issues with serviio's way; a renderer's IP might change, and there might be more than one, totally different, renderer at one address (think apps in a phone). Serviio seems (not sure) to solve the IP change issue by polling for type name just before starting a stream. I don't know if that could handle different renderer apps in one device.

Thanks for the clarifications and the additional information.

The issue with standards compliance is that most renderers need to know the stream type in advance from the control point before they request the stream from the server. If the server returns a different type from the type the renderer is expecting, this is a violation of the standard and many renderers would refuse to play the stream, though some might play it anyway. A solution that depends on MinimServer sending an incorrect stream type and the renderer playing the stream despite a type mismatch would not be acceptable for MinimServer. This was the basis for my statement that this can't be done in a standards-compliant way, and I have not changed my view on this. I don't know whether this is what Serviio is doing and it will be interesting to find out.

It might be difficult for me to do the test that I was planning because I don't have any renderers that can't play FLAC. I will investigate whether I can configure Serviio to force FLAC to LPCM transcoding for a renderer that is able to play FLAC as well.

When I have an opportunity, I will try to conduct a FLAC to LPCM transcoding test with Serviio to see what protocol messages are being exchanged between server, control point and renderer. If this provides some new information that could provide a solution to the problem I described above, I will post back here. This won't happen in the immediate future because I am working on a number of user problems that need to take priority.

For now, MinimServer offers a flexible approach to transcoding that allows the server to advertise multiple streams to the control point so that the control point can select a stream based on renderer capabilities. This should provide provide enough flexibility to handle almost all cases and I hope it will enable you to do what you need.
Find all posts by this user
Quote this message in a reply
11-06-2015, 14:59 (This post was last modified: 11-06-2015 15:02 by n3mmr.)
Post: #20
RE: Renderer specific transcoding
(11-06-2015 11:13)simoncn Wrote:  
(11-06-2015 10:07)n3mmr Wrote:  My current need is audio files to send to a small number of renderers that cannot play flac.

There's a Reciva based radio, Argon inet 1, and a sony Bluray. Neither can play any lossless format except linear PCM, lpcm.

Most of my enthusiasm for the argument came from having the feeling you simply hadn't thought the issue of server side transcoding profiles thru. It is quite the normal thing in my world, and I just didn't like to agree to "it cannot be done, legally" as I knew there must be something I missed, and you too.

It would be nice to have, it can be immediately moderately useful, but it is by no means a pressing issue.
I have seen others asking about it in these forums.

Can we agree that there IS a way to do it, w/o breaking any compliance related restrictions???
You should ask, and take a poll, and decide if it's worth trying, or maybe asking somebody else to write some module?

I can think of two remaining issues with serviio's way; a renderer's IP might change, and there might be more than one, totally different, renderer at one address (think apps in a phone). Serviio seems (not sure) to solve the IP change issue by polling for type name just before starting a stream. I don't know if that could handle different renderer apps in one device.

Thanks for the clarifications and the additional information.

The issue with standards compliance is that most renderers need to know the stream type in advance from the control point before they request the stream from the server. If the server returns a different type from the type the renderer is expecting, this is a violation of the standard and many renderers would refuse to play the stream, though some might play it anyway. A solution that depends on MinimServer sending an incorrect stream type and the renderer playing the stream despite a type mismatch would not be acceptable for MinimServer. This was the basis for my statement that this can't be done in a standards-compliant way, and I have not changed my view on this. I don't know whether this is what Serviio is doing and it will be interesting to find out.

It might be difficult for me to do the test that I was planning because I don't have any renderers that can't play FLAC. I will investigate whether I can configure Serviio to force FLAC to LPCM transcoding for a renderer that is able to play FLAC as well.

When I have an opportunity, I will try to conduct a FLAC to LPCM transcoding test with Serviio to see what protocol messages are being exchanged between server, control point and renderer. If this provides some new information that could provide a solution to the problem I described above, I will post back here. This won't happen in the immediate future because I am working on a number of user problems that need to take priority.

For now, MinimServer offers a flexible approach to transcoding that allows the server to advertise multiple streams to the control point so that the control point can select a stream based on renderer capabilities. This should provide provide enough flexibility to handle almost all cases and I hope it will enable you to do what you need.

Of course.

However, relying on a renderer to be honest about capabilities isn't as straightforward as it seems: to wit, all my Sonys claim to handle mkv videos, and they sort of do, but with a lot of stutter. So one should have the means to override a player's unwarranted self confidence.

And the otherway around; my wd claims not to play multichannel flacs, but I know the combo does so, and perfectly, if the wd is set to passthru digital signals to my denon..
Find all posts by this user
Quote this message in a reply
Post Reply 


Forum Jump:


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