视频转码方法、装置、系统及电子设备及可读存储介质与流程

文档序号:20597457发布日期:2020-05-01 21:19阅读:154来源:国知局
视频转码方法、装置、系统及电子设备及可读存储介质与流程

本发明涉及云技术领域,尤其涉及一种视频转码方法、装置、系统及电子设备及可读存储介质。



背景技术:

视频播放是当今互联网的一种热门应用,用户可以通过各种终端来访问云端服务器,并通过下载或边下边播的方式对云端服务器存储的视频文件进行播放,以观看视频文件中的内容。在下载后播放的方式中,是用户向云端服务器进行请求,从而从云端服务器上将对应能播放的视频数据完整地下载到终端,然后通过终端进行解码和编码,将下载的视频数据编码成终端技术的格式,在终端上加载视频文件进行播放。在边下边播的方式中,用户可以一边从云端服务器上下载视频数据到终端,一边在终端上进行实时解码和编码,将下载的视频数据实时地编码成终端技术的格式,从而加载视频进行播放。

这两种播放方式中,由于终端的异构性,均需要终端将视频数据解码和再编码成终端支持的视频播放格式之后再播放,这个过程称之为转码,而视频文件转码需要占用大量的终端资源,从而会导致视频播放启动时间延长,在转码过程中,还存在丢失数据的情况,降低用户观看体验。



技术实现要素:

本发明实施例提供一种视频转码方法,能够提高视频转码的速度,提高用户的观看体验。

第一方面,本发明实施例提供一种视频转码方法,包括:

获取用户终端的视频请求信息,所述视频请求信息携带视频标识以及终端参数;

根据所述视频标识,判断管理服务器中是否存在对应的已转码视频,所述管理服务器存储有对应的已转码视频,所述已转码视频与对应的视频标识以及终端参数均存在映射关系;

若所述管理服务器中存在对应的已转码视频,则根据所述终端参数判断所述已转码视频中是否存在目标视频;

若所述对应的已转码视频中不存在目标已转码视频,则根据所述终端参数计算得到所述对应的已转码视频与目标视频的最高相似度,判断所述最高相似度是否满足预设的相似度阈值;

若所述最高相似度满足所述预设的相似度阈值,则根据所述终端参数生成转码策略,并根据所述转码策略将最高相似度对应的已转码视频进行二次转码,以得到目标视频;

向所述用户终端发送所述目标视频。

第二方面,本发明实施例提供一种视频转码装置,包括:

获取模块,用于获取用户终端的视频请求信息,所述视频请求信息携带视频标识以及终端参数;

第一判断模块,用于根据所述视频标识,判断管理服务器中是否存在对应的已转码视频,所述管理服务器存储有对应的已转码视频,所述已转码视频与对应的视频标识以及终端参数均存在映射关系;

第二判断模块,用于若所述管理服务器中存在对应的已转码视频,则根据所述终端参数判断所述已转码视频中是否存在目标视频;

第三判断模块,用于若所述对应的已转码视频中不存在目标已转码视频,则根据所述终端参数计算得到所述对应的已转码视频与目标视频的最高相似度,判断所述最高相似度是否满足预设的相似度阈值;

转码模块,用于若所述最高相似度满足所述预设的相似度阈值,则根据所述终端参数生成转码策略,并根据所述转码策略将最高相似度对应的已转码视频进行二次转码,以得到目标视频;

发送模块,用于向所述用户终端发送所述目标视频。

第三方面,本发明实施例提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明实施例提供的视频转码方法中的步骤。

第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例提供的视频转码方法中的步骤。

第五方面,本发明实施例提供一种视频转码系统,包括云服务器以及用户终端,所述云服务器存储源视频,还包括管理服务器,所述管理服务器用于:

获取用户终端的视频请求信息,所述视频请求信息携带视频标识以及终端参数;

根据所述视频标识,判断管理服务器中是否存在对应的已转码视频,所述管理服务器存储有对应的已转码视频,所述已转码视频与对应的视频标识以及终端参数均存在映射关系;

若所述管理服务器中存在对应的已转码视频,则根据所述终端参数判断所述已转码视频中是否存在目标视频;

若所述对应的已转码视频中不存在目标已转码视频,则根据所述终端参数计算得到所述对应的已转码视频与目标视频的最高相似度,判断所述最高相似度是否满足预设的相似度阈值;

若所述最高相似度满足所述预设的相似度阈值,则根据所述终端参数生成转码策略,并根据所述转码策略将最高相似度对应的已转码视频进行二次转码,以得到目标视频;

向所述用户终端发送所述目标视频。

本发明实施例中,获取用户终端的视频请求信息,所述视频请求信息携带视频标识以及终端参数;根据所述视频标识,判断管理服务器中是否存在对应的已转码视频,所述管理服务器存储有对应的已转码视频,所述已转码视频与对应的视频标识以及终端参数均存在映射关系;若所述管理服务器中存在对应的已转码视频,则根据所述终端参数判断所述已转码视频中是否存在目标视频;若所述对应的已转码视频中不存在目标已转码视频,则根据所述终端参数计算得到所述对应的已转码视频与目标视频的最高相似度,判断所述最高相似度是否满足预设的相似度阈值;若所述最高相似度满足所述预设的相似度阈值,则根据所述终端参数生成转码策略,并根据所述转码策略将最高相似度对应的已转码视频进行二次转码,以得到目标视频;向所述用户终端发送所述目标视频。由于根据最相似的已转码视频进行二次转码,相比于在云服务器或终端上对源视频进行转码而言,转码的数据量小,提高了转码的速度。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种可选的系统架构示意图;

图2是本发明实施例提供的一种视频转码方法的流程示意图;

图3是本发明实施例提供的另一种视频转码方法的流程示意图;

图4是本发明实施例提供的另一种视频转码方法的流程示意图;

图5是本发明实施例提供的一种视频转码装置的结构示意图;

图6是本发明实施例提供的另一种视频转码装置的结构示意图;

图7是本发明实施例提供的一种转码模块的结构示意图;

图8是本发明实施例提供的另一种视频转码装置的结构示意图;

图9是本发明实施例提供的另一种视频转码装置的结构示意图;

图10是本发明实施例提供的一种电子设备基本结构框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

请参见图1,图1是本发明实施例提供的一种可选的系统架构示意图,如图1所示,该可选的系统架构示意图包括:云服务器101、管理服务器102以及用户终端103,上述的云服务器101与管理服务器102通过第一网络104进行通信,上述的管理服务器102与用户终端通103过第二网络105进行通信。上述的第一网络104与第二网络105可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等。用户终端103可以是具有显示屏,可以下载播放应用软件或内置播放应用软件的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等,用户可以使用上述的用户终端103通过第二网络105与管理服务器102进行交互,以发送、接收或获取信息等。

上述的云服务器101用于存储源视频,上述的源视频是经过统一标准进行转码压缩的视频。

上述的管理服务器102用于存储已转码视频,并响应于用户终端的视频请求,将已转码视频发送到用户终端。

上述的第一网络104与第二网络105可以是相同的网络类型或不同的网络类型,比如,上述的第一网络可以是广域网,第二网络可以是局域网;或者,第一网络可以是局域网,第二网络可以是广域网,此时,管理服务器部署在云服务器的本地环境中;或者第一网络与第二网络都是广域网。

应该理解,图1中的用户终端、网络、管理服务器及云服务器的数目仅仅是示意性的,根据实现需要,可以具有任意数目的用户终端、网络、管理服务器及云服务器。

在本发明实施例中,用户通过用户终端向管理服务器请求视频,管理服务器根据用户终端发送的视频请求,判断管理服务器中是否存储有符合条件的已转码视频,若存储有同名且符合条件的目标视频,则会发送该目标视频到用户终端。若存储有同名视频,却没有存储有符合条件的已转码视频,管理服务器则会将条件相近的已转码视频转码为符合条件的目标视频,并将该目标视频发送到用户终端。若没有存储有同名的视频,或条件不相近,管理服务器则会向视频请求转发到云服务器,云服务器根据视频请求匹配到对应的源视频,并转码成符合条件的目标视频后,将目标视频发送到管理服务器,由管理服务器将目标视频转发到用户终端。管理服务器会对目标视频进行存储,以使目标作为已转码视频被相同的视频请求所请求。

