发明内容
鉴于上述的分析,本发明旨在提供一种实现数字家庭视频流自适应播放的方法及系统及相关设备,用以解决现有技术中实现视频流自适应地播放时没有考虑到DMR自身规格所带来的带宽浪费等问题。
本发明的目的主要是通过以下技术方案实现的:
本发明提供了一种实现数字家庭视频流自适应播放的方法,包括:
预先将各种数字媒体显示器DMR的规格参数保存到数字媒体播放器DMP中;
当DMP收到数字媒体控制器DMC的播放指令并向数字媒体服务器DMS请求音视频资源时,同时将预先保存在DMP中的当前DMR的规格参数上报给所述DMS;
所述DMS根据所述当前DMR的规格参数生成与其适应的视频流回传给所述DMP;
所述DMP将从DMS接收到的视频流直接或者经过格式转换后发送给所述当前DMR进行显示。
进一步地,当DMP接收到DMR主动上报的规格参数或者手工录入的的规格参数后,根据该DMR的型号标识判断对应的规格参数是否已经存在,如果已经存在但是较当前有所不同,则更新保存在所述DMP中的该DMR的规格参数;如果不存在,则直接保存该DMR的规格参数。
进一步地,所述DMP收到播放指令后,判断当前DMR是否支持当前请求的视频资源的格式或者虽然不支持但是能够转换为支持的格式,如果是,在DMP本地对请求的视频资源予以不同格式转换标记并在所述DMP与所述DMS成功建立连接后,将预先保存在DMP中的当前DMR的规格参数上报给所述DMS;否则直接通知DMC不支持播放当前视频资源。
进一步地,如果所述DMP与所述DMS建立连接失败,则通知DMC无法建立连接。
进一步地,当所述DMP在接收到DMS回传的视频流时,根据之前的格式转换标记对回传的视频流的格式进行判断:如果回传的视频流是当前DMR支持的格式,则直接将回传的视频流发送给所述当前DMR进行显示;如果回传的视频流是当前DMR虽然不支持但是能够转换为支持的格式,则将回传的视频流转换为支持的格式后再发送给所述当前DMR进行显示。
其中,所述DMR的规格参数包括下述参数的一个或多个:
DMR分辨率、DMR屏幕尺寸和DMR扫描频率。
所述DMR的规格参数还包括:DMR所支持的视频格式。
本发明还提供了一种实现数字家庭视频流自适应播放的系统,包括:数字媒体播放器DMP、数字媒体控制器DMC、数字媒体显示器DMR以及数字媒体服务器DMS,其中,
DMP,用于预先接收并保存各种DMR的规格参数,并在收到DMC的播放指令并向DMS请求音视频资源时,同时将预先保存在DMP中的当前DMR的规格参数上报给所述DMS;以及将从DMS接收到的视频流直接或者经过格式转换后发送给所述当前DMR进行显示;
DMS,用于根据所述当前DMR的规格参数生成与其适应的视频流回传给所述DMP。
进一步地,所述DMP具体包括:
存储模块,用于当接收到DMR主动上报的规格参数或者手工录入的的规格参数后,根据该DMR的型号标识判断对应的规格参数是否已经存在,如果已经存在但是较当前有所不同,则更新保存在所述DMP中的该DMR的规格参数;如果不存在,则直接保存该DMR的规格参数。
第一处理模块,用于收到播放指令后,判断当前DMR是否支持当前请求的视频资源的格式或者虽然不支持但是能够转换为支持的格式,如果是,在DMP本地对请求的视频资源予以不同格式转换标记并在所述DMP与所述DMS成功建立连接后,将预先保存在DMP中的当前DMR的规格参数上报给所述DMS;否则直接通知DMC不支持播放当前视频资源;
第二处理模块,用于在接收到DMS回传的视频流时,根据之前的格式转换标记对回传的视频流的格式进行判断:如果回传的视频流是当前DMR支持的格式,则直接将回传的视频流发送给所述当前DMR进行显示;如果回传的视频流是当前DMR虽然不支持但是能够转换为支持的格式,则将回传的视频流转换为支持的格式后再发送给所述当前DMR进行显示。
本发明还提供了一种数字媒体播放器DMP,包括:
存储模块,用于预先接收并保存各种数字媒体显示器DMR的规格参数;
第一处理模块,用于在收到DMC的播放指令并向数字媒体服务器DMS请求音视频资源时,同时将预先保存在DMP中的当前DMR的规格参数上报给所述DMS;
第二处理模块,用于将从DMS接收到的视频流直接或者经过格式转换后发送给所述当前DMR进行显示。
进一步地,所述存储模块具体用于,当接收到DMR主动上报的规格参数或者手工录入的的规格参数后,根据该DMR的型号标识判断对应的规格参数是否已经存在,如果已经存在但是较当前有所不同,则更新保存在所述DMP中的该DMR的规格参数;如果不存在,则直接保存该DMR的规格参数。
进一步地,所述第一处理模块具体用于,在收到播放指令后,判断当前DMR是否支持当前请求的视频资源的格式或者虽然不支持但是能够转换为支持的格式,如果是,在DMP本地对请求的视频资源予以不同格式转换标记并在所述DMP与所述DMS成功建立连接后,将预先保存在DMP中的当前DMR的规格参数上报给所述DMS;否则直接通知DMC不支持播放当前视频资源。
进一步地,所述第二处理模块具体用于,在接收到DMS回传的视频流时,根据之前的格式转换标记对回传的视频流的格式进行判断:如果回传的视频流是DMR支持的格式,则直接将回传的视频流发送给所述当前DMR进行显示;如果回传的视频流是当前DMR虽然不支持但是能够转换为支持的格式,则将回传的视频流转换为支持的格式后再发送给所述当前DMR进行显示。
本发明有益效果如下:
本发明以用户所关心的DMR为中心,通过在DMP和DMS中处理DMR规格参数,生成符合DMR规格的最佳视频流,在DLNA网络中真正实现视频流的自适应播放。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分的从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
首先结合附图1到4对本发明方法实施例进行详细说明。
如图1所示,图1为本发明所述方法实施例的流程示意图,具体可以包括:
步骤101:预先将各种DMR的规格参数保存到DMP中;
步骤102:当DMP收到DMC的播放指令并向DMS请求音视频资源时,同时将预先保存在DMP中的当前DMR的规格参数上报给DMS;
步骤103:DMS根据当前DMR的规格参数生成与其适应的视频流回传给DMP;
步骤104:DMP将从DMS接收到的视频流直接或者经过格式转换后发送给当前DMR进行显示。
其中,上述DMR的规格参数包括DMR分辨率、DMR屏幕尺寸和DMR扫描频率中的一个或多个,还可以包括DMR所支持的视频格式。
以下将对上述本发明方法实施例的具体实现过程予以进一步阐述。
首先,预先采集并将各种DMR的规格参数保存到DMP中,采集及保存的方式根据DMR的不同可以采取DMR主动上报以及手工输入两种方式。具体的说就是,由于当前DMR的多样性,此处把DMR分为DLNA标记的DMR和非DLNA标记的DMR;DLNA标记的DMR一般都支持IP网络特性,可在DLNA网络的设备发现阶段和服务描述阶段与DMP进行通讯,把DMR规格参数上报给DMP进行保存。并且这些DMR参数需要定期进行维护管理,维护管理工作可由DMP来做,技术上具体实现时可在DMP上内嵌一个UI程序,对DMR规格参数进行集中管理,可进行增加、删除、修改等操作。为了实现跨平台操作,在DMP上的DMR规格参数可保存成XML文件或者Sqlite数据库。
如图2所示,图2为本发明方法实施例中,DLNA标记的DMR的规格参数的采集保存流程示意图,具体可以包括:
步骤201:DMR与DMP在DLNA网络的寻址阶段建立连接;
步骤202:DMR与DMP在DLNA的设备发现和服务描述阶段上报DMR规格参数;
步骤203:DMP根据DMR的型号标识进行判断;
步骤204:判断该DMR对应的规格参数是否已在DMP本地存在,如果已经存在但较当前有所不同,则执行步骤205;如果已经存在并且与当前相同,则不作任何处理;如果不存在,则执行步骤206;
步骤205:更新DMP中当DMR的规格参数;
步骤206:在DMP中直接保存该DMR的规格参数。
以上为DLNA标记的DMR的规格参数的保存过程,对于非DLNA标记的DMR,由于只有接收通道,没有发送通道,所以要手动在DMP的UI程序界面上添加DMR规格参数,如图3所示,图3为本发明方法实施例中,非DLNA标记的DMR的规格参数的采集保存流程示意图,具体可以包括:
步骤301:在DLNA网络中开启运行DMP设备;
步骤302:启动DMP设备中的DMR规格参数管理程序;
步骤303:对该DMR的型号标识对应的规格参数进行判断;
步骤304:判断该DMR的型号标识对应的规格参数是否已经在DMP存在,?如果已经存在但较当前有所不同,则执行步骤305,如果已经存在且与当前的规格参数相同,则不作任何处理;如果不存在,则执行步骤306;
步骤305:提示用户对该DMR的规格参数进行修改;
步骤306:手动添加该DMR的规格参数并进行保存。
以上是对DMR规格参数的管理维护,接下来描述如何播放视频资源。播放视频资源一般分为三个阶段:请求视频资源,接收视频流,显示视频流。
如图4所示,图4为本发明方法实施例中,DMP向DMS请求视频资源的流程示意图,具体可以包括:
步骤401:用户通过DMC向DMP发送播放视频指令;
步骤402:DMP收到播放指令后,判断DMR是否支持当前视频资源的格式?
步骤403:如果不支持,判断DMP能否把当前视频资源的格式转换为DMR所支持的格式?
步骤404:如果不支持,则通知DMC,DMR不支持用户要播放的当前视频资源格式;
步骤405:如果DMR支持当前视频资源的格式,设置格式转换标记,本实施例中设置当前视频的格式转换标记为FALSE;
步骤406:如果DMP能够把当前视频资源的格式转换为DMR所支持的视频格式,设置格式转换标记,本实施例中设置当前视频的格式转换标记为TRUE;
步骤407:DMP与DMS建立网络连接;
步骤408:如果连接失败,通知DMC,无法建立连接;
步骤409:如果成功建立连接,则DMP向DMS请求视频资源(请求时会将该视频资源的URL通知DMS),请求的同时将预先保存在DMP中的当前DMR的规格参数上报给所述DMS。
现在请求过程已完成,接下来是接收视频流的过程,如图5所示,图5为本发明方法实施例中,DMS向DMP回传视频资源的流程示意图,具体可以包括:
步骤501:DMS暂存DMP报上来的视频资源URL以及DMR的规格参数;
步骤502:DMS根据URL把视频资源读入内存,并把内存中的视频流转换成符合DMR分辨率的视频流;
步骤503:DMS继续把视频流转换成符合DMR屏幕尺寸的视频流;
步骤504:DMS根据DMR的扫描频率对视频进行帧处理,做进一步优化;
步骤505:经过以上转换,当前的视频流已经是符合DMR规格参数的最佳视频流,接下来就是如何根据网络性能来发送视频流的问题;
步骤506:监测DMS与DMP的网络连接是否正常?
步骤507:如果连接不正常,可做缓冲处理或者退出;
步骤508:如果连接正常,则向DMP发送处理后的视频流。
DMS处理完视频流之后,就是DMP接收视频流,向DMR发送进行显示,如图6所示,图6为本发明方法实施例中,DMP向DMR发送视频流的流程示意图,具体可以包括:
步骤601:DMP接收DMS传送过来的视频流,缓存在本地;
步骤602:DMP根据步骤505和步骤506所设置的标记值做进一步判断处理;
步骤603:如果标记值为TRUE,则需要对DMS传过来的视频流进行格式转换,转换成符合DMR所支持格式的视频流,然后发送给DMR进行显示;
步骤604:如果标记值为FALSE,则不需要对DMS传过来的视频流进行格式转换,直接发送给DMR进行显示;
步骤605:DMR接收DMP发送过来的视频流进行直接显示,不用做进一步处理。
接下来,结合附图7对本发明系统实施例进行详细说明。
如图7所示,图7为本发明系统实施例的结构示意图,具体可以包括:DMP701、DMC702、DMS703以及DMR704,其中,
DMP701,主要负责预先接收并保存各种DMR704的规格参数,并在收到DMC702的播放指令并向DMS703请求音视频资源时,同时将预先保存在DMP701中的当前DMR704的规格参数上报给所述DMS703;以及将从DMS703接收到的视频流直接或者经过格式转换后发送给所述当前DMR704进行显示;
DMS703,主要负责根据所述当前DMR704的规格参数生成与其适应的视频流回传给所述DMP701。
其中,DMP701具体包括:
存储模块,主要负责当接收到DMR704主动上报的规格参数或者手工录入的的规格参数后,根据该DMR704的型号标识判断对应的规格参数是否已经存在,如果已经存在但是较当前有所不同,则更新保存在所述DMP701中的该DMR704的规格参数;如果不存在,则直接保存该DMR704的规格参数。
第一处理模块,主要负责收到播放指令后,判断当前DMR704是否支持当前请求的视频资源的格式或者虽然不支持但是能够转换为支持的格式,如果是,在DMP701本地对请求的视频资源予以不同格式转换标记并在所述DMP701与所述DMS703成功建立连接后,将预先保存在DMP701中的当前DMR704的规格参数上报给所述DMS703;否则直接通知DMC702不支持播放当前视频资源;
第二处理模块,主要负责在接收到DMS703回传的视频流时,根据之前的格式转换标记对回传的视频流的格式进行判断:如果回传的视频流是当前DMR704支持的格式,则直接将回传的视频流发送给所述DMR704进行显示;如果回传的视频流是当前DMR704虽然不支持但是能够转换为支持的格式,则将回传的视频流转换为支持的格式后再发送给所述DMR704进行显示。
最后,结合附图8对本发明DMP设备进行详细说明。
如图8所示,图8为本发明DMP设备实施例的结构示意图,具体包括:
存储模块801,用于预先接收并保存各种数字媒体显示器DMR的规格参数;
第一处理模块802,用于在收到DMC的播放指令并向DMS请求音视频资源时,同时将预先保存在DMP中的当前DMR的规格参数上报给DMS;
第二处理模块803,用于将从DMS接收到的视频流直接或者经过格式转换后发送给当前DMR进行显示。
其中,存储模块801具体用于,当接收到DMR主动上报的规格参数或者手工录入的的规格参数后,根据该DMR的型号标识判断对应的规格参数是否已经存在,如果已经存在但是较当前有所不同,则更新保存在所述DMP中的该DMR的规格参数;如果不存在,则直接保存该DMR的规格参数。
第一处理模块802具体用于,在收到播放指令后,判断当前DMR是否支持当前请求的视频资源的格式或者虽然不支持但是能够转换为支持的格式,如果是,在DMP本地对请求的视频资源予以不同格式转换标记并在所述DMP与所述DMS成功建立连接后,将预先保存在DMP中的当前DMR的规格参数上报给所述DMS;否则直接通知DMC不支持播放当前视频资源。
第二处理模块803具体用于,在接收到DMS回传的视频流时,根据之前的格式转换标记对回传的视频流的格式进行判断:如果回传的视频流是DMR支持的格式,则直接将回传的视频流发送给当前DMR进行显示;如果回传的视频流是DMR虽然不支持但是能够转换为支持的格式,则将回传的视频流转换为支持的格式后再发送给当前DMR进行显示。
需要说明的是,对于本发明实施例所述系统及设备的具体实现过程,由于上述方法中已有详细说明,故此处不再赘述。
综上所述,本发明实施例提供了一种实现数字家庭视频流自适应播放的方法及系统及相关设备,以用户所关心的数字媒体显示器DMR为源头,从DMS到DMP以及DMP到DMR的传输网上只传输符合DMR规格参数的最佳视频流,这样可极大减小传输网的负荷,同时可简化整个DLNA的架构设计,真正做到视频流的自适应播放,给用户带来最佳的体验。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。