CN118102018A - 视频编辑方法、装置、设备及介质 - Google Patents
视频编辑方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN118102018A CN118102018A CN202211435280.XA CN202211435280A CN118102018A CN 118102018 A CN118102018 A CN 118102018A CN 202211435280 A CN202211435280 A CN 202211435280A CN 118102018 A CN118102018 A CN 118102018A
- Authority
- CN
- China
- Prior art keywords
- editing
- script
- video
- target
- user
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 88
- 238000013515 script Methods 0.000 claims abstract description 494
- 238000012545 processing Methods 0.000 claims abstract description 28
- 230000006870 function Effects 0.000 claims description 75
- 230000000694 effects Effects 0.000 claims description 33
- 238000010586 diagram Methods 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims description 16
- 230000001960 triggered effect Effects 0.000 claims description 16
- 230000001174 ascending effect Effects 0.000 claims description 10
- 238000004422 calculation algorithm Methods 0.000 claims description 9
- 238000012163 sequencing technique Methods 0.000 claims description 6
- 230000009191 jumping Effects 0.000 claims description 5
- 239000000463 material Substances 0.000 description 32
- 230000008569 process Effects 0.000 description 14
- 230000000007 visual effect Effects 0.000 description 9
- 230000007704 transition Effects 0.000 description 7
- 238000007711 solidification Methods 0.000 description 4
- 230000008023 solidification Effects 0.000 description 4
- 238000012800 visualization Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004382 visual function Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 239000007943 implant Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04847—Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本公开实施例涉及一种视频编辑方法、装置、设备及介质,其中该方法包括:在视频编辑界面上呈现编辑对象和编辑工具;响应于针对编辑对象中的第一编辑对象触发编辑工具中的第一编辑工具,通过执行第一编辑工具对应的预设脚本实现对第一编辑对象进行编辑处理,得到第二编辑对象;响应于针对编辑对象中的第三编辑对象触发编辑工具中的第二编辑工具,呈现第三编辑对象的脚本编辑界面,获取脚本编辑界面中输入的目标脚本,并通过执行目标脚本实现对第三编辑对象进行编辑处理,得到第四编辑对象;基于第二编辑对象和/或第四编辑对象,生成目标视频。本公开实施例能够满足用户的多样化编辑需求,极大提升了视频编辑的灵活性。
Description
技术领域
本公开涉及视频处理技术领域,尤其涉及一种视频编辑方法、装置、设备及介质。
背景技术
现有的视频编辑软件均是给用户提供多种可对视频进行编辑的功能,但这些编辑功能都是固化的,也即用户只能采用软件提供的固化功能中的一种或多种完成视频编辑操作,灵活性较差,难以满足用户多样化的视频编辑需求。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种视频编辑方法、装置、设备及介质。
本公开实施例提供了一种视频编辑方法,所述方法包括:在视频编辑界面上呈现编辑对象和编辑工具,所述编辑工具用于触发对所述编辑对象的编辑操作;响应于针对所述编辑对象中的第一编辑对象触发所述编辑工具中的第一编辑工具,通过执行所述第一编辑工具对应的预设脚本实现对所述第一编辑对象进行编辑处理,得到第二编辑对象;响应于针对所述编辑对象中的第三编辑对象触发所述编辑工具中的第二编辑工具,呈现所述第三编辑对象的脚本编辑界面,获取所述脚本编辑界面中输入的目标脚本,并通过执行所述目标脚本实现对所述第三编辑对象进行编辑处理,得到第四编辑对象;基于所述第二编辑对象和/或所述第四编辑对象,生成目标视频。
可选的,所述视频编辑界面上展示有视频编辑轨道,所述编辑对象包括所述视频编辑轨道上的元素和/或目标视频的属性。
可选的,所述脚本编辑界面展示有可录入脚本代码的脚本编辑窗口;获取所述脚本编辑界面中输入的目标脚本的步骤,包括:通过所述脚本编辑窗口获取用户录入的脚本代码;基于所述用户录入的脚本代码得到目标脚本。
可选的,所述脚本编辑界面展示有脚本获取链接;获取所述脚本编辑界面中输入的目标脚本的步骤,包括:响应于所述脚本获取链接被触发,跳转至脚本库;其中,所述脚本库包括个人脚本库和/或公共脚本库;获取用户从所述脚本库中选择的脚本;基于所述用户选择的脚本得到目标脚本。
可选的,基于所述用户选择的脚本得到目标脚本的步骤,包括:在所述用户针对选择的脚本进行编辑的情况下,将编辑后的脚本作为目标脚本。
可选的,所述第三编辑对象的数量为多个,通过执行所述目标脚本实现对所述第三编辑对象进行编辑处理的步骤,包括:基于多个所述第三编辑对象各自对应的目标脚本中指示的开始时间,对多个所述第三编辑对象对应的目标脚本按照时间升序方式进行排序;对于排在首位的第三编辑对象,在当前时间达到该第三编辑对象对应的开始时间时,通过执行该第三编辑对象对应的目标脚本实现对该第三编辑对象进行编辑处理;对于排在非首位的第三编辑对象,在该第三编辑对象的前一个第三编辑对象对应的目标脚本已执行,且当前时间达到该第三编辑对象对应的开始时间时,通过执行该第三编辑对象对应的目标脚本实现对该第三编辑对象进行编辑处理。
可选的,所述方法还包括:若存在所述第三编辑对象对应的目标脚本中指示所述第三编辑对象对应的开始时间被修改,则重新对多个所述第三编辑对象对应的目标脚本按照时间升序方式进行排序。
可选的,所述方法还包括:基于多个所述第三编辑对象之间的层级关系构建树状图;根据所述树状图以及预设的遍历算法确定多个所述第三编辑对象的脚本初始化顺序;基于所述脚本初始化顺序对多个所述第三编辑对象的目标脚本执行初始化操作。
可选的,所述视频剪辑界面上还呈现有预览播放器;所述方法还包括:在所述预览播放器上展示所述目标脚本对应的编辑效果。
可选的,所述方法还包括:在监测到用户通过所述第一编辑工具对所述第四编辑对象进行编辑处理的情况下,基于所述第一编辑工具对应的编辑处理方式修改用于生成所述第四编辑对象的目标脚本。
可选的,所述方法还包括:在所述视频编辑界面的指定位置提供所述编辑工具的使用说明;所述使用说明包含有脚本语言说明和所述编辑对象对应的脚本功能说明。
本公开实施例还提供了一种视频编辑装置,包括:呈现模块,用于在视频编辑界面上呈现编辑对象和编辑工具,所述编辑工具用于触发对所述编辑对象的编辑操作;第一编辑模块,用于响应于针对所述编辑对象中的第一编辑对象触发所述编辑工具中的第一编辑工具,通过执行所述第一编辑工具对应的预设脚本实现对所述第一编辑对象进行编辑处理,得到第二编辑对象;第二编辑模块,用于响应于针对所述编辑对象中的第三编辑对象触发所述编辑工具中的第二编辑工具,呈现所述第三编辑对象的脚本编辑界面,获取所述脚本编辑界面中输入的目标脚本,并通过执行所述目标脚本实现对所述第三编辑对象进行编辑处理,得到第四编辑对象;视频生成模块,用于基于所述第二编辑对象和/或所述第四编辑对象,生成目标视频。
本公开实施例还提供了一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现如本公开实施例提供的视频编辑方法。
本公开实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行如本公开实施例提供的视频编辑方法。
本公开实施例还提供了一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被处理器执行时实现任一项所述的视频编辑方法。
本公开实施例提供的上述技术方案,既可以使用户直接利用第一编辑工具对应的预设脚本进行编辑处理,方便快捷,又可以在用户触发第二编辑工具时呈现脚本编辑界面,以便用户在脚本编辑界面根据需求自行输入其所需的目标脚本,利用目标脚本进行编辑处理,也即为用户授予了脚本添加权限,从而满足用户的多样化编辑需求,极大提升了视频编辑的灵活性。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种视频编辑方法的流程示意图;
图2为本公开实施例提供的一种视频编辑界面的示意图;
图3为本公开实施例提供的一种视频编辑界面的示意图;
图4为本公开实施例提供的一种视频编辑界面的示意图;
图5为本公开实施例提供的一种元素层级关系树状示意图;
图6为本公开实施例提供的一种脚本初始化排序示意图;
图7为本公开实施例提供的一种编辑对象的起止时间示意图;
图8为本公开实施例提供的一种脚本执行流程的示意图;
图9为本公开实施例提供的一种视频编辑装置的结构示意图;
图10为本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
现有的视频编辑软件给用户提供的编辑功能均为固化功能,用户只能采用软件提供的固化功能中的一种或多种完成视频编辑操作,且用户采用固化功能进行视频编辑的方式主要为可视化的视频编辑方式,诸如,视频编辑软件会直接在界面上为用户提供用于编辑视频的功能控制键,用户通过功能控制键来控制编辑对象作用在视频上的效果,
又诸如,用户也可以直接通过拖动的方式调整素材出现时间/位置等。
发明人经研究发现,上述视频编辑方式只能令用户采用软件提供的固化功能中的一种或多种完成视频编辑操作,灵活性较差,也无法满足用户的多样化需求,诸如,现有软件只提供了素材在视频中的若干种出场方式,用户只能从已有的若干种出场方式中进行选择,具有一定的局限性,无法满足自己的个性化需求。另外,上述视频编辑方式在一定程度上也会给用户带来不便,诸如用户需要拖动素材轨道来调节素材在视频中的出现时间,但很多情况下无法直接将素材的出现准确调整至用户期望的时间点,可能需要反复多次调整,因此也存在一定的不便性。此外,对于一些需要批量处理视频的用户而言,采用现有的视频编辑方式则更为繁琐复杂,假设多个视频的编辑方式大多一致,诸如都需要采用同一个素材,该素材在视频中的出现时间/出场方式一致,用户则需要分别针对每个视频都采用拖动方式调整素材的出现时间,并且查找所需的出场方式,较为繁琐,处理批量视频的效率低下。
针对相关技术中的视频编辑方案所存在的上述缺陷是申请人在经过实践并仔细研究后得出的结果,因此,上述缺陷的发现过程以及在下文中本公开实施例针对上述缺陷所提出的解决方案,都应该被认定为申请人对本申请做出的贡献。
为了改善以上问题中的一种或多种,本公开实施例给出了一种视频编辑方法、装置、设备及介质,以下进行详细阐述说明。
图1为本公开实施例提供的一种视频编辑方法的流程示意图,该方法可以由视频编辑装置执行,其中该装置可以采用软件和/或硬件实现,一般可集成在电子设备中,该电子设备诸如可以为手机、电脑、便携式穿戴设备等,在此不进行限制。或者,上述视频剪辑方法可应用于设置有具有视频剪辑功能的客户端(如视频剪辑软件),如图1所示,该方法主要包括如下步骤S102~步骤S108:
步骤S102,在视频编辑界面上呈现编辑对象和编辑工具,编辑工具用于触发对编辑对象的编辑操作。
在一些具体的实施示例中,视频编辑界面上展示有视频编辑轨道,编辑对象包括视频编辑轨道上的元素和/或目标视频的属性。编辑轨道上的元素包括但不限于轨道片段,目标视频的属性诸如可以是时间轴总长对应的目标视频的长度、目标视频的分辨率等。本公开实施例对编辑对象不进行限制,任意在视频编辑过程中所涉及的对象均可作为编辑对象,也即,编辑对象为剪辑待处理视频所需的对象,诸如素材、素材对应的轨道以及时间轴等也均可视为编辑对象。可以理解的是,在视频编辑界面上可以展示有能够对视频进行剪辑(也即改变视频效果)的各种元素,编辑对象中的编辑轨道上的元素包括轨道片段,轨道片段可以与素材相对应,诸如文本轨道片段、贴纸轨道片段、特效轨道片段等,其中,素材包括但不限于贴纸、文本、特效、滤镜、转场动画、视频、图片等;具体而言,贴纸即为可被贴附到视频上的静态图片或动态图片,文本即为可在视频上贴附的文字,特效可理解为能够作用在视频画面上的特有效果,可由渲染器负责视频画面进行二次加工渲染;滤镜即为可作用于视频画面上的颜色效果;转档动画可理解为视频中两个片段之间的切换动画,以此增加片段切换的连贯与过渡效果。通常而言,在视频编辑软件中会提供上述素材,以供用户根据需求采用素材对视频进行编辑。每个素材都对应有轨道(可称为素材轨道),轨道用于表征素材在时间轴上的分布,也可理解为上述轨道片段,通过多个轨道片段的组合以及不同轨道片段及不同时间段的设置,可呈现不同的视觉效果;而时间轴则可体现视频的总时长,能够显示视频的时间进度,用以控制某个时间点显示的画面内容。
除此之外,视频编辑界面上还可以设置预览播放器,预览播放器中也可以展示有部分的编辑对象(比如贴纸、文本等)。此外,视频编辑界面上还可以包含编辑对象选择区域,以供用户从中选择将哪些所需的编辑对象添加到轨道上;此外,视频编辑界面上还可以设置用于呈现编辑工具的区域,以便用户通过该区域选择所需的编辑工具的具体类型。在一些具体的实施示例中,编辑工具包括第一编辑工具和第二编辑工具,第一编辑工具是用户可自动触发的预设操作工具,主要用于供用户按照视频编辑软件的预设方式进行编辑,第二编辑工具是需要用户输入脚本的自定义操作工具,主要用于供用户根据自己的需求进行自定义编辑。在实际应用中,视频编辑界面上可以在用于呈现编辑工具的区域中显示各编辑工具对应的控件,不同编辑工具对应的编辑功能不同,可供用户根据需求从中选择,并通过触发控件的方式调用所需的编辑工具。
步骤S104,响应于针对编辑对象中的第一编辑对象触发编辑工具中的第一编辑工具,通过执行第一编辑工具对应的预设脚本实现对第一编辑对象进行编辑处理,得到第二编辑对象。
如前所述,第一编辑工具是用户可自动触发的预设操作工具,在具体实现时,软件系统中预先存储有第一编辑工具对应的预设脚本,用户在触发第一编辑工具时,则可以直接执行该第一编辑工具对应的预设脚本,以此实现对第一编辑对象的编辑处理,编辑处理后的第一编辑对象可称为第二编辑对象。可以理解的是,脚本实质为代码片段,可实现一定的功能逻辑,第一编辑工具对应的预设脚本可用于指示对第一编辑对象进行编辑处理的具体方式,诸如设置文本素材的样式、内容及文本素材在视频中的出现时间段等。
步骤S106,响应于针对编辑对象中的第三编辑对象触发编辑工具中的第二编辑工具,呈现第三编辑对象的脚本编辑界面,获取脚本编辑界面中输入的目标脚本,并通过执行目标脚本实现对第三编辑对象进行编辑处理,得到第四编辑对象。
如前所述,第二编辑工具是需要用户输入脚本的自定义操作工具,在实际应用中,可以在视频编辑界面上展示第二编辑工具对应的脚本添加端口,在用户触发脚本添加端口时,即可认为用户触发了第二编辑工具。脚本添加端口为用户提供了添加脚本的路径,用户可以通过脚本添加端口添加第三编辑对象对应的目标脚本,该目标脚本也可理解为自定义脚本,可用于指示对第三编辑对象进行编辑处理的具体方式,且该方式是由用户根据需求自行设置的。本公开实施例提供的上述方式相当于通过暴露接口的方式为用户提供可根据需求植入代码片段的路径,以便于用户能够不局限于视频编辑软件的固化功能进行视频剪辑,而是可以根据自身需求进行剪辑,从而满足用户的多样化剪辑需求。
在脚本编辑界面中输入的脚本即为目标脚本(自定义脚本),用户可以根据需求直接在脚本编辑界面中自行编写脚本代码,也可以从脚本库中选择所需的脚本,并录入至脚本编辑界面中,本公开实施例对脚本来源不进行限制。通过执行从脚本编辑界面获取的目标脚本,以此实现对第三编辑对象的编辑处理,编辑处理后的第三编辑对象可称为第四编辑对象。应当说明的是,第三编辑对象可以与第一编辑对象或第二编辑对象相同,也可以与第一编辑对象或第二编辑对象不同,需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来进行实体区分,而不一定要求或者暗示这些实体之间存在任何实际关系或者顺序。
步骤S108,基于第二编辑对象和/或第四编辑对象,生成目标视频。
在实际应用中,在只存在第二编辑对象的情况下,也即在用户只采用第一编辑工具的情况下,基于第二编辑对象进行视频编辑处理,得到目标视频;在只存在第四编辑对象的情况下,也即在用户只采用第二编辑工具的情况下,基于第四编辑对象进行视频编辑处理,得到目标视频;在既存在第二编辑对象又存在第四编辑对象的情况下,也即在用户既采用第一编辑工具又采用第二编辑工具的情况下,基于第二编辑对象和第四编辑对象,得到目标视频。在实际应用中,可以根据第二编辑对象和/或第四编辑对象将原始视频编辑成目标视频。
本公开实施例提供的上述技术方案,既可以使用户直接利用第一编辑工具对应的预设脚本进行编辑处理,方便快捷,又可以在用户触发第二编辑工具时呈现脚本编辑界面,以便用户在脚本编辑界面根据需求自行输入其所需的目标脚本,利用目标脚本进行编辑处理,也即为用户授予了脚本添加权限,从而满足用户的多样化编辑需求,极大提升了视频编辑的灵活性。
在一些实施示例中,在视频编辑界面上展示有脚本编辑界面,并获取脚本编辑界面中输入的目标脚本的两种实施方式,以下分别阐述:
实施方式一:脚本编辑界面展示有可录入脚本代码的脚本编辑窗口;基于此,获取脚本编辑界面中输入的目标脚本的步骤,包括:通过脚本编辑窗口获取用户录入的脚本代码;基于用户录入的脚本代码得到目标脚本。在实际应用中,可采用浮窗形式或界面内嵌形式展示脚本编辑窗口,以使用户通过脚本编辑窗口编写目标脚本。
通过直接展示脚本编辑窗口的方式,便于用户直接根据需求在脚本编辑窗口中编写所需的脚本,以便实现自己的多样化视频编辑需求,非常灵活。
实施方式二:脚本编辑界面展示有脚本获取链接;基于此,获取脚本编辑界面中输入的目标脚本的步骤,包括:响应于脚本获取链接被触发,跳转至脚本库;其中,脚本库包括个人脚本库和/或公共脚本库;然后获取用户从脚本库中选择的脚本;基于用户选择的脚本得到目标脚本。
其中,个人脚本库用于存储由用户个人预先编写的私人脚本,诸如,用户将具有常用功能的多个脚本存放在个人的脚本库中,方便之后使用时直接调用;公共脚本库用于存储由公众预先编写的公共脚本,诸如用户可将自己编写的脚本上传至公共脚本库公开使用,该公共脚本库也可称为脚本商城,用户可以通过公共脚本库下载所需的脚本。在此基础上,脚本便捷界面上展示有可跳转至脚本库的脚本获取链接,用户点击脚本获取链接后,界面自动跳转至用户选择的个人脚本库或者公共脚本库,以便于用户从脚本库中选择所需的脚本。在实际应用中,用户可以将选择的脚本直接作为目标脚本,也可以对选择的脚本进一步编辑,在用户针对选择的脚本进行编辑的情况下,将编辑后的脚本作为目标脚本。
通过上述展示脚本获取链接的方式,用户可以方便快捷地从脚本库中选择所需的脚本,该脚本可以是用户之前编写的脚本,也可以是公众分享的脚本,在打破视频编辑软件的固有功能的基础上,还可以进一步缩减视频编辑耗时,提升视频编辑的便利性。
在实际应用中,可以根据需求灵活选用上述实施方式一和/或实施方式二,诸如可以在展示脚本编辑窗口的同时也展示脚本获取链接,以便于用户选择所需的脚本添加方式。
综上,在用户选中第三编辑对象后,可以为用户提供相应的脚本编辑界面,添加的脚本可以是用户在脚本编辑窗口中现场编写的,也可以是用户通过个人脚本库调用之前已写好的历史脚本,还可以是用户从公共脚本库等平台下载的脚本,因此脚本添加方式多样,为用户为第三编辑对象添加相应脚本提供了极大的便利性。
在实际应用中,考虑到用户在历史编辑过程中就已在脚本编辑界面中输入了第三编辑对象对应的目标脚本,在用户当前针对第三编辑对象再次触发第二编辑工具时,可以直接在脚本编辑界面中展示第三编辑对象的历史脚本,该脚本可以是用户针对第三编辑对象最近一次编辑保存的脚本或者最近一次通过脚本库添加的脚本,用户可以直接在历史脚本的基础上进一步根据需求进行修改。具体实现时,脚本编辑界面上可以设置有脚本编辑按键,在用户触发脚本编辑按键时,即可对在界面上展示的当前脚本进行修改调整,这种方式给用户提供了灵活便捷的脚本修改途径,方便用户可根据需求多次修改脚本,以便调整脚本可实现的功能。此外,脚本编辑界面上可以设置有脚本删除按键,在用户触发脚本删除按键时,即可对在界面上展示的当前脚本执行删除操作。用户在删除脚本的基础上可以进一步添加新脚本,也可以不再添加新脚本,此时则表示用户可能不需要采用被删除脚本的第三编辑对象,或者,用户不再需要采用自定义脚本的方式对第三编辑对象进行编辑处理,转而采用第一编辑工具对应的预设脚本的方式对第三编辑对象进行编辑处理。
为便于对上述内容进行理解,可参见图2所示的一种视频编辑界面的示意图,在视频编辑界面中展示有视频编辑轨道上的文本、贴纸等元素的轨道片段,而且还陈列有诸如视频、音频、文本、贴纸等编辑对象相应的触发按键,以及还示意出用于发起脚本添加请求的脚本添加按键(图示中的“添加脚本”按键)、用于发起脚本删除请求的脚本删除按键(图示中的“删除脚本”按键)、用于发起脚本编辑请求的脚本编辑按键(图示中的“编辑脚本”按键);上述按键可用于使用户触发编辑工具。用户可以选中所需的编辑对象,图2中以视频触发按键被选中为例进行说明,此时脚本添加按键即为可选状态(也即可被触发)。图2中仅为示意图,并非真实画面,其中带阴影的按键表示该按键处于可选状态(也即用户可点击),文字加粗表示该按键已处于被触发的状态(也即已被选中)。用户通过触发上述按键可以调用本公开实施例中的编辑工具。
在图2的基础上,可再参见图3所示的一种视频编辑界面的示意图,表示用户已针对所选中的编辑对象添加脚本后,脚本删除按键和脚本编辑按键均处于可选状态,也即用户还可进一步针对已添加的脚本进行编辑或删除操作。当用户触发脚本编辑按键时,视频编辑界面上还可以出现如图4所示的以浮窗形式出现的脚本编辑界面,该脚本编辑界面包括脚本程序编辑框,用户可根据需求在脚本编辑界面中录入所需的脚本代码。应当说明的是,图4仅为示例,在实际应用中,脚本编辑界面还可以采用内嵌形式出现在视频编辑界面上。
上述图2~图4均为示例性说明,示意出各素材对应的触发按键、脚本添加/编辑/删除按键,而且还示意出诸如属性区域(可表示素材属性,比如添加的文本字号、文本字体样式等)、素材轨道、时间轴等。在实际应用中,视频编辑界面上可以同时展示编辑对象在视频上的呈现效果(视频剪辑效果)、用于可视化操作的功能控制键等传统按键以及用于设置参数的端口;也即,可以在保留原有的可视化视频剪辑方式的基础上新增采用用户的自定义脚本进行视频剪辑的方式,以便用户可以灵活选用所需的方式进行视频剪辑。诸如,用户想要选择五个编辑对象对视频进行剪辑,可以对于其中三个编辑对象采用自定义脚本方式进行视频剪辑,以便实现视频编辑软件中未提供的功能;对于另外两个编辑对象,视频编辑软件提供的功能便可满足用户需求,因此直接采用可视化剪辑方式即可。也即,在实际应用中,视频编辑软件中的每个编辑对象都可对应脚本,对于每个编辑对象而言,用户可以采用自定义脚本对编辑对象进行控制,也可以采用已有功能按键对应的预设脚本对编辑对象进行控制,在此不进行限制。
综上,通过上述方式,用户可以根据需求灵活选择所需用编辑工具对视频进行剪辑,以及为所需剪辑视频的编辑对象添加、编辑及删除相应的脚本,从而满足自身的多样化视频剪辑需求。
为了使用户清楚获知基于脚本实现视频剪辑的具体操作方式,本公开实施例提供的上述方法还包括:在视频编辑界面的指定位置提供编辑工具的使用说明;使用说明包含有脚本语言说明和编辑对象对应的脚本功能说明。指定位置诸如可以是软件介绍页面、功能页面等,在此不进行限制。也即,在实际应用中,可以在视频编辑软件中的指定位置为用户提供用脚本控制视频编辑的说明文档,该说明文档包括但不限于脚本编辑语言的介绍、脚本的功能说明、采用脚本控制视频剪辑的具体方式等,以便于用户能够通过说明文档清楚获知如何使用脚本对编辑对象进行编辑处理,以此实现视频编辑。
本公开实施例对脚本对应的语言不进行限制,在一些具体的实施示例中,脚本可采用自定义DSL(domain specific language,领域专用语言)实现,其也可称为动态脚本语言。在语法上,可以使用类似JavaScript、Lua、KotlinScript等语言风格,在此不进行限制。脚本程序可包含如下内容:1)基本的控制流程:诸如条件判断语句if,循环控制语句for、while等;2)函数:可包含内置函数和自定义函数。其中,内置函数可以为视频剪辑软件预先提供的固有函数,诸如用于获取当前时间线时长的getCurrentTime函数、用于获取元素的起始时间的getBeginTime等,自定义函数可以为用户根据需求将所需实现的逻辑编写成的函数,用以实现用户自定义的逻辑。3)触发器。触发器在本质上是函数的一种,但其由脚本控制程序执行并回调,用户不需要主动调用,而是被动触发,触发器诸如可包含用于触发脚本执行的onStart函数、用于触发脚本结束执行的onEnd函数等。以上函数名称均为示例性说明,不应当被视为限制。本公开实施例在前述提及的各编辑对象的类型(诸如轨道上的元素、视频属性等)均可脚本化,不同的编辑对象也可称为不同类型的可脚本化实体对象,也即可以被添加相应的脚本,基于脚本控制相应的编辑对象针对视频进行剪辑的方式,以便实现更多功能。
脚本通常具有一些基本的功能函数和触发器,示例性地,包括但不限于:用于获取当前时间线时长的getCurrentTime函数、用于获取当前的编辑对象的内部时长的getCurrentInnerTime函数、用于获取编辑对象的起始时间的getBeginTime函数、用于获取编辑对象的结束时间的getEndTime函数、用于在编辑对象的脚本被执行时回调的onStart函数、用于在编辑对象触发结束时回调的onEnd函数、用于当编辑对象的时间被修改时触发的onTimeChanged函数等。
在上述基本功能函数的基础上,每个不同类型的编辑对象还可以具有不同的脚本功能,这些脚本功能的函数可以是固定的,也可以是被扩展的(诸如可由应用程序升级获得更新或由应用程序使用者定义),示例性地,以下对各编辑对象对应的脚本所具有的基本功能进行示例说明,且基本功能携带的括号内的内容用于表征实现该功能的函数名称,应当说明的是,函数名称也只为示例性说明,具体可根据实际情况自行设定,不应当被视为限制:
对于时间对应的脚本而言,其基本功能包括但不限于:获取时间轴总长度(getTimelineDuration)、获取时间轴下的所有轨道(getAllTracks)、根据轨道标识获取轨道信息(getTrackById)等。对于轨道对应的脚本而言,其基本功能包括但不限于:获取轨道上所有的素材(getAllElements)、根据素材标识获取素材信息(getElementById)、设置轨道可见性(setTrackVisibility)、删除轨道(deleteTrack)、添加轨道(addTrack)、复制轨道(copyTrack)等。对于贴纸对应的脚本而言,其基本功能包括但不限于:缩放贴纸(scaleSticker)、移动贴纸(translateSticker)、旋转贴纸(rotateSticker)、设置透明度(setStickerAlpha)、删除贴纸(deleteSticker)、添加贴纸(addSticker)、复制贴纸(copySticker)等,对于文本对应的脚本而言,其基本功能包括但不限于:修改文本内容(editTextContent)、修改文本样式(editTextStyle)、缩放文本(scaleText)、移动贴纸(translateText)、旋转文本(rotateText)、设置透明度(setTextAlpha)、删除文本(deleteText)、添加文本(addText)、复制文本(copyText)等;对于特效对应的脚本而言,其基本功能包括但不限于删除特效(deleteEffect)、添加特效(addEffect)、编辑特效信息(editEffect)等。对于滤镜对应的脚本而言,其基本功能包括但不限于:删除滤镜(deleteFilter)、添加滤镜(addFilter)、编辑滤镜信息(editFilter)等;对于转场动画对应的脚本而言,基本功能包括但不限于:删除转场动画(deleteTransferAnimation)、添加转场动画(addTransferAnimation)、编辑转场动画信息(editTransferAnimation)、设置动画插值器(setInterpolator)等;对于音频对应的脚本而已,基本功能包括但不限于:删除音频(deleteAudio)、添加音频(addAudio)、分割音频(splitAudio)、设置音频信息(setAudioInfo)等。以上均为示例性说明,在实际应用中还可以实现其它功能,该功能的函数名称以及具体的代码逻辑也可调整,在此不进行限制。
在实际应用中,第三编辑对象的数量为多个,也即,用户在一次视频编辑任务时可以针对涉及的多个编辑对象均采用自定义脚本的方式进行控制,每个第三编辑对象都可添加一个相应的脚本;示例性地,一个视频编辑任务中涉及五种第三编辑对象,分别为:一个时间轴、一个视频、两个贴纸和一个音频,每个第三编辑对象都添加有相应的自定义脚本,则该视频编辑任务中共有五个脚本需要执行,换言之,可基于这五个脚本执行视频编辑任务。在基于第三编辑对象对应的脚本对待处理视频进行剪辑时,可以首先对脚本进行初始化,也即,预先加载视频编辑所需的脚本,在一些实施示例中,可以基于各第三编辑对象之间的层级关系确定脚本的初始化顺序,具体而言,可以参照如下步骤A~步骤C实现:
步骤A,基于多个第三编辑对象之间的层级关系构建树状图。
参见图5所示的一种编辑对象的层级关系树状示意图,示意出时间轴、各素材对应的轨道以及各素材之间的层级关系,可以理解为,轨道属于时间轴的成员,素材属于素材轨道的成员,基于多个编辑对象之间的层级关系由上至下可构成树状结构,呈现图5所示的树状示意图。应当说明的是,图5仅为示例性说明,不应当被视为限制。
步骤B,根据树状图以及预设的遍历算法确定多个第三编辑对象的脚本初始化顺序。
在一些实施方式中,遍历算法诸如可以为基于树的前序遍历算法,基于树的前序遍历算法和树状图便可确定每个目标元素的脚本初始化顺序(也即预加载顺序),示例性地,可以参见图6所示的脚本初始化排序示意图,在树状结果的基础上采用前序遍历算法所得的各编辑对象的脚本的初始化执行顺序,也即,优先对时间轴脚本进行初始化,然后再对视频轨道脚本进行初始化,具体可参照图6中标识的初始化顺序。应当说明的是,图6仅为示例,在实际应用中还可以采用其它遍历算法,诸如采用层序遍历法等,在此不进行限制。
步骤C,基于脚本初始化顺序对多个第三编辑对象的目标脚本执行初始化操作。
通过上述方式,可以将多个目标脚本都按序初始化,以便后续可直接执行。
每个编辑对象的脚本在执行时都体现有空间性和时间性,在空间上,则体现为上述基于各编辑对象之间的层级关系确定脚本的初始化顺序,在时间上,每个编辑对象均有其起止时间,如图7所示的编辑对象的起止时间示意图,以素材轨道长度的形式示意出编辑对象的起止时间,每个脚本的实际执行顺序需要相应编辑对象的起止时间确定,诸如,在视频中先出现的编辑对象对应的脚本先执行。在脚本中可设置有触发器,在当前时间达到编辑对象的开始时间时,可自动调用脚本中的触发器onStart,也即触发执行该编辑对象对应的脚本,在当前时间达到编辑对象的结束时间时,可自动调用脚本中的触发器onEnd,也即触发结束执行该编辑对象对应的脚本。多个脚本需要按照时间轴的顺序去执行,在数据结构上可采用链表记录脚本执行的先后顺序。脚本执行过程中,会根据时间轴进行触发器函数的调用,使得多个脚本按照时间顺序先后执行。
应当说明的是,脚本初始化顺序与脚本的实际执行顺序不同,脚本初始化顺序主要基于编辑对象之间的层级确定,脚本的实际执行顺序主要基于编辑对象出现的时间先后顺序确定。诸如,虽然在初始化顺序中,贴纸轨道脚本的初始化时间早于文本轨道脚本的初始化时间,但是,如果在视频编辑中贴纸在视频中的出现时间晚于文本出现时间,则贴纸轨道脚本的执行顺序晚于文本轨道脚本的执行顺序。
本公开实施例进一步提供了通过执行目标脚本实现对第三编辑对象进行编辑处理的具体方式,示例性地,可以基于多个第三编辑对象各自对应的目标脚本中指示的开始时间,对多个第三编辑对象对应的目标脚本按照时间升序方式进行排序;对于排在首位的第三编辑对象,在当前时间达到该第三编辑对象对应的开始时间时,通过执行该第三编辑对象对应的目标脚本实现对该第三编辑对象进行编辑处理;对于排在非首位的第三编辑对象,在该第三编辑对象的前一个第三编辑对象对应的目标脚本已执行,且当前时间达到该第三编辑对象对应的开始时间时,通过执行该第三编辑对象对应的目标脚本实现对该第三编辑对象进行编辑处理。应当说明的是,脚本执行顺序均指脚本开始执行的时间,可以采用链表形式记录脚本执行的先后顺序,上述前一个第三编辑对象对应的目标脚本已执行所要表达的含义是指前一个第三编辑对象对应的目标脚本已开始执行,而非执行完毕。实际上,不同第三编辑对象对应的目标脚本虽然开始执行时间可能不一致,但目标脚本执行期间的时间可以有重叠,也即目标脚本可同时运行,诸如在视频轨道脚本运行的过程中,时间轴脚本也可以一直处于运行状态。通过上述方式,可以在有多个第三编辑对象时,仍旧可以有序且可靠地实现基于多个第三编辑对象对应的目标脚本对视频进行剪辑,不会出现混乱的情况,保证了视频剪辑的准确性。
此外,考虑到用户可能会修改第三编辑对象开始出现在视频上的时间,因此上述方法还包括:若存在第三编辑对象对应的目标脚本中指示第三编辑对象对应的开始时间被修改,则重新对多个第三编辑对象对应的目标脚本按照时间升序方式进行排序。也即,只要目标脚本的开始时间被修改,则要重新对多个第三编辑对象的目标脚本进行排序,以便及时修正脚本执行的先后顺序,从而可以保证各第三编辑对象在视频中出现的时间都符合用户需求,达到用户所需的视频剪辑效果。
在实际应用中,对于视频编辑过程中所涉及到的脚本,无论是用户触发第一编辑工具所对应的预设脚本,还是用户触发第二编辑工具所输入的目标脚本,都可以按照如图8所示的一种脚本执行流程的示意图执行,主要包括如下步骤:
步骤S802,遍历每个编辑对象对应的脚本中指示的开始时间和结束时间。
步骤S804,对每个编辑对象对应的脚本按照时间升序方式进行排序,并采用链表记录各脚本的排序结果。具体而言,链表是脚本的执行系统在确定脚本的先后执行顺序之后生成的,链表可以包含各个元素对应的脚本,且各个脚本在链表中按照时间升序方式排序。
步骤S806,从链表中取出待处理脚本。在实际应用中,可按照脚本排序每次只取出一个脚本进行处理,直至执行至步骤S816,如果经步骤S816判断所有脚本并非均已执行,则再返回至步骤S806,也即从链表中取出下一个脚本再按照如下步骤进行处理。
步骤S808,判断待处理脚本中当前的时间类型是否为开始时间。如果是,执行步骤S810,如果否,执行步骤S812。
步骤S810,开始执行该脚本。在脚本中可设置有触发器,如果从待处理脚本获取到开始时间,也即当前时间达到开始时间,可自动调用脚本中的触发器onStart,也即触发执行该元素对应的脚本,此时相当于脚本正式执行。
步骤S812,结束执行该脚本。如果待处理脚本中当前的时间类型不是开始时间,则说明从待处理脚本中获取到结束时间,也即当前时间达到结束时间,因此可自动调用脚本中的触发器onEnd,也即触发结束执行该元素对应的脚本。
步骤S814,判断该脚本中的时间是否发生变化。如果是,执行步骤S802,如果否,执行步骤S816。具体而言,由于脚本中指示的元素开始作用于视频的时间发生变化,则会影响多个脚本的执行顺序,因此可以判断该脚本中的开始时间是否发生变化。如果在发生变化时,则触发重新调整多个元素脚本的排序。
步骤S816,判断所有脚本是否均已执行。如果是,结束;如果否,执行步骤S806。
通过上述方式,能够保证多个脚本有序可靠地实现视频剪辑,保证视频剪辑效果符合用户需求。
为了便于用户清楚直观地获知视频剪辑效果,视频编辑界面上还呈现有预览播放器;本公开实施例提供的方法还包括:在预览播放器上展示目标脚本对应的编辑效果。诸如,对于贴纸脚本而言,如果在脚本中设置了贴纸透明度,在预览播放器上会同步基于该贴纸透明度展示贴纸在视频上的效果。又诸如,对于文本脚本而言,如果在脚本中设置了文本样式,在预览播放器上会同步以该文本样式展示文本在视频上的效果。通过上述方式,用户可以清楚直观地获知基于元素脚本控制视频剪辑的效果,而且也有助于用户根据直观的视频剪辑效果判别是否需要更改脚本。
在本公开实施例中,不仅可以为用户提供第一编辑工具,以便为用户提供方便快捷的编辑功能,第一编辑工具可以采用诸如功能触发按键、调整条等形式呈现在视频编辑界面上,为用户提供可视化交互方式,而且还可以为用户提供第二编辑工具,以便使用户采用自定义脚本实现视频剪辑,用户可以根据需求灵活选择所需的方式进行视频剪辑。另外,用户也可以在对基于自定义脚本进行编辑处理的编辑对象的视频呈现效果不满意时,还可以灵活再调用第一编辑工具进行修改,基于此,上述方法还包括:在监测到用户通过第一编辑工具对第四编辑对象进行编辑处理的情况下,基于第一编辑工具对应的编辑处理方式修改用于生成第四编辑对象的目标脚本,以使修改后的目标脚本对应的视频剪辑效果与经第一编辑工具调整所得的视频剪辑效果一致,也即,在用户针对某个第四编辑对象执行可视化操作的时候,脚本也可相应调整,诸如,用户在脚本中设置的第四编辑对象的开始时间为A,如果用户又通过第一编辑工具调整了第四编辑对象的开始时间,将开始时间A改为开始时间B,则脚本上相应将第四编辑对象的开始时间也会同步改为B。通过这种方式,可以较好地保障最终脚本与编辑效果的一致性。
在本公开实施例中,第一编辑工具能够给用户提供可视化功能按键,用户通过触发可视化功能按键的方式触发预设脚本进行编辑处理,以上可称为基于可视化的视频编辑操作;第二编辑工具能够给用户提供脚本编辑界面,用户可以在脚本编辑界面中输入自定义脚本进行编辑处理,以上可称为基于自定义脚本的视频编辑操作;无论基于可视化的视频编辑操作还是基于自定义脚本的视频编辑操作,本质都是对编辑对象对应的相关数据(诸如起止时间、元素表现形式等)进行调整,通过本公开实施例提供的上述示例,可以令基于自定义脚本的视频编辑操作与基于可视化的视频编辑操作实现双向同步,达到一致的视频编辑效果,也便于用户灵活选择/切换所需的视频编辑操作方式。而且,本公开实施例提供的基于脚本进行视频编辑的方式还可以使用户实现视频编辑软件原有功能没有的效果,诸如用户可以根据需求自定义更为复杂的入场动画形式等,而不局限于视频编辑软件提供的有限的入场动画形式,因此可以为用户提供更为多样化的视频编辑方式,使视频编辑更为灵活自由。
综上所述,本公开实施例提供的上述视频编辑方法,包括但不限于如下有益效果:
(1)由于为用户提供可根据需求植入代码片段(录入脚本)的路径,便于用户根据需求编写脚本,并利用脚本进行视频编辑,从而实现自己所需的功能。也即,用户能够不局限于视频编辑软件的固化功能进行视频编辑,而是可以根据自身需求进行编辑,从而满足用户的多样化编辑需求。
(2)提升了视频编辑的便利性。在相关技术中,用户在采用素材进行视频编辑时,可能需要设置多种参数,诸如素材的起始时间、结束时间或其它微调参数,如果针对每个素材依次进行微调,需要用户逐一操作,非常费时费力,且诸如通过拖动轨道调整起止时间等操作还容易出现差错,无法完全达到用户所期望的时间点。而如果采用脚本进行剪辑的方式则非常便捷,只需在脚本中设置相关代码参数即可达到所需效果,无需反复调整。
(3)脚本可以复用,能够有效提升批量化处理视频的效率。脚本也可以批量使用,用户可以提前写好多个脚本,诸如针对每个编辑对象预先编辑并保存常用的脚本,在应用时可直接通过脚本名字来调用,从而进一步提升视频编辑效率。且无需逐一针对每个视频分别采用可视化方式进行编辑,极大缩短了批量化处理视频的耗时。
(4)用户可以根据需求灵活选择所需的编辑方式,诸如选择基于可视化的视频编辑操作还是基于自定义脚本的视频编辑操作,进一步提升了视频编辑体验。
对应于本公开实施例提供的前述视频编辑方法,本公开实施例进一步提供了一种视频编辑装置,图9为本公开实施例提供的一种视频编辑装置的结构示意图,该装置可由软件和/或硬件实现,一般可集成在电子设备中,如图9所示,包括:
呈现模块902,用于在视频编辑界面上呈现编辑对象和编辑工具,编辑工具用于触发对编辑对象的编辑操作;
第一编辑模块904,用于响应于针对编辑对象中的第一编辑对象触发编辑工具中的第一编辑工具,通过执行第一编辑工具对应的预设脚本实现对第一编辑对象进行编辑处理,得到第二编辑对象;
第二编辑模块906,用于响应于针对编辑对象中的第三编辑对象触发编辑工具中的第二编辑工具,呈现第三编辑对象的脚本编辑界面,获取脚本编辑界面中输入的目标脚本,并通过执行目标脚本实现对第三编辑对象进行编辑处理,得到第四编辑对象;
视频生成模块908,用于基于第二编辑对象和/或第四编辑对象,生成目标视频。
本公开实施例提供的上述技术方案,既可以使用户直接利用第一编辑工具对应的预设脚本进行编辑处理,方便快捷,又可以在用户触发第二编辑工具时呈现脚本编辑界面,以便用户在脚本编辑界面根据需求自行输入其所需的目标脚本,利用目标脚本进行编辑处理,也即为用户授予了脚本添加权限,从而满足用户的多样化编辑需求,极大提升了视频编辑的灵活性。
在一些实施方式中,所述视频编辑界面上展示有视频编辑轨道,所述编辑对象包括所述视频编辑轨道上的元素和/或目标视频的属性。
在一些实施方式中,所述脚本编辑界面展示有可录入脚本代码的脚本编辑窗口;第二编辑模块906具体用于:通过所述脚本编辑窗口获取用户录入的脚本代码;基于所述用户录入的脚本代码得到目标脚本。
在一些实施方式中,所述脚本编辑界面展示有脚本获取链接;第二编辑模块906具体用于:响应于所述脚本获取链接被触发,跳转至脚本库;其中,所述脚本库包括个人脚本库和/或公共脚本库;获取用户从所述脚本库中选择的脚本;基于所述用户选择的脚本得到目标脚本。
在一些实施方式中,第二编辑模块906具体用于:在所述用户针对选择的脚本进行编辑的情况下,将编辑后的脚本作为目标脚本。
在一些实施方式中,所述第三编辑对象的数量为多个,第二编辑模块906具体用于:基于多个所述第三编辑对象各自对应的目标脚本中指示的开始时间,对多个所述第三编辑对象对应的目标脚本按照时间升序方式进行排序;对于排在首位的第三编辑对象,在当前时间达到该第三编辑对象对应的开始时间时,通过执行该第三编辑对象对应的目标脚本实现对该第三编辑对象进行编辑处理;对于排在非首位的第三编辑对象,在该第三编辑对象的前一个第三编辑对象对应的目标脚本已执行,且当前时间达到该第三编辑对象对应的开始时间时,通过执行该第三编辑对象对应的目标脚本实现对该第三编辑对象进行编辑处理。
在一些实施方式中,所述装置还包括重新排序模块,用于:若存在所述第三编辑对象对应的目标脚本中指示所述第三编辑对象对应的开始时间被修改,则重新对多个所述第三编辑对象对应的目标脚本按照时间升序方式进行排序。
在一些实施方式中,所述装置还包括初始化模块,用于:基于多个所述第三编辑对象之间的层级关系构建树状图;根据所述树状图以及预设的遍历算法确定多个所述第三编辑对象的脚本初始化顺序;基于所述脚本初始化顺序对多个所述第三编辑对象的目标脚本执行初始化操作。
在一些实施方式中,所述视频编辑界面上还呈现有预览播放器;所述装置还包括:效果展示模块,用于在所述预览播放器上展示所述目标脚本对应的编辑效果。
在一些实施方式中,所述装置还包括修改模块,用于在监测到用户通过所述第一编辑工具对所述第四编辑对象进行编辑处理的情况下,基于所述第一编辑工具对应的编辑处理方式修改用于生成所述第四编辑对象的目标脚本。
在一些实施方式中,所述装置还包括说明提供模块,用于在所述视频编辑界面的指定位置提供所述编辑工具的使用说明;所述使用说明包含有脚本语言说明和所述编辑对象对应的脚本功能说明。
本公开实施例所提供的视频编辑装置可执行本公开任意实施例所提供的视频编辑方法,具备执行方法相应的功能模块和有益效果。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置实施例的具体工作过程,可以参考方法实施例中的对应过程,在此不再赘述。
本公开实施例提供了一种电子设备,电子设备包括:处理器;用于存储处理器可执行指令的存储器;处理器,用于从存储器中读取可执行指令,并执行指令以实现上述视频编辑方法。
图10为本公开实施例提供的一种电子设备的结构示意图。如图10所示,电子设备1000包括一个或多个处理器1001和存储器1002。
处理器1001可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备1000中的其他组件以执行期望的功能。
存储器1002可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器1001可以运行所述程序指令,以实现上文所述的本公开的实施例的视频编辑方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
在一个示例中,电子设备1000还可以包括:输入装置1003和输出装置1004,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
此外,该输入装置1003还可以包括例如键盘、鼠标等等。
该输出装置1004可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出装置1004可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图10中仅示出了该电子设备1000中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备1000还可以包括任何其他适当的组件。
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本公开实施例所提供的视频编辑方法。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本公开实施例所提供的视频编辑方法。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本公开实施例还提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现本公开实施例中的视频编辑方法。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (15)
1.一种视频编辑方法,其特征在于,包括:
在视频编辑界面上呈现编辑对象和编辑工具,所述编辑工具用于触发对所述编辑对象的编辑操作;
响应于针对所述编辑对象中的第一编辑对象触发所述编辑工具中的第一编辑工具,通过执行所述第一编辑工具对应的预设脚本实现对所述第一编辑对象进行编辑处理,得到第二编辑对象;
响应于针对所述编辑对象中的第三编辑对象触发所述编辑工具中的第二编辑工具,呈现所述第三编辑对象的脚本编辑界面,获取所述脚本编辑界面中输入的目标脚本,并通过执行所述目标脚本实现对所述第三编辑对象进行编辑处理,得到第四编辑对象;
基于所述第二编辑对象和/或所述第四编辑对象,生成目标视频。
2.根据权利要求1所述的方法,其特征在于,所述视频编辑界面上展示有视频编辑轨道,所述编辑对象包括所述视频编辑轨道上的元素和/或目标视频的属性。
3.根据权利要求1所述的方法,其特征在于,所述脚本编辑界面展示有可录入脚本代码的脚本编辑窗口;获取所述脚本编辑界面中输入的目标脚本的步骤,包括:
通过所述脚本编辑窗口获取用户录入的脚本代码;
基于所述用户录入的脚本代码得到目标脚本。
4.根据权利要求1所述的方法,其特征在于,所述脚本编辑界面展示有脚本获取链接;获取所述脚本编辑界面中输入的目标脚本的步骤,包括:
响应于所述脚本获取链接被触发,跳转至脚本库;其中,所述脚本库包括个人脚本库和/或公共脚本库;
获取用户从所述脚本库中选择的脚本;
基于所述用户选择的脚本得到目标脚本。
5.根据权利要求4所述的方法,其特征在于,基于所述用户选择的脚本得到目标脚本的步骤,包括:在所述用户针对选择的脚本进行编辑的情况下,将编辑后的脚本作为目标脚本。
6.根据权利要求1所述的方法,其特征在于,所述第三编辑对象的数量为多个,通过执行所述目标脚本实现对所述第三编辑对象进行编辑处理的步骤,包括:
基于多个所述第三编辑对象各自对应的目标脚本中指示的开始时间,对多个所述第三编辑对象对应的目标脚本按照时间升序方式进行排序;
对于排在首位的第三编辑对象,在当前时间达到该第三编辑对象对应的开始时间时,通过执行该第三编辑对象对应的目标脚本实现对该第三编辑对象进行编辑处理;
对于排在非首位的第三编辑对象,在该第三编辑对象的前一个第三编辑对象对应的目标脚本已执行,且当前时间达到该第三编辑对象对应的开始时间时,通过执行该第三编辑对象对应的目标脚本实现对该第三编辑对象进行编辑处理。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
若存在所述第三编辑对象对应的目标脚本中指示所述第三编辑对象对应的开始时间被修改,则重新对多个所述第三编辑对象对应的目标脚本按照时间升序方式进行排序。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
基于多个所述第三编辑对象之间的层级关系构建树状图;
根据所述树状图以及预设的遍历算法确定多个所述第三编辑对象的脚本初始化顺序;
基于所述脚本初始化顺序对多个所述第三编辑对象的目标脚本执行初始化操作。
9.根据权利要求1所述的方法,其特征在于,所述视频编辑界面上还呈现有预览播放器;所述方法还包括:
在所述预览播放器上展示所述目标脚本对应的编辑效果。
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在监测到用户通过所述第一编辑工具对所述第四编辑对象进行编辑处理的情况下,基于所述第一编辑工具对应的编辑处理方式修改用于生成所述第四编辑对象的目标脚本。
11.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述视频编辑界面的指定位置提供所述编辑工具的使用说明;所述使用说明包含有脚本语言说明和所述编辑对象对应的脚本功能说明。
12.一种视频编辑装置,其特征在于,包括:
呈现模块,用于在视频编辑界面上呈现编辑对象和编辑工具,所述编辑工具用于触发对所述编辑对象的编辑操作;
第一编辑模块,用于响应于针对所述编辑对象中的第一编辑对象触发所述编辑工具中的第一编辑工具,通过执行所述第一编辑工具对应的预设脚本实现对所述第一编辑对象进行编辑处理,得到第二编辑对象;
第二编辑模块,用于响应于针对所述编辑对象中的第三编辑对象触发所述编辑工具中的第二编辑工具,呈现所述第三编辑对象的脚本编辑界面,获取所述脚本编辑界面中输入的目标脚本,并通过执行所述目标脚本实现对所述第三编辑对象进行编辑处理,得到第四编辑对象;
视频生成模块,用于基于所述第二编辑对象和/或所述第四编辑对象,生成目标视频。
13.一种电子设备,其特征在于,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述权利要求1-11中任一所述的视频编辑方法。
14.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1-11中任一所述的视频编辑方法。
15.一种计算机程序产品,其特征在于,包括计算机程序,其中,所述计算机程序在被处理器执行时实现权利要求1-11中任一项所述的视频编辑方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211435280.XA CN118102018A (zh) | 2022-11-16 | 2022-11-16 | 视频编辑方法、装置、设备及介质 |
PCT/CN2023/131815 WO2024104385A1 (zh) | 2022-11-16 | 2023-11-15 | 视频编辑方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211435280.XA CN118102018A (zh) | 2022-11-16 | 2022-11-16 | 视频编辑方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118102018A true CN118102018A (zh) | 2024-05-28 |
Family
ID=91083811
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211435280.XA Pending CN118102018A (zh) | 2022-11-16 | 2022-11-16 | 视频编辑方法、装置、设备及介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN118102018A (zh) |
WO (1) | WO2024104385A1 (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110286896B (zh) * | 2019-06-28 | 2023-03-31 | 百度在线网络技术(北京)有限公司 | 可视化编辑方法、装置、设备及存储介质 |
CN110633436B (zh) * | 2019-08-28 | 2022-12-20 | 河南九商科技有限公司 | 可视化、自定义全景编辑方法、系统、存储介质及设备 |
CN112437342B (zh) * | 2020-05-14 | 2022-09-23 | 上海哔哩哔哩科技有限公司 | 一种视频编辑的方法及设备 |
CN111596852B (zh) * | 2020-06-12 | 2021-06-08 | 腾讯科技(深圳)有限公司 | 内容编辑方法、系统及计算机可读存储介质和终端设备 |
CN115129212A (zh) * | 2022-05-30 | 2022-09-30 | 腾讯科技(深圳)有限公司 | 视频编辑方法、装置、计算机设备、存储介质及产品 |
CN115297272B (zh) * | 2022-08-01 | 2024-03-15 | 北京字跳网络技术有限公司 | 一种视频处理方法、装置、设备及存储介质 |
-
2022
- 2022-11-16 CN CN202211435280.XA patent/CN118102018A/zh active Pending
-
2023
- 2023-11-15 WO PCT/CN2023/131815 patent/WO2024104385A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024104385A1 (zh) | 2024-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12008312B2 (en) | Systems and methods for conversion of web content into reusable templates and components | |
RU2506629C2 (ru) | Создание презентации на бесконечном полотне и навигация по ней | |
CN108228044B (zh) | 电子书阅读翻页的方法、系统及终端 | |
US8982132B2 (en) | Value templates in animation timelines | |
CN113452941B (zh) | 视频生成方法、装置、电子设备及存储介质 | |
CN111273907A (zh) | 一种页面处理方法及相关设备 | |
CN104933142A (zh) | 动画展示方法和装置 | |
KR102590100B1 (ko) | 비디오 처리 방법 및 장치, 디바이스 및 저장 매체 | |
US20130127877A1 (en) | Parameterizing Animation Timelines | |
US8645823B1 (en) | Converting static websites to resolution independent websites in a web development environment | |
CN113239672B (zh) | 目标文件编辑方法及装置、电子设备、存储介质 | |
US10983678B2 (en) | Facilitating the prototyping and previewing of design element state transitions in a graphical design environment | |
BR112015006336B1 (pt) | meio de armazenamento legível por máquina não transitório para engenharia do conhecimento simplificada | |
US20200142572A1 (en) | Generating interactive, digital data narrative animations by dynamically analyzing underlying linked datasets | |
US8910045B2 (en) | Methods and apparatus for displaying an advertisement | |
US7765472B2 (en) | Method and device for editing SVG type digital graphical documents in particular from a browser | |
CN112637518B (zh) | 模拟拍照特效的生成方法、装置、设备及介质 | |
CN114091422A (zh) | 一种用于展会的展示页面的生成方法、装置、设备及介质 | |
JP2020123234A (ja) | 情報処理装置、制御方法、およびそのプログラム | |
CN118102018A (zh) | 视频编辑方法、装置、设备及介质 | |
KR101649822B1 (ko) | 웹페이지 구축 장치 및 방법 | |
KR102067661B1 (ko) | 위젯 저작 시스템 및 방법 | |
JP5058219B2 (ja) | シナリオ作成方法、その装置、プログラム及び記録媒体 | |
CN110110304B (zh) | 表单扩展方法、装置、存储介质及电子设备 | |
CN113076160A (zh) | 显示界面的信息显示方法及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |