首页> 中国专利> 一种避免多个DMC推送媒体播放产生冲突的方法及装置

一种避免多个DMC推送媒体播放产生冲突的方法及装置

摘要

本发明公开了一种避免多个DMC推送媒体播放产生冲突的方法,应用于DLNA家庭娱乐网络中,该方法首先通过将UPnP通用即插即用协议定义的服务及动作作分类处理,划分为控制动作和非控制动作,然后DMC在对DMR执行控制动作前,需先发送请求向DMR申请控制权,DMR记录申请控制权的DMC的IP地址,且仅执行该IP地址发送的控制动作,同一时间DMR最多记录一台拥有控制权的DMC设备,DMR过滤没有控制权的DMC的控制动作,但可以接收其他状态请求动作。该发明方法实现了多个DMC控制DMR的同时又有效避免了控制冲突,优化了多个控制设备之间的关系,改变了控制混乱的状况,极大地提升了使用体验。

著录项

  • 公开/公告号CN104320718A

    专利类型发明专利

  • 公开/公告日2015-01-28

    原文格式PDF

  • 申请/专利权人 广东欧珀移动通信有限公司;

    申请/专利号CN201410494467.6

  • 发明设计人 任超;

    申请日2014-09-24

  • 分类号H04N21/6587(20110101);H04N21/643(20110101);H04N21/64(20110101);H04N21/858(20110101);H04N21/8543(20110101);

  • 代理机构44245 广州市华学知识产权代理有限公司;

  • 代理人李盛洪

  • 地址 523860 广东省东莞市长安镇乌沙海滨路18号

  • 入库时间 2023-12-17 04:40:19

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-01-31

    专利权人的姓名或者名称、地址的变更 IPC(主分类):H04N21/6587 变更前: 变更后: 申请日:20140924

    专利权人的姓名或者名称、地址的变更

  • 2017-07-25

    授权

    授权

  • 2015-02-25

    实质审查的生效 IPC(主分类):H04N21/6587 申请日:20140924

    实质审查的生效

  • 2015-01-28

    公开

    公开

说明书

技术领域

本发明涉及网络多媒体互联的技术领域,特别涉及一种避免多个DMC推送媒体播放产生冲突的方法及装置。

背景技术

数字生活网络联盟DLNA全称是DIGITAL LIVING NETWORK ALLIANCE,旨在通过整合现有的技术和网络协议,使同一个网域内的设备,能够实现自由的跨设备多媒体播放。近年来,DLNA技术得到了广泛的发展,越来越多的媒体设备,影音终端或播放平台都支持DLNA。该技术允许设备在网络连接状态下,能够发现拥有其他功能的设备,并查看和分享服务器中的媒体资源至某个播放器中进行播放。DLNA设备的类型主要有DMP(数字媒体播放器),DMR(数字媒体渲染器),DMS(数字媒体服务器)和DMC(数字媒体控制器)。其中,DMS用于存储和管理媒体资源,使得其他设备可以通过网络方便地获取到媒体内容;DMC设备中包含DLNA Control Point(控制点),用于浏览DMS的媒体信息,从DMS上获取到媒体的元数据信息,并通过交互控制推送媒体至DMR播放已经选择的媒体内容;DMR为不具备DMC功能的媒体播放器,DMP为具有DMC功能的媒体播放器。

在DLNA架构中,并未规定一个网段内允许设备的数量,也就是说,DLNA支持多个DMC同时存在,并且同时访问多个设备。这个特点增强了DLNA的可用性:作为DMS,能够被多个DMC发现,并且能够为多个DMR提供资源;作为DMR,同样能被多个DMC发现,并能够接收这些DMC推送的媒体;作为DMC,能够发现网段内所有的设备,可以访问他们,或者推送媒体资源。但是,当多个DMC同时连接到一个DMR时,由于各个厂商的DMC实现方法不同,有可能在推送过程中产生冲突。例如DMC1与DMC2共同连接到DMR1,DMC1推送一个媒体至DMR1播放,此时通过DMC2发送STOP动作至DMR1,由于DMC1不清楚网段中存在DMC2在控制DMR1,因此DMC1在判断到DMR1播放停止后,可能会继续推送下一个媒体播放,导致DMR1无法停止的问题出现。此时,DMC1与DMC2在控制上便产生了冲突。