实施例二

请参见图2,图2是本发明实施例提供的一种视频转码方法的流程示意图,如图2所示,包括以下步骤:

201、获取用户终端的视频请求信息。

其中,上述的视频请求信息可以携带有视频标识以及终端参数。上述的视频标识可以是视频名称对应的字段。上述的终端参数可以是用户终端播放视频所需要的格式、分辨率、码率、帧率等。

上述的用户终端播放视频所需要的格式可以有avi、wma、rmvb、rm、flash(主要是在web网页上进行播放)、mp4、mid、pal(主要是用于电视播放)以及3gp等,其中,avi格式的视频文件一般比较大,但其清晰最高;rmvb、wma格式的视频文件清晰度中等;rm格式的视频文件清晰度稍微差些;而flash、mp4、mid、3gp格式的视频文件清晰度最差,一般适合网络播放与移动媒体设备播放用的。

上述的分辨率可以是用户终端本身适配的屏幕分辨率,也可以是用户自行选择的分辨率,在此情况下,用户自行选择的分辨率若小于用户终端本身适配的屏幕分辨率,则在用户终端上会显示出黑色边框区域;或用户自行选择的分辨率若大于用户终端本身适配的屏幕分辨率,则在用户终端上会显示不出初步的边缘区域。

上述的帧率可以是用户终端播放器默认的帧率,一般而言,在每秒24帧以上,可以让用户观看到连续流畅的视频。

上述的码率是指的视频文件在单位时间内传输数据的大小,受传输时的带宽影响,即如果是1m的宽带,在网上只能看不超过1024kbps的视频,超过1024kbps的视频只能等视频缓冲才能流畅的观看。

用户通过用户终端选取想要看的视频,用户终端则根据用户的选择,将用户选取的视频标识以及用户终端本身的终端参数打包成数据包,发送到管理服务器上进行视频的请求。

202、根据视频标识,判断管理服务器中是否存在对应的已转码视频。

上述的管理服务器存储有已转码视频,已转码视频与对应的视频标识以及终端参数均存在映射关系。

上述的视频标识为视频名称,将视频请求信息中的视频名称字段与管理服务器中的已转码视频对应的视频标识字段进行匹配,以匹配出与视频请求信息中的视频名称字段相同的已转码视频的视频标识字段。

若在管理服务器中匹配到与视频请求信息中的视频名称字段相同的已转码的视频标识字段,则说明管理服务器中存在对应于视频请求信息中的已转码视频。

若在管理服务器中没有匹配到与视频请求信息中的视频名称字段相同的已转码的视频标识字段,则说明管理服务器中不存在对应于视频请求信息中的已转码视频。

203、若所述管理服务器中存在对应的已转码视频,则根据所述终端参数判断所述已转码视频中是否存在目标视频。

其中,上述的终端参数为用户终端为支持视频播放所需要的参数,上述的终端参数可以是用户终端播放视频所需要的格式、分辨率、码率、帧率等。

上述的已转码视频均具备其适应于播放的终端参数,该参数与已转码视频具备映射关系,在通过视频标识确认管理服务器中存在同样视频标识的已转码视频后,可以会有多个具有同样视频标识的已转码视频,而各个视频间对应的终端参数是不相同的。比如:用户请求电影《十面埋伏》,对应请求的终端参数为mp4格式、分辨率为720p(720×1280)、码率为1024kbps、帧率为29.97fps。在根据视频标识《十面埋伏》的前提下,匹配到5部视频为已转码的《十面埋伏》,但格式、分辨率、码率、帧率等可能与用户请求的不同或相同。若这5部视频中,有终端参数与用户请求的终端参数相同的已转码的《十面埋伏》,则可以确认该相同的已转码的《十面埋伏》为目标视频;若没有,则确认这5部《十面埋伏》都不是目标视频。

