Re: Streaming to DLNA devices



On Mi, 2013-01-23 at 14:17 +1300, Andrej Falout wrote:

>         Yes. Call GetProtocolInfo on the Renderer's ConnectionManager
>         service.
>         The sink variable of the response gives you a comma-separated
>         list with
>         entries like http-get:*:audio/mpeg:DLNA.ORG_PN=MP3 or maybe a
>         * at the
>         end as well, I think dLeyna even preprocesses that for you.
>         The only
>         uncompressed format DLNA supports is raw PCM (profile LPCM),
>         but there
>         should be devices doing flac as well.
> 
> 
> I assume that due to 'http-get" in response this means that this
> formats are supported for streaming? I have Onkio that is advertised
> as supporting Flac, but when I bought it it turned out it is
> explicitly not supported for streaming, only for files :-( 

No, http-get means both. Some devices (wrongly) assume that they can
just download it. That's the subtle difference between UPnP and DLNA,
you can't mark a stream as a stream in UPnP but you can in DLNA. It
might even be that we don't do that correctly in Rygel. Is the Onkio a
(certified) DLNA or just a UPnP-AV device?

> 
> 
> 
> Do I need to specify http-get somehow to GetProtocolInfo or will this
> return both streaming supported formats and file supported formats? 
> 
> 
> 
> Yes, Linn does streaming Flac (which is an compressed format btw) 

Ah, sorry, yes. somehow had compressed == lossy in my mind.

The only real uncompressed formats are either WAV (rather rare) or raw
PCM (16 bit big endian, signed, every certified DLNA device has to
support that) with the sample rate and channels in the content-type
(e.g. audio/L16;rate=44100;channels=2)

>         Btw, to be really foolproof, all your uris should have a file
>         extension
>         matching the file-type. Some (mainly cheap) devices rely on
>         them.
> 
> 
> I suppose that means http://1.2.3.4:yyy:xxx.mp3 (I used only
> http://1.2.3.4:yyy in my tests) but what should I have as xxx ?

assuming yyy is a port number, you could make it whatever you want, just
call it http://1.2.3.4:7890/stream.mp3 or such.

> 
> 
>  
>         > 1) a command-line control point, which can push URL to
>         renderer,
>         > stop/play/pause, change volume etc....
>         
>         
>         Not really.
> 
> 
> Bummer. That would help people trying to script things .. like me :-)
> I think rendererconsole.py is about to have a surgery :-)

I think the dLeyna people would definitely like such contribution.


>         > 2) A web browser control point. I am aware of dLeyna Cloud,
>         but that
>         > is barely a prototype
>         
>         
>         There was something as a demo of gupnp-php, but I've no idea
>         how usable
>         that is or what it's called.
> 
> 
> Could not find anything other then few examples that are part of the
> gupnp-php code 

Sorry, I don't remember what it was. Probably abandoned anyway.

> With all this DLNA devices all over the place, I am fascinated that so
> few people want to use them :-) If I can find an app like Ampache but
> from 21st century (eg HTML5) I might do something myself...

People tend to get frustrated easily with DLNA. I expect some HTML5
controller stuff to pop up with the rise of it as a mobile platform.




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]