Re: Streaming to DLNA devices
- From: Jens Georg <mail jensge org>
- To: Andrej Falout <andrej falout org>
- Cc: rygel-list gnome org
- Subject: Re: Streaming to DLNA devices
- Date: Mon, 29 Apr 2013 11:41:06 +0200
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]