本申请涉及数据处理技术领域,公开了一种转码方法、装置、设备及存储介质,应用于转码节点服务器,包括:利用下载器从云端服务器中流式下载待转码视频文件并将下载数据加载至缓存空间;同时利用转码器对所述缓存空间中的下载数据进行流式转码,得到对应的目标数据;将所述目标数据存储至本地存储空间,并从所述本地存储空间读取所述目标数据以上传至所述云端服务器。可见,本申请基于下载器对视频文件进行流式下载,同时基于转码器对下载到的数据进行流式转码,从而达到边下载边转码的效果,提高大文件的转码效率,且流式转码直接在缓存空间执行,能够节省存储空间。能够节省存储空间。能够节省存储空间。
【技术实现步骤摘要】
一种转码方法、装置、设备及存储介质
[0001]本专利技术涉及数据处理
,特别涉及一种转码方法、装置、设备及存储介质。
技术介绍
[0002]现有的转码方案不支持流式转码,需要转码节点将源资源文件整体下载完后再统一转码,对并发量较高的转码场景很不友好。以云点播场景下的转码过程为例,转码节点下载完整个资源文件之后先写入本地存储,然后再从本地存储读取资源文件并进行整体转码,转码完成后再整体写入本地存储,最后从本地存储读取转码完成的文件后写入云中。对于大文件的转码,上述过程需要较大的本地存储。且需要多次向本地存储中进行多次写入操作和多次读取操作,磁盘IO及网络IO消化较大。必定导致转码效率及成功率较低,特别是大文件的转码表现更为突出。
[0003]因此,上述技术问题亟待本领域技术人员解决。
技术实现思路
[0004]有鉴于此,本专利技术的目的在于提供一种转码方法、装置、设备及存储介质,能够提高大文件的转码效率及节省存储空间。其具体方案如下:
[0005]本申请的第一方面提供了一种转码方法,应用于转码节点服务器,包括:
[0006]利用下载器从云端服务器中流式下载待转码视频文件并将下载数据加载至缓存空间;
[0007]同时利用转码器对所述缓存空间中的下载数据进行流式转码,得到对应的目标数据;
[0008]将所述目标数据存储至本地存储空间,并从所述本地存储空间读取所述目标数据以上传至所述云端服务器。
[0009]可选的,所述转码方法,还包括:
[0010]确定在所述云端服务器中存储的所述待转码视频文件的分块模式,并根据所述分块模式对所述待转码视频文件进行分块,得到多个块数据;
[0011]相应的,利用下载器从云端服务器中流式下载待转码视频文件,同时利用转码器对下载数据进行流式转码,包括:
[0012]利用多个下载器从所述云端服务器中流式并发下载多个所述块数据,同时利用多个转码器对下载数据进行流式并发转码。
[0013]可选的,所述确定在所述云端服务器中存储的所述待转码视频文件的分块模式,包括:
[0014]获取所述待转码视频文件的视频头信息;其中,所述视频头信息至少包含所述待转码视频文件的帧率、码率;
[0015]根据所述视频头信息及自身转码器支持的转码方式确定所述待转码视频文件的所述分块模式。
[0016]可选的,利用多个转码器对下载数据进行流式并发转码之后,还包括:
[0017]为各个所述块数据创建相应的块索引,并将所述块索引存储至所述本地存储空间。
[0018]可选的,所述为各个所述块数据创建相应的块索引,包括:
[0019]计算所述待转码视频文件的文件标识符,并为所述待转码视频文件的各个所述块数据分配相应的块编号;
[0020]创建至少包含所述文件标识符、所述块编号及所述块数据的转码状态的所述块索引。
[0021]可选的,所述将所述目标数据存储至本地存储空间,并从所述本地存储空间读取所述目标数据以上传至所述云端服务器,包括:
[0022]按照所述块数据的块编号顺序将转码成功的所述块数据对应的所述目标数据存储至所述本地存储空间;
[0023]按照所述块数据的块编号顺序从所述本地存储空间读取存储的转码成功的所述块数据对应的所述目标数据以上传至所述云端服务器。
[0024]可选的,所述按照所述块数据的块编号顺序将转码成功的所述块数据对应的所述目标数据存储至所述本地存储空间之前,还包括:
[0025]对所述块索引中的所述块数据的转码状态进行校验;
[0026]如果所述转码状态表征所述块数据转码成功,则按照所述块数据的块编号顺序将转码成功的所述块数据对应的所述目标数据存储至所述本地存储空间;
[0027]如果所述转码状态表征所述块数据转码未完成,则继续对所述块数据进行流式下载及流式转码;
[0028]如果所述转码状态表征所述块数据转码失败,则判定所述待转码视频文件转码失败。
[0029]本申请的第二方面提供了一种转码装置,应用于转码节点服务器,包括:
[0030]下载模块,用于利用下载器从云端服务器中流式下载待转码视频文件并将下载数据加载至缓存空间;
[0031]转码模块,用于同时利用转码器对所述缓存空间中的下载数据进行流式转码,得到对应的目标数据;
[0032]存储上传模块,用于将所述目标数据存储至本地存储空间,并从所述本地存储空间读取所述目标数据以上传至所述云端服务器。
[0033]本申请的第三方面提供了一种电子设备,所述电子设备包括处理器和存储器;其中所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现前述转码方法。
[0034]本申请的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现前述转码方法。
[0035]本申请中,转码节点服务器先利用下载器从云端服务器中流式下载待转码视频文件并将下载数据加载至缓存空间;同时利用转码器对所述缓存空间中的下载数据进行流式转码,得到对应的目标数据;最后将所述目标数据存储至本地存储空间,并从所述本地存储
空间读取所述目标数据以上传至所述云端服务器。可见,本申请基于下载器对视频文件进行流式下载,同时基于转码器对下载到的数据进行流式转码,从而达到边下载边转码的效果,提高大文件的转码效率,且流式转码直接在缓存空间执行,能够节省存储空间。
附图说明
[0036]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0037]图1为本申请提供的一种转码方法流程图;
[0038]图2为本申请提供的一种具体的转码方法流程图;
[0039]图3为本申请提供的一种具体的分块模式确定方法流程图;
[0040]图4为本申请提供的一种具体的分块流式转码方法示意图;
[0041]图5为本申请提供的一种具体的分块流式转码方法流程图;
[0042]图6为本申请提供的一种具体的块索引方法流程图;
[0043]图7为本申请提供的一种转码装置结构示意图;
[0044]图8为本申请提供的一种转码电子设备结构图。
具体实施方式
[0045]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0046]现有的转码方案不支持流式转码,需要转码节点将源资源文件整体下载完后再统一转码本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种转码方法,其特征在于,应用于转码节点服务器,包括:利用下载器从云端服务器中流式下载待转码视频文件并将下载数据加载至缓存空间;同时利用转码器对所述缓存空间中的下载数据进行流式转码,得到对应的目标数据;将所述目标数据存储至本地存储空间,并从所述本地存储空间读取所述目标数据以上传至所述云端服务器。2.根据权利要求1所述的转码方法,其特征在于,还包括:确定在所述云端服务器中存储的所述待转码视频文件的分块模式,并根据所述分块模式对所述待转码视频文件进行分块,得到多个块数据;相应的,利用下载器从云端服务器中流式下载待转码视频文件,同时利用转码器对下载数据进行流式转码,包括:利用多个下载器从所述云端服务器中流式并发下载多个所述块数据,同时利用多个转码器对下载数据进行流式并发转码。3.根据权利要求2所述的转码方法,其特征在于,所述确定在所述云端服务器中存储的所述待转码视频文件的分块模式,包括:获取所述待转码视频文件的视频头信息;其中,所述视频头信息至少包含所述待转码视频文件的帧率、码率;根据所述视频头信息及自身转码器支持的转码方式确定所述待转码视频文件的所述分块模式。4.根据权利要求2所述的转码方法,其特征在于,利用多个转码器对下载数据进行流式并发转码之后,还包括:为各个所述块数据创建相应的块索引,并将所述块索引存储至所述本地存储空间。5.根据权利要求4所述的转码方法,其特征在于,所述为各个所述块数据创建相应的块索引,包括:计算所述待转码视频文件的文件标识符,并为所述待转码视频文件的各个所述块数据分配相应的块编号;创建至少包含所述文件标识符、所述块编号及所述块数据的转码状态的所述块索引。6.根据权利要求5所述的转码方法,其特征在于,所述将所述目标数据存储至本...
【专利技术属性】
技术研发人员:周磊,
申请(专利权)人:迅雷计算机深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。