发明内容

本发明的第一个目的在于克服现有技术的缺点与不足,提供一种避免多个DMC推送媒体播放产生冲突的方法。本发明通过扩展UPnP协议,提供了一种避免产生控制冲突的方法,该方法允许多个DMC来控制DMR,但同时规定同一时段内,DMC需要通过申请控制权来取得对DMR的播放控制,其他没有控制权的DMC只能获取到DMR状态或参数的变化,而不能对其进行播放控制。本方法发明有效的避免了控制冲突,优化了多个控制设备之间的关系,改变了控制混乱的状况,极大地提升了使用体验。

本发明的另一个目的在于克服现有技术的缺点与不足,提供一种避免多个DMC推送媒体播放产生冲突的装置。

本发明的第一个目的通过下述技术方案实现:

一种避免多个DMC推送媒体播放产生冲突的方法,应用于DLNA家庭娱乐网络中以解决多个DMC同时控制DMR存在控制冲突的问题,包括下列步骤:

S1、根据UPnP通用即插即用协议定义的服务及动作,对原协议内容作分类处理,划分为‘控制动作’和‘非控制动作’,其中控制动作指DMC调用DMR前需要申请控制权的动作,非控制动作指DMC调用DMR前不需要申请控制权的动作,动作表示客户端发出的完成特定功能的命令;

S2、DMC加入DLNA网络,并选择一个DMR作为渲染器;

S3、DMC向DMR发出任意的动作指令,并判断是否属于控制动作,如果判断属于控制动作,则进入下一步骤S4;

S4、DMC向DMR发送请求控制权动作X_ControlApplication,该动作定义在AVTransport服务之下,用来向DMR申请控制权;

S5、DMR接收到请求权申请后根据DMC控制权记录管理协议回复DMC控制权请求;

S6、DMC收到DMR控制权申请成功的回复后,继续发送控制动作至DMR,完成特定功能的命令。

优选的,所述步骤1中控制动作包括

urn:schemas-upnp-org:service:RenderingControl:1服务中的所有动作和

urn:schemas-upnp-org:service:AVTransport:1服务中所有‘set’动作,以及‘Stop’、‘Play’,‘Pause’,‘Record’,‘Seek’,‘Next’,‘Previous’动作。

优选的,所述步骤1中非控制动作包括

urn:schemas-upnp-org:service:ConnectionManager:1服务中的所有动作和

urn:schemas-upnp-org:service:AVTransport:1服务中所有‘get’动作。

优选的,所述步骤S5中DMC控制权记录管理协议具体为:

G51、DMR终端建立专有变量,用来记录当前取得控制权的DMC的IP地址;

G52、DMR终端接收到请求控制权动作X_ControlApplication后,将动作源DMC的IP地址与专有变量做比较,如果不相同并且申请DMR控制权成功,则更新专有变量的值;

G53、DMR终端接收到控制动作,将动作源DMC的IP地址与专有变量做比较,如果相同,则执行该控制动作,否则忽略此控制动作;

G54、DMR终端接收到非控制动作,直接执行该非控制动作。

优选的,所述步骤S2具体为:

S21、DMC加入DLNA网络后首先寻址获取IP地址;

S22、DMC向DLNA网络上的控制节点告知设备的类型、标志符UUID、提供的服务以及设备描述和服务描述的URL地址;

S23、DLNA网络控制点得到设备描述和服务描述的URL,通过URL取回设备描述和服务描述的信息;

S24、DMC向DMR设备服务发出动作请求。

优选的,所述步骤S3中DMC向DMR发出的动作指令如果判断属于非控制动作,则可直接向DMR发送该动作指令而无需申请DMR控制权。

