Post Reply 
 
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Renderer specific transcoding
06-06-2015, 17:03 (This post was last modified: 06-06-2015 18:16 by n3mmr.)
Post: #1
Renderer specific transcoding
Is it possible to do renderer specific transcoding in minimserver?

Meaning selecting transcoding based on a known renderer identity, not relying on the list of capabilities returned by the renderer.
Find all posts by this user
Quote this message in a reply
06-06-2015, 22:05
Post: #2
RE: Renderer specific transcoding
(06-06-2015 17:03)n3mmr Wrote:  Is it possible to do renderer specific transcoding in minimserver?

Meaning selecting transcoding based on a known renderer identity, not relying on the list of capabilities returned by the renderer.

It is not possible technically with the UPnP protocol for the server to do this. The server sends stream information to the control point (which could be a choice of multiple transcoded streams) and the control point instructs the renderer to play a specific stream. The renderer then requests this stream from the server, and the server cannot play a different stream from that which was requested. The only possibility to do what you are suggesting is for the control point to provide this capability.
Find all posts by this user
Quote this message in a reply
08-06-2015, 09:28
Post: #3
RE: Renderer specific transcoding
(06-06-2015 22:05)simoncn Wrote:  
(06-06-2015 17:03)n3mmr Wrote:  Is it possible to do renderer specific transcoding in minimserver?

Meaning selecting transcoding based on a known renderer identity, not relying on the list of capabilities returned by the renderer.

It is not possible technically with the UPnP protocol for the server to do this. The server sends stream information to the control point (which could be a choice of multiple transcoded streams) and the control point instructs the renderer to play a specific stream. The renderer then requests this stream from the server, and the server cannot play a different stream from that which was requested. The only possibility to do what you are suggesting is for the control point to provide this capability.

That is then a basically different design from, say, Serviio, where the controlpoint tells the server to start feeding (streaming??) a particular file to a renderer.

Based on renderer identity, then the server arranges for the stream to be transcoded or remuxed or whatever is needed to overcome any limitations of the particular renderer.

So, the controlpoint isn't (except in rare cases) offered a choice of already active transcodings or remuxings, but just selects the media identity, and lets the server/renderer pair deal with any special needs.
Find all posts by this user
Quote this message in a reply
08-06-2015, 10:53
Post: #4
RE: Renderer specific transcoding
(08-06-2015 09:28)n3mmr Wrote:  That is then a basically different design from, say, Serviio, where the controlpoint tells the server to start feeding (streaming??) a particular file to a renderer.

Based on renderer identity, then the server arranges for the stream to be transcoded or remuxed or whatever is needed to overcome any limitations of the particular renderer.

So, the controlpoint isn't (except in rare cases) offered a choice of already active transcodings or remuxings, but just selects the media identity, and lets the server/renderer pair deal with any special needs.

The industry standard UPnP protocol works as follows:

1) The control point tells the renderer to play a stream in a specific format (based on information that the control point has previously received from the server and the renderer)
2) The renderer contacts the server to initiate streaming

I don't understand how the approach you are describing for Serviio could work with industry standard control points and renderers.
Find all posts by this user
Quote this message in a reply
08-06-2015, 15:04 (This post was last modified: 08-06-2015 15:09 by n3mmr.)
Post: #5
RE: Renderer specific transcoding
(08-06-2015 10:53)simoncn Wrote:  
(08-06-2015 09:28)n3mmr Wrote:  That is then a basically different design from, say, Serviio, where the controlpoint tells the server to start feeding (streaming??) a particular file to a renderer.

Based on renderer identity, then the server arranges for the stream to be transcoded or remuxed or whatever is needed to overcome any limitations of the particular renderer.

So, the controlpoint isn't (except in rare cases) offered a choice of already active transcodings or remuxings, but just selects the media identity, and lets the server/renderer pair deal with any special needs.

The industry standard UPnP protocol works as follows:

1) The control point tells the renderer to play a stream in a specific format (based on information that the control point has previously received from the server and the renderer)
2) The renderer contacts the server to initiate streaming

I don't understand how the approach you are describing for Serviio could work with industry standard control points and renderers.

I believe twonky, plex and most others do the same.

At least they all have renderer specific transcode and remux, via config files for the server.

The control point still tells the server to send a particular stream to the renderer, but the server interposes transcoding in the stream.

Minimstreamer/Minimserver is so far the ONLY server I have tried that doesn't do renderer-specific transcoding in the server.
No control-point I have so far seen has had any problem with this, and neither have the renderers.
Find all posts by this user
Quote this message in a reply
08-06-2015, 21:47 (This post was last modified: 08-06-2015 21:48 by simoncn.)
Post: #6
RE: Renderer specific transcoding
(08-06-2015 15:04)n3mmr Wrote:  I believe twonky, plex and most others do the same.

At least they all have renderer specific transcode and remux, via config files for the server.

I have looked through the Twonky renderer profiles very carefully and there are no options in there that change the type of the stream (e.g., from FLAC to WAV or from FLAC to LPCM).

Quote:The control point still tells the server to send a particular stream to the renderer, but the server interposes transcoding in the stream.

