Upnp Root Device与嵌入式设备

时间:2012-10-19 19:54:33

标签: upnp

我目前正在将UPnP支持添加到应用程序中。它将充当媒体服务器,控制点和媒体渲染器。我的问题是,媒体服务器和媒体渲染器应该实现为2个独立设备还是一个具有1个嵌入式设备的根设备?

如果后者那么哪个是root设备?对于根和嵌入式设备,UUID也是相同的,或者每个根/嵌入式设备是唯一的吗?

理想情况下,我只想宣传一个可以完成所有工作的设备,但我不确定是否允许这样做。我查看了网络上的一些设备,但没有设备中嵌入了设备,这让我想知道是否有单一的设备规格可以做任何事情?
感谢这里的任何方向。

2 个答案:

答案 0 :(得分:5)

[以下任何参考资料均为http://upnp.org/resources/upnpresources.zip]

捆绑中的文档

您无法将媒体服务器和渲染器合并到一个UPnP设备中。 UPnP-av-MediaRenderer-v3-Device-20101231.pdf& UPnP-av-MediaServer-v4-Device-20101231.pdf为服务器和渲染器定义特定的设备类型(参见每个文档的第3节),因此您需要单独的UPnP设备。

我认为你可以在另一个中嵌入一个(任一个)设备。上述每个文档的2.2节(设备型号)分别表示渲染器和服务器设备可以是root用户还是嵌入式。

如果您决定使用嵌入式设备,我相信每台设备都应该有自己的UUID。我无法找到明确的参考资料,但似乎在v1.1架构文档的2.3节(设备描述)中强烈暗示。它也是我在我维护的UPnP堆栈中做的,我没有发现这会导致任何问题。

所有这一切,如果您希望其他程序将您的服务器或渲染器用作标准UPnP设备,您将只需要担心这一点,而不管您的组合服务器+渲染器+控制点。如果您不关心第三方使用服务器或渲染器,您可以随意对您的产品执行任何操作。因此,您可以尽可能多地实施UPnP规范。

答案 1 :(得分:1)

您可以使用自己的设备描述XML文件URL宣传2个不同的设备(MediaServer和MediaRenderer)。每个设备都有自己的UUID。

其他UPnP设备对不同的设备和服务感兴趣。 DLNA TV将搜索MedServer设备。 ControlPoint将搜索MediaServer和MediaRenderer设备。

ControlPoint不会将自己宣传为设备或提供服务,因此没有设备描述XML文件或服务XML文件。

使用嵌入式UPnP设备似乎没有被广泛使用,因此可能与其他UPnP控制点实现不兼容。