优选的,所述步骤S4中DMC向DMR发起申请控制权是存在UI用户交互的情形时,即用户主动通过DMC向DMR发出动作指令时需要申请控制权,而DMC自动向DMR发出动作指令时不需要申请控制权。

本发明的另一个目的通过以下技术方案实现:

一种避免多个DMC推送媒体播放产生冲突的装置,应用于DLNA家庭娱乐网络中以解决多个DMC同时控制DMR存在控制冲突的问题,包括下列单元:

UPnP协议内容分类处理单元,该单元根据UPnP通用即插即用协议定义的服务及动作,对原协议内容作分类处理,划分为‘控制动作’和‘非控制动作’,其中控制动作指DMC调用DMR前需要申请控制权的动作,非控制动作指DMC调用DMR前不需要申请控制权的动作,动作表示客户端发出的完成特定功能的命令;

DMC初始化单元,该单元用于DMC加入DLNA网络的初始化,并选择一个DMR作为渲染器;

DMC动作指令判断单元,该单元用于DMC向DMR发出任意的动作指令,并判断是否属于控制动作,如果判断属于控制动作,则转至DMR控制权请求单元;

DMR控制权请求单元,该单元用于DMC向DMR发送请求控制权动作X_ControlApplication,该动作定义在AVTransport服务之下,用来向DMR申请控制权;

控制权记录管理协议单元,该单元用于DMR接收到请求权申请后根据控制权记录管理协议回复DMC控制权请求;

DMC控制动作发送单元,该单元用于DMC收到DMR控制权申请成功的回复后,继续发送控制动作至DMR,完成特定功能的命令。

优选的,所述UPnP协议内容分类处理单元中控制动作包括

urn:schemas-upnp-org:service:RenderingControl:1服务中的所有动作和

urn:schemas-upnp-org:service:AVTransport:1服务中所有‘set’动作,以及‘Stop’、‘Play’,‘Pause’,‘Record’,‘Seek’,‘Next’,‘Previous’动作。

优选的,所述UPnP协议内容分类处理单元中非控制动作包括

urn:schemas-upnp-org:service:ConnectionManager:1服务中的所有动作和

urn:schemas-upnp-org:service:AVTransport:1服务中所有‘get’动作。

优选的,所述控制权记录管理协议单元中包括下列模块:

专有变量建立模块,该模块用于DMR终端建立专有变量,用来记录当前取得控制权的DMC的IP地址;

专有变量更新模块,该模块用于在DMR终端接收到请求控制权动作X_ControlApplication后,将动作源DMC的IP地址与专有变量做比较,如果不相同并且申请DMR控制权成功,则更新专有变量的值;

动作源IP地址校验模块,该模块用于在DMR终端接收到控制动作后,将动作源DMC的IP地址与专有变量做比较,如果相同,则执行该控制动作,否则忽略此控制动作;

非控制动作执行模块,该模块用于DMR终端在接收到非控制动作,直接执行该非控制动作。

优选的,所述DMC初始化单元包括下列模块:

寻址模块,该模块用于DMC加入DLNA网络后首先寻址获取IP地址;

发现模块,该模块用于DMC向DLNA网络上的控制节点告知设备的类型、标志符UUID、提供的服务以及设备描述和服务描述的URL地址;

描述模块,该模块用于DLNA网络控制点得到设备描述和服务描述的URL,通过URL取回设备描述和服务描述的信息;

控制模块,该模块用于DMC向DMR设备服务发出动作请求。

优选的,所述DMC动作指令判断单元中DMC向DMR发出的动作指令如果判断属于非控制动作,则可直接向DMR发送该动作指令而无需申请DMR控制权。

优选的,所述DMR控制权请求单元中DMC向DMR发起申请控制权是存在UI用户交互的情形时,即用户主动通过DMC向DMR发出动作指令时需要申请控制权,而DMC自动向DMR发出动作指令时不需要申请控制权。

本发明相对于现有技术具有如下的优点及效果:

1、本发明通过规定DMC需要通过申请控制权来取得对DMR的播放控制,其他没有控制权的DMC只能获取到DMR状态或参数的变化,不能对其进行播放控制,有效的避免了控制冲突,优化了多个控制设备之间的关系,改变了控制混乱的状况,极大地提升了使用体验。

2、本方法发明完全基于DLNA和UPnP协议,具有很好的兼容性。

3、本方法发明同时扩展了UPnP协议,具备简单易实现的特点。

附图说明

图1是本实施例一中一种避免多个DMC推送媒体播放产生冲突的方法流程图;

图2是本实施例一中DMC加入DLNA网络后工作流程图;

图3是本实施例二中一种避免多个DMC推送媒体播放产生冲突的装置结构图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

实施例一

请参见图1,图1是本发明中避免多个DMC推送媒体播放产生冲突的方法流程图。图1所示的避免多个DMC推送媒体播放产生冲突的方法,应用于DLNA家庭娱乐网络中以解决多个DMC同时控制DMR存在控制冲突的问题,具体包括下列步骤:

●步骤S1、根据UPnP通用即插即用协议定义的服务及动作,对原协议内容作分类处理,划分为‘控制动作’和‘非控制动作’,其中控制动作指DMC调用DMR前需要申请控制权的动作,非控制动作指DMC调用DMR前不需要申请控制权的动作,动作表示客户端发出的完成特定功能的命令。

首先需要定义“控制动作”和“非控制动作”的范畴,DMC在向DMR发送“控制动作”前,需要先向DMR申请控制权,而发送“非控制动作”前则无需申请或拥有控制权,直接执行该动作即可。

“控制动作”包括:

1、urn:schemas-upnp-org:service:RenderingControl:1服务中的所有动作;

2、urn:schemas-upnp-org:service:AVTransport:1服务中所有“set”动作,以及“Stop”,“Play”,“Pause”,“Record”,“Seek”,“Next”,“Previous”动作。

“非控制动作”包括:

1、urn:schemas-upnp-org:service:ConnectionManager:1服务中的所有动作;

2、urn:schemas-upnp-org:service:AVTransport:1服务中所有“get”动作。

上述内容为UPnP协议定义的服务及动作,本发明为了明确何时需要申请控制权,对原协议内容作了分类处理,划分为“控制动作”(即调用前需要申请控制权)和“非控制动作”(调用前无需申请控制权),分类方法属于对UPnP协议的扩展,同时也是本发明需要保护的技术点。

其中,UPnP是通用即插即用(Universal Plug and Play)的缩写,主要用于设备的智能互联互通,使用UPnP协议不需要设备驱动程序,它可以运行在目前几乎所有的操作系统平台上,使得在办公室、家庭和其他公共场所方便地构建设备互联互通成为可能。UPnP最大贡献任何设备一旦连接上网络,所有在网络上的设备马上就能知道有新设备加入,这些设备彼此之间能互相通信,更能直接使用或者控制它,一切都不需要人工设置,完全的即插即用。

●步骤S2、DMC加入DLNA网络,并选择一个DMR作为渲染器;

在本实施例中DMC加入DLNA网络后还要完成以下流程,如图中DMC加入DLNA网络后工作流程图所示,具体如下:

步骤S21、DMC加入DLNA网络后首先寻址获取IP地址;

通常,一台UPnP设备寻址的一般过程是:首先向DHCP服务器发送DHCPDiscover的消息,如果在指定的时间内,设备没有收到DHCP Offer回应消息,设备必须使用AUTO-IP完成IP地址的获取。当然也可以使用静态配置的IP地址。

步骤S22、DMC向DLNA网络上的控制节点告知设备的类型、标志符UUID、提供的服务以及设备描述和服务描述的URL地址;