Minimstreamer/Minimserver is so far the ONLY server I have tried that doesn't do renderer-specific transcoding in the server.
No control-point I have so far seen has had any problem with this, and neither have the renderers.

Which renderers have you used that are able to receive a different stream type from the server than they have been told to play by the control point? What is the stream type that the control point sends to the renderer and what is the transcoded stream type returned by the server?
Find all posts by this user
Quote this message in a reply
10-06-2015, 05:13 (This post was last modified: 10-06-2015 05:23 by n3mmr.)
Post: #7
RE: Renderer specific transcoding
(08-06-2015 21:47)simoncn Wrote:  
(08-06-2015 15:04)n3mmr Wrote:  I believe twonky, plex and most others do the same.

At least they all have renderer specific transcode and remux, via config files for the server.

I have looked through the Twonky renderer profiles very carefully and there are no options in there that change the type of the stream (e.g., from FLAC to WAV or from FLAC to LPCM).

Quote:The control point still tells the server to send a particular stream to the renderer, but the server interposes transcoding in the stream.

Minimstreamer/Minimserver is so far the ONLY server I have tried that doesn't do renderer-specific transcoding in the server.
No control-point I have so far seen has had any problem with this, and neither have the renderers.

Which renderers have you used that are able to receive a different stream type from the server than they have been told to play by the control point? What is the stream type that the control point sends to the renderer and what is the transcoded stream type returned by the server?

Wdtvlive, xbmc/kodi, Xbox, denon avr 1912... With bubbleupnp and plugplayer and some others. But you're right, I don't know what twonky does. Serviio I know does it like this. And plex seemed to, but I didn't actually run that enough to know more than "seemed".

Mind you, I don't know what is being sent to the renderer, all I know is that what is being selected in the control point is the original untranscoded media object and then serviio arranges to interpose transcoding selected from xml profiles tied to the renderer/player identity.

I suppose this means the control point doesn't actually attempt to force a renderer to play a specific stream type.

I just know in reality this works, using per-renderer server side profiles.

I think you should talk to zip, the guy writing serviio. He would probably answer intelligently. Me, I don't really know how this works, just that it seems like the server knows about the renderer's identity, relies on profiles to understand a renderer's capabilities and how to transcode or remux each media container type and stream type for each known renderer, and I have no idea how the control point is involved in handling this, or if it is just told (by the server?) to ignore the question of stream type.
Find all posts by this user
Quote this message in a reply
10-06-2015, 05:33 (This post was last modified: 10-06-2015 05:35 by n3mmr.)
Post: #8
RE: Renderer specific transcoding
(10-06-2015 05:13)n3mmr Wrote:  
(08-06-2015 21:47)simoncn Wrote:  
(08-06-2015 15:04)n3mmr Wrote:  I believe twonky, plex and most others do the same.

At least they all have renderer specific transcode and remux, via config files for the server.

I have looked through the Twonky renderer profiles very carefully and there are no options in there that change the type of the stream (e.g., from FLAC to WAV or from FLAC to LPCM).

Quote:The control point still tells the server to send a particular stream to the renderer, but the server interposes transcoding in the stream.

Minimstreamer/Minimserver is so far the ONLY server I have tried that doesn't do renderer-specific transcoding in the server.
No control-point I have so far seen has had any problem with this, and neither have the renderers.

Which renderers have you used that are able to receive a different stream type from the server than they have been told to play by the control point? What is the stream type that the control point sends to the renderer and what is the transcoded stream type returned by the server?

Wdtvlive, xbmc/kodi, Xbox, denon avr 1912... With bubbleupnp and plugplayer and some others. But you're right, I don't know what twonky does. Serviio I know does it like this. And plex seemed to, but I didn't actually run that enough to know more than "seemed".

Mind you, I don't know what is being sent to the renderer, all I know is that what is being selected in the control point is the original untranscoded media object and then serviio arranges to interpose transcoding selected from xml profiles tied to the renderer/player identity.

I suppose this means the control point doesn't actually attempt to force a renderer to play a specific stream type.

I just know in reality this works, using per-renderer server side profiles.

I think you should talk to zip, the guy writing serviio. He would probably answer intelligently. Me, I don't really know how this works, just that it seems like the server knows about the renderer's identity, relies on profiles to understand a renderer's capabilities and how to transcode or remux each media container type and stream type for each known renderer, and I have no idea how the control point is involved in handling this, or if it is just told (by the server?) to ignore the question of stream type.

Suddenly..

When the control.point selects a media object to play it knows what renderer to use.

Maybe the server gets told, and just tells the control point that the media object is available in the format wanted?

At least one control point I tried had an option to ignore the format capabilities reported by the renderer or player. That might be significant.
Find all posts by this user
Quote this message in a reply
10-06-2015, 11:45
Post: #9
RE: Renderer specific transcoding
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?
Find all posts by this user
Quote this message in a reply
10-06-2015, 11:50
Post: #10
RE: Renderer specific transcoding
(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
Find all posts by this user
Quote this message in a reply
Post Reply 


Forum Jump:


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