CN111598672B - 用于合成视频的方法、计算设备和计算机可读存储介质 - Google Patents

用于合成视频的方法、计算设备和计算机可读存储介质 Download PDF

Info

Publication number
CN111598672B
CN111598672B CN202010727367.9A CN202010727367A CN111598672B CN 111598672 B CN111598672 B CN 111598672B CN 202010727367 A CN202010727367 A CN 202010727367A CN 111598672 B CN111598672 B CN 111598672B
Authority
CN
China
Prior art keywords
video
composite video
commodity
determining
response
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010727367.9A
Other languages
English (en)
Other versions
CN111598672A (zh
Inventor
乌景猛
王德龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Shangliang Information Technology Co ltd
Original Assignee
Nanjing Dreampay Network Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing Dreampay Network Technology Co ltd filed Critical Nanjing Dreampay Network Technology Co ltd
Priority to CN202010727367.9A priority Critical patent/CN111598672B/zh
Publication of CN111598672A publication Critical patent/CN111598672A/zh
Application granted granted Critical
Publication of CN111598672B publication Critical patent/CN111598672B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0641Shopping interfaces
    • G06Q30/0643Graphical representation of items or shoppers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/265Mixing

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本公开的实施例涉及一种合成视频的方法,包括:获取来自用户终端的视频合成请求;对视频合成请求进行验证;若请求通过验证且视频合成任务的数目小于预定阈值,将与所述视频合成请求相对应的视频合成任务加入任务列表中;基于视频合成任务中的通过验证的视频或商品信息,计算MD5值;若上述两个值不一致,启动视频合成任务,以基于所述视频以及所述商品信息,生成第一合成视频;以及将合成视频本地保存至数据库并且上传至云存储平台。本公开能够有效地避免因合成视频而导致的耗费计算资源和服务器宕机的问题,而且提高了消费者进行与视频相关商品的交易便捷性。

Description

用于合成视频的方法、计算设备和计算机可读存储介质
技术领域
本公开总体上涉及视频合成,并且更具体地,涉及用于合成视频的方法、计算设备和计算机可读存储介质。
背景技术
在描述某一商品的传统视频中,通常缺乏对商品的一些信息的描述,使得消费者不能全面地获取到商品的信息。因此,在商品的视频中合成一些商品的信息,充实对商品的描述是非常必要的。将一些商品的信息,例如商品的图片、商品的一些文字描述信息等合成到视频中是非常耗费服务器CPU资源的。在现有的视频合成技术中,由于合成视频服务非常耗费CPU资源,导致视频合成进程长时间占用服务器CPU资源,很容易导致服务器宕机。另一方面,消费者接收到其他消费者转发的传统商品视频时,需要另外查询视频所涉及商品的来源或者销售商家,难以方便地与商品销售渠道建立关联,不利于提升用户体验。
因此,传统的视频合成技术不仅耗费服务器CPU资源,容易导致服务器出现宕机等问题,而且被合成的传统视频也不便于消费者便捷地进行商品的交易。
发明内容
本公开提供一种用于合成视频的方法、计算设备和存储介质,能够有效地避免因合成视频而导致的耗费计算资源和服务器宕机问题,而且提高了消费者进行与视频相关商品的交易便捷性。
根据本公开的一个方面,提供一种合成视频的方法,包括:获取来自用户终端的视频合成请求;对视频合成请求进行验证;响应于确定视频合成请求通过验证且任务列表中的视频合成任务的数目小于预定阈值,将与视频合成请求相对应的视频合成任务加入任务列表中;基于视频合成任务中的通过验证的视频或商品信息,计算MD5值;响应于确定所计算的MD5值与已存储的MD5值不一致,启动视频合成任务,以基于视频以及商品信息,生成第一合成视频;以及将所生成的第一合成视频本地保存至数据库,并且上传至云存储平台。
根据本公开的第二方面,还提供了一种计算设备,该设备包括:至少一个处理单元;至少一个存储器,至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令,指令当由至少一个处理单元执行时,使得设备执行本公开的第一方面的方法。
根据本公开的第三方面,还提供了一种计算机可读存储介质。该计算机可读存储介质上存储有计算机程序,计算机程序被机器执行时执行本公开的第一方面的方法。
在一些实施例中,用于合成视频的方法还包括:响应于确定所计算的MD5值与已存储的MD5值相一致,删除任务列表中与所计算的MD5值相对应的视频合成任务,且结束视频合成任务。
在一些实施例中,用于合成视频的方法还包括:确定第一合成视频是否成功合成;响应于确定第一合成视频被成功合成,以从任务列表中删除与所计算的MD5值相对应的视频合成任务;以及响应于确定第一合成视频未被成功合成,中止与所计算的MD5值相对应的视频合成任务。
在一些实施例中,确定第一合成视频是否成功合成包括:响应于启动视频合成任务,启动与预定时间相关联的计时单元,计时单元与用于生成合成视频的进程所包括的子进程相关联;响应于确定预定时间达到,确认子进程是否已经完成;响应于确定子进程没有完成,确定第一合成视频没有成功,结束子进程并且然后重新启动视频合成任务;以及响应于确定子进程已经完成,确定第一合成视频被成功合成。
在一些实施例中,预定时间是基于所获取的视频和商品信息的属性而确定。
在一些实施例中,商品信息包括如下项中的至少一项:商品的款号、商品的文字描述信息、商品的文字描述图片和商品主图。
在一些实施例中,生成第一合成视频包括:基于视频合成请求,获取商品款号;计算水印的位置,水印与商品款号相关联;基于商品款号、水印的位置和所获取的视频,生成初始合成视频,初始合成视频在水印的位置处被配置有商品款号;确定初始合成视频是否合成成功;响应于确定初始合成视频合成成功,将初始合成视频本地存储至数据库并且上传至云存储平台;以及响应于确定初始合成视频合成未成功,中止合成初始合成视频。
在一些实施例中,生成第一合成视频还包括:基于预定图片模板,将商品的文字描述信息转换成商品的文字描述图片并且将商品的文字描述图片上传至云存储平台;在初始合成视频中提取预订数量的视频帧;基于预订数量的视频帧、商品的文字描述图片以及商品主图,生成最终合成视频;确定最终合成视频是否合成成功;响应于确定最终合成视频合成成功,将最终合成视频本地存储至数据库并且上传至云存储平台;以及响应于确定最终合成视频合成未成功,中止合成最终合成视频。
在一些实施例中,子进程包括用于生成初始合成视频的第一子进程、用于生成最终合成视频的第二子进程,预定时间包括与第一子进程相关联的第一预定时间和与第二子进程相关联的第二预定时间。
在一些实施例中,商品信息还包括与商品活动相关联的商品的播号,商品的播号与所关联的商品活动的时间相关联。
在一些实施例中,用于合成视频的方法还包括:响应于接收到商品的播号,启动与合成配置有播号的合成视频相对应的视频合成任务;从云存储平台下载第一合成视频;在第一合成视频中合成商品的播号,以生成第二合成视频;确定第二合成视频是否合成成功;响应于确定第二合成视频合成成功,将第二合成视频上传到云存储平台并且本地保存至数据库;以及响应于确定第二合成视频合成未成功,中止合成第二合成视频。
在一些实施例中,用于合成视频的方法还包括:接收来自用户终端的商品的播号;以及基于所获取的商品的播号,自动链接到第二合成视频。
在一些实施例中,用于合成视频的方法还包括:响应于确定预定时间间隔到达,将数据库中的第一合成视频和第二合成视频缓存至本地缓存;响应于检测到来自用户终端的、针对商品的视频查询请求,使得本地缓存中的第一合成视频和第二合成视频被访问,以及向用户终端发送云存储平台中关于第一合成视频和第二合成视频的存储地址,以及响应于检测到针对商品的视频展示请求,使得云存储平台中的第一合成视频和第二合成视频被访问。
提供发明内容部分是为了以简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或主要特征,也无意限制本公开的范围。
附图说明
图1示出了根据本公开的实施例的用于合成视频的系统的示意图。
图2示出了根据本公开的实施例的用于合成视频的方法的流程图。
图3示出了根据本公开的另一实施例的用于合成视频的方法的流程图。
图4示出了根据本公开的实施例的确定视频合成结果的方法的流程图。
图5示出了根据本公开的实施例的用于生成初始合成视频的方法的流程图。
图6示出了根据本公开的实施例的用于生成最终合成视频的方法的流程图。
图7示出了根据本公开的实施例的用于合成带播号的视频的方法的流程图。
图8示意性示出了适于用来实现本公开实施例的电子设备的框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的优选实施例,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。
如前文所述,在传统的视频合成方法中,例如,使用一些开源技术将一些商品的信息合成到商品的视频中时,在待合成视频较多的情况下,各个视频合成的进程容易长时间占用服务器的CPU资源,例如在其中一个视频合成进程无法继续运行或出现假死的情况下,服务器就可能出现宕机的情况,其他的视频合成任务也随之搁浅。在这种情况下,需要手动启动服务器以便重新开始视频合成任务,这非常耗时耗力,服务器的资源也未能得到有效的利用。
为了至少部分地解决上述问题以及其他潜在问题中的一个或者多个,本公开的示例实施例提出了一种用于合成视频的方法。该方法包括:获取来自用户终端的视频合成请求;对视频合成请求进行验证;响应于确定视频合成请求通过验证且任务列表中的视频合成任务的数目小于预定阈值,将与视频合成请求相对应的视频合成任务加入任务列表中;基于视频合成任务中的通过验证的视频或商品信息,计算MD5值;响应于确定所计算的MD5值与已存储的MD5值不一致,启动视频合成任务,以基于视频以及商品信息,生成第一合成视频;以及将所生成的第一合成视频本地保存至数据库并且上传至云存储平台。
在上述的视频合成方法中,本公开通过对服务器中的任务列表中的视频合成任务配置预定阈值,以及在对视频进行合成之前还计算针对该视频合成请求的MD5值,并且在所计算的MD5值与服务器中已经存储的MD5值不一致的情况下,才合成视频;因此本公开能够避免因合成视频而导致的耗费计算资源和服务器宕机问题。另外,本公开通过基于视频以及商品信息生成第一合成视频,因此能够提高消费者进行与视频相关商品的交易便捷性。
图1示出了根据本公开的实施例的用于合成视频的系统100的示意图。如图1所示,系统100例如包括: 计算设备110、云存储平台120、多个用户终端130、140和网络150。计算设备110包括:请求接收单元111,请求验证单元112,任务列表单元113、MD5值计算单元114、视频处理单元115、计时单元116、数据库117和本地缓存118。
在一些实施例中,请求接收单元111,请求验证单元112,任务列表单元113、MD5值计算单元114、视频处理单元115、计时单元116、数据库117和本地缓存118可以配置在一个或者多个计算设备110上。计算设备110可以通过有线或者无线的方式(例如网络150)与云存储平台120以及多个用户终端130、140进行数据交互。在一些实施例中,计算设备130可以具有一个或多个处理单元,包括诸如GPU、FPGA和ASIC等的专用处理单元以及诸如CPU的通用处理单元。另外,在每个计算设备上也可以运行着一个或多个虚拟机。
关于请求接收单元111,其用于接收来自用户终端130(例如用于商户的用户终端)的视频合成请求。商户通过用户终端130输入视频合成请求,该视频合成请求一般可以指示待合成的商品原始视频和商品信息等。
关于请求验证单元112、其用于对来自用户终端130的视频合成请求进行验证。该请求验证单元112例如而不限于验证商品的原始视频的大小是否超过预定的阈值,商品图片是否清晰,商品的文字描述信息等是否存在违法信息等。
关于任务列表单元113,其用于判断列表中的任务是否小于预定阈值,且在小于阈值的情况下,对通过验证的视频合成请求建立视频合成任务。在一个实施例中,在该任务列表单元中,同时存在20个视频合成任务。如果任务列表中已经存在20个视频合成任务,则通过验证的新的请求,则需要等待到其他视频合成任务结束之后才能加入到该任务列表。
关于MD5值计算单元114,其用于基于视频合成任务中的通过验证的视频以及商品信息来计算针对该视频合成任务的MD5值。如果视频之前已经被处理过,或者商品信息与之前处理的相同,那么表示该计算的MD5值与已经存储的MD5一致,因此该MD5值计算单元向任务列表单元发送信号,指示任务列表单元删除与该MD5值相对应的视频合成任务。如果所计算的MD5值与已经存储的MD5不一致,则MD5值计算单元指示任务列表单元将与该MD5值相对应的视频合成任务发送到视频处理单元115。
关于视频处理单元115,其能够基于所接收到的视频合成任务而启动视频合成,从而基于视频和商品信息来合成视频。在一个示例性实施例中,商品信息包括商品的款号、商品的文字描述信息、商品的文字描述图片和商品主图。在一个示例性实施例中,商品信息还包括在商品进行活动时分配给该商品的播号。因此,所生成的合成视频可以包括商品款号的初始合成视频,包括商品款号和上述商品信息中的至少一项或全部的最终合成视频,以及包括最终合成视频或初始合成视频与商品播号的与商品活动相对应的合成视频。用户终端140(例如消费者用户终端)可以基于其上安装的APP等来转发上述三种视频中的任何一种。在视频合成完成之后,视频处理单元115向任务列表单元发送信息以删除完成的视频合成任务,以接收新的视频合成任务。
关于计时单元116,其能够对视频合成任务的进行计时,在超过预定阈值时间之后,如果视频合成任务尚未完成,则及时结束该视频合成任务,及时释放CPU资源。此外,被结束的视频合成任务能够在等待预定的时间之后,在视频处理单元115中被重新启动。
关于数据库117,该数据库能够存储已经计算的MD5值,以及上述已经合成的视频。
关于本地缓存118,其能够与数据库117进行数据交互,数据库中所存储的合成视频能够以规定的时间间隔被缓存到本地缓存118。在此情况下,来自用户终端140的视频查询请求能够直接访问该本地缓存118而不会访问数据库117,从而减少数据库117的访问请求。针对来自用户终端140的视频查询请求,本地缓存118向用户终端140反馈云存储平台中关于合成视频的存储地址。用户终端140基于该存储地址访问云存储平台中所存储的合成视频,并且在该用户终端140上对合成视频进行展示,并且还能够进行转发。
以下将结合图2描述根据本公开的实施例的用于合成视频的方法200。图2示出了根据本公开的实施例的用于合成视频的方法200的流程图。应当理解,方法200例如可以在图8所描述的电子设备800处执行。也可以在图1所描述的计算设备110处执行。应当理解,方法200还可以包括未示出的附加动作和/或可以省略所示出的动作,本公开的范围在此方面不受限制。
在步骤202处,获取来自用户终端的视频合成请求。
在步骤204处,对所述视频合成请求进行验证。
在步骤206处,响应于确定所述视频合成请求通过验证且任务列表中的视频合成任务的数目小于预定阈值,将与所述视频合成请求相对应的视频合成任务加入所述任务列表中。例如,预定阈值为20个视频合成任务,如果任务列表中已经存在20个视频合成任务,则通过验证的新的请求,则需要等待到其他任何一个视频合成任务结束之后才能加入到该任务列表。
在步骤208处,基于所述视频合成任务中的通过验证的视频或商品信息,计算MD5值。
在步骤210处,响应于确定所计算的MD5值与已存储的MD5值不一致,启动所述视频合成任务,以基于所述视频以及所述商品信息,生成第一合成视频。
在步骤212处,将所生成的第一合成视频进行本地保存至数据库并且上传至云存储平台。
如图2所示,在根据本公开的实施例的视频合成方法中,通过对视频合成任务建立任务列表,能够有效地管理所有的视频合成任务,使得视频合成任务能够有序地进行,使得服务器资源不会过负荷,得到合理利用。通过计算视频合成请求的MD5值,能够及时排除重复的视频合成请求,从而合理有效地利用服务器CPU资源,从而防止服务器CPU资源负荷过多。在上述的示例性实施例中,建立任务列表在通过审核之后且在计算MD5值之前。但是,在另一未示出的实施例中,也可以在建立任务列表之前,就对MD5值进行验证,从而对已经合成过的视频不建立任务列表,本公开的范围在此方面不受限制。
图3示出了根据本公开的另一实施例的用于合成视频的方法300的流程图。
在步骤302处,计算设备110经由请求接收单元111获取来自用户终端的视频合成请求。该视频合成请求例如是来自用于商户的用户终端130的视频合成请求。该视频合成请求可以包括用户终端130处提供的详细的商品原始视频和商品信息等。该商品信息可以包括:商品的款号、商品的文字描述信息、商品的文字描述图片和商品主图等。
在步骤304处,计算设备110确认视频合成请求是否通过验证。该验证例如包括验证商品的原始视频的大小是否超过预定的阈值,商品图片是否清晰,商品的文字描述信息等是否存在违法信息等。
在步骤306处,计算设备110确定任务列表中正在处理的视频合成任务的数目是否小于预定阈值。在一个示例性实施例中,预定阈值为20个视频合成任务。如果正在处理的视频合成任务等于预定阈值,则新的视频合成任务则需要进行等待,直到任务列表中的视频合成任务小于预定阈值。
在步骤308处,如果计算设备110确定任务列表中正在处理的视频合成任务的数目小于预定阈值,将与视频合成请求相对应的视频合成任务加入任务列表中。
在步骤310处,计算设备110基于视频合成任务中的通过验证的视频或商品信息,计算MD5值。该MD5值的计算规则可以基于视频,也可以基于上述的商品信息中的任一项,或者基于两者。
在步骤312处,将所计算的MD5值与已存储的MD5值进行比较。所计算的MD5值与数据库中已经存储的MD5值进行比较并且也被存储到数据库中。如果所计算的MD5值与数据库中已经存储的MD5值一样,则表示该视频之前已经被处理过并且已经被存储至数据库和云存储平台,因此没有必要再对其进行进一步的处理,从而节省服务器CPU资源。
在步骤314处,响应于确定所计算的MD5值与已存储的MD5值不一致,启动视频合成任务,以基于视频以及商品信息,生成第一合成视频。该视频合成任务例如由视频处理单元115来完成。任务列表单元113响应于确定所计算的MD5值与已存储的MD5值不一致将该视频合成任务发送到视频处理单元115以进行视频合成处理。
在步骤316处,确定第一合成视频是否成功合成。
在步骤318处,响应于确定第一合成视频被成功合成,通知第一合成视频被成功合成,以从任务列表中删除与所计算的MD5值相对应的视频合成任务,且将所生成的第一合成视频本地保存至本地数据库117并且上传至云存储平台120。将第一合成视频上传至云存储平台120能够便于消费者用户终端140能够从云存储平台120直接下载和观看该被合成的视频。在一个实施例中,该云存储平台120可以是阿里云OSS。
在步骤320处,响应于确定第一合成视频未被成功合成,中止与所计算的MD5值相对应的视频合成任务。该被中止的任务仍然存在于任务列表中,在适当的时间,对该视频合成任务进行重启。
如图3所示,在根据本公开的实施例的视频合成方法中,通过对视频合成任务建立任务列表,能够有效地管理所有的视频合成任务,使得视频合成任务能够有序地进行执行,使得服务器资源不会过负荷,得到合理利用。通过计算视频合成请求的MD5值,能够及时排除重复的视频合成请求。在上述的示例性实施例中,建立任务列表在通过审核之后且在计算MD5值之前。但是,在另一未示出的实施例中,也可以在建立任务列表之前,就对MD5值进行验证,从而对已经合成过的视频不建立任务列表。此外,对正在进行的视频合成任务执行结果确定,如果确定合成成功,则从任务列表中删除该视频合成任务,否则该视频合成任务被中止,从而及时释放服务器CPU资源,从而防止服务器CPU出现宕机的情况。
以下将结合图4描述根据本公开的由计时单元执行的进程管理方法。图4示出了根据本公开的实施例的由计时单元执行的确定视频合成结果的方法400的流程图。
在步骤402中,响应于启动视频合成任务,启动与预定时间相关联的计时单元,计时单元与用于生成合成视频的进程所包括的子进程相关联。在视频合成任务被启动时,计时单元就对该视频合成任务进行计时。每个视频合成任务需要的时间不一样,计算设备110会为每个视频合成任务计算一个适当的预定时间,并将该预定时间发送给计时单元。在一个实施例中,该预定时间例如基于所获取的视频和商品信息的属性而确定,该属性例如是视频和商品信息的大小。
在步骤404中,响应于确定预定时间达到,确认子进程是否已经完成。子进程例如由视频处理单元115来执行,若进程还在进行,则说明视频还未合成成功。
在步骤406中,响应于确定子进程没有完成,确定第一合成视频没有成功,结束子进程,并且重启该视频合成任务。在该步骤中,计时单元将达到预定时间的信息发送给视频处理单元,视频处理单元及时终止该视频合成任务的子进程,从而及时释放服务器CPU资源。
在步骤408中,如果确定子进程已经完成,则表示视频合成成功,且将合成的视频本地保存至数据库并且上传至云存储平台。
如图4所示,在根据本公开的实施例的视频合成方法中,能够在视频合成的进程出现假死的情况下,结束该子进程,从而及时释放服务器资源,从而进一步有效防止服务器出现宕机的情况。对于已经中止的视频合成任务,在经过一段时间之后被重启。
以下将结合图5来说明由视频处理单元执行的用于生成初始合成视频的方法500的流程图。该初始合成视频仅包括商品款号和原始视频。
在步骤502处,基于视频合成请求,获取商品款号。商品信息通常包括商品款号。消费者基于视频中的款号信息可以与商家进行沟通,进行对该商品进行交易。
在步骤504中,计算水印的位置,水印与商品款号相关联。该计算由视频处理单元115来执行。
在步骤506处,基于商品款号、水印的位置和所获取的视频,生成初始合成视频,初始合成视频在水印的位置处被配置有商品款号。通常水印的位置在原始视频之外,也就是说在原始视频进行播放的同时,商品的款号一直被显示,从而便于消费者进行对款号进行查阅和观看。
在步骤508处,确定初始合成视频是否合成成功。
在步骤510处,响应于确定初始合成视频合成成功,将初始合成视频本地存储至数据库并且上传至云存储平台。
在步骤512处,响应于确定初始合成视频合成未成功,中止合成所述初始合成视频。在之后的时间,重启该初始合成视频的合成任务。
在图5所示的用于合成初始合成视频的方法中,启动与预定时间相关联的计时单元,从而计时单元对执行的初始合成视频的合成子进程进行计时,在达到预定时间时,确定该合成子进程是否完成,如果完成,则视频合成成功,并将合成成功的视频进行存储和上传。如果该子进程未完成,则视频合成不成功。在计时单元经过一段之间之后,对该视频合成任务进行重启。
以下将结合图6来说明由视频处理单元执行的用于生成最终合成视频的方法。该最终合成视频包括原始视频、商品款号、商品的文字描述图片和商品主图等。图6示出了由视频处理单元115执行的用于生成最终合成视频的方法600的流程图。
在步骤602处,基于预定图片模板,将商品的文字描述信息转换成商品的文字描述图片并且将商品的文字描述图片上传至云存储平台。该过程例如利用java中的swing提供的html转图片技术。该图片也被传输到云存储平台,以供消费者对该商品的文字描述图片进行查看。
在步骤604处,在初始合成视频中提取预订数量的视频帧。
在步骤606处,基于预订数量的视频帧、商品的文字描述图片以及商品主图,生成最终合成视频。该过程例如使用ffmpeg将商品的文字描述图片和商品主图合成到初始合成视频的预定数量的视频帧中。
在步骤608处,确定最终合成视频是否合成成功。
在步骤610处,响应于确定最终合成视频合成成功,将初始合成视频本地存储至数据库并且上传至云存储平台。
在步骤612处,响应于确定最终合成视频合成未成功,中止合成最终合成视频。在之后的时间,重启该最终合成视频的合成任务。
在图6所示的用于合成最终合成视频的方法中,启动与预定时间相关联的计时单元,从而计时单元对执行的最终合成视频的合成子进程进行计时,在达到预定时间时,确定该合成子进程是否完成,如果完成则视频合成成功,并将合成成功的视频进行存储和上传。如果该子进程未完成,则视频合成不成功。在计时单元经过一段之间之后,对该视频合成任务进行重启。
在传统的商品交易中,商家通常经过网络平台以视频的方式对商品进行一些促销、直播等活动。消费者能够在用户终端上的APP上观看视频,或者转发该商品活动的视频,使得另一消费者可以获取到被转发的商品活动信息。但是在传统的商品交易中,另一消费者基于该被转发的商品活动信息无法很方便地与商品销售渠道建立关联,而只能进行观看。然后该消费者通过自己在视频中获取到的信息,在APP中基于传统的商品信息(例如商品名称或商品描述信息等)来查找该商品和销售该商品的商家,这使得商品的查询和交易都不方便。在根据本公开的实施例的视频合成方法中,能够通过该方法将商品视频、商品主图、商品文字描述信息和商品播号等信息组合在一起,消费者通过在APP中输入商品播号即可快速找到想要的商品。
在本公开的一个实施例中,商品信息还包括与商品活动相关联的商品的播号,商品的播号与所关联的商品活动的时间相关联。同一商品在不同的时间进行活动时,所赋予其的播号是不同的。每次活动时,带播号的商品视频需要进行重新合成。
以下将接合图7来说明用于合成带播号的视频的方法。图7示出了根据本公开的实施例的由视频处理单元执行的用于合成带播号的视频的方法700的流程图。
在步骤702处,响应于接收到商品的播号,启动与合成配置有播号的合成视频相对应的视频合成任务。该商品活动可以由商家发起,并且由运营平台进行管理和审核。在审核通过之后,参与活动的商品可以被赋予播号。该商品的活动可以立刻被发布或者在预定的时间被发布。在活动被发布之后,计算设备110(具体地视频处理单元115)接收到商品的播号,从而启动在视频处理单元115中进行的视频合成任务。
在步骤704处,从云存储平台下载第一合成视频。计算设备110通过网络150从云存储平台120下载已经合成的第一合成视频,并将其传输至视频处理单元115。
在步骤706处,在第一合成视频中合成商品的播号,以生成第二合成视频。
在步骤708处,确定第二合成视频是否合成成功。
在步骤710处,响应于确定第二合成视频合成成功,将第二合成视频上传到云存储平台并且本地保存至数据库。
在步骤712处,响应于确定第二合成视频合成未成功,中止合成该第二合成视频。在之后的时间,重启该第二合成视频的合成任务。
在图7所示的用于合成带播号的第二合成视频的方法中,启动与预定时间相关联的计时单元,从而计时单元对执行的带播号的第二合成视频的合成子进程进行计时,在达到预定时间时,确定该合成子进程是否完成,如果完成则视频合成成功,并将合成成功的视频进行存储和上传。如果该子进程未完成,则视频合成不成功。在计时单元经过一段之间之后,对该视频合成任务进行重启。
如图7所示,在根据本公开的实施例的视频合成方法中,消费者通过视频上显示的商品播号即可在APP中快速找到想要的商品,从而使得商品的查找和交易更加便捷,从而有效地提升了用户体验。
图8示意性示出了适于用来实现本公开实施例的电子设备(或者计算设备)800的框图。设备800可以是用于实现执行图2至图7所示的方法200至700的设备。如图8所示,设备800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的计算机程序指令或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序指令,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。CPU801、ROM 802以及RAM803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
设备800中的多个部件连接至I/O接口805,包括:输入单元806、输出单元807、存储单元808,处理单元801执行上文所描述的各个方法和处理,例如执行方法200至700。例如,在一些实施例中,方法200至700可被实现为计算机软件程序,其被存储于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到RAM 803并由CPU 801执行时,可以执行上文描述的方法200至700的一个或多个操作。备选地,在其他实施例中,CPU801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法200至700的一个或多个动作。
需要进一步说明的是,本公开可以是方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,该编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给语音交互装置中的处理器、通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的设备、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,该模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
以上仅为本公开的可选实施例,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等效替换、改进等,均应包含在本公开的保护范围之内。

Claims (15)

1.一种合成视频的方法,包括:
获取来自用户终端的视频合成请求;
对所述视频合成请求进行验证;
响应于确定所述视频合成请求通过验证且任务列表中正在处理的视频合成任务的数目小于预定阈值,将与所述视频合成请求相对应的视频合成任务加入所述任务列表中,所述预定阈值数目的视频合成任务被同时处理;
基于所述视频合成任务中的通过验证的视频或商品信息,计算MD5值;
响应于确定所计算的MD5值与已存储的MD5值不一致,启动所述视频合成任务,以基于所述视频以及所述商品信息,生成第一合成视频;
确定第一合成视频是否成功合成,其中,确定第一合成视频是否成功合成包括:响应于启动所述视频合成任务,启动与预定时间相关联的计时单元,所述计时单元与用于生成合成视频的进程所包括的子进程相关联;响应于确定所述预定时间达到,确认所述子进程是否已经完成;以及响应于确定所述子进程没有完成,确定第一合成视频没有成功,结束所述子进程并且然后重新启动所述视频合成任务;
响应于确定第一合成视频被成功合成,将成功合成的第一合成视频进行本地保存至数据库并且上传至云存储平台,
响应于接收到所述商品信息中所包括的商品的播号,启动与合成配置有所述商品的播号的合成视频相对应的视频合成任务,其中所述商品的播号与所关联的商品活动的时间相关联,并且用于查找与所述商品的播号相关联的商品;
从所述云存储平台下载所述第一合成视频;以及
在所述第一合成视频中合成所述商品的播号,以生成第二合成视频。
2.根据权利要求1所述的方法,还包括:
响应于确定所计算的MD5值与已存储的MD5值相一致,删除所述任务列表中与所计算的MD5值相对应的视频合成任务,且结束所述视频合成任务。
3.根据权利要求1所述的方法,还包括:
响应于确定第一合成视频被成功合成,从所述任务列表中删除与所计算的MD5值相对应的视频合成任务;以及
响应于确定第一合成视频未被成功合成,中止与所计算的MD5值相对应的视频合成任务。
4.根据权利要求3所述的方法,其中确定第一合成视频是否成功合成还包括:
响应于确定所述子进程已经完成,确定所述第一合成视频被成功合成。
5.根据权利要求4所述的方法,其中所述预定时间是基于所获取的所述视频和所述商品信息的属性而确定。
6.根据权利要求4所述的方法,其中包含在所述第一合成视频中的所述商品信息包括如下项中的至少一项:商品的款号、商品的文字描述信息、商品的文字描述图片和商品主图。
7.根据权利要求6所述的方法,其中生成第一合成视频包括:
基于所述视频合成请求,获取商品款号;
计算水印的位置,所述水印与所述商品款号相关联;
基于所述商品款号、所述水印的位置和所获取的视频,生成初始合成视频,所述初始合成视频在所述水印的位置处被配置有所述商品款号;
确定所述初始合成视频是否合成成功;
响应于确定所述初始合成视频合成成功,将所述初始合成视频本地存储至所述数据库并且上传至所述云存储平台;以及
响应于确定所述初始合成视频合成未成功,中止合成所述初始合成视频。
8.根据权利要求7所述的方法,其中生成第一合成视频还包括:
基于预定图片模板,将所述商品的文字描述信息转换成所述商品的文字描述图片并且将所述商品的文字描述图片上传至所述云存储平台;
在所述初始合成视频中提取预订数量的视频帧;
基于所述预订数量的视频帧、所述商品的文字描述图片以及所述商品主图,生成最终合成视频;
确定所述最终合成视频是否合成成功;
响应于确定所述最终合成视频合成成功,将所述最终合成视频本地存储至所述数据库并且上传至所述云存储平台;以及
响应于确定所述最终合成视频合成未成功,中止合成所述最终合成视频。
9.根据权利要求8所述的方法,其中所述子进程包括用于生成初始合成视频的第一子进程、用于生成所述最终合成视频的第二子进程,所述预定时间包括与第一子进程相关联的第一预定时间和与第二子进程相关联的第二预定时间。
10.根据权利要求1所述的方法,还包括:
确定所述第二合成视频是否合成成功;
响应于确定所述第二合成视频合成成功,将所述第二合成视频上传到云存储平台并且本地保存至数据库;以及
响应于确定所述第二合成视频合成未成功,中止合成所述第二合成视频。
11.根据权利要求10所述的方法,还包括:
接收来自用户终端的商品的播号;以及
基于所获取的商品的播号,自动链接到所述第二合成视频。
12.根据权利要求10所述的方法,还包括:
响应于确定预定时间间隔到达,将所述数据库中的所述第一合成视频和所述第二合成视频缓存至本地缓存;
响应于检测到来自所述用户终端的、针对商品的视频查询请求,使得所述本地缓存中的所述第一合成视频和所述第二合成视频被访问,以及向所述用户终端发送所述云存储平台中关于所述第一合成视频和所述第二合成视频的存储地址,以及
响应于检测到针对商品的视频展示请求,使得所述云存储平台中的所述第一合成视频和所述第二合成视频被访问。
13.根据权利要求1所述的方法,还包括:
响应于确定所述视频合成请求通过验证且任务列表中正在处理的视频合成任务的数目等于预定阈值,则通过验证的所述视频合成请求进行等待,在所述任务列表中的视频合成任务的数量小于所述预定阈值之后,通过验证的所述视频合成请求被加入到所述任务列表中。
14.一种计算设备,包括:
至少一个处理单元;
至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理单元并且存储用于由所述至少一个处理单元执行的指令,所述指令当由所述至少一个处理单元执行时,使得所述设备执行根据权利要求1-13任一项所述的方法的步骤。
15.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被机器执行时实现根据权利要求1-13中任一项所述的方法。
CN202010727367.9A 2020-07-27 2020-07-27 用于合成视频的方法、计算设备和计算机可读存储介质 Active CN111598672B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010727367.9A CN111598672B (zh) 2020-07-27 2020-07-27 用于合成视频的方法、计算设备和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010727367.9A CN111598672B (zh) 2020-07-27 2020-07-27 用于合成视频的方法、计算设备和计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN111598672A CN111598672A (zh) 2020-08-28
CN111598672B true CN111598672B (zh) 2020-11-24

Family

ID=72192463

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010727367.9A Active CN111598672B (zh) 2020-07-27 2020-07-27 用于合成视频的方法、计算设备和计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN111598672B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114640806A (zh) * 2022-03-14 2022-06-17 上海哔哩哔哩科技有限公司 视频文件合成方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105590251A (zh) * 2015-12-21 2016-05-18 曾友国 一种整合视频观看与商品交易的电商平台及其构建方法
CN107786873A (zh) * 2016-08-30 2018-03-09 山大鲁能信息科技有限公司 基于转码队列的自动视频转码封包格式的录播方法及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7607016B2 (en) * 2001-04-20 2009-10-20 Digimarc Corporation Including a metric in a digital watermark for media authentication
CN100365544C (zh) * 2006-03-10 2008-01-30 浙江大学 嵌入式系统外部设备带有等待超时判断的节能切换方法
CN109274992A (zh) * 2018-10-22 2019-01-25 江苏省广播电视总台 一种基于电视台融合媒体云平台实现的节目制播业务流程
CN113784220B (zh) * 2020-02-17 2023-08-08 聚好看科技股份有限公司 播放媒体资源的方法、显示设备及移动设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105590251A (zh) * 2015-12-21 2016-05-18 曾友国 一种整合视频观看与商品交易的电商平台及其构建方法
CN107786873A (zh) * 2016-08-30 2018-03-09 山大鲁能信息科技有限公司 基于转码队列的自动视频转码封包格式的录播方法及系统

Also Published As

Publication number Publication date
CN111598672A (zh) 2020-08-28

Similar Documents

Publication Publication Date Title
EP3005160B1 (en) Bundle package retrieving
EP3005100B1 (en) Bundle package generation
US9323514B2 (en) Resource package indexing
US20140357357A1 (en) Game bundle package
US9415312B2 (en) Method for identifying a client's request signal at game based on web
CN109168012B (zh) 用于终端设备的信息处理方法和装置
CN110401630B (zh) 交易凭证的验证方法、装置、电子设备和介质
US20140359605A1 (en) Bundle package signing
CN111090533B (zh) 公告信息发送方法、装置、电子设备及存储介质
CN113181646A (zh) 游戏数据方法及装置、电子设备、存储介质
CN111598672B (zh) 用于合成视频的方法、计算设备和计算机可读存储介质
CN113923500B (zh) 数据处理方法、装置、服务器及存储介质
CN114911595A (zh) 动画资源的信息处理方法、装置、设备、介质及产品
US10997963B1 (en) Voice based interaction based on context-based directives
CN114025116A (zh) 视频生成方法、装置、可读介质和电子设备
JP2015531518A (ja) 電子取引情報を処理する方法及び装置
US20140351089A1 (en) Recording medium, information processing apparatus, product selling system and product selling method
CN105095398B (zh) 一种信息提供方法和装置
CN111737031A (zh) 用于管理分享信息的方法、计算设备和存储介质
US20190311335A1 (en) Systems and methods for in-application content management
KR102246664B1 (ko) 폰트 스티커를 제공하는 방법, 시스템, 및 비-일시적인 컴퓨터 판독가능한 기록 매체
CN104657151B (zh) 应用程序的展示方法和装置
CN110443684B (zh) 组合产品快照式价格信息处理方法及装置
CN110351602B (zh) 用于电子设备的方法、信息处理系统和电子设备
CN112565472A (zh) 静态资源的处理方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20231124

Address after: Room 201-3, 2nd Floor, No. 188 Yesheng Road, Lingang New Area, China (Shanghai) Pilot Free Trade Zone, Pudong New Area, Shanghai, June 2013

Patentee after: Shanghai Shangliang Information Technology Co.,Ltd.

Address before: Room 208, Building 1, Shengtai Huafu, No. 36 Shengtai East Road, Moling Street, Jiangning District, Nanjing City, Jiangsu Province, 211106 (Jiangning Development Zone)

Patentee before: Nanjing dreampay Network Technology Co.,Ltd.