连接到网络上的DMC设备确定了IP地址之后,就会进入发现操作阶段。设备发现是UPnP实现的第一步。设备发现是由简单发现协议SSDP来完成的。当一台设备加入到网络中,发现过程允许设备向网络上的控制节点告知它提供的服务,当一个控制点加入到网络中,设备发现过程允许控制点寻找网络上感兴趣的设备。在这两种情况下,基本的交换信息就是发现消息。发现消息包括设备的一些特定信息或者某项服务的信息,例如它的类型、标志符UUID(Universally Unique Identifier)等等。

步骤S23、DLNA网络控制点得到设备描述和服务描述的URL,通过URL取回设备描述和服务描述的信息;

在控制点发现一台设备后,控制点对该设备可能仅仅知道设备或者服务的UPnP类型,设备的UUID和设备描述的URL地址,还需要知道更多的信息。控制点可以从发现消息中得到设备描述的URL,通过URL取回设备描述和服务描述的信息。

其中,设备描述是UPnP对某一设备的描述,以XML形式来表示,设备描述包括制造商信息、模块名称和编号、序列号等等。对于一个物理设备可以包含多个逻辑设备,多个逻辑设备既可以是一个根设备其中嵌入多个设备,也可以是多个根设备的方式存在。设备描述由设备制造商提供,采用XML描述,遵循UPnP框架协议。

服务描述包含一系列内容,具体有服务运行时刻的状态,运行时间等等。服务描述也由设备制造商提供,采用XML描述,遵循UPnP框架协议。

其中,URL是Uniform Resource Location的缩写,译为“统一资源定位符”。形象点说,URL是Internet上用来描述信息资源的字符串,主要用在各种WWW客户程序和服务器程序上,采用URL可以用一种统一的格式来描述各种信息资源,包括文件、服务器的地址和目录等。

步骤S24、DMC向DMR设备服务发出动作请求。

在接收设备和服务描述之后,控制点可以向这些服务发出动作,同时控制点也可以轮询服务的当前状态。控制点将动作发送到设备服务,在动作完成或者失败后,服务返回相应的结果或者错误信息。

为了控制一台设备,控制点向设备服务发出一动作,这一般是由控制点向服务的控制URL地址发送一个适当的控制消息。而服务则会对此动作出响应,返回相关的结果或错误。

●步骤S3、DMC向DMR发出任意的动作指令,并判断是否属于控制动作,如果判断属于控制动作,则进入下一步骤S4;

如果DMC向DMR发出的动作指令判断属于非控制动作,则可直接向DMR发送该动作指令而无需申请DMR控制权。

●步骤S4、DMC向DMR发送请求控制权动作X_ControlApplication,该动作定义在AVTransport服务之下,用来向DMR申请控制权。

DMC向DMR发起申请控制权是存在UI用户交互的情形时,即用户主动通过DMC向DMR发出动作指令时需要申请控制权,而DMC自动向DMR发出动作指令时不需要申请控制权。

●步骤S5、DMR接收到请求权申请后根据DMC控制权记录管理协议回复DMC控制权请求;

其中DMC控制权记录管理协议具体为:

G51、DMR终端建立专有变量,用来记录当前取得控制权的DMC的IP地址;

G52、DMR终端接收到请求控制权动作X_ControlApplication后,将动作源DMC的IP地址与专有变量做比较,如果不相同并且申请DMR控制权成功,则更新专有变量的值;

G53、DMR终端接收到控制动作,将动作源DMC的IP地址与专有变量做比较,如果相同,则执行该控制动作,否则忽略此控制动作;

G54、DMR终端接收到非控制动作,直接执行该非控制动作。

●步骤S6、DMC收到DMR控制权申请成功的回复后,继续发送控制动作至DMR,完成特定功能的命令。

综上所述,本发明通过扩展UPnP协议,提供了一种避免产生控制冲突的方法,同样允许多个DMC来控制DMR,但在同一时段内,DMC需要通过申请控制权来取得对DMR的播放控制,其他没有控制权的DMC只能获取到DMR状态或参数的变化,不能对其进行播放控制。总结,该方法有以下几个原则:

1.DMC在控制DMR前,需先发送请求向DMR申请控制权;

