DLNA Media Renderer 也可以充当控制器吗?

Can DLNA Media Renderer also act as a controller as well?

在这方面我有点困惑。我将 Youtube 视频从 android phone(使用名为 AllConnect 的控制器应用程序)流式传输到我的电视(渲染器)。在播放过程中,我可以看到应用程序上的进度条正在更新,我可以及时寻找。到这里,我明白了一切;我的 phone 发现了一个 DLNA 渲染器(电视)并且是 "pushing" 它的内容。

当我还能够使用我的电视遥控器搜索内容时,通过按后退和前进按钮,事情开始变得混乱,我猜这会在 +-10 秒内搜索。 这个流程是如何运作的??当应用程序上的进度条相应移动时,该应用程序还会知道电视遥控器执行的搜索。

以下是我电视的规格:

1) RemoteControlReceiver.xml

<root xmlns="urn:schemas-upnp-org:device-1-0" xmlns:sec="http://www.sec.co.kr/dlna" xmlns:dlna="urn:schemas-dlna-org:device-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<device>
<deviceType>urn:samsung.com:device:RemoteControlReceiver:1</deviceType>
<friendlyName>[TV]UA32D5000</friendlyName>
<manufacturer>Samsung Electronics</manufacturer>
<manufacturerURL>http://www.samsung.com/sec</manufacturerURL>
<modelDescription>Samsung TV RCR</modelDescription>
<modelName>UA32D5000</modelName>
<modelNumber>1.0</modelNumber>
<modelURL>http://www.samsung.com/sec</modelURL>
<serialNumber>20090804RCR</serialNumber>
<UDN>uuid:9aaf1aa7-b2c9-f9d5-6b21-2df55015c03a</UDN>
<sec:deviceID>BDCISIPC2MN3M</sec:deviceID>
<serviceList>
<service>
<serviceType>urn:samsung.com:service:TestRCRService:1</serviceType>
<serviceId>urn:samsung.com:serviceId:TestRCRService</serviceId>
<controlURL>/RCR/control/TestRCRService</controlURL>
<eventSubURL>/RCR/event/TestRCRService</eventSubURL>
<SCPDURL>TestRCRService.xml</SCPDURL>
</service>
</serviceList>
</device>
</root>

2) PersonalMessageReceiver.xml

<root xmlns="urn:schemas-upnp-org:device-1-0" xmlns:sec="http://www.sec.co.kr/dlna">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<device>
<deviceType>urn:samsung.com:device:PersonalMessageReceiver:1</deviceType>
<friendlyName>[TV]UA32D5000</friendlyName>
<manufacturer>Samsung Electronics</manufacturer>
<manufacturerURL>http://www.samsung.com/sec</manufacturerURL>
<modelDescription>Samsung TV PMR</modelDescription>
<modelName>UA32D5000</modelName>
<modelNumber>1.0</modelNumber>
<modelURL>http://www.samsung.com/sec</modelURL>
<serialNumber>20081224PMR</serialNumber>
<UDN>uuid:fc866c7a-5ace-8368-600f-711705796dd8</UDN>
<sec:deviceID>BDCISIPC2MN3M</sec:deviceID>
<iconList>
<icon>
<mimetype>image/jpeg</mimetype>
<width>48</width>
<height>48</height>
<depth>24</depth>
<url>/pmr/icon_SML.jpg</url>
</icon>
<icon>
<mimetype>image/jpeg</mimetype>
<width>120</width>
<height>120</height>
<depth>24</depth>
<url>/pmr/icon_LRG.jpg</url>
</icon>
<icon>
<mimetype>image/png</mimetype>
<width>48</width>
<height>48</height>
<depth>24</depth>
<url>/pmr/icon_SML.png</url>
</icon>
<icon>
<mimetype>image/png</mimetype>
<width>120</width>
<height>120</height>
<depth>24</depth>
<url>/pmr/icon_LRG.png</url>
</icon>
</iconList>
<serviceList>
<service>
<serviceType>urn:samsung.com:service:MessageBoxService:1</serviceType>
<serviceId>urn:samsung.com:serviceId:MessageBoxService</serviceId>
<controlURL>/PMR/control/MessageBoxService</controlURL>
<eventSubURL>/PMR/event/MessageBoxService</eventSubURL>
<SCPDURL>MessageBoxService.xml</SCPDURL>
</service>
</serviceList>
</device>
</root>

3) SamsungMRDesc.xml

<root xmlns="urn:schemas-upnp-org:device-1-0" xmlns:pnpx="http://schemas.microsoft.com/windows/pnpx/2005/11" xmlns:df="http://schemas.microsoft.com/windows/2008/09/devicefoundation" xmlns:sec="http://www.sec.co.kr/dlna">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<device>
<deviceType>urn:schemas-upnp-org:device:MediaRenderer:1</deviceType>
<pnpx:X_compatibleId>MS_DigitalMediaDeviceClass_DMR_V001</pnpx:X_compatibleId>
<df:X_deviceCategory>Display.TV.LCD Multimedia.DMR</df:X_deviceCategory>
<dlna:X_DLNADOC xmlns:dlna="urn:schemas-dlna-org:device-1-0">DMR-1.50</dlna:X_DLNADOC>
<friendlyName>[TV]UA32D5000</friendlyName>
<manufacturer>Samsung Electronics</manufacturer>
<manufacturerURL>http://www.samsung.com/sec</manufacturerURL>
<modelDescription>Samsung TV DMR</modelDescription>
<modelName>UA32D5000</modelName>
<modelNumber>AllShare1.0</modelNumber>
<modelURL>http://www.samsung.com/sec</modelURL>
<serialNumber>20081224DMR</serialNumber>
<UDN>uuid:6f4e620e-f056-581b-752b-1c0ce33bc370</UDN>
<sec:deviceID>BDCISIPC2MN3M</sec:deviceID>
<iconList>
<icon>
<mimetype>image/jpeg</mimetype>
<width>48</width>
<height>48</height>
<depth>24</depth>
<url>/dmr/icon_SML.jpg</url>
</icon>
<icon>
<mimetype>image/jpeg</mimetype>
<width>120</width>
<height>120</height>
<depth>24</depth>
<url>/dmr/icon_LRG.jpg</url>
</icon>
<icon>
<mimetype>image/png</mimetype>
<width>48</width>
<height>48</height>
<depth>24</depth>
<url>/dmr/icon_SML.png</url>
</icon>
<icon>
<mimetype>image/png</mimetype>
<width>120</width>
<height>120</height>
<depth>24</depth>
<url>/dmr/icon_LRG.png</url>
</icon>
</iconList>
<serviceList>
<service>
<serviceType>urn:schemas-upnp-org:service:RenderingControl:1</serviceType>
<serviceId>urn:upnp-org:serviceId:RenderingControl</serviceId>
<controlURL>/upnp/control/RenderingControl1</controlURL>
<eventSubURL>/upnp/event/RenderingControl1</eventSubURL>
<SCPDURL>RenderingControl1.xml</SCPDURL>
</service>
<service>
<serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>
<serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId>
<controlURL>/upnp/control/ConnectionManager1</controlURL>
<eventSubURL>/upnp/event/ConnectionManager1</eventSubURL>
<SCPDURL>ConnectionManager1.xml</SCPDURL>
</service>
<service>
<serviceType>urn:schemas-upnp-org:service:AVTransport:1</serviceType>
<serviceId>urn:upnp-org:serviceId:AVTransport</serviceId>
<controlURL>/upnp/control/AVTransport1</controlURL>
<eventSubURL>/upnp/event/AVTransport1</eventSubURL>
<SCPDURL>AVTransport1.xml</SCPDURL>
</service>
</serviceList>
</device>
</root>

其实在DLNA 1.0中,只引入了DMP(Digital Media Player)DMSDMP既是玩家又是控制器,所以这个模式就是众所周知的2-box-pull。在 DLNA 1.5 中,DMC(Digital Media Controller) 被分离,现在 DMC 控制 DMR(Digital Media Renderer) 渲染,这种模式被称为 3-box-push

DMR 控制当前媒体(可能是歌曲,或播放列表),如 stopseek 等,但在任何更改后,DMR 将发送 notificationDMC 然后 DMC 更新播放状态。

更详细地说,按下 seek 按钮后,电视状态从 PLAYING 更改为 TRANSITIONING,当 seek 完成后,更改回 PLAYING.同时,当 DMC 从 TV 获取 notification 时,它会 AVTransport::GetPositionInfo 与 TV 同步位置。