Re: Streaming to DLNA devices



Hi, sorry, somehow I missed this mail.

This sounds as if MPD generates a stream with embedded ICY meta-data and
not a plain MP3 stream.

Hi Jens,


as we previously talked about, I modified rendererconsole.py to do my
work, and I integrated discovery and player creation into SBS aka.
LMS. 


Then I discovered the hard way that only software renderers will
accept the stream I created with MPD.... dialog goes like this; 101 is
an Onkyo receiver and 113 runs MPD httpd stream that I can connect and
play using exactly the same method by XBMC built-in renderer, VLC, or
even from Onkyo receiver when I define it as a Internet "radio"
"favourite" - but not when pushing it as UPnP stream:

1) 
216    7.696159    192.168.1.101    192.168.1.113    TCP    229
57194 > 8767 [PSH, ACK] Seq=1 Ack=2 Win=5840 Len=163 TSval=177510163
TSecr=446219
8`w    D>Et@@Abeqj"?{#h

GET /mpd.mp3 HTTP/1.1
Range: bytes=0-
transferMode.dlna.org: Streaming
Host: 192.168.1.113:8767
User-Agent: Mediabolic-IMHTTP/1.8.225 UPNP/1.0 DLNADOC/1.50

2) 
217    7.696195    192.168.1.113    192.168.1.101    TCP    54    8767
57194 [RST] Seq=2 Win=0 Len=0
D>8`wE(@@qe"?j#P`



And in response from 192.168.1.101: (extracted)
TransportStatus
val="ERROR_OCCURRED"/><CurrentTransportActions 

...then...
<UPnPError
  xmlns="urn:schemas-upnp-org:control-1-0"><errorCode>716</errorCode>
 <errorDescription>Resource not found</errorDescription></UPnPError>



Same dialog with Samsung TV



Long story short - does anyone know of a method of creating a UPnP
compliant stream that responds in a way it should respond? I thought
MPD does that as I found a patch discussed for this purpose when using
FLAC, but mow looking at the code it seems to be a quick hack for a
particular device ...


Please note, I'm not looking for a UPnP server - I just need to create
an mp3/flac/whatever stream from available raw PCM data stream
(created by SBS/MPD/some player) that can be pushed to DLNA renderer



Any help very much appreciated!


Kind regards,

Andrej




Andrej Falout
NZ: +64(21)02566825 AU: +61(45)1166010 US: +1(360)4880970 HR:
+385(91)1520436


On Thu, Jan 24, 2013 at 9:19 PM, Jens Georg <mail jensge org> wrote:
        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]