204、若所述对应的已转码视频中不存在目标已转码视频,则根据所述终端参数计算得到所述对应的已转码视频与目标视频的最高相似度,判断所述最高相似度是否满足预设的相似度阈值。

在该步骤中,以上述用户请求电影《十面埋伏》为例,若匹配到管理服务器中存储有5部已转码的《十面埋伏》,但这5部已转码的《十面埋伏》的终端参数与用户请求的终端参数是不相同的,即不存在目标视频。在此情况下,由于管理服务器中有5部已转码的《十面埋伏》,从而可以在这5部已转码的《十面埋伏》中,选取一部已转码的《十面埋伏》进行二次转码。

比如,上述的终端参数可以是用户终端播放视频所需要的格式、分辨率、码率、帧率等,在5部已转码的《十面埋伏》中,假设为a、b、c、d、e,有一部已转码的《十面埋伏》a与用户请求的终端参数只有分辨率不同,其余的终端参数均相同,而其他4部已转码的《十面埋伏》b、c、d、e均与用户请求的终端参数有两项参数以上的不同,则可以认为已转码的《十面埋伏》a为与目标视频具有的最高相似度。具体的相似度计算为:(相同终端参数项的数量÷总的终端参数项的数量)%=相似度。比如,总的终端参数项的数量为格式、分辨率、码率、帧率等4项,一部已转码的《十面埋伏》a与用户请求的终端参数只有分辨率不同,其余的终端参数均相同时,相似度为(3÷4)%=75%。

在一种可能的实施例中,将已转码视频对应的各个参数项与用户请求的目标视频的终端参数项进行逐一比对,每个已转码视频对应的一个参数项与目标视频的终端参数项相同时,记为1,不同时记为0,则根据分类确定已转码视频与目标视频的最高相似度,即得到最高的具有最高相似度。由于各个参数项的转码难度不同,不同的参数项也可以设置不同的权重,比如,格式转码难度大,则可以将格式参数设置的权重高一点,比如0.9,帧率的转码难度小,则可以将帧率参数设置的权重低一点,比如0.6,则一个已转码视频中只有格式参数与帧率参数与目标视频的终端参数项相同时,则得到相似度为1×0.9+1×0.6=1.5。

上述的相似度阈值根据相似度的比较方式可以设置为不同的值,比如,在相似度计算为(相同终端参数项的数量÷总的终端参数项的数量)%=相似度,相似度可以是设置为x%,比如75%,在相似度为权重计算时,相似度可以设置为y,比如2.5。上述的满足预设的相似度阈值可以理解为已转码视频与目标视频的相似度大于该相似度阈值。当然,上述的相似度也可以通过相反的区别度来进行表示,与相似度相反的,区别度越大,说明已转码视频与目标视频的越不相同,即区别越大。

205、若所述最高相似度满足所述预设的相似度阈值,则根据所述终端参数生成转码策略,并根据所述转码策略将最高相似度对应的已转码视频进行二次转码,以得到目标视频。

在该步骤中,最高相似度指的是各个已转码视频与目标视频的相似度中,相似度最高的一个已转码视频与目标视频的相似度。

上述的根据终端参数生成转码策略可以是根据最高相似度对应的已转码视频与目标视频所对应的不同的终端参数进行转码,将不同的终端参数转码为与目标视频相同的终端参数,则可以得到终端参数与目标视频终端参数相同的转码视频,即得到用于发送到用户终端的目标视频。

比如,上述的终端参数可以是用户终端播放视频所需要的格式、分辨率、码率、帧率等,在5部已转码的《十面埋伏》中,一部已转码的《十面埋伏》a与用户请求的终端参数只有分辨率不同,其余的终端参数均相同时,相似度为(3÷4)%=75%。假设相似度阈值设置为70%,则该已转码的《十面埋伏》a与目标视频的相似度为最高相似度,且满足相似度阈值,则根据该已转码的《十面埋伏》a与目标视频的所对应的不同的终端参数进行转码,即是对已转码的《十面埋伏》a进行分辨率的转码,使得该已转码的《十面埋伏》a符合目标视频的终端参数。

