felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jackson, Bruce" <bru...@qualcomm.com>
Subject Re: upnp media server pure java
Date Mon, 06 Oct 2008 09:08:20 GMT
When you look at a media server, you will see the 2 services you mentioned: ConnectionManager
and ContentDirectory as defined in the media server specification.
In order to play media you will need to find another device which supports the AVTransport
service. This has the play() and stop() actions.

The Xbox and PS3 can both access content stored on a device through the ConnectionManager
and ContentDirectory services, but they do not provide any services themselves. In this context,
they are both Digital Media Players and NOT Digital Media Renderers as defined by DLNA ( http://www.dlna.org/digital_living/devices/)

On 05/10/2008 22:00, "Survivant 00" <survivant00@gmail.com> wrote:

thanks.  That explain a lot.

One remaining question.

I look at Intel upnp spy.  and I only see a ConnectionManager and a ContentDirectory.

I can browse.. but I did it how the client send a START ou PLAY on a media.

do you know a client that can browse and play content and log everything on disk ?

2008/10/5 Jackson, Bruce <brucej@qualcomm.com>
Yes. Felix contains an implementation of the UPnP stack as per the OSGi specification. This
supports all of the basic UPnP discovery and service interaction mechanisms. The standardized
services are built on top of this, but its up to you to implement them.

You need to download the UPnP specs for Media Server and Media Renderer from the UPnP forum
web site, and then read the specs to se what a media server is expected to return to a client.

The flow is in essence, simple.

1. A control point (which you or someone else must write) uses the actions defined in the
Content Directory (browse and search) to locate an item of media. This media item has a property
which is its URL, where it can be located and "streamed" from.

2. The control point then finds an AV Transport service. This again, has many public actions,
the most important being things like play and stop. Simply, the play action takes the URL
which was previously obtained from the Content Directory.

3. Once the control point calls the play() action, the AV Transport will start reading from
the URL and playing the media.

Hence, it is possible that the URL is not actually present in the Content Directory at all,
and is certainly not specified by the UPnP transports.

On 05/10/2008 11:49, "Survivant 00" <survivant00@gmail.com <http://survivant00@gmail.com>
> wrote:

that's good.

so the upnp drivers only provide the service and it's hope to me to do the streaming.  I didn't
see in the doc how the server respond to the client.

I suppose that when the client will do PLAY it will send a action to the server, but how the
srever send the data back ?

and I didn't see the javadoc of the upnp packages.  what is the Maven2 parameters to pass
in the command line to generate the javadoc ?

mvn xxxx  ?

I read the blog : http://membres-liglab.imag.fr/donsez/cours/exemplesosgi/tutorialosgi.htm#upnp

but didn't find how the data was send between the application.

---------- Forwarded message ----------
From: Jackson, Bruce <brucej@qualcomm.com <http://brucej@qualcomm.com> >
Date: 2008/10/5
Subject: Re: upnp media server pure java
To: "dev@felix.apache.org <http://dev@felix.apache.org> " <dev@felix.apache.org <http://dev@felix.apache.org>
>, "survivant00@gmail.com <http://survivant00@gmail.com> " <survivant00@gmail.com
<http://survivant00@gmail.com> >

Streaming isn't done by the UPnP library at all. All the Content directory does is to provide
the rendering application with a URL. Where that points is entirely up to you, but would typically
be to a servlet running in your media server application (probably using the OSGi http service).
Whether the http service uses NIO is another question altogether and I've no idea about the
default Jetty implementation shipped with Felix. But if you want to use NIO, then you can
always write something yourself that does.

On 04/10/2008 22:22, "Survivant 00" <survivant00@gmail.com <http://survivant00@gmail.com>
 <http://survivant00@gmail.com> > wrote:


after that I read more about upnp, I find out that a media server need
contentdirectory  +contentmanager.  I'll read more about upnp and use the
cybergarage sample to play around.  After that I'll switch to felix upnp.

right now i'm able to have a media server shown on the ps3.. just not able
to stream data yet.

in Felix upnp, how the streaming is done ?  (I read that felix upnp was a
updated version of cyberdomo library, but is it possible to replace the http
request made within cyberlink with NIO (like Mina ? )

2008/10/2 Francesco Furfari <francesco.furfari@isti.cnr.it <http://francesco.furfari@isti.cnr.it>
 <http://francesco.furfari@isti.cnr.it> >

> well, trying to simulate a media server just changing the declared types
> could be unhelpful. If the CP on the PS3 do some deep check on the device
> description, it could decide to discard a non valid device.
> I forget to say that Intel Tool is for wWindows machines but if you can
> intall it then you can run the UPnp Ligth device and also UPnP sniffer ...
> it is limited but you can play with exchanged packets
> francesco
> Survivant 00 wrote:
>> thanks.. it's a clear answer.
>> I'm modifying the sample of Felix to change the type for MediaServer liek
>> cyberlink Media Server.  I'll see if the PS3 see it.  I'm pretty sure it's
>> something like that.
>> There is still the problem with google media server.
>> I'll keep the thread in touch if modifying the config of the samples, will
>> appears on the ps3.
>> 2008/10/1 Francesco Furfari <francesco.furfari@isti.cnr.it <http://francesco.furfari@isti.cnr.it>
 <http://francesco.furfari@isti.cnr.it> >

>>  If you refer to the UPnP Specification, yes it's true.
>>> Usually talking bout physical device, when they are plugged on the
>>> network
>>> they should send an advertisement (multicast messages) about their
>>> presence.
>>> But in the UPnP Ecosystem there are also Control Points (CP)entities that
>>> are consumers of the services exposed by UPnP devices; CPs can be develop
>>> 1)
>>> to work exactly with a specific type of device, for instance a CP
>>> implementing a Light Control Panel would be interested to discover only
>>> devices implementing the UPnP Lighting profile, that's ignoring all the
>>> rest
>>> of UPnP devices like media servers; 2) to listen every type of device,
>>> that's they are Generic Control Points (i.e. the Felix UPnP Tester
>>> Bundle).
>>> In latter case they are interested to receive every multicast message
>>> sent
>>> by UPnP devices plugged on the network. The problem arise when a Generic
>>> Control Point is started/connected when other UpnP devices are already
>>> connected to the network, that 's they have loose the multicast messages
>>> sent previously. In this case the CP can issue a multicast search request
>>> (called M-SEARCH) specifying the kind of devices to which it is
>>> interested
>>> (e.g. all-devices, only root devices, a device type). If there are UPnP
>>> devices compatible with the Search Target field of the message then they
>>> will reply to the CP.
>>> So to summarize you should be sure that in your PS3 you are using a
>>> generic
>>> control point that is interested to see every kind of device not only one
>>> type (.ie. media server) otherwise the UPnP samples that you start with
>>> Felix are not valid because they implement a particular device type. May
>>> be
>>> for this reason Bruce has answered to you saying that you should
>>> implement a
>>> media server on Felix. As crosscheck, I suggested of launching the Intel
>>> Light Device (
>>> http://www.intel.com/cd/ids/developer/asmo-na/eng/downloads/upnp/tools/index.htm
>>> ).
>>> If you are able to see the Intel device Light on th PS3 then I 'm quite
>>> sure
>>> there is a problem with the Felix UPnp Implementation. As consequence of
>>> this, (supposing UPnP impementation on Ps3 works fine) we have to
>>> understand
>>> if the problem is on the multicast announce od the devices or in the
>>> response to the multicat search sent by the PS3 ... or in both :(
>>> hoping this clarify
>>> regards,
>>> francesco
>>> ciao,
>>> francesco
>>> Survivant 00 wrote:
>>>  :)
>>>> I'll do the test tonight, I'm at work now.
>>>> just to help me understand, I tough that a upnp device was automaticaly
>>>> availables it is true ?  if not, do you have to specify certains
>>>> settings
>>>> ?
>>>> 2008/9/30 Francesco Furfari <francesco.furfari@isti.cnr.it <http://francesco.furfari@isti.cnr.it>
 <http://francesco.furfari@isti.cnr.it> >