2.DMR记录申请控制权的DMC的IP地址,且仅执行该IP地址发送的控制动作;

3.同一时间,DMR最多记录一台拥有控制权的DMC设备;

4.DMR需过滤掉没有控制权的DMC的控制动作,但可以接收其他状态请求动作。

实施例二

请参见图3,图3是本实施例中一种避免多个DMC推送媒体播放产生冲突的装置结构图。图3所示的避免多个DMC推送媒体播放产生冲突的装置,应用于DLNA家庭娱乐网络中以解决多个DMC同时控制DMR存在控制冲突的问题。

图3公开的本实施例中的避免多个DMC推送媒体播放产生冲突的装置具体包括以下单元:

1、UPnP协议内容分类处理单元,

该单元根据UPnP通用即插即用协议定义的服务及动作,对原协议内容作分类处理,划分为‘控制动作’和‘非控制动作’,其中控制动作指DMC调用DMR前需要申请控制权的动作,非控制动作指DMC调用DMR前不需要申请控制权的动作,动作表示客户端发出的完成特定功能的命令。

其中,控制动作包括

urn:schemas-upnp-org:service:RenderingControl:1服务中的所有动作和

urn:schemas-upnp-org:service:AVTransport:1服务中所有‘set’动作,以及‘Stop’、‘Play’,‘Pause’,‘Record’,‘Seek’,‘Next’,‘Previous’动作。

非控制动作包括

urn:schemas-upnp-org:service:ConnectionManager:1服务中的所有动作和

urn:schemas-upnp-org:service:AVTransport:1服务中所有‘get’动作。

2、DMC初始化单元,

该单元用于DMC加入DLNA网络的初始化,并选择一个DMR作为渲染器。

该DMC初始化单元又包括下列模块:

寻址模块,该模块用于DMC加入DLNA网络后首先寻址获取IP地址;

发现模块,该模块用于DMC向DLNA网络上的控制节点告知设备的类型、标志符UUID、提供的服务以及设备描述和服务描述的URL地址;

描述模块,该模块用于DLNA网络控制点得到设备描述和服务描述的URL,通过URL取回设备描述和服务描述的信息;

控制模块,该模块用于DMC向DMR设备服务发出动作请求。

3、DMC动作指令判断单元,

该单元用于DMC向DMR发出任意的动作指令,并判断是否属于控制动作,如果判断属于控制动作,则转至DMR控制权请求单元。

同时,如果判断属于非控制动作,则可直接向DMR发送该动作指令而无需申请DMR控制权。

4、DMR控制权请求单元,

该单元用于DMC向DMR发送请求控制权动作X_ControlApplication,该动作定义在AVTransport服务之下,用来向DMR申请控制权。

通常,该单元中DMC向DMR发起申请控制权是存在UI用户交互的情形时,即用户主动通过DMC向DMR发出动作指令时需要申请控制权,而DMC自动向DMR发出动作指令时不需要申请控制权。

5、控制权记录管理协议单元,

该单元用于DMR接收到请求权申请后根据控制权记录管理协议回复DMC控制权请求。

该控制权记录管理协议单元又具体包括下列模块:

专有变量建立模块,该模块用于DMR终端建立专有变量,用来记录当前取得控制权的DMC的IP地址;

专有变量更新模块,该模块用于在DMR终端接收到请求控制权动作X_ControlApplication后,将动作源DMC的IP地址与专有变量做比较,如果不相同并且申请DMR控制权成功,则更新专有变量的值;

动作源IP地址校验模块,该模块用于在DMR终端接收到控制动作后,将动作源DMC的IP地址与专有变量做比较,如果相同,则执行该控制动作,否则忽略此控制动作;

非控制动作执行模块,该模块用于DMR终端在接收到非控制动作,直接执行该非控制动作。

6、DMC控制动作发送单元,该单元用于DMC收到DMR控制权申请成功的回复后,继续发送控制动作至DMR,完成特定功能的命令。

值得注意的是,上述装置实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各装置和单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号