206、向所述用户终端发送所述目标视频。

在该步骤中,管理服务器匹配到目标视频,或通过二次转码将已转码视频转码为目标视频,得到符合用户终端的视频请求信息的目标视频,并发送到用户终端,以供用户终端对该目标视频进行观看。

本发明实施例中,获取用户终端的视频请求信息,所述视频请求信息携带视频标识以及终端参数;根据所述视频标识,判断管理服务器中是否存在对应的已转码视频,所述管理服务器存储有对应的已转码视频,所述已转码视频与对应的视频标识以及终端参数均存在映射关系;若所述管理服务器中存在对应的已转码视频,则根据所述终端参数判断所述已转码视频中是否存在目标视频;若所述对应的已转码视频中不存在目标已转码视频,则根据所述终端参数计算得到所述对应的已转码视频与目标视频的最高相似度,判断所述最高相似度是否满足预设的相似度阈值;若所述最高相似度满足所述预设的相似度阈值,则根据所述终端参数生成转码策略,并根据所述转码策略将最高相似度对应的已转码视频进行二次转码,以得到目标视频;向所述用户终端发送所述目标视频。由于根据最相似的已转码视频进行二次转码,相比于在云服务器或终端上对源视频进行转码而言,转码的数据量小,提高了转码的速度。

需要说明的是,本发明实施例提供的视频转码方法可以应用于视频转码设备,例如:服务器、手机、计算机等可以进行视频转码的设备。

实施例三

请参见图3,图3是本发明实施例提供的另一种视频转码方法的示意图,如图3所示,该方法包括:

301、用户终端根据用户的选择以及终端自身参数,生成视频请求信息。

所述视频请求信息携带视频标识以及终端参数。

302、用户终端将视频请求信息发送到管理服务器。

在一种可能的实施例中,所述管理服务器为多个以一致性哈希分布进行部署的服务器构成的服务器集群,所述已转码视频根据对应的视频标识进行一致性哈希存储,在所述获取用户终端的视频请求信息之后,管理服务器提取所述视频请求信息携带的视频标识,对所述视频请求信息携带的视频标识进行一致性哈希计算,以得到对应于所述视频请求信息携带的视频标识的一致哈希值所指向的管理服务器节点。

通过一致性哈希的方法对已转码视频进行存储,以及对视频请求信息中携带的视频标识进行计算,以确定对应于该视频请求信息携带的视频标识的一致哈希值所指向的管理服务器节点,在该管理服务器节点中进行匹配,可以减少视频标识匹配的总量,提高匹配到已转码视频的速度。

303、管理服务器根据所述视频标识,判断管理服务器中是否存在对应的已转码视频。若存在,则转入步骤307,若不存在,则转入步骤304。

所述管理服务器存储有对应的已转码视频,所述已转码视频与对应的视频标识以及终端参数均存在映射关系。

304、管理服务器将所述视频请求信息转发到云端服务器。

305、云端服务器根据所述视频请求信息匹配到对应的源视频进行转码操作,转码得到目标视频。

306、云端服务器将目标视频返回到管理服务器,并转入步骤311。

307、管理服务器根据所述终端参数判断所述已转码视频中是否存在目标视频。若存在,则转入步骤312,若不存在,则转入步骤308。

308、管理服务器根据所述终端参数计算得到所述对应的已转码视频与目标视频的相似度。

309、管理服务器选取已转码视频与目标视频的最高相似度,判断所述最高相似度是否满足预设的相似度阈值。若满足,则转入步骤310,若不满足,则转入步骤304。

310、管理服务器根据所述终端参数生成转码策略,并根据所述转码策略将最高相似度对应的已转码视频进行二次转码,以得到目标视频。

311、管理服务器对目标视频进行存储,并建立视频请求信息与目标视频的映射关系。

312、管理服务器向所述用户终端发送所述目标视频。

