一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种视频发布方法、装置、设备及存储介质与流程

2022-06-22 14:45:48 来源:中国专利 TAG:


1.本发明涉及多媒体的技术领域,尤其涉及一种视频发布方法、装置、设备及存储介质。


背景技术:

2.视频数据广泛应用于在娱乐、生活等业务场景中,呈现的形式多样,如短视频、即时通讯消息、社交消息等。
3.这些视频数据在生成之后会上传至一些业务平台进行发布,视频数据的文件大小较大,为了减少带宽的占用,在上传业务平台之前会按照一些标准化组织提出的编码标准对视频数据进行编码,从而减少视频数据的文件大小。
4.目前对视频数据编码的方式有多种,而对于既定的应用,通常是根据所处的地区的情况固定使用其中一种方式进行视频数据进行编码,灵活性较差,导致发布的效果较差。


技术实现要素:

5.本发明提供了一种视频发布方法、装置、设备及存储介质,以解决如何提高发布视频数据时对视频数据编码的灵活性。
6.根据本发明的一方面,提供了一种视频发布方法,包括:
7.生成待发布至业务平台的视频数据;
8.分别预测按照多个编码方式对所述视频数据编码的第一耗时;
9.分别预测将按照多个编码方式编码之后的所述视频数据传输至所述业务平台的第二耗时;
10.针对同一所述编码方式,参考所述第一耗时与所述第二耗时计算将所述视频数据发布至所述业务平台的总耗时;
11.根据多个所述总耗时选定其中一个所述编码方式为目标编码方式;
12.按照所述目标编码方式对所述视频数据编码并传输至所述业务平台。
13.根据本发明的另一方面,提供了一种视频发布装置,包括:
14.视频数据生成模块,用于生成待发布至业务平台的视频数据;
15.第一耗时预测模块,用于分别预测按照多个编码方式对所述视频数据编码的第一耗时;
16.第二耗时预测模块,用于分别预测将按照多个编码方式编码之后的所述视频数据传输至所述业务平台的第二耗时;
17.总耗时计算模块,用于针对同一所述编码方式,参考所述第一耗时与所述第二耗时计算将所述视频数据发布至所述业务平台的总耗时;
18.编码方式限定模块,用于根据多个所述总耗时选定其中一个所述编码方式为目标编码方式;
19.视频发布模块,用于按照所述目标编码方式对所述视频数据编码并传输至所述业
务平台。
20.根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
21.至少一个处理器;以及
22.与所述至少一个处理器通信连接的存储器;其中,
23.所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的视频发布方法。
24.根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于使处理器执行时实现本发明任一实施例所述的视频发布方法。
25.在本实施例中,生成待发布至业务平台的视频数据,分别预测按照多个编码方式对视频数据编码的第一耗时,分别预测将按照多个编码方式编码之后的视频数据传输至业务平台的第二耗时,针对同一编码方式,参考第一耗时与第二耗时计算将视频数据发布至业务平台的总耗时,根据多个总耗时选定其中一个编码方式为目标编码方式,按照目标编码方式对视频数据编码并传输至业务平台。本实施例可以结合不同编码方式的优势,根据实际的情况综合考虑编码、上传这两个在发布中的主要操作的耗时,选择合适的编码方式对视频数据进行编码,灵活性高,平衡编码的耗时、上传的耗时,可以优化发布视频数据的耗时,减少用户等待发布视频数据的时间,提高发布视频数据的效率,有助于丰富业务平台的视频资源。
26.应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
27.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
28.图1是根据本发明实施例一提供的一种视频发布方法的流程图;
29.图2是根据本发明实施例二提供的一种视频发布方法的流程图;
30.图3是根据本发明实施例三提供的一种视频发布方法的流程图;
31.图4是根据本发明实施例四提供的一种视频发布方法的流程图;
32.图5是根据本发明实施例五提供的一种视频发布装置的结构示意图;
33.图6是实现本发明实施例的视频发布方法的电子设备的结构示意图。
具体实施方式
34.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范
围。
35.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
36.实施例一
37.图1为本发明实施例一提供的一种视频发布方法的流程图,本实施例可适用于对不同的预估视频数据编码、上传的耗时,从而选择合适的编码方式的情况,该方法可以由视频发布装置来执行,该视频发布装置可以采用硬件和/或软件的形式实现,该视频发布装置可配置于电子设备中,尤其为移动终端。如图1所示,该方法包括:
38.步骤101、生成待发布至业务平台的视频数据。
39.本实施例可应用于不同类型的电子设备,该电子设备的操作系统可以包括android(安卓)、ios、harmonyos(鸿蒙)等等,在这些操作系统中可以安装各种应用程序,例如,短视频应用、即时通讯工具、浏览器,等等,这些应用程序在不同的业务场景下会通过电子设备的摄像头等方式采集原始的视频数据,原始的视频数据的格式为yuv(y表示明亮度、u和v表示色度)等。
40.应用程序与业务平台建立会话,业务平台为与业务相关的系统,其可以为独立的服务器,也可以为服务器集群,如分布式系统。
41.应用程序在生成视频数据之后,将视频数据发布至业务平台,供有权限的用户观看,该有权限的用户可以为当前用户本身,也可以为除当前用户之外的其他用户。
42.针对不同的业务,视频数据的形式有所不同,具有观看权限的用户也有所不同,本实施例对此不加以限制。
43.例如,在短视频应用中,生成的视频数据为短视频,当前用户将短视频发布至短视频平台(业务平台),供其他在短视频平台注册的用户观看。
44.又例如,在即时通讯工具中,生成的视频数据为即时通讯消息、社交消息,当前用户将即时通讯消息发布至即时通讯平台(业务平台),供正在会话的其他用户观看,当前用户将社交消息发布至即时通讯平台,供与当前用户具有好友关系的其他用户观看,等等。
45.在本实施例中,发布视频数据包括两个操作,第一个操作为对视频数据编码,第二个操作为将编码之后的视频数据上传至业务平台,由于应用程序会连续执行这两个操作,对于用户而言,一般是无感知的,即,无法区分出这两个操作的。
46.在本实施例中,可以预先设定多种编码方式,其包含了对视频数据编码的参数的集合,该参数包括编码的硬件(如cpu(central processing unit,中央处理器)、gpu(graphics processing unit,图形处理器)、异构硬件)、编码的标准(如mpeg-4、h.264、h.265、vc-1等),等等,这些参数可作为划分编码方式的规范,即,在该参数的维度下划分编码方式,使得不同编码方式在编码速度、码率等方面具有不同的优劣。
47.在一个示例中,编码方式包括软编码、硬编码,软编码为以程序(cpu)编码的方式,
硬编码为以硬件(gpu、异构硬件)编码的方式。
48.一般情况下,软编码的编码速度较慢,编码的耗时较长,在资源紧缺的移动终端中尤为明显。
49.此外,软编码有比较丰富的参数可以设置,可以根据业务场景做针对性地编码适配,同时软编码在不同的画面复杂度可以编码出不同的码率起到节省码率的作用,上传视频数据的耗时较小。
50.硬编码的编码编码速度快,特别是和硬解码一起配合使用,可以直接在纹理中解码和编码,节省了从gpu到cpu数据的转换。
51.此外,在同等码率下硬编码的画质一般比软编码要差,且不能根据场景设置不同的码率,存在一定的码率浪费,会造成上传视频数据的耗时较大。
52.当然,上述划分编码方式的规范只是作为示例,在实施本实施例时,可以根据实际情况设置其它划分编码方式的规范,例如,将以程序按照指定标准编码的方式划分为一种编码方式,将以硬件按照指定标准编码的方式划分为一种编码方式,将软编码或硬编码下按照不同参数划分细颗粒度的编码方式,等等,本实施例对此不加以限制。另外,除了上述划分编码方式的规范外,本领域技术人员还可以根据实际需要采用其它划分编码方式的规范,本实施例对此也不加以限制。
53.步骤102、分别预测按照多个编码方式对视频数据编码的第一耗时。
54.不同的电子设备的资源(如cpu、gpu等)有所不同,使得在不同的电子设备中按照相同的编码方式对视频数据进行编码,耗时也有所不同。
55.一般情况下,高级别的电子设备的资源(如cpu、gpu等)较为充足,各种编码方式(如软编码、硬编码)的速度均较快,编码的耗时均较低,而低级别的电子设备的资源(如cpu、gpu等)较为有限,各种编码方式(如软编码、硬编码)的速度均较慢,编码的耗时均较高。
56.在本实施例中,可以根据当前电子设备的资源情况,分别预测在当前电子设备中按照多个编码方式、调用相应的资源(如cpu、gpu等)对视频数据编码的耗时,记为第一耗时。
57.在本发明的一个实施例中,步骤102可以包括如下步骤:
58.步骤1021、将视频数据划分至与编码相关的类别。
59.在本实施例中,可以预先设置多个与编码相关的类别,每个类别涵盖多种视频数据,对于每一种编码方式,每个类别均关联参考视频参数,该参考视频参数为在当前电子设备中,历史上按照该编码方式、调用相应的资源(如cpu、gpu等)对视频数据编码时记录的多个参数,其反映的是当前电子设备对于该编码方式的编码能力。
60.本实施例中在编码的维度下对视频数据划分类别,可以提高积累训练参考视频参数的样本(即视频数据)的数量,提高参考视频参数的准确性,从而提高预测第一耗时的准确性。
61.进一步而言,类别的划分方式为视频数据中一个或多个与编码相关的参数,记为分类参数,例如,分辨率、编码的标准,等等,对此,可以预先建立类别与该分类参数之间的关联关系,那么,对于当前的视频数据,可以从该视频数据中识别分类参数,在该关联关系中查找该分类参数关联的类别,将视频数据划分至该类别中。
62.以分辨率为例,可以查询视频数据的分辨率,如360p、480p、540p、720p、1080p等,从而将视频数据划分至为该分配率配置的类别中。
63.步骤1022、针对多个编码方式,分别在参考视频参数中查询对类别中单帧视频数据编码的参考时长。
64.对于每个类别的每个编码方式均记录有多个参考视频参数,其中一个参考视频参数为对单帧视频数据编码的时长,记为参考时长,此时,在既定类别的条件下,对于每种编码方式,可以分别在参考视频参数中查询对类别中单帧视频数据编码的参考时长。
65.步骤1023、针对多个编码方式,分别计算参考时长与视频数据的帧数之间的乘积,获得对视频数据编码的第一耗时。
66.对于当前的视频数据,可以查询其帧数,针对多个编码方式,在既定编码方式下,计算参考时长与视频数据的帧数之间的乘积,得到在当前电子设备按照该编码方式调用相应的资源对视频数据编码的第一耗时。
67.步骤103、分别预测将按照多个编码方式编码之后的视频数据传输至业务平台的第二耗时。
68.按照不同编码方式编码的视频数据的文件大小有所不用,而电子设备所处的网络的环境有所不同,使得在不同的电子设备中将按照不同编码方式编码之后的视频数据传输至业务平台的耗时也有所不同。
69.一般情况下,编码之后的视频数据的文件大小越小、网络的环境越好,传输的耗时越少,反之,编码之后的视频数据的文件大小越大、网络的环境越差,传输的耗时越多。
70.在本实施例中,可以在当前电子设备中,分别分别预测将按照多个编码方式编码之后的视频数据传输至业务平台的耗时,记为第二耗时。
71.在本发明的一个实施例中,步骤103可以包括如下步骤:
72.步骤1031、将视频数据划分至与编码相关的类别。
73.在本实施例中,可以预先设置多个与编码相关的类别,每个类别关联参考视频参数。
74.示例性地,查询视频数据的分辨率,将视频数据划分至为分配率配置的类别。
75.本实施例中在编码的维度下对视频数据划分类别,可以提高积累训练参考视频参数的样本(即视频数据)的数量,提高参考视频参数的准确性,从而提高预测第二耗时的准确性。
76.步骤1032、针对多个编码方式,分别在参考视频参数中查询对类别中视频数据编码的参考码率。
77.对于每个类别的每个编码方式均记录有多个参考视频参数,其中一个参考视频参数为视频数据编码的码率,记为参考码率,此时,在既定类别的条件下,对于每种编码方式,可以分别在参考视频参数中查询对类别中视频数据编码的参考码率。
78.步骤1033、检测与业务平台之间的网络状态。
79.电子设备中的应用程序与业务平台建立会话(session),在该会话中可实时检测电子设备中的应用程序与业务平台之间的网络状态,例如,网络类型(如无线保真wifi、移动蜂窝网等)、带宽、丢包率,等等。
80.步骤1034、针对多个编码方式,计算在网络状态下按照参考码率将编码之后的视
频数据传输至业务平台的第二耗时。
81.码率为数据传输时单位时间传送的数据位数,单位是kbps,即千位每秒,在既定网络状态的条件下,此时,可以评估按照参考码率将编码之后的视频数据传输至业务平台的第二耗时。
82.在具体实现中,网络状态包括带宽,那么,可以查询视频数据的总时长,针对多个编码方式,分别计算参考码率与总时长之间的乘积,作为编码之后的视频数据的文件大小,针对多个编码方式,计算文件大小与带宽之间的比值,作为将编码之后的视频数据传输至业务平台的第二耗时。
83.步骤104、针对同一编码方式,参考第一耗时与第二耗时计算将视频数据发布至业务平台的总耗时。
84.对于既定的编码方式,在评估编码的第一耗时、传输的第二耗时的条件下,可以以第一耗时与第二耗时作为参考,计算将视频数据发布至业务平台的总耗时,即,从在电子设备中按照该编码方式对视频数据进行编码、将编码之后的视频数据传输至业务平台的耗时。
85.在电子设备中按照该编码方式对视频数据进行编码、将编码之后的视频数据传输至业务平台的过程中,除了编码、传输之外,还可能存在其他操作,例如,将编码之后的视频数据从编码的缓存队列写入传输的缓存队列中,等等,而这些其他操作的耗时较少,可以忽略,编码的第一耗时、传输的第二耗时为主要的耗时,因此,可以计算第一耗时与第二耗时之间的何止,作为将视频数据发布至业务平台的总耗时。
86.步骤105、根据多个总耗时选定其中一个编码方式为目标编码方式。
87.在本实施例中,可以预先按照业务场景具体的业务需求对发布设计筛选规则,若某个编码方式的总耗时满足该筛选规则,表示该编码方式与当前的业务场景适配,则可以最终选定该编码方式,记为目标编码方式。
88.示例性地,对多个总耗时进行比较,选定数值最小的总耗时对应的编码方式为目标编码方式,本示例最优化总耗时,可以减少用户等待发布视频数据的时间。
89.当然,上述筛选规则只是作为示例,在实施本实施例时,可以根据实际情况设置其它筛选规则,例如,对于总耗时最小的n(n为正整数)个总耗时,添加其他因素(如电子设备的资源使用状态等)选择合适(如使用电子设备的资源占用率少的资源等)的编码方式为目标编码方式,等等,本发明实施例对此不加以限制。另外,除了上述筛选规则外,本领域技术人员还可以根据实际需要采用其它筛选规则,本实施例对此也不加以限制。
90.步骤106、按照目标编码方式对视频数据编码并传输至业务平台。
91.在电子设备中,按照目标编码方式、调用相应的资源(如cpu、gpu等)对视频数据进行编码,在会话中将编码之后的视频数据传输至业务平台,从而将该视频数据发布至业务平台。
92.在本实施例中,生成待发布至业务平台的视频数据,分别预测按照多个编码方式对视频数据编码的第一耗时,分别预测将按照多个编码方式编码之后的视频数据传输至业务平台的第二耗时,针对同一编码方式,参考第一耗时与第二耗时计算将视频数据发布至业务平台的总耗时,根据多个总耗时选定其中一个编码方式为目标编码方式,按照目标编码方式对视频数据编码并传输至业务平台。本实施例可以结合不同编码方式的优势,根据
实际的情况综合考虑编码、上传这两个在发布中的主要操作的耗时,选择合适的编码方式对视频数据进行编码,灵活性高,平衡编码的耗时、上传的耗时,可以优化发布视频数据的耗时,减少用户等待发布视频数据的时间,提高发布视频数据的效率,有助于丰富业务平台的视频资源。
93.例如,如果在网络状态较好的情况下,编码的第一耗时在总耗时中的占比较大,此时可以选择使用硬编码来节省编码的第一耗时;在网络状态较差的情况下,上传的第二耗时在总耗时中的占比较大,此时可以选择使用软编码,尽可能地压缩视频数据的文件大小,节省上传的第二耗时。
94.又例如,不同的电子设备的软编码的第一耗时、硬编码的第一耗时也不尽相同,某些类型的电子设备的cpu比较好,软编码的速度、硬编码的速度均较快,使得软编码的第一耗时、硬编码的第一耗时均较小,此时,使用软编码的优势会更大;某些类型的电子设备的cpu比较差,硬编码的速度速度会明显快于软编码的速度,此时使用硬编码的优势更大。
95.实施例二
96.图2为本发明实施例二提供的一种视频发布方法的流程图,本实施例在上述实施例的基础上增加了更新参考视频参数的操作。如图2所示,该方法包括:
97.步骤201、生成待发布至业务平台的视频数据。
98.步骤202、将视频数据划分至与编码相关的类别。
99.其中,类别关联参考视频参数。
100.步骤203、根据参考视频参数分别预测按照多个编码方式对视频数据编码的第一耗时。
101.在具体实现中,可以针对多个编码方式,分别在参考视频参数中查询对类别中单帧视频数据编码的参考时长,针对多个编码方式,分别计算参考时长与视频数据的帧数之间的乘积,获得对视频数据编码的第一耗时。
102.步骤204、根据参考视频参数分别预测将按照多个编码方式编码之后的视频数据传输至业务平台的第二耗时。
103.在具体实现中,可以针对多个编码方式,分别在参考视频参数中查询对类别中视频数据编码的参考码率,检测与业务平台之间的网络状态,针对多个编码方式,计算在网络状态下按照参考码率将编码之后的视频数据传输至业务平台的第二耗时。
104.步骤205、针对同一编码方式,参考第一耗时与第二耗时计算将视频数据发布至业务平台的总耗时。
105.步骤206、根据多个总耗时选定其中一个编码方式为目标编码方式。
106.步骤207、按照目标编码方式对视频数据编码并传输至业务平台。
107.步骤208、记录按照目标编码方式编码之后视频数据的参数,作为实际视频参数。
108.在电子设备中按照目标编码方式对视频数据编码,对此可以记录编码之后视频数据的参数,记为实际视频参数。
109.其中,实际视频参数包括对单帧视频数据编码的时长,记为实际时长,以及,实际视频参数包括视频数据的码率,记为实际码率。
110.进一步而言,对于实际时长,可以记录对整个视频数据编码的总时长,并查询该视频数据的帧数,将总时长除以帧数,可以得到对单帧视频数据编码的实际时长。
111.步骤209、根据实际视频参数更新参考视频参数。
112.对于既定的类别,不断地累积在既定编码方式(即目标编码方式)下的实际视频参数,通过大量的实际视频参数更新该编码方式(即目标编码方式)的参考视频参数,从而使得参考视频参数更加反映出电子设备实际使用该编码方式(即目标编码方式)编码的能力。
113.在一种更新方式中,可以查询历史记录的所有实际视频参数,其中包括当前的实际视频参数。
114.按照记录实际视频参数的时间戳对实际视频参数配置权重,其中,考虑到电子设备的状态随时间发生变化,权重与时间戳正相关,即,时间戳越大,记录实际视频参数的时间距离当前时间越近,权重越大,反之,时间戳越小,记录实际视频参数的时间距离当前时间越远,权重越小,使得实际视频参数的权重更加贴近电子设备当前的状态。
115.所谓配置,可以指计算权重与实际视频参数之间的乘积,从而计算配置权重之后实际视频参数(即乘积)之间的和值,作为新的参考视频参数。
116.进一步地,若实际视频参数为对单帧视频数据编码的实际时长,则可以按照时间戳对实际时长配置相应的权重,计算实际时长与权重之间的乘积,计算该乘积之间的和值,作为新的参考时长。
117.若实际视频参数为视频数据的实际码率,则可以按照时间戳对实际码率配置相应的权重,计算实际码率与权重之间的乘积,计算该乘积之间的和值,作为新的参考码率。
118.在本实施例中,记录实际对视频数据编码的实际视频参数,从而更新参考视频参数,使得参考视频参数不断积累,持续反应电子设备的状态,保持参考视频参数的准确性。
119.实施例三
120.图3为本发明实施例三提供的一种视频发布方法的流程图,本实施例在上述实施例的基础上增加了调整目标编码方式的操作。如图3所示,该方法包括:
121.步骤301、生成待发布至业务平台的视频数据。
122.步骤302、分别预测按照多个编码方式对视频数据编码的第一耗时。
123.步骤303、分别预测将按照多个编码方式编码之后的视频数据传输至业务平台的第二耗时。
124.步骤304、针对同一编码方式,参考第一耗时与第二耗时计算将视频数据发布至业务平台的总耗时。
125.步骤305、根据多个总耗时选定其中一个编码方式为目标编码方式。
126.步骤306、统计每个编码方式的使用频率。
127.在本实施例中,可以统计在电子设备历史对视频数据编码的过程中,每个编码方式的使用频率,即,某个编码方式的使用频次与所有编码方式的使用频次之间的壁纸,其中,该编码方式可以区分类别统计、也可以不区分类别统计,本实施例对此不加以限制。
128.步骤307、若某个编码方式的使用频率大于预设的第一阈值,则将其他编码方式设置为目标编码方式。
129.如果某个编码方式的使用频率大于预设的第一阈值,表示该编码方式的使用频率较高,为避免除该编码方式之外的其他编码方式的参考视频参数得不到更新,则可以将除该编码方式之外的其他编码方式设置为目标编码方式,通过主动降低使用某些编码方式的比例,可以探测电子设备对于不同编码方式的编码能力,为后续筛选编码方式提供事实基
础。
130.例如,如果软编码的使用频率大于90%(第一阈值),则可以将硬编码设置为目标编码方式。
131.步骤308、若某个编码方式的使用频率小于预设的第二阈值,则将编码方式设置为目标编码方式。
132.如果某个编码方式的使用频率小于预设的第二阈值,表示该编码方式的使用频率较低,为避免该编码方式的参考视频参数得不到更新,则可以将该编码方式设置为目标编码方式,通过主动提高使用某些编码方式的比例,可以探测电子设备对于不同编码方式的编码能力,为后续筛选编码方式提供事实基础。
133.其中,第一阈值大于第二阈值。
134.例如,如果软编码的使用频率小于10%(第二阈值),则可以将软编码设置为目标编码方式。
135.步骤309、按照目标编码方式对视频数据编码并传输至业务平台。
136.实施例四
137.图4为本发明实施例四提供的一种视频发布方法的流程图,本实施例在上述实施例的基础上增加了探测参考视频参数的操作。如图4所示,该方法包括:
138.步骤401、接收用于探测编码方式的视频数据,作为参考数据。
139.对于应用程序冷启动(如初始注册使用、卸载后重新安装使用等)、长时间发布视频数据等情况,某个类别的参考视频参数会出现空、未更新等情况,并不能反映出电子设备实时的状态,此时,业务平台可以向电子设备推送多个用于探测编码方式的视频数据,记为参考数据。
140.由于参考视频参数与视频数据的类别关联,因此,参考数据可以属于多个类别或指定的类别,如多个分辨率下的视频数据,以便准确地更新参考视频参数。
141.一般情况下,参考数据为在应用程序处于空闲状态时推送,避免与用户正常使用应用程序的操作造成冲突。
142.其中,在应用程序中可以设置一个或多个空闲条件,在满足该一个或多个空闲条件时,确定应用程序处于空闲状态,对于不同的应用程序,面向的业务场景有所不同,用户正常使用应用程序的操作也有所不同,本实施例对此不加以限制。
143.例如,若应用程序为短视频应用,用户正常使用应用程序的操作主要为观看短视频、下载短视频、发布短视频,应用程序若未发生观看短视频、下载短视频、发布短视频,则可以认为应用程序处于空闲状态。
144.步骤402、对参考数据划分至与编码相关的类别。
145.在本实施例中,可以预先设置多个与编码相关的类别,每个类别关联参考视频参数。
146.示例性地,查询视频数据的分辨率,将视频数据划分至为分配率配置的类别。
147.步骤403、分别按照多个编码方式对参考数据编码。
148.在电子设备中,按照多个编码方式、调用相应的资源(如cpu、gpu等)对参考数据进行编码。
149.步骤404、分别记录按照多个编码方式编码之后参考数据的参数,作为实际视频参
数。
150.在电子设备中按照多个编码方式对参考数数据编码,对此可以分别记录编码之后参考数据的参数,记为实际视频参数。
151.其中,实际视频参数包括对单帧参考数据编码的时长,记为实际时长,以及,实际视频参数包括参考数据的码率,记为实际码率。
152.步骤405、根据实际视频参数更新参考视频参数。
153.在具体实现中,查询历史记录的所有实际视频参数;按照记录实际视频参数的时间戳对实际视频参数配置权重,其中,权重与时间戳正相关;计算配置权重之后实际视频参数之间的和值,作为新的参考视频参数。
154.步骤406、生成待发布至业务平台的视频数据。
155.步骤407、将视频数据划分至与编码相关的类别。
156.其中,类别关联参考视频参数。
157.步骤408、根据参考视频参数分别预测按照多个编码方式对视频数据编码的第一耗时。
158.在具体实现中,可以针对多个编码方式,分别在参考视频参数中查询对类别中单帧视频数据编码的参考时长,针对多个编码方式,分别计算参考时长与视频数据的帧数之间的乘积,获得对视频数据编码的第一耗时。
159.步骤409、根据参考视频参数分别预测将按照多个编码方式编码之后的视频数据传输至业务平台的第二耗时。
160.在具体实现中,可以针对多个编码方式,分别在参考视频参数中查询对类别中视频数据编码的参考码率,检测与业务平台之间的网络状态,针对多个编码方式,计算在网络状态下按照参考码率将编码之后的视频数据传输至业务平台的第二耗时。
161.步骤410、针对同一编码方式,参考第一耗时与第二耗时计算将视频数据发布至业务平台的总耗时。
162.步骤411、根据多个总耗时选定其中一个编码方式为目标编码方式。
163.步骤412、按照目标编码方式对视频数据编码并传输至业务平台。
164.实施例五
165.图5为本发明实施例三提供的一种视频发布装置的结构示意图。如图5所示,该装置包括:
166.视频数据生成模块501,用于生成待发布至业务平台的视频数据;
167.第一耗时预测模块502,用于分别预测按照多个编码方式对所述视频数据编码的第一耗时;
168.第二耗时预测模块503,用于分别预测将按照多个编码方式编码之后的所述视频数据传输至所述业务平台的第二耗时;
169.总耗时计算模块504,用于针对同一所述编码方式,参考所述第一耗时与所述第二耗时计算将所述视频数据发布至所述业务平台的总耗时;
170.编码方式限定模块505,用于根据多个所述总耗时选定其中一个所述编码方式为目标编码方式;
171.视频发布模块506,用于按照所述目标编码方式对所述视频数据编码并传输至所
述业务平台。
172.在本发明的一个实施例中,所述第一耗时预测模块502包括:
173.类别划分模块,用于将所述视频数据划分至与编码相关的类别,所述类别关联参考视频参数;
174.参考时长查询模块,用于针对多个编码方式,分别在所述参考视频参数中查询对所述类别中单帧所述视频数据编码的参考时长;
175.帧时长累积模块,用于针对多个编码方式,分别计算所述参考时长与所述视频数据的帧数之间的乘积,获得对所述视频数据编码的第一耗时。
176.在本发明的一个实施例中,所述第二耗时预测模块503包括:
177.类别划分模块,用于将所述视频数据划分至与编码相关的类别,所述类别关联参考视频参数;
178.参考码率查询模块,用于针对多个编码方式,分别在所述参考视频参数中查询对所述类别中所述视频数据编码的参考码率;
179.网络状态检测模块,用于检测与所述业务平台之间的网络状态;
180.网络传输计算模块,用于针对多个编码方式,计算在所述网络状态下按照所述参考码率将编码之后的所述视频数据传输至所述业务平台的第二耗时。
181.在本发明的一个实施例中,所述类别划分模块包括:
182.分辨率查询模块,用于查询所述视频数据的分辨率;
183.分辨率分类模块,用于将所述视频数据划分至为所述分配率配置的类别。
184.在本发明的一个实施例中,所述网络状态包括带宽;
185.所述网络传输计算模块包括:
186.总时长查询模块,用于查询所述视频数据的总时长;
187.文件大小计算模块,用于针对多个编码方式,分别计算所述参考码率与所述总时长之间的乘积,作为编码之后的所述视频数据的文件大小;
188.带宽计算模块,用于针对多个编码方式,计算所述文件大小与所述带宽之间的比值,作为将编码之后的所述视频数据传输至所述业务平台的第二耗时。
189.在本发明的一个实施例中,所述编码方式限定模块505包括:
190.总耗时比较模块,用于对多个所述总耗时进行比较;
191.极值选择模块,用于选定数值最小的所述总耗时对应的编码方式为目标编码方式。
192.在本发明的一个实施例中,还包括:
193.第一实际参数记录模块,用于记录按照所述目标编码方式编码之后所述视频数据的参数,作为实际视频参数;
194.参考参数更新模块,用于根据所述实际视频参数更新所述参考视频参数。
195.在本发明的一个实施例中,所述参考参数更新模块包括:
196.视频查询模块,用于查询历史记录的所有所述实际视频参数;
197.权重配置模块,用于按照记录所述实际视频参数的时间戳对所述实际视频参数配置权重,所述权重与所述时间戳正相关;
198.权重和计算模块,用于计算配置所述权重之后所述实际视频参数之间的和值,作
为新的参考视频参数。
199.在本发明的一个实施例中,还包括:
200.使用频率统计模块,用于统计每个所述编码方式的使用频率;
201.第一编码方式设定模块,用于若某个所述编码方式的所述使用频率大于预设的第一阈值,则将其他所述编码方式设置为目标编码方式;
202.第二编码方式设定模块,用于若某个所述编码方式的所述使用频率小于预设的第二阈值,则将所述编码方式设置为目标编码方式;
203.所述第一阈值大于所述第二阈值。
204.在本发明的一个实施例中,还包括:
205.参考数据接收模块,用于接收用于探测编码方式的视频数据,作为参考数据;
206.参考数据划分模块,用于对所述参考数据划分至与编码相关的类别,所述类别关联参考视频参数;
207.参考视频编码模块,用于分别按照多个所述编码方式对所述参考数据编码;
208.第二实际参数记录模块,用于分别记录按照多个编码方式编码之后所述参考数据的参数,作为实际视频参数;
209.参考参数更新模块,用于根据所述实际视频参数更新所述参考视频参数。
210.在本发明的一个实施例中,所述参考数据划分模块包括:
211.参考查询模块,用于查询所述参考数据的分辨率;
212.参考分类模块,用于将所述参考数据划分至为所述分配率配置的类别。
213.本发明实施例所提供的视频发布装置可执行本发明任意实施例所提供的视频发布方法,具备执行视频发布方法相应的功能模块和有益效果。
214.实施例六
215.图6示出了可以用来实施本发明的实施例的电子设备10的结构示意图。
216.如图6所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(rom)12、随机访问存储器(ram)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(rom)12中的计算机程序或者从存储单元18加载到随机访问存储器(ram)13中的计算机程序,来执行各种适当的动作和处理。在ram 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、rom 12以及ram 13通过总线14彼此相连。输入/输出(i/o)接口15也连接至总线14。
217.电子设备10中的多个部件连接至i/o接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
218.处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如视频发布方法。
219.在一些实施例中,视频发布方法可被实现为计算机程序,其被有形地包含于计算
机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由rom 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到ram 13并由处理器11执行时,可以执行上文描述的视频发布方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行视频发布方法。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献