>>>>  yes S├ębastien,  I was thinking to the PS3 not a service pack 3 ;-)
>>>>> meanwhile you could tell me if the discovery fail in both the cases
>>>>> (changing the launching order) and of course if you have already tested
>>>>> the
>>>>> PS3 with other simple devices like the Intel Light (this because I
>>>>> don't
>>>>> know PS3 and I would be sure that it searches for all the devices and
>>>>> not
>>>>> only for certain device types like media server ...
>>>>> regards,
>>>>> francesco
>>>>> Survivant 00 wrote:
>>>>>  my name = S├ębastien Dionne
>>>>>> just to be clear.. it's not SP3, but PS3 (Playstation 3).
>>>>>> I'll wait for further instruction.
>>>>>> 2008/9/30 Francesco Furfari <francesco.furfari@isti.cnr.it <http://francesco.furfari@isti.cnr.it>
 <http://francesco.furfari@isti.cnr.it> >

>>>>>>  Hi <your name?>
>>>>>>  well give me some time to check the problems with Google Media server
>>>>>>> (
>>>>>>> i
>>>>>>> will install all the stuff in the next days).
>>>>>>> Regarding the SP3 I need to know if launching first the Felix
>>>>>>> and
>>>>>>> then SP3 and viceversa (first SP3 and then samples) the behaviour
>>>>>>> the
>>>>>>> same.
>>>>>>> thanks for the help I 'll be back to you ASAP, in these days
I'm a
>>>>>>> bit
>>>>>>> busy.
>>>>>>> ciao
>>>>>>> francesco
>>>>>>> Survivant 00 wrote:
>>>>>>>  What I did is simple.
>>>>>>>  I started the sample with the upnp.bat .
>>>>>>>> I saw all the devices from the sample + the device TVersity
that run
>>>>>>>> on
>>>>>>>> another computer.
>>>>>>>> I was expected to see the samples on the PS3.. even if the
PS3 won't
>>>>>>>> we
>>>>>>>> able
>>>>>>>> to do anything with it, but It should still shown on the
>>>>>>>> + I didn't see my google media server on the devices list..
I see it
>>>>>>>> perfectly on the PS3.
>>>>>>>> I downloaded the cybergarage Cyberlink Media Server.
>>>>>>>> and I'm able to see this device on the tester that came with
>>>>>>>> sample,
>>>>>>>> and
>>>>>>>> it's shown on the PS3, and I'm able to browse it too.
>>>>>>>> I can help you to debug it if you tell me what I can do to
help you.
>>>>>>>> just tell me the tools to use and the tests to run.
>>>>>>>> and I know that felix is a newer version, but that's the
point.. I
>>>>>>>> was
>>>>>>>> expecting the sample to shown on the PS3.. just shown is
>>>>>>>> I'll
>>>>>>>> do
>>>>>>>> the rest to create a media server.. but I just want a base
to start
>>>>>>>> from.
>>>>>>>> 2008/9/30 Francesco Furfari <francesco.furfari@isti.cnr.it
<http://francesco.furfari@isti.cnr.it>  <http://francesco.furfari@isti.cnr.it>

>>>>>>>>  Hi,
>>>>>>>>  Bruce Jackson has opened a bug (
>>>>>>>>> http://issues.apache.org/jira/browse/FELIX-630) that
could be
>>>>>>>>> related
>>>>>>>>> to
>>>>>>>>> your,  although it concerns Xbox 360.
>>>>>>>>> However, supposing there is not a network problem, you
may do some
>>>>>>>>> test
>>>>>>>>> to
>>>>>>>>> understand if the problem is related to either the M-SEARCH
or the
>>>>>>>>> Announce
>>>>>>>>> of the devices, or both :(.
>>>>>>>>> So when you start/stop a sample on the Felix platform
an announce
>>>>>>>>> is
>>>>>>>>> sent
>>>>>>>>> to the already started UPnP Control Points (CPs). If
they after a
>>>>>>>>> while
>>>>>>>>> do
>>>>>>>>> not see the sample device it means that the announce
is not well
>>>>>>>>> interpreted/received by the CPs. Then stop and restart
the CPs,
>>>>>>>>> they
>>>>>>>>> should
>>>>>>>>> send an M-SEARCH packet to which the samples running
on the Felix
>>>>>>>>> Platform
>>>>>>>>> must reply. If the samples are not discovered then the
problem is
>>>>>>>>> also
>>>>>>>>> in
>>>>>>>>> the M-Search response (e.g Felix-630).
>>>>>>>>> Try also to use some packet sniffer to see what really
happen on
>>>>>>>>> the
>>>>>>>>> network, I cannot help you because I haven't got a PS3
>>>>>>>>> francesco
>>>>>>>>> Jackson, Bruce wrote:
>>>>>>>>>  When you say that you're using the samples in felix,
what do you
>>>>>>>>> mean?
>>>>>>>>>  Cyberlink is a upnp media server application built on
top of the
>>>>>>>>>> upnp
>>>>>>>>>> stack.
>>>>>>>>>> You would need to build a similar media server on
top of the felix
>>>>>>>>>> upnp
>>>>>>>>>> stack in order for it to be seen by the ps3. Felix
uses a newer
>>>>>>>>>> version
>>>>>>>>>> of
>>>>>>>>>> the same underlying upnp base driver as cyberlink.
>>>>>>>>>> --- original message ---
>>>>>>>>>> From: "Survivant 00" <survivant00@gmail.com <http://survivant00@gmail.com>
 <http://survivant00@gmail.com> >
>>>>>>>>>> Subject: Re: upnp media server pure java
>>>>>>>>>> Date: 29th September 2008
>>>>>>>>>> Time: 6:40:11 pm
>>>>>>>>>> I found the program Cyberlink media server and I'm
able to see it
>>>>>>>>>> in
>>>>>>>>>> my
>>>>>>>>>> PS3.  I think it use a old version of cyberlink upnp
>>>>>>>>>> I want to try the same thing with Felix... I have
plan to
>>>>>>>>>> reverse-engineer
>>>>>>>>>> it to understand the difference.
>>>>>>>>>> did someone know what is missing in the sample to
be able to do
>>>>>>>>>> the
>>>>>>>>>> same
>>>>>>>>>> thing ?
>>>>>>>>>> 2008/9/29 Survivant 00 <survivant00@gmail.com
<http://survivant00@gmail.com>  <http://survivant00@gmail.com> >

>>>>>>>>>>  I want to do a media server using Felix upnp.  I
downloaded and
>>>>>>>>>> builded
>>>>>>>>>>  the
>>>>>>>>>>  source code.  When I run the samples, I'm able to
see them within
>>>>>>>>>>> the
>>>>>>>>>>> tester.
>>>>>>>>>>> I even see my Tversity that run on another computer.
>>>>>>>>>>> but I don't see my Google media server and I
don't see the
>>>>>>>>>>> samples
>>>>>>>>>>> on
>>>>>>>>>>> my
>>>>>>>>>>> Playstations 3.
>>>>>>>>>>> Is the Felix upnp is complete or there something
missing to be
>>>>>>>>>>> able
>>>>>>>>>>> to
>>>>>>>>>>> reconized google media server and be seen on
the PS3 ?
>>>>>>>>>>> my principale target will be the PS3.

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message