本发明实施例中,获取用户终端的视频请求信息,所述视频请求信息携带视频标识以及终端参数;根据所述视频标识,判断管理服务器中是否存在对应的已转码视频,所述管理服务器存储有对应的已转码视频,所述已转码视频与对应的视频标识以及终端参数均存在映射关系;若所述管理服务器中存在对应的已转码视频,则根据所述终端参数判断所述已转码视频中是否存在目标视频;若所述对应的已转码视频中不存在目标已转码视频,则根据所述终端参数计算得到所述对应的已转码视频与目标视频的最高相似度,判断所述最高相似度是否满足预设的相似度阈值;若所述最高相似度满足所述预设的相似度阈值,则根据所述终端参数生成转码策略,并根据所述转码策略将最高相似度对应的已转码视频进行二次转码,以得到目标视频;向所述用户终端发送所述目标视频。由于根据最相似的已转码视频进行二次转码,相比于在云服务器或终端上对源视频进行转码而言,转码的数据量小,提高了转码的速度。

实施例四

请参见图4,图4是本发明实施例提供的另一种视频转码方法的示意图,如图4所示,在实施例二或实施例三的基础上,该方法包括:

401、定期对所述已转码视频进行检查,以检查出是否存在第一预设时间内没有被请求过的已转码视频。

上述的第一时间可以是默认设置的时间,比如,一个月或两周等。上述的定期可以是每周或每天。比如,每周或每天对管理服务器中的已转码视频进行检查,检查管理服务器中是否存在已经过超过第一预设时间,没有被用户终端请求过的已转码视频。若存在,则说明,该已转码视频的被请求率不高,没有存储在管理服务器中的必要,若不存在,则说明,管理服务器中的已转码视频为常用的已转码视频,经常被用户终端请求,用户终端请求这些已转码视频可以更已进行转码甚至无需进行转码。

402、若存在第一预设时间内没有被请求过的已转码视频,则判断所述没有被请求过的已转码视频是否为对应视频标识下存储的唯一已转码视频。

在该步骤中,当管理服务器中存在有在第一预设时间内没有被请求过的已转码视频,说明该已转码视频的被请求率不高,没有存储在管理服务器中的必要。由于一个视频标识,应不同的用户终端请求,会有多个已转码视频在管理服务器中进行存储,以使得管理服务器可以直接匹配到目标视频或通过二次转码得到目标视频。

上述的唯一已转码视频指的是一个视频标识下,管理服务器中只存在一个对应的已转码视频。

403、若所述没有被请求过的已转码视频为对应视频标识下存储的唯一已转码视频,则保留所述没有被请求过的已转码视频到第二预设时间后进行删除。

在该步骤中,对管理服务器中一个视频标识下的唯一已转码视频进行延迟删除,可以保证在每个视频标识下的唯一已转码视频的生命周期内,若有对应的视频请求信息对该视频标识进行请求时,可以通过该已转码视频进行直接得到目标视频或对该已转码视频进行二次转码后得到目标视频。

可选的,第一预设时间可以是该已转码视频被转码出来,存储在管理服务器中的时间开始起算,第二预设时间也可以是该已转码视频被转码出来,存储在管理服务器中的时间开始起算,此时,第二预设时间大于第一预设时间。

在一种可能的实施例方式中,上述每个视频标识下的唯一已转码视频的生命周期可以为第一预设时间加上第二预设时间,上述的第二预设时间从第一预设时间结束后开始起算。第一预设时间与第二预设时间可以相同也可以不同。在上述每个视频标识下的唯一已转码视频超过第二预设时间后依然没有用户终端进行请求,则可以删除该唯一已转码视频,以减轻管理服务器的存储压力。

404、若所述没有被请求过的已转码视频不为对应视频标识下存储的唯一已转码视频,则对所述没有被请求过的已转码视频进行删除。

本发明实施例中,定期对管理服务器中的已转码视频进行检查,对超期没有人请求的视频进行删除,可以保证管理服务器的存储资源,同时,对一个视频标识下的唯一已转码视频进行延期删除,增加唯一已转码视频在管理服务器的时间窗口,可以使得管理服务器存储更多不同标识的已转码视频,以提高二次转码的使用率。

实施例五

请参见图5,图5是本发明实施例提供的一种视频转码装置的结构示意图,如图5所示,装置包括:

获取模块501,用于获取用户终端的视频请求信息,所述视频请求信息携带视频标识以及终端参数;

第一判断模块502,用于根据所述视频标识,判断管理服务器中是否存在对应的已转码视频,所述管理服务器存储有对应的已转码视频,所述已转码视频与对应的视频标识以及终端参数均存在映射关系;

第二判断模块503,用于若所述管理服务器中存在对应的已转码视频,则根据所述终端参数判断所述已转码视频中是否存在目标视频;

第三判断模块504,用于若所述对应的已转码视频中不存在目标已转码视频,则根据所述终端参数计算得到所述对应的已转码视频与目标视频的最高相似度,判断所述最高相似度是否满足预设的相似度阈值;

转码模块505,用于若所述最高相似度满足所述预设的相似度阈值,则根据所述终端参数生成转码策略,并根据所述转码策略将最高相似度对应的已转码视频进行二次转码,以得到目标视频;

发送模块506,用于向所述用户终端发送所述目标视频。

可选的,如图6所示,所述装置还包括:

转发模块507,用于若所述最高相似度不满足所述预设的相似度阈值,或所述管理服务器中不存在对应的已转码视频,则将所述视频请求信息转发到云端服务器,以使所述云端服务器根据所述视频请求信息匹配到对应的源视频进行转码操作,转码得到目标视频;

管理模块508,用于将所述云端服务器返回的目标视频存储在所述管理服务器中,并建立所述视频请求信息与目标视频的映射关系。

可选的,如图7所示,所述终端参数包括格式、分辨率、码率、帧率以及传输方式对应的参数项,所述转码模块505包括:

策略单元5051,用于根据所述终端参数的格式、分辨率、码率、帧率以及传输方式中至少一项参数项,确定所述格式、分辨率、码率、帧率以及传输方式中至少一项参数项为转码项,并根据所述转码项生成对应的转码策略,所述转码项为所述终端参数与所述最高相似度对应的已转码视频所对应的终端参数中的不同参数项;

转码单元5052,用于根据所述转码策略,对所述最高相似度对应的已转码视频进行二次转码,以使所述最高相似度对应的已转码视频与所述终端参数具有相同的参数项,从而得到目标视频。

可选的,如图8所示,所述装置还包括:

检查模块509,用于定期对所述已转码视频进行检查,以检查出是否存在第一预设时间内没有被请求过的已转码视频;

第四判断模块510,用于若存在第一预设时间内没有被请求过的已转码视频,则判断所述没有被请求过的已转码视频是否为对应视频标识下存储的唯一已转码视频;

第一删除模块511,用于若所述没有被请求过的已转码视频为对应视频标识下存储的唯一已转码视频,则保留所述没有被请求过的已转码视频到第二预设时间后进行删除;

第二删除模块512,用于若所述没有被请求过的已转码视频不为对应视频标识下存储的唯一已转码视频,则对所述没有被请求过的已转码视频进行删除。

可选的,如图9所示,所述管理服务器为多个以一致性哈希分布进行部署的服务器构成的服务器集群,所述装置还包括:

提取模块513,用于提取所述视频请求信息携带的视频标识,对所述视频请求信息携带的视频标识进行一致性哈希计算,以得到对应于所述视频请求信息携带的视频标识的一致性哈希值所指向的管理服务器节点;

所述第一判断模块502还用于根据所述视频标识,在对应于所述视频请求信息携带的视频标识的哈希值所指向的服务器节点中,检测是否存在与所述视频请求信息携带的视频标识相同的已转码视频对应的视频标识。

需要说明的是,本发明实施例提供的视频转码装置可以应用于视频转码设备,例如:服务器、手机、计算机等可以进行视频转码的设备。

本发明实施例提供的视频转码装置能够实现图2至图4的方法实施例中的各个实施方式,以及相应有益效果,为避免重复,这里不再赘述。

实施例六

为解决上述技术问题,本发明实施例还提供一种视频转码系统。所述系统包括包括云服务器、用户终端以及管理服务器,所述云服务器存储源视频,所述所述管理服务器存储有对应的已转码视频,所述已转码视频与对应的视频标识以及终端参数均存在映射关系。所述管理服务器用于:

获取用户终端的视频请求信息,所述视频请求信息携带视频标识以及终端参数;

根据所述视频标识,判断管理服务器中是否存在对应的已转码视频,所述管理服务器存储有对应的已转码视频,所述已转码视频与对应的视频标识以及终端参数均存在映射关系;

若所述管理服务器中存在对应的已转码视频,则根据所述终端参数判断所述已转码视频中是否存在目标视频;

若所述对应的已转码视频中不存在目标已转码视频,则根据所述终端参数计算得到所述对应的已转码视频与目标视频的最高相似度,判断所述最高相似度是否满足预设的相似度阈值;

若所述最高相似度满足所述预设的相似度阈值,则根据所述终端参数生成转码策略,并根据所述转码策略将最高相似度对应的已转码视频进行二次转码,以得到目标视频;

向所述用户终端发送所述目标视频。

本发明实施例中,获取用户终端的视频请求信息,所述视频请求信息携带视频标识以及终端参数;根据所述视频标识,判断管理服务器中是否存在对应的已转码视频,所述管理服务器存储有对应的已转码视频,所述已转码视频与对应的视频标识以及终端参数均存在映射关系;若所述管理服务器中存在对应的已转码视频,则根据所述终端参数判断所述已转码视频中是否存在目标视频;若所述对应的已转码视频中不存在目标已转码视频,则根据所述终端参数计算得到所述对应的已转码视频与目标视频的最高相似度,判断所述最高相似度是否满足预设的相似度阈值;若所述最高相似度满足所述预设的相似度阈值,则根据所述终端参数生成转码策略,并根据所述转码策略将最高相似度对应的已转码视频进行二次转码,以得到目标视频;向所述用户终端发送所述目标视频。由于根据最相似的已转码视频进行二次转码,相比于在云服务器或终端上对源视频进行转码而言,转码的数据量小,提高了转码的速度。

需要说明的是,本发明实施例提供的视频转码系统可以应用于视频转码方法。

本发明实施例提供的视频转码系统能够实现图2至图4的方法实施例中的各个实施方式,以及相应有益效果,为避免重复,这里不再赘述。

实施例七

如图10所示,为解决上述技术问题,本发明实施例还提供电子设备。具体请参阅图10,图10为本实施例电子设备基本结构框图。

电子设备1000包括通过系统总线相互通信连接存储器1001、处理器1002、网络接口1003。需要指出的是,图中仅示出了具有组件1001-1003的电子设备1000,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的电子设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程门阵列(field-programmablegatearray,fpga)、数字处理器(digitalsignalprocessor,dsp)、嵌入式设备等。

电子设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。电子设备可以与客户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。

存储器1001至少包括一种类型的可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器1001可以是电子设备100的内部存储单元,例如该电子设备1000的硬盘或内存。在另一些实施例中,存储器1001也可以是电子设备1000的外部存储设备,例如该电子设备1000上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。当然,存储器1001还可以既包括电子设备1000的内部存储单元也包括其外部存储设备。本实施例中,存储器1001通常用于存储安装于电子设备1000的操作系统和各类应用软件,例如一种视频转码方法的程序代码等。此外,存储器1001还可以用于暂时地存储已经输出或者将要输出的各类数据。

处理器1002在一些实施例中可以是中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器1002通常用于控制电子设备1000的总体操作。本实施例中,处理器1002用于运行存储器1001中存储的程序代码或者处理数据,例如运行一种视频转码方法的程序代码。

网络接口1003可包括无线网络接口或有线网络接口,该网络接口1003通常用于在电子设备1000与其他电子设备之间建立通信连接。

本发明还提供了另一种实施方式,即提供一种计算机可读存储介质,计算机可读存储介质存储有一种视频转码程序,上述一种视频转码程序可被至少一个处理器执行,以使至少一个处理器执行如上述的一种视频转码方法的步骤。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例的视频转码方法。

本发明的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本发明的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1