CN110582018B - 一种视频文件处理的方法、相关装置及设备 - Google Patents
一种视频文件处理的方法、相关装置及设备 Download PDFInfo
- Publication number
- CN110582018B CN110582018B CN201910872350.XA CN201910872350A CN110582018B CN 110582018 B CN110582018 B CN 110582018B CN 201910872350 A CN201910872350 A CN 201910872350A CN 110582018 B CN110582018 B CN 110582018B
- Authority
- CN
- China
- Prior art keywords
- video
- layer
- video file
- processed
- additional element
- 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
Links
- 238000003672 processing method Methods 0.000 title abstract description 16
- 238000012545 processing Methods 0.000 claims abstract description 181
- 238000000034 method Methods 0.000 claims abstract description 126
- 230000001960 triggered effect Effects 0.000 claims abstract description 29
- 230000015572 biosynthetic process Effects 0.000 claims abstract description 15
- 238000003786 synthesis reaction Methods 0.000 claims abstract description 15
- 230000008569 process Effects 0.000 claims description 55
- 230000004044 response Effects 0.000 claims description 38
- 238000013519 translation Methods 0.000 claims description 32
- 230000003068 static effect Effects 0.000 claims description 22
- 230000009467 reduction Effects 0.000 claims description 10
- 238000003860 storage Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 33
- 238000012217 deletion Methods 0.000 description 26
- 230000037430 deletion Effects 0.000 description 26
- 230000006870 function Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 10
- 238000013461 design Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 6
- 230000001413 cellular effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000003321 amplification Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 238000003199 nucleic acid amplification method Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004091 panning Methods 0.000 description 1
- 230000000449 premovement Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000011946 reduction process Methods 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Images
Classifications
-
- 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
- H04N21/4312—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
-
- 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/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
- H04N21/4355—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving reformatting operations of additional data, e.g. HTML pages on a television screen
-
- 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
- H04N21/44016—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 involving splicing one content stream with another content stream, e.g. for substituting a video clip
-
- 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
- H04N21/4402—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 involving reformatting operations of video signals for household redistribution, storage or real-time display
-
- 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/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47205—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for manipulating displayed content, e.g. interacting with MPEG-4 objects, editing locally
-
- 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/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47217—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本申请公开了一种视频文件处理的方法,包括:获取位于第一图层的待处理视频文件;接收针对操作编辑区的视频附加元素添加操作;响应于视频附加元素添加操作,在视频文件播放区的待处理视频文件所在第一图层上方生成第二图层,被添加的视频附加元素在第二图层上的时间节点与第一图层的待处理视频文件被触发进行视频附加元素添加和/或编辑操作的时间节点对应;展示经合成处理后的包括待处理视频文件内容与视频附加元素的视频文件。本申请还公开了一种视频处理装置和终端设备。本申请在增加元素的时候只针对生成的新图层进行编辑,而不需要对每帧视频进行重新绘制,也就无需耗费等待时间,从而提升了视频处理的效率。
Description
技术领域
本申请涉及多媒体技术领域,尤其涉及一种视频文件处理的方法、相关装置及设备。
背景技术
随着科技的发展,图像采集设备的技术也日益提高,使用图像采集设备录制的视频也更加清晰。但现有录制的视频仅是单调的录制素材本身,无法满足用户提出的越来越多的个性化要求。因此,可以在录制视频后,由用户手动对该视频再做进一步的处理,以满足用户的个性化要求。
目前,在视频创作的过程中,用户可以将希望增加的贴纸、挂件或者文字等元素作为视频本身的元素,在渲染视频帧的同时将这些元素渲染进去。
然而,用户每次针对这些元素进行编辑的情况下,都需要重新进行一次视频的绘制,也就是说,从视频起始时刻开始生成一个视频流,每当用户对该视频进行一次编辑,就需要根据编辑的视频附加元素(包括文字、动图、图片等)对视频流进行重新编码,如果用户对视频编辑进行多次编辑,则需要对视频流进行多次重新编码,由此导致视频处理的效率较低,且消耗大量的处理资源。
发明内容
本申请实施例提供了一种视频文件处理的方法、相关装置及设备,将视频文件与视频附加元素分别置于两个图层,在对视频进行视频附加元素的添加或编辑时,仅需要针对生成的新图层进行编辑,无需针对每次编辑后的视频流进行重新编码,因此,无需耗费等待时间,用户可以实时看到视频处理结果,从而提升了视频处理的效率。
有鉴于此,本申请第一方面提供一种视频文件处理的方法,包括:
提供视频文件处理界面,其中,视频文件处理界面包括视频文件播放区及操作编辑区,操作编辑区包括至少一个视频附加元素操作控件;
获取待处理视频文件及待处理视频文件的时长信息,其中,待处理视频文件包括至少一帧待处理图像,待处理视频文件及时长信息显示于视频文件播放区,待处理视频文件位于第一图层;
接收针对待处理视频文件在播放、拖拽和/或定位过程中,对应时长信息区间内的任一时间节点所触发的,对操作编辑区的视频附加元素添加和/或编辑操作;
响应于视频附加元素添加和/或编辑操作,在视频文件播放区的待处理视频文件所在第一图层上方生成第二图层,其中,被添加的视频附加元素位于第二图层,被添加的视频附加元素在第二图层上的时间节点与第一图层的待处理视频文件被触发进行视频附加元素添加和/或编辑操作的时间节点对应;
展示经合成处理后的包括第一图层的待处理视频文件内容与第二图层的视频附加元素的视频文件。
本申请第二方面提供一种视频处理装置,包括:
展示模块,用于提供视频文件处理界面,其中,视频文件处理界面包括视频文件播放区及操作编辑区,操作编辑区包括至少一个视频附加元素操作控件;
处理模块,用于获取待处理视频文件及待处理视频文件的时长信息,其中,待处理视频文件包括至少一帧待处理图像,待处理视频文件及时长信息显示于视频文件播放区,待处理视频文件位于第一图层;
接收模块,用于接收针对待处理视频文件在播放、拖拽和/或定位过程中,对应时长信息区间内的任一时间节点所触发的,对操作编辑区的视频附加元素添加和/或编辑操作;
处理模块,还用于响应于接收模块接收的视频附加元素添加和/或编辑操作,在视频文件播放区的待处理视频文件所在第一图层上方生成第二图层,其中,被添加的视频附加元素位于第二图层,被添加的视频附加元素在第二图层上的时间节点与第一图层的待处理视频文件被触发进行视频附加元素添加和/或编辑操作的时间节点对应;
展示模块,还用于展示经处理模块合成处理后的包括第一图层的待处理视频文件内容与第二图层的视频附加元素的视频文件。
在一种可能的设计中,在本申请实施例的第二方面的第一种实现方式中,处理模块具体用于:
响应于视频附加元素添加操作,控制待处理视频文件暂停播放,视频附加元素添加操作对应于被添加的视频附加元素的标识,被添加的视频附加元素为动态文本元素或动态图像元素;
在视频文件播放区的待处理视频文件所在第一图层上方生成第二图层;
展示模块,具体用于在第一图层上展示视频文件中的待处理视频文件内容,以及,在第二图层上展示视频文件中的被添加的视频附加元素。
在一种可能的设计中,在本申请实施例的第二方面的第二种实现方式中,
展示模块,具体用于:
获取被添加的视频附加元素所对应的图像序列,其中,图像序列包括至少一帧图像;
在被添加的视频附加元素所在第二图层上方生成第三图层,第三图层的内容属性被赋值为图像序列中的首帧图像;
在视频文件播放区的第三图层上展示被添加的视频附加元素所对应的图像序列。
在一种可能的设计中,在本申请实施例的第二方面的第三种实现方式中,
处理模块具体用于:
响应于视频附加元素添加操作,控制待处理视频暂停播放,视频附加元素添加操作对应于视频附加元素的标识,视频附加元素为静态文本元素或静态图像元素;
在视频文件播放区的待处理视频文件所在第一图层上方生成第二图层。
在一种可能的设计中,在本申请实施例的第二方面的第四种实现方式中,
处理模块,还用于获取与视频附加元素对应的第三图层,第三图层位于第二图层上方;
处理模块,还用于在第三图层对视频附加元素进行处理,得到处理后的视频附加元素,处理后的视频附加元素显示于第三图层之上。
在一种可能的设计中,在本申请实施例的第二方面的第五种实现方式中,
处理模块具体用于:
在操作编辑区内将第三图层添加至可编辑视图上;
在可编辑视图上对视频附加元素进行平移处理,得到平移参数;
将平移参数记录至第三图层所对应的数据结构;
将第三图层重新绘制到第二图层之上。
在一种可能的设计中,在本申请实施例的第二方面的第六种实现方式中,
处理模块具体用于:
在操作编辑区内将第三图层添加至可编辑视图上;
在可编辑视图上对视频附加元素进行缩放处理,得到缩放参数,缩放参数包括放大倍数参数或者缩小倍数参数;
将缩放参数记录至第三图层所对应的数据结构;
将第三图层重新绘制到第二图层之上。
在一种可能的设计中,在本申请实施例的第二方面的第七种实现方式中,
处理模块具体用于:
在操作编辑区内将第三图层添加至可编辑视图上;
在可编辑视图上对视频附加元素进行旋转处理,得到旋转角度参数;
将旋转角度参数记录至第三图层所对应的数据结构;
将第三图层重新绘制到第二图层之上。
在一种可能的设计中,在本申请实施例的第二方面的第八种实现方式中,
接收模块,还用于接收针对待处理视频文件在播放、拖拽和/或定位过程中,对应时长信息区间内的任一时间节点所触发的,对操作编辑区的视频附加元素删除操作;
处理模块,还用于响应于视频附加元素删除操作,在视频文件播放区的第二图层上删除视频附加元素。
在一种可能的设计中,在本申请实施例的第二方面的第九种实现方式中,处理模块,具体用于响应于视频附加元素删除操作,删除在视频附加元素所在第二图层上方生成的第三图层以及视频附加元素。
在一种可能的设计中,在本申请实施例的第二方面的第十种实现方式中,展示模块,具体用于展示经合成处理后的包括第一图层的待处理视频文件内容的视频文件。
本申请第三方面提供一种终端设备,包括:存储器、收发器、处理器以及总线***;
其中,所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序,包括如下步骤:
提供视频文件处理界面,其中,视频文件处理界面包括视频文件播放区及操作编辑区,操作编辑区包括至少一个视频附加元素操作控件;
获取待处理视频文件及待处理视频文件的时长信息,其中,待处理视频文件包括至少一帧待处理图像,待处理视频文件及时长信息显示于视频文件播放区,待处理视频文件位于第一图层;
接收针对待处理视频文件在播放、拖拽和/或定位过程中,对应时长信息区间内的任一时间节点所触发的,对操作编辑区的视频附加元素添加和/或编辑操作;
响应于视频附加元素添加和/或编辑操作,在视频文件播放区的待处理视频文件所在第一图层上方生成第二图层,其中,被添加的视频附加元素位于第二图层,被添加的视频附加元素在第二图层上的时间节点与第一图层的待处理视频文件被触发进行视频附加元素添加和/或编辑操作的时间节点对应;
展示经合成处理后的包括第一图层的待处理视频文件内容与第二图层的视频附加元素的视频文件;
所述总线***用于连接所述存储器以及所述处理器,以使所述存储器以及所述处理器进行通信。
本申请的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例中,提供了一种视频文件处理的方法,首先提供视频文件处理界面,视频文件处理界面包括视频文件播放区及操作编辑区,在获取到待处理视频文件以及待处理视频文件的时长信息之后,在视频文件播放区显示待处理视频文件,在待处理视频文件在播放、拖拽或定位过程中,在上述时长信息区间内任一时间节点接收对操作编辑区域的视频附加元素的添加和/或编辑操作,进而在视频文件播放区的待处理视频文件所在的第一图层上方生成第二图层,从而可以通过第二图层承载被添加的视频附加元素,被添加的视频附加元素在第二图层上的时间节点与待处理视频文件被触发进行视频附加元素添加和/或编辑操作的时间节点对应,进而展示经合成处理后的包括第一图层的待处理视频文件内容与第二图层的视频附加元素的视频文件。通过上述方式,在视频播放的图层之上新增一个图层,即第二图层,将生成的新图层和视频播放的图层进行绑定,并且在时间上达到同步,将视频文件与视频附加元素分别置于两个图层,在对视频进行视频附加元素的添加或编辑时,仅需要针对生成的新图层进行编辑,无需针对每次编辑后的视频流进行重新编码,因此,无需耗费等待时间,用户可以实时看到视频处理结果,从而提升了视频处理的效率。
附图说明
图1为本申请实施例中视频处理***的一个架构示意图;
图2为本申请实施例中视频文件处理的方法中客户端的展示层的一个界面示意图;
图3为本申请实施例中视频文件处理的方法一个实施例示意图;
图4为本申请实施例中视频文件处理的方法中接收视频附加元素添加操作的一种界面示意图;
图5为本申请实施例中视频文件处理的方法中展示视频附加元素的一个流程示意图;
图6为本申请实施例中视频文件处理的方法中获取图像元素的一个界面示意图;
图7为本申请实施例中视频文件处理的方法中获取文本元素的一个界面示意图;
图8为本申请实施例中视频文件处理的方法中获取调整操作的一个界面示意图;
图9为本申请实施例中视频文件处理的方法中对视频附加元素进行平移处理的一个流程示意图;
图10为本申请实施例中视频文件处理的方法中获取视频附加元素删除操作的一个界面示意图;
图11为本申请实施例中视频文件处理的方法中对视频附加元素进行删除操作的一个流程示意图;
图12为本申请实施例中视频文件处理的方法中展示多个待处理元素的一个界面示意图;
图13为本申请实施例中视频处理装置一个实施例示意图;
图14为本申请实施例中终端设备的一个实施例示意图。
具体实施方式
本申请实施例提供了一种视频文件处理的方法、相关装置及设备,将视频文件与视频附加元素分别置于两个图层,在对视频进行视频附加元素的添加或编辑时,仅需要针对生成的新图层进行编辑,无需针对每次编辑后的视频流进行重新编码,因此,也就无需耗费等待时间,用户可以实时看到视频处理结果,从而提升了视频处理的效率。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“对应于”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应理解,本申请实施例应用于各种向视频上添加自定义元素的客户端中,其中,向视频上添加自定义元素的客户端具体可以表现为相册类或图库类的客户端,也可以具体表现为图像拍摄类客户端,图像拍摄类客户端为兼顾图像拍摄功能和图像处理功能的客户端。进一步的,作为示例,例如在拍摄了一段视频之后,为了增加视频的趣味性,可以通过相册类客户端对视频进行重新绘制,以向视频上添加贴纸;作为另一示例,例如在拍摄了一段视频之后,也可以直接通过图像拍摄类客户端对视频进行二次编辑,以向视频中添加文字,由于目前采用的技术中,在向视频中添加目标元素之后,需要重新生成一个包含目标元素的新视频,而这需要耗费较多的等待时间,因此,一种不耗费等待时间的视频编辑方案亟待推出。
基于上述需求,为了便于理解,本申请提出了一种视频文件处理的方法,客户端获取待处理视频文件,待处理视频文件显示于第一图层上,客户端根据待处理视频文件生成第二图层,其中,第二图层覆盖于第一图层之上,且均对应于时长信息,在待处理视频文件播放过程中,当在第一时间节点获取到视频附加元素时,展示第一视频处理结果,第一视频处理结果包括在第二图层上显示视频附加元素,也即本申请中不需要通过对待处理视频文件进行重新绘制的方式来向待处理视频文件上添加视频附加元素,而是通过覆盖于第一图层之上的第二图层展示视频附加元素,从而不再需要耗费等待时间,提升了视频处理的效率。
其中,客户端均可以表现为网页客户端,也可以表现为应用程序类客户端,服务器为视频处理***的后台服务器,可以是一台服务器或多台服务器组成的服务器集群或云计算中心等,具体此处均不限定。本申请实施例提供的视频方法应用于图1所示的视频处理***,图1为本申请实施例中视频处理***的一个架构示意图,需要说明的是,客户端部署于图1所示终端设备上,如图所示,终端设备包含但不仅限于平板电脑、笔记本电脑、掌上电脑、手机、语音交互设备及个人电脑(personal computer,PC),此处不做限定。其中,语音交互设备包含但不仅限于智能音响以及智能家电。图1中的服务器是上述客户端的后台服务器,后台服务器可以是一台服务器或多台服务器组成的服务器集群或云计算中心等,具体此处均不限定。在客户端完成视频或图像处理之后,可以将处理后得到的内容上传到服务器,从实现分享或者转发功能等。
客户端和服务器之间可以通过无线网络连接。其中,上述的无线网络使用标准通信技术和/或协议。无线网络通常为因特网、但也可以是任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(WideArea Network,WAN)、移动、专用网络或者虚拟专用网络的任何组合)。在一些实施例中,可以使用定制或专用数据通信技术取代或者补充上述数据通信技术。
虽然图1中仅示出了五个终端设备和一个服务器,但应当理解,图1中的示例仅用于理解本方案,具体终端设备和服务器的数量均应当结合实际情况灵活确定。本申请实施例中,仅以提供的视频文件处理的方法应用于通讯类型的客户端上为例,进行说明。
由于在本申请的部分实施例中,客户端可以提供对视频附加元素进行放大、缩小、平移等编辑操作,此处对客户端的展示层进行介绍,请参阅图2,图2为本申请实施例中视频文件处理的方法中客户端的展示层的一个界面示意图,客户端的展示层可以分为四个部分,分别为视频文件播放区、视频附加元素显示区、元素编辑区以及操作编辑区,其中,视频文件播放区、视频附加元素显示区和元素编辑区可以互相重叠,从而能够让用户直观的感受到添加的视频附加元素的位置。视频文件播放区负责播放待处理视频,对应于第一图层;视频附加元素显示区用来显示所有的视频附加元素,视频附加元素显示区的整体背景可以为透明色,视频附加元素显示区的各种待处理元素可以支持用户的点击操作,当用户点击视频附加元素显示区中的待处理元素时,就会暂停待处理视频的播放并进入编辑流程,以开始对该待处理元素的编辑,视频附加元素显示区对应于第二图层;元素编辑区可以有一个透明色的背景,并且包含一个可以支持用户编辑的可编辑视图(在下图图8中会作详细解释),可编辑视图在待处理视频播放状态下会隐藏,只有在编辑状态下才会出现;操作编辑区可以用于接收用户输入的各种视频附加元素添加操作,应当理解,图2中的示例仅为一个示例,不用于限定产品的实际形态。
本申请实施例除了对客户端的展示层进行介绍之外,下面还会介绍客户端的数据层、逻辑层和控制层,首先是客户端的数据层,数据层负责提供相应的数据,由数据结构来管理,具体的,当视频附加元素为图像元素时和视频附加元素为文本元素时采用的数据结构可以不同,作为示例,例如当视频附加元素为图像元素时采用的数据结构可以为相册管家多媒体图像模型(PGMomentVideoImageModel),当视频附加元素为文本元素时采用的数据结构可以为相册管家多媒体文本模型(PGMomentTextModel)。进一步的,本申请实施例还公开了上述两种数据结构的相关代码:
PGMomentResourceType resourceType;//具体内容
NSInteger resourceID;//资源ID
NSString *resourceName;//资源名称
NSURL *fileURL;//远端地址
NSString *localFilePath;//本地资源地址
CGFloat start;//起始时间
CGFloat duration;//持续时间
CGSize targetSize;//大小
CGPoint centerOffset;//中心点偏移0~1.0
CGFloat rotate;//旋转角度
以上是在视频附加元素为图像元素时,采用PGMomentVideoImageModel类数据结构对数据内容进行记录的代码示例,由于代码右侧都有与代码对应的注释,此处不再对代码进行一一解释。
NSString *text;//文本
NSString *translation;//翻译
UIColor *textColor;//文本颜色
UIFont *textFont;//文本字体
UIFont *transFont;//文本字体
BOOL needShowTrans;//展示翻译
PGMomentTextModelType textType;//普通文本还是定位文本
CGFloat start;//起始时间
CGFloat duration;//持续时间
CGFloat offsetX;/// <中心点x偏差,范围[﹣0.5,0.5]
CGFloat offsetY;/// <中心点y偏差,范围[﹣0.5,0.5]
UIImageView *iconView;/// <地点专用
以上是在视频附加元素为文本元素时,采用PGMomentTextModel类数据结构对数据内容进行记录的代码示例,由于代码右侧都有与代码对应的注释,此处不再对代码进行一一解释。需要说明的是,当视频附加元素为文本元素时,文本元素可以为普通文本,也可以为定位文本,也即标明地点的文本,同上,由于代码右侧都有与代码对应的注释,此处不再对代码进行一一解释。
由于无论视频附加元素是图像元素还是文本元素,客户端均可以将视频附加元素视为第二图层上的一个贴图,进而也可以利用相册管家视频图层(PGMomentItemLayer)来对贴纸进行管理,下面示出的是当视频附加元素为动态元素时的相关代码:
CALayer *contentLayer;//具体内容
CGFloat startTime;//起始时间
CGFloat durationTime;//持续时间
CGFloat offsetX;//x偏移
CGFloat offsetY;//y偏移
CGFloat rotate;//角度
CGFloat animationRate;//动画速率
CAKeyframeAnimation*animation;//动画
id dataModel;//数据,指向videoImageModel
应当理解,PGMomentItemLayer还可以分别结合PGMomentVideoImageModel中的内容或PGMomentTextModel中的内容进行使用,PGMomentItemLayer中偏重于记录视频附加元素中的展现形式,PGMomentVideoImageModel和PGMomentTextModel偏重于记录视频附加元素中的具体内容,需要说明的是,上述举例仅为方便理解本方案,不用于限定本方案,PGMomentItemLayer、PGMomentVideoImageModel和PGMomentTextModel也仅为一种代码名称,实际产品中还可以通过其他名称来对数据结构进行命名,每种数据结构中实际包括的内容也不限于上述举例,应当结合实际情况灵活确定。
以下来介绍客户端的逻辑层,逻辑层负责控制第三图层的生成和编辑的相应操作,主要存在两个接口,一个接口负责生成对应的第三图层,一个接口负责在接收到用户输入的平移指令、缩放指令或删除指令等编辑指令时来刷新第三图层,第三图层上承载有视频附加元素,是显示与第二图层之上的一个图层,由于在后续实施例中会对第三图层进行详细介绍,所以此处先不展开描述。作为示例,例如客户端可以使用相册管家视频图层助手(PGMomentLayerHandler)来管理第三图层,其中,第一个接口的一个示例可以为+(PGMomentItemLayer*)itemLayerWithVideoImage(PGMomentVideoImageModel*)videoImageModel,意思为第三图层对应的数据结构是PGMomentVideoImageModel类型的;第二个接口的一个示例可以为+(void)itemLayerFresh:(PGMomentItemLayer*)itemLayerstart:(CGFloat)start duration : (CGFloat)duration,其中展示了第三图层的部分参数,分别为第三图层的起点时间和显示持续时间,用于刷新第三图层的显示,应当理解上述举例仅为方便理解本方案,不用于限定本方案。
最后来介绍客户端的控制层,控制层负责管理上述各个层次之间的协同工作,作为示例,可以通过相册管家视频图层管理员(PGMomentLayerManager)来实现,应当理解上述整个对客户端各个层面的介绍,以及具体实现方式的举例均仅为方便理解本方案,在具体产品实现过程中,可以不限于将客户端分为上述四层,可以为少于四层或多于四层,也即上述举例均不用于限定本方案。
结合上述介绍,下面将对本申请中视频文件处理的方法进行介绍,请参阅图3,本申请实施例中视频文件处理的方法一个实施例包括:
101、客户端提供视频文件处理界面,其中,视频文件处理界面包括视频文件播放区及操作编辑区,操作编辑区包括至少一个视频附加元素操作控件。
本实施例中,当用户进入客户端的展示界面时,客户端会向用户提供视频文件处理界面,其中,视频文件处理界面包括视频文件播放区及操作编辑区,操作编辑区包括至少一个视频附加元素操作控件,至少一个视频附加元素操作控件用于接收对视频附加元素的添加和/或编辑操作,进一步的,视频附加元素可以为文本元素、图像元素或其他类型的视频附加元素等,具体此处不做限定。
102、客户端获取待处理视频文件及待处理视频文件的时长信息,其中,待处理视频文件包括至少一帧待处理图像,待处理视频文件及时长信息显示于视频文件播放区,待处理视频文件位于第一图层。
本实施例中,客户端获取待处理视频文件及待处理视频文件的时长信息,其中,待处理视频文件包括至少一帧待处理图像,待处理视频文件显示于视频文件播放区,位于第一图层之上;可选地,待处理视频文件及时长信息均显示于视频文件播放区。进一步的,第一图层为用于播放待处理视频文件的图层,作为示例,例如本方案应用于苹果操作***(iPhone operation system,ios)上时,第一图层具体可以表现为多媒体播放图层(AVPlayerLayer);当本方案应用于安卓操作***上时,第一图层可以具体表现为其他类型的图层,此处不做一一列举。具体的,可以为客户端通过拍摄模块拍摄得到待处理视频文件,也可以为客户端从已存储的多个视频中选择得到待处理视频文件等,具体此处不做限定。可选地,客户端可以通过第一图层展示待处理视频文件的总时长以及播放进度条(也即时长信息),此外,客户端可以通过第一图层上展示用于接收待处理视频文件暂停指令和待处理视频文件播放指令的控件,以方便用户随时暂停播放待处理视频文件以及重新播放待处理视频文件。
103、客户端接收针对待处理视频文件在播放、拖拽和/或定位过程中,对应时长信息区间内的任一时间节点所触发的,对操作编辑区的视频附加元素添加和/或编辑操作。
本实施例中,客户端在完成了对待处理视频文件的加载流程之后,可以在第一图层上播放待处理视频文件。在客户端播放待处理视频文件的过程中,可以在时长信息区间内的任一时间节点通过操作视频区接收针对视频附加元素的添加和/或编辑操作。可选地,若客户端的视频文件播放区上展示有与待处理视频文件的时长信息对应的进度条,则用户可以通过对进度条执行拖动操作的方式来控制对待处理视频文件的播放,在前述多动进度条以控制对待处理视频文件的播放的过程中(也即在对待处理视频文件的拖拽过程中),客户端也可以通过操作视频区接收针对视频附加元素的添加和/或编辑操作;用户还可以通过对进度条执行定位操作,作为示例,例如通过对进度条执行点击操作的方式来执行定位操作,而在对进度条进行定位过程中(也即在对待处理视频文件进行定位的一种表现形式),也可以通过操作视频区接收针对视频附加元素的添加和/或编辑操作。进一步可选地,若第一图层上展示有用于接收待处理视频文件暂停指令和待处理视频文件播放指令的控件,则客户端可以在待处理视频文件处于播放状态时,在第一时间节点获取视频附加元素;也可以为在待处理视频文件处于暂停播放状态时(也即对待处理时频文件进行定位的另一种表现形式),也可以通过操作视频区接收针对视频附加元素的添加和/或编辑操作等等,客户端还可以针对待处理视频文件在播放、拖拽和/或定位的任意组合过程中,接收对视频附加元素添加和/或编辑操作,例如在针对待处理视频文件在播放且进行定位的过程中,接收对视频附加元素添加和/或编辑操作等,此处不对其他场景进行举例,或者,客户端还可以通过其他方式接收对视频附加元素添加和/或编辑操作,具体此处不做限定。
104、客户端响应于视频附加元素添加和/或编辑操作,在视频文件播放区的待处理视频文件所在第一图层上方生成第二图层,其中,被添加的视频附加元素位于第二图层,被添加的视频附加元素在第二图层上的时间节点与第一图层的待处理视频文件被触发进行视频附加元素添加和/或编辑操作的时间节点对应。
本实施例中,客户端在在接收到针对视频附加元素添加和/或编辑操作之后,可以获取到视频附加元素,进而会根据待处理视频文件生成第二图层,具体的,可以在视频文件播放区的待处理视频文件所在第一图层上方生成第二图层,其中,第二图层覆盖于第一图层之上,第二图层可以为透明图层,第二图层的大小可以与第一图层一样第二图层的出现时长也是目标时长段。具体的,客户端可以在生成第二图层之后,将第二图层与待处理视频文件进行绑定,也即将待处理视频文件的时长信息与第二图层进行同步,从而保证第二图层和待处理视频文件同时出现,同时消失;更具体的,就是指第二图层和待处理视频文件会形成一个一一对应的关系,通过这个关系待处理视频文件会实时的把当前播放进度信息同步到第二图层上面;作为示例,例如本方案应用于ios操作***上时,第二图层具体可以表现为多媒体同步图层(AVSynchronizedLayer),则客户端可以将多媒体同步图层(AVSynchronizedLayer)和待处理视频文件(AVPlayerItem)绑定,从而完成了待处理视频文件的加载流程;应当理解,第二图层还可以表现为其他形式,例如多媒体视频与动画组合核心工具(AVVideoCompositionCoreAnimationTool);进一步的,多媒体同步图层(AVSynchronizedLayer)可以应用于将对后续提及的第一视频处理结果进行预览的场景中,而多媒体视频与动画组合核心工具(AVVideoCompositionCoreAnimationTool)可以应用于对后续提及的第一视频处理结果进行存储的场景中,此处不对第二图层的其他表现形式进行穷举。
客户端在生成第二图层之后,可以在第二图层上展示被添加的视频附加元素。具体的,客户端在获取到被添加的视频附加元素之后,可以将被添加的视频附加元素合成于第二图层之上,其中,被添加的视频附加元素在第二图层上的时间节点与第一图层的待处理视频文件被触发进行视频附加元素添加和/或编辑操作的时间节点对应,具体的,可以为将待处理视频文件被触发进行视频附加元素添加和/或编辑操作的时间节点视为被添加的视频附加元素在第二图层上的初始展示时间节点,从而可以实现即时添加即时播放的效果;可选地,还可以通过后续针对被添加的视频附加元素的展示时长的调整操作,来对被添加的视频附加元素的起始展示时间节点节点和终止展示时间节点进行调整等,此处不做限定。
105、客户端展示经合成处理后的包括第一图层的待处理视频文件内容与第二图层的视频附加元素的视频文件。
本实施例中,在生成第二图层并将被添加的视频附加元素合成于第二图层之后,可以展示经合成处理后的包括所述第一图层的待处理视频文件内容与所述第二图层的视频附加元素的视频文件。由于第二图层是与第一图层绑定的,则客户端在通过第一图层播放待处理视频文件的同时,也可以在第二图层上展示被添加的视频附加元素。进一步的,在展示完第一视频处理结果之后,还可以将第一视频处理结果进行存储,作为示例,例如将多媒体同步图层(AVSynchronizedLayer)中的内容转移到多媒体视频与动画组合核心工具(AVVideoCompositionCoreAnimationTool)中,进而可以执行存储操作等,应当理解,上述举例仅为证明本方案的可实现性,不用于限定本方案。
本申请实施例中,提供了一种视频文件处理的方法,首先提供视频文件处理界面,视频文件处理界面包括视频文件播放区及操作编辑区,在获取到待处理视频文件以及待处理视频文件的时长信息之后,在视频文件播放区显示待处理视频文件,在待处理视频文件在播放、拖拽或定位过程中,在上述时长信息区间内任一时间节点接收对操作编辑区域的视频附加元素的添加和/或编辑操作,进而在视频文件播放区的待处理视频文件所在的第一图层上方生成第二图层,从而可以通过第二图层承载被添加的视频附加元素,被添加的视频附加元素在第二图层上的时间节点与待处理视频文件被触发进行视频附加元素添加和/或编辑操作的时间节点对应,进而展示经合成处理后的包括第一图层的待处理视频文件内容与第二图层的视频附加元素的视频文件。通过上述方式,在视频播放的图层之上新增一个图层,即第二图层,将生成的新图层和视频播放的图层进行绑定,并且在时间上达到同步,将视频文件与视频附加元素分别置于两个图层,在对视频进行视频附加元素的添加或编辑时,仅需要针对生成的新图层进行编辑,无需针对每次编辑后的视频流进行重新编码,因此,也就无需耗费等待时间,用户可以实时看到视频处理结果,从而提升了视频处理的效率。
可选地,在上述图3对应的实施例的基础上,本申请实施例提供的视频文件处理的方法一个可选实施例中,客户端响应于视频附加元素添加和/或编辑操作,在视频文件播放区的待处理视频文件所在第一图层上方生成第二图层,包括:
客户端响应于视频附加元素添加操作,控制待处理视频文件暂停播放,视频附加元素添加操作对应于被添加的视频附加元素的标识,被添加的视频附加元素为动态文本元素或动态图像元素;
客户端在视频文件播放区的待处理视频文件所在第一图层上方生成第二图层;
客户端展示经合成处理后的包括第一图层的待处理视频文件内容与第二图层的视频附加元素的视频文件,包括:
客户端在第一图层上展示视频文件中的待处理视频文件内容,以及,在第二图层上展示视频文件中的被添加的视频附加元素。
本实施例中,客户端在通过视频文件播放区播放、拖拽或定位待处理视频文件的过程中,还可以向用户展示操作编辑区,从而通过操作编辑区接收用户输入的视频附加元素添加操作,其中,视频附加元素为动态文本元素或动态图像元素。在一种实现方式中,操作编辑区可以固定展示于客户端的展示界面上,可以设置于视频播放区域的下方,也可以设置在视频播放区域的上方,还可以为设置在视频播放区域的左侧或右侧等;在另一种实现方式中,也可以为只有当用户点击展示界面中的预设位置,或当用户将光标至于展示界面中的预设位置时,客户端通过展示界面弹出操作编辑区,所述预设位置可以与操作编辑区的展示位置对应等,具体此处不限定操作编辑区的展示方式。
具体的,操作编辑区中可以分别包括与动态文本元素对应的动态文本元素添加操作的接收控件和与图像元素对应的动态图像元素添加操作的接收控件,从而用户可以通过操作编辑区输入视频附加元素添加和/或编辑操作,进而客户端可以展示文本视频附加元素添加操作的接收界面,或者客户端可以展示图像视频附加元素添加操作的接收界面,从而通过操作编辑区接收到视频附加元素添加操作,视频附加元素添加操作中携带有视频附加元素的标识,视频附加元素的标识用于唯一标识对应的视频附加元素,具体可以表现为数字编码,作为示例,例如客户端上存储有与每个图像元素对应的数字编码,例如“000001”、“000002”、“000003”等等;视频附加元素的标识具体也可以表现为字符编码,作为示例,例如客户端上存储有与每个图像元素对应的字符编码,字符编码的字符部分与图像元素所属的系列之间具有关联关系,例如“XR0001”、“QX0001”等等;视频附加元素的标识还可以具体表现为二进制编码,作为示例,例如用于描述用户输入的文本信息的二进制编码等等,视频附加元素的标识还可以表现为其他类型,此处不做限定。
客户端通过操作编辑区接收到视频附加元素添加操作之后,可以响应于视频附加元素添加操作,控制待处理视频文件暂停播放。具体的,若客户端在播放待处理视频文件的同时接收到视频附加元素添加操作,则控制待处理视频文件暂停播放指的是将播放状态的待处理视频文件转变为暂停状态;可选地,由于客户端还可以展示用于接收待处理视频文件暂停指令和待处理视频文件播放指令的控件,则若客户端接收到视频附加元素添加操作时,待处理视频文件处于暂停播放状态,则客户端维持待处理视频文件的暂停播放状态。
客户端在根据视频附加元素添加操作中携带的视频附加元素的标识确定视频附加元素之后,可以在视频文件播放区的处理视频文件所在第一图层上方生成第二图层,进而在第一图层上展示视频文件中的待处理视频文件内容,以及,在第二图层上展示视频文件中的被添加的视频附加元素;进一步地,可以为在第二图层的视频附加元素显示区内展示视频附加元素,其中,视频附加元素显示区可以与待处理视频文件的展示区域重合,也可以为视频附加元素显示区为待处理时频的展示区域中的部分区域等,具体此处不做限定。
为进一步理解本方案,请参阅图4,图4为本申请实施例中视频文件处理的方法中接收视频附加元素添加操作的一种界面示意图。图4中以在视频播放区域的下方固定展示操作编辑区为例,其中,A1指的是视频附加元素显示区,与视频播放区域重合;A2指的是操作编辑区,A3为用于接收文本元素的文本元素添加操作的控件,A4为用于接收图像元素的图像元素添加操作的控件,在用户点击A3或者A4的时候,A1中播放的视频处于暂停播放状态,进而可以展示相应的图像元素的标识的录入界面或文本信息的录入界面,以在获取到图像元素的标识或文本信息之后,在A1中展示添加的视频附加元素,应当理解,图4中的举例仅为方便理解本方案,不用于限定本方案。
本申请实施例中,在第一时间节点接收视频附加元素添加操作之后,可以响应于视频附加元素添加操作,控制待处理视频文件暂停播放,并在视频文件播放区的待处理视频文件所在第一图层上方生成第二图层,进而在第一图层上展示视频文件中的待处理视频文件内容,以及,在第二图层上展示视频文件中的被添加的视频附加元素,其中,被添加的视频附加元素为动态文本元素或动态图像元素。通过上述方式,用户无需反复调整视频进度条,直到选取到合适的视频帧之后,手动暂停视频,再添加动态视频附加元素,而是在视频播放过程中随时向视频中添加动态视频附加元素,从而保证了添加动态视频附加元素的灵活性和便捷性。
可选地,在上述图3对应的实施例的基础上,本申请实施例提供的视频文件处理的方法一个可选实施例中,客户端在第二图层上展示视频文件中的被添加的视频附加元素,包括:
客户端获取被添加的视频附加元素所对应的图像序列,其中,图像序列包括至少一帧图像;
客户端在被添加的视频附加元素所在第二图层上方生成第三图层,第三图层的内容属性被赋值为图像序列中的首帧图像;
客户端在视频文件播放区的第三图层上展示被添加的视频附加元素所对应的图像序列。
本实施例中,在被添加的视频附加元素为图像元素的情况下,客户端获取被添加的视频附加元素所对应的图像序列,其中,图像序列包括至少一帧图像,也即被添加的视频附加元素可以为只包括一帧图像的静态元素,也可以为包括至少两帧图像的动态元素,进一步的,被添加的视频附加元素中的内容可以为图片,也可以为文字等,具体此处不做限定。更进一步的,与被添加的视频附加元素对应的图像序列中图像的格式包括但不限于便携式网络图形(Portable Network Graphics,png)、位图(Bitmap,bmp)或其他图片格式等等。
客户端在获取到被添加的视频附加元素所对应的图像序列之后,可以在被添加的视频附加元素所在第二图层上方生成与被添加的视频附加元素对应的第三图层,第三图层的内容(content)属性被赋值为图像序列中的首帧图像,进而可以在视频文件播放区的第三图层上展示被添加的视频附加元素所对应的图像序列。具体的,若被添加的视频附加元素所对应的图像序列只包括一帧图像,则第三图层的内容属性被赋值为图像序列中的唯一一帧图像,若被添加的视频附加元素所对应的图像序列包括至少两帧图像,则第三图层的内容属性先被赋值为至少两帧图像中的第一帧图像,从而生成了与被添加的视频附加元素中的内容所对应的贴图,更具体的,将第三图层的内容属性赋值为一帧图像的过程可以为将所述一帧图像的图像标识赋值给第三图层的内容属性。其中,第三图层的大小可以与被添加的视频附加元素的展示大小一致,作为示例,例如第三图层具体可以表现为CALayer,其中CALayer是多媒体同步图层(AVSynchronizedLayer)中的最小内容表达单位。
由于可以将第一图层的待处理视频文件被触发进行视频附加元素添加和/或编辑操作的时间节点(以下简称为“第一时间节点”)视为被添加的视频附加元素的起始展示时间节点,而用户还可以通过客户端输入被添加的视频附加元素的终止展示时间,从而客户端可以获取到被添加的视频附加元素的显示持续时间。则可以在视频附加元素显示区内,通过第二图层之上的第三图层展示被添加的视频附加元素所对应的图像序列。具体的,可以为从第一时间节点起开始展示被添加的视频附加元素,被添加的视频附加元素的显示时长为所述显示持续时间;当然,用户还可以对第一时间节点所对应的具体时间点进行调整,例如将第一时间节点所对应的实际时间点调前或调后等等。
更具体的,在一种情况下,若被添加的视频附加元素为静态元素,则与被添加的视频附加元素对应的图像序列中只包括一帧图像,则可以在将所述唯一一帧图像赋值给第三图层的内容属性之后,在整个显示持续时间里均展示所述唯一一帧图像,进一步的,第三图层的内容属性、第一时间节点以及显示持续时间均可以存储于第三图层的数据结构中,例如若被添加的视频附加元素是图像元素,则第三图层的内容属性可以存储于数据结构PGMomentVideoImageModel,第三图层的起始展示时间节点和显示持续时间均可以存储于数据结构PGMomentItemLayer中;例如若被添加的视频附加元素是文本元素,则第三图层的内容属性可以存储于数据结构PGMomentTextModel中,第三图层的起始展示时间节点和显示持续时间均可以存储于数据结构PGMomentItemLayer中;等等,具体此处不做限定。
在另一种情况下,若被添加的视频附加元素所对应的图像序列包括至少两帧图像,也即被添加的视频附加元素为动态元素,则可以将第三图层配置为动画,按照预定的频率更新第三图层的内容属性的赋值;具体的,可以为将图像序列包括的至少两帧图像按照展示顺序进行排序,从而依次将每帧图像赋值给第三图像的内容属性;更具体的,例如图像序列包括两帧图像,则可以为将两帧图像进行排序得到第一帧图像(也即首帧图像)和第二帧图像,则在一种实现方式中,可以为按照预设频率反复将第一帧图像和第二帧图像赋值给第三图层,直至第三图层的显示持续时间结束;在另一种实现方式中,可以为先将第一帧图像复制给第三图层,之后再将第二帧图像赋值给第三图层,直至整个显示持续时间结束不再更新第三图层的赋值,作为示例,由于在客户端的逻辑层可以通过PGMomentLayerHandler来管理第三图层,其中,PGMomentLayerHandler可以为第三图层配置一个动画,例如关键词框架动画(CAKeyframeAnimation),之后CAKeyframeAnimation可以按照预设的频率在整个显示持续时间内更新第三图层的赋值,应当理解,上述举例仅为方便理解本方案,不用于限定本方案。
为进一步理解本方案,请参阅图5,图5为本申请实施例中视频文件处理的方法中展示被添加的视频附加元素的一个流程示意图,图5中以被添加的视频附加元素为动态元素为例进行说明。其中,B1、客户端获取待处理视频文件;B2、客户端根据待处理视频文件生成多媒体同步图层(AVSynchronizedLayer)(也即第二图层的一个示例);B3、客户端播放待处理视频文件;B4、客户端通过操作编辑区接收到被添加的视频附加元素添加操作,被添加的视频附加元素添加操作携带被添加的视频附加元素的标识,客户端响应于被添加的视频附加元素添加操作,控制待处理视频文件暂停播放;B5、客户端获取被添加的视频附加元素所对应的png序列(也即图像序列的一个示例);B6、客户端生成CALayer(也即第三图层的一个示例),将png序列中的第一帧图像赋值给第三图层的内容属性;B7、客户端为CALayer配置一个动画CAKeyframeAnimation;B8、客户端中的CAKeyframeAnimation按照预设频率更新第三图层的内容属性,以及将第三图层的数据结构将第三图层配置为动画,具体的,可以为CAKeyframeAnimation按照客户端配置的频率从png序列中依次将每一帧图像赋值给第三图层的内容属性,此外,客户端还需要根据第一时间节点和显示持续时间,配置第三图层的数据结构中的起始时间和持续时间;B9、客户端将生成的CALayer添加到已生成的AVSynchronizedLayer上,应当理解,图5中的举例仅为方便理解本方案,不用于限定本方案。
本申请实施例中,获取被添加的视频附加元素所对应的图像序列,生成视频附加元素所对应的第三图层,其中,第三图层的内容属性被赋值为图像序列中的首帧图像,根据第一时间节点以及显示持续时间,在视频文件播放区的第三图层展示视频附加元素所对应的图像序列。通过上述方式,提供了在视频附加元素显示区内展示被添加的视频附加元素的具体实现方式,提高了本方案的可实现性;且由于被添加的视频附加元素中可以包括至少两帧图像,也即被添加的视频附加元素具体可以表现为视频的形式,采用图像序列的方式,有效避免了视频的解码带来的性能消耗。
可选地,在上述图3对应的实施例的基础上,本申请实施例提供的视频文件处理的方法一个可选实施例中,客户端响应于视频附加元素添加和/或编辑操作,在视频文件播放区的待处理视频文件所在第一图层上方生成第二图层,包括:
客户端响应于视频附加元素添加操作,控制待处理视频暂停播放,视频附加元素添加操作对应于视频附加元素的标识,视频附加元素为静态文本元素或静态图像元素;
在视频文件播放区的待处理视频文件所在第一图层上方生成第二图层。
本实施例中,客户端在通过视频文件播放区播放、拖拽或定位待处理视频文件的过程中,还可以向用户展示操作编辑区,从而通过操作编辑区接收用户输入的视频附加元素添加操作,其中,视频附加元素为静态文本元素或静态图像元素。
具体的,操作编辑区中可以分别包括与静态文本元素对应的静态文本元素添加操作的接收控件和与图像元素对应的静态图像元素添加操作的接收控件,从而用户可以通过操作编辑区输入视频附加元素添加和/或编辑操作,在客户端通过操作编辑区接收到视频附加元素添加操作之后,可以响应于视频附加元素添加操作,控制待处理视频文件暂停播放。
客户端在根据视频附加元素的标识确定待添加的静态元素之后,可以在视频文件播放区的处理视频文件所在第一图层上方生成第二图层,进而在第一图层上展示视频文件中的待处理视频文件内容,以及,在第二图层上展示视频文件中的被添加的视频附加元素。
本申请实施例中,通过上述方式,用户无需反复调整视频进度条,直到选取到合适的视频帧之后,手动暂停视频,再添加静态视频附加元素,而是在视频播放过程中随时向视频中添加静态视频附加元素,从而保证了添加静态视频附加元素的灵活性和便捷性;此外,不仅提供了动态元素的添加方式,还提供了静态元素的添加方式,扩展了本方案的实现场景。
可选地,在上述图3对应的实施例的基础上,本申请实施例提供的视频文件处理的方法一个可选实施例中,客户端响应于所述视频附加元素添加和/或编辑操作,在所述视频文件播放区的待处理视频文件所在第一图层上方生成第二图层,包括:
客户端在第一时间节点接收贴图添加操作,其中,贴图添加操作携带图像元素的标识,图像元素属于视频附加元素;
客户端响应于贴图添加操作,控制待处理视频文件暂停播放;
在所述视频文件播放区的待处理视频文件所在第一图层上方生成所述第二图层。
本实施例中,由于客户端上可以通过操作编辑区展示与图像元素对应的元素选择操作的接收控件,则可以在接收到图像元素选择操作之后,进入贴图添加操作的接收界面,以在第一时间节点接收贴图添加操作,接收到贴图添加操作之后,客户端可以控制待处理视频文件暂停播放,并展示图像元素的标识的接收界面,以接收用户输入的图像元素的标识,其中,图像元素的标识具体可以表现为数字编码、字符编码或其他形式,由于上述实施例中已有描述,此处不再赘述。进一步的,与图像元素对应的贴图可以为静态贴图,也可以为动态贴图。具体的,图像元素的标识的接收界面上可以展示有多个贴图,从而用户可以通过录入选择操作的方式录入图像元素的标识,更具体的,当与图像元素对应的贴图为动态贴图时,客户端展示的可以为动态贴图包括的至少两帧图像中的第一帧图像(也即首帧图像)。进一步的,由于图像元素的标识的接收界面上可以展示的贴图数量有限,则用户可以通过录入滑动操作的方式以切换图像元素的标识的接收界面上展示的贴图,进而录入图像元素的标识。在用户输入完图像元素的标识之后,视为客户端获取到了贴图添加操作中携带的图像元素的标识,进而可以根据图像元素的标识获取对应的图像元素。
可选地,客户端在获取到图像元素的标识之后,还可以展示显示持续时间录入界面,具体的,客户端可以将第一时间节点默认为起始播放时刻,从而用户可以通过对终止播放时刻的选择以录入图像元素的显示持续时间;进一步的,用户还可以选择图像元素的起始播放时刻,也即用户可以通过对起始播放时刻和终止播放时刻的选择来录入图像元素的显示持续时间。具体的,用户可以通过点击操作、滑动操作等来实现对终止播放时刻和/或起始播放时刻的选择操作。
客户端在获取到图像元素之后,可以将待处理视频文件由暂停播放状态调整为播放状态,并在视频附加元素显示区内的预设位置上展示图像元素,其中,视频附加元素显示区与视频播放区域可以重合,预设位置可以为视频附加元素显示区的任意位置,例如视频附加元素显示区的左上角、右上角、左下角、右下角、中间位置或其他任意位置等等。
具体的,客户端可以在整个待处理视频文件的播放阶段视为显示持续时间,则整个待处理视频文件的播放过程中都随着待处理视频文件的播放展示图像元素;也可以将从第一时间节点起直至待处理视频文件播放结束这段时间视为显示持续时间,则从第一时间节点起直至待处理视频文件播放结束都展示图像元素;可选地,若客户端可以接收用户录入的显示持续时间,则在用户录入的显示持续时间内展示图像元素等等,具体此处不做限定。
更具体的,若图像元素为静态元素,则在图像元素的显示持续时间里,客户端可以持续展示图像元素对应的唯一一帧图像;若图像元素为动态元素,也即图像元素对应的图像序列中包括至少两帧图像,则在图像元素的显示持续时间里,可以反复展示图像序列中的至少两帧图像,也可以为在将至少两帧图像展示完一遍之后,停留在至少两帧图像中的最后一帧图像上;作为示例,例如显示持续时间为3秒,图像元素中包括两帧图像,而3秒内可以展示6帧图像,则一种实现方式中,可以为反复展示所述两帧图像3次,另一种实现方式中,可以展示所述两帧图像1次以后,持续展示两帧图像中的后一帧图像等,此处举例仅为方便理解本方案,不用于限定本方案。
为进一步理解本方案,请参阅图6,图6为本申请实施例中视频文件处理的方法中获取图像元素的一个界面示意图,图6中包括(a)、(b)、(c)和(d)四个子示意图,图6的(a)子示意图与上述图4类似,此处不再赘述,当用户点击A4时视为开始接收到用户添加的贴图添加操作,则进入图6的(b)示意图,由于客户端可以对预设的图像元素做进一步分类,其中,C1指的是表情类的图像元素,C2指的是挂件类的图像元素,当用户点击C2时,可以进入图6的(c)示意图,以获取贴图添加操作中的图像元素的标识,其中,C3中示出的为多种挂件,当用户点击C3中的一个目标挂件时,输入了对目标挂件的选择操作,进而当用户点击确定C4时,客户端可以获取到图像元素的标识,进而进入图6的(d)示意图中,也即展示图像元素,当然在实际产品中也可以不存在图6的(b)示意图这一界面,而是在用户点击C2时直接进入图6的(c)示意图,应当理解,图6中的举例仅为方便理解本方案,不用于限定本方案。
本申请实施例中,在第一时间节点接收贴图添加操作,其中,贴图添加操作携带图像元素的标识,响应于贴图添加操作,控制待处理视频文件暂停播放,在视频附加元素显示区内展示图像元素。通过上述方式,提供了用户向待处理视频文件中添加图像元素的具体实现方式,增加了本方案的可实现性。
可选地,在上述图3对应的实施例的基础上,本申请实施例提供的视频文件处理的方法一个可选实施例中,客户端响应于所述视频附加元素添加和/或编辑操作,在所述视频文件播放区的待处理视频文件所在第一图层上方生成第二图层,包括:
客户端在第一时间节点接收文本添加操作,其中,文本添加操作携带图像元素的标识,图像元素属于视频附加元素;
客户端响应于文本添加操作,控制待处理视频文件暂停播放;
在所述视频文件播放区的待处理视频文件所在第一图层上方生成所述第二图层。
本实施例中,由于客户端上可以通过操作编辑区展示与文本元素对应的元素选择操作的接收控件,则可以在接收到文本元素选择操作之后,进入文本添加操作的接收界面,以在第一时间节点接收文本添加操作,接收到文本添加操作之后,客户端可以控制待处理视频文件暂停播放,并展示文本信息接收界面,以接收用户输入的文本信息,具体的,文本信息接收界面上可以展示有用于接收文本信息的文本框,从而用户可以录入文本信息;文本信息接收界面上也可以展示有用于接收文本信息的麦克风图标,从而用户可以通过麦克风以语音的的形式录入文本信息等,具体此处不做限定。在用户输入完文本信息之后,视为客户端获取到了文本添加操作中携带的文本元素,文本元素中包括用户已输入的文本信息。
对应的,客户端在获取到文本信息之后,还可以展示显示持续时间录入界面,具体展示方式与图6对应的实施例中描述的显示持续时间录入界面类似,此处不做赘述。
客户端在获取到文本元素之后,可以将待处理视频文件由暂停播放状态调整为播放状态,并在视频附加元素显示区内的预设位置上展示文本元素。具体的,客户端可以在整个待处理视频文件的播放阶段视为显示持续时间,则整个待处理视频文件的播放过程中都随着待处理视频文件的播放展示文本元素;也可以将从第一时间节点起直至待处理视频文件播放结束这段时间视为显示持续时间,则从第一时间节点起直至待处理视频文件播放结束都展示文本元素;可选地,若客户端可以接收用户录入的显示持续时间,则在用户录入的显示持续时间内展示文本元素等等,具体此处不做限定。
为进一步理解本方案,请参阅图7,图7为本申请实施例中视频文件处理的方法中获取文本元素的一个界面示意图,图7中包括(a)、(b)、(c)和(d)四个子示意图,图7中以通过文本框接收用户输入的文本信息为例。图7的(a)子示意图与上述图4类似,此处不再赘述,当用户点击A3时视为开始接收到用户添加的文本添加操作,则进入图7的(b)示意图,由于客户端可以对接收的文本信息做进一步分类,其中,D1指的是字幕类的文本信息,D2指的是地址类的文本信息,当用户点击D1时,可以进入图7的(c)示意图,以获取文本添加操作中的文本信息,其中,D3中示出的为接收文本信息的文本框,用户通过D3输入文本信息之后,可以点击D4,从而客户端可以获取到文本信息,进而进入图7的(d)示意图中,也即展示文本元素,当然在实际产品中也可以不存在图7的(b)示意图这一界面,而是在用户点击D1时直接进入图7的(c)示意图,应当理解,图7中的举例仅为方便理解本方案,不用于限定本方案。
本申请实施例中,在第一时间节点接收文本添加操作,其中,文本添加操作携带文本元素的标识,响应于文本添加操作,控制待处理视频文件暂停播放,在视频附加元素显示区内展示文本元素。通过上述方式,提供了用户向待处理视频文件中添加文本元素的具体实现方式,增加了本方案的可实现性。
可选地,在上述图3对应的实施例的基础上,本申请实施例提供的视频文件处理的方法一个可选实施例中,客户端响应于视频附加元素添加和/或编辑操作,在视频文件播放区的待处理视频文件所在第一图层上方生成第二图层之后,方法还包括:
客户端获取与视频附加元素对应的第三图层,第三图层位于第二图层上方;
在第三图层对视频附加元素进行处理,得到处理后的视频附加元素,处理后的视频附加元素显示于第三图层之上。
本实施例中,客户端在获取到被添加的视频附加元素所对应的图像序列之后,可以在被添加的视频附加元素所在第二图层上方生成与被添加的视频附加元素对应的第三图层,第三图层的内容(content)属性被赋值为图像序列中的首帧图像,从而通过第三图层将视频附加元素合成于第二图层上,而第二图层与第一图层是绑定的,所以实现了将视频附加元素合成于第一图层上,在客户端将视频附加元素添加到第二图层之后,还可以获取针对视频附加元素的调整操作,进而响应于所述调整操作,获取视频附加元素的第三图层,并通过第三图层对视频附加元素进行处理,以得到处理后的视频附加元素,处理后的视频附加元素显示于第三图层之上。具体的,可以在初次获取到视频附加元素,也即尚未随待处理视频文件播放视频附加元素之前,就获取针对视频附加元素的调整操作,进而获取与视频附加元素对应的第三图层,并通过第三图层对视频附加元素进行处理;也可以为在已经将视频附加元素随着待处理视频文件播放过之后,录入对视频附加元素的选择指令之后,再获取针对视频附加元素的调整操作,进而获取与视频附加元素对应的第三图层,进而通过第三图层对视频附加元素进行处理等。其中,用户可以通过点击视频附加元素的方式录入对视频附加元素的选择指令,也可以通过录入预设手势操作的方式录入对视频附加元素的选择指令等等,具体此处不做限定。
其中,调整操作中可以具体表现为多种形式,若接收到第一调整操作,则客户端在视频附加元素显示区内对视频附加元素进行平移处理,得到已处理元素,其中,已处理元素显示于第二图层之上。具体的,用户可以通过按压视频附加元素,并将视频附加元素拖动至目标位置的方式录入第一调整操作;也可以为在选中视频附加元素之后,再在视频附加元素显示区内点击目标位置的方式录入第一调整操作;此处不对其他实现方式进行穷举。进而客户端可以在视频附加元素显示区内对视频附加元素进行平移处理,以将视频附加元素移动至目标位置,从而得到位于目标位置上的已处理元素。
若接收到第二调整操作,则客户端在视频附加元素显示区内对视频附加元素进行放大或缩小处理,得到已处理元素,其中,已处理元素显示于第二图层之上。具体的,在一种实现方式中,客户端在调整操作接收界面上可以展示有用于接收第二调整操作的图标,从而用户可以基于所述图标录入第二调整操作,更具体的,用于接收第二调整操作的图标可以设置于视频附加元素的左上角、右上角、左下角或右下角上,从而用户可以通过向外拖动或向里拖动所述图标的方式来对视频附加元素进行放大或缩小处理(也即录入了第二调整操作);在另一种实现方式中,客户端也可以不展示用于接收第二调整操作的图标,从而用户可以直接对第一待处理操作输入放大或缩小操作,以录入第二调整操作等,此处不对其他实现方式进行穷举。进而客户端可以在视频附加元素显示区内对视频附加元素进行放大或缩小处理,以得到已处理元素。
若接收到第三调整操作,则客户端在视频附加元素显示区内对视频附加元素进行旋转处理,得到已处理元素,其中,已处理元素显示于第二图层之上。具体的,在一种实现方式中,客户端在调整操作接收界面上可以展示有用于接收第三调整操作的图标,从而用户可以基于所述图标录入第三调整操作,更具体的,用于接收第三调整操作的图标可以设置于视频附加元素的左上角、右上角、左下角或右下角上,也可以设置于视频附加视频附加元素显示区之外等,从而用户可以通过拖动所述图标的方式来对视频附加元素进行旋转处理(也即录入了第三调整操作),其中所述拖动轨迹可以为类圆形,可选地,用于接收第三调整操作的图标和用于接收第二调整操作的图标可以为同一个图标;在另一种实现方式中,客户端也可以不展示用于接收第三调整操作的图标,从而用户可以直接对第一待处理操作输入旋转操作,以录入第三调整操作等,此处不对其他实现方式进行穷举。进而客户端可以在视频附加元素显示区内对视频附加元素进行旋转处理,以得到已处理元素。
若接到收第四调整操作,则客户端在视频附加元素显示区内对视频附加元素所对应的显示持续时间进行调整,得到目标显示持续时间。具体的,客户端在调整操作接收界面上可以展示有用于接收第四调整操作的图标,用于接收第四调整操作的图标具体可以表现为进度条形式,进度条上可以展示有视频附加元素的显示持续时间所对应的起始播放时刻和终止播放时刻,当然,进度条上还可以展示有所述显示持续时间。所述起始播放时刻和终止播放时刻可以为图形化处理后的,从而用户可以通过对起始播放时刻和终止播放时刻执行滑动操作的方式来调整视频附加元素所对应的显示持续时间,从而得到调整后的目标显示持续时间。
为进一步理解本方案,请参阅图8,图8为本申请实施例中视频文件处理的方法中获取调整操作的一个界面示意图。其中,E1指的是视频附加元素,整个E1用于接收第一调整操作,E2可以用来接收第二调整操作,也可以用来接收第三调整操作,E3代表的是显示持续时间所对应的起始播放时刻,E5代表的是显示持续时间所对应的终止播放时刻,从而用户可以通过对E4和/或E5执行滑动操作的方式来输入第四调整操作,应当理解,图8中的举例仅为方便理解本方案,不用于限定本方案。在实际产品中,例如用户还可以通过语音的形式输入各种调整操作等等,此处均不作限定。
本申请实施例中,在将视频附加元素添加到第二图层之后,客户端还可以获取与视频附加元素对应的第三图层,并通过第三图层对视频附加元素进行处理,得到处理后的视频附加元素。通过上述方式,可以在获取到视频附加元素之后对视频附加元素进行二次处理,提高了对视频附加元素的展示灵活性。
可选地,在上述图3对应的实施例的基础上,本申请实施例提供的视频文件处理的方法一个可选实施例中,若接收到第一调整操作,则客户端在第三图层对视频附加元素进行处理,得到处理后的视频附加元素包括:
客户端在操作编辑区内将第三图层添加至可编辑视图上;
客户端在可编辑视图上对视频附加元素进行平移处理,得到平移参数;
客户端将平移参数记录至第三图层所对应的数据结构;
客户端将第三图层重新绘制到第二图层之上。
本实施例中,若客户端接收到第一调整操作,则可以获取与视频附加元素对应的第三图层,进而可以在操作编辑区内将第三图层从第二图层中移除,并将其添加到可编辑视图(view)上,进而可以通过可编辑视图获取元素移动指令,其中,可编辑视图位于元素编辑区中,由于上述对图2的描述中已经对元素编辑区进行了描述,此处不再赘述;可编辑视图可以通过懒加载的形式,在用户第一次点击视频附加元素的时候生成。
客户端响应于元素移动指令,在可编辑视图上对视频附加元素进行平移处理,得到平移参数,其中,在一种情况下,可以以元素编辑区中的某一个点作为原点,以水平方向为横坐标,以竖直方向为纵坐标,平移参数可以包括将视频附加元素进行平移处理后的目标位置的坐标信息,平移参数也可以包括对视频附加元素执行平移过程中移动的角度、在水平方向上的移动距离以及在竖直方向上的移动距离等,进一步的,原点坐标可以为元素编辑区的左上角顶点、左下角顶点、右上角顶点、右下角顶点、中心点等,也可以为将视频附加元素的中心点视为坐标原点等等;进而将平移参数记录至第三图层对应的数据结构中,由于上述实施例中已经对数据结构进行了详细介绍,此处不再进行赘述。在用户完成对视频附加元素的调整操作之后,客户端根据第三图层的数据结构中存储的移动前位置以及平移参数,重新确定第三图层在第二图层上的位置,进而将第三图层重新绘制到第二图层之上。
为进一步理解本方案,请参阅图9,图9为本申请实施例中视频文件处理的方法中对视频附加元素进行平移处理的一个流程示意图。F1、客户端接收对视频附加元素的第一调整操作,控制待处理视频文件处于暂停播放状态;F2、客户端获取与视频附加元素对应的CALayer(也即第三图层的一种示例),将CALayer从AVSynchronizedLayer(也即第二图层的一种示例)上移除;F3、客户端将CALayer添加到可编辑视图上;F4、客户端通过可编辑视图获取元素移动指令,可编辑视图上对视频附加元素进行平移处理,得到平移参数;F5、客户端将平移参数记录至第三图层所对应的数据结构;F6、客户端根据第三图层数据结构,将CALayer重新绘制到AVSynchronizedLayer上,应当理解,图9中的示例仅为方便理解本方案,不用于限定本方案。
本申请实施例中,在操作编辑区内将第三图层添加至可编辑视图上,通过可编辑视图获取元素移动指令之后,在可编辑视图上对视频附加元素进行平移处理,得到平移参数,进而将平移参数记录至第三图层所对应的数据结构,根据平移参数将第三图层重新绘制到第二图层之上。通过上述方式,提供了对视频附加元素进行平移处理的具体实现方式,提高了本方案的可实现性,且由于在针对视频附加元素的平移处理的过程中不会涉及到待处理视频文件数据的更新,而是只针对第二图层进行操作,也即不需要对每帧视频进行重新绘制,因此,也就无需耗费等待时间,用户可以实时看到视频处理结果,从而提升了视频处理的效率。
可选地,在上述图3对应的实施例的基础上,本申请实施例提供的视频文件处理的方法一个可选实施例中,客户端在第三图层对视频附加元素进行处理,得到处理后的视频附加元素包括:
客户端在操作编辑区内将第三图层添加至可编辑视图上;
客户端在可编辑视图上对视频附加元素进行缩放处理,得到缩放参数,缩放参数包括放大倍数参数或者缩小倍数参数;
客户端将缩放参数记录至第三图层所对应的数据结构;
客户端将第三图层重新绘制到第二图层之上。
本实施例中,若客户端接收到第二调整操作,则可以获取与视频附加元素对应的第三图层,进而可以在操作编辑区内将第三图层从第二图层中移除,并将其添加到可编辑视图上,进而可以通过可编辑视图获取元素缩放指令,其中,客户端响应于元素缩放指令,在可编辑视图上对视频附加元素进行缩小或放大处理,得到缩放参数,其中,可以为以视频附加元素的当前大小视为1倍大小,缩放参数中包括对视频附加元素进行放大或缩小的倍数;进而将缩放参数记录至第三图层对应的数据结构中,在用户完成对视频附加元素的调整操作之后,客户端根据第三图层的数据结构中存储的缩放参数,重新确定第三图层在第二图层上的大小,进而将第三图层重新绘制到第二图层之上。
本申请实施例中,通过上述方式,提供了对视频附加元素进行缩小或放大处理的具体实现方式,提高了本方案的可实现性,也扩展了本方案的应用场景;且由于在针对视频附加元素的缩小或放大处理的过程中不会涉及到待处理视频文件数据的更新,而是只针对第二图层进行操作,也即不需要对每帧视频进行重新绘制,因此,用户可以实时看到视频处理结果,提升了视频处理的效率。
可选地,在上述图3对应的实施例的基础上,本申请实施例提供的视频文件处理的方法一个可选实施例中,客户端在第三图层对视频附加元素进行处理,得到处理后的视频附加元素包括:
客户端在操作编辑区内将第三图层添加至可编辑视图上;
客户端在可编辑视图上对视频附加元素进行旋转处理,得到旋转角度参数;
客户端将旋转角度参数记录至第三图层所对应的数据结构;
客户端将第三图层重新绘制到第二图层之上。
本实施例中,若客户端接收到第三调整操作,则可以获取与视频附加元素对应的第三图层,进而可以在操作编辑区内将第三图层从第二图层中移除,并将其添加到可编辑视图上,进而可以通过可编辑视图获取元素旋转指令,其中,客户端响应于元素旋转指令,在可编辑视图上对视频附加元素进行旋转处理,得到旋转参数,其中,旋转参数中可以包括视频附加元素的旋转方向以及旋转角度等信息;进而将旋转参数记录至第三图层对应的数据结构中,在用户完成对视频附加元素的调整操作之后,客户端根据第三图层的数据结构中存储的旋转参数,重新确定第三图层的显示方向,进而将第三图层重新绘制到第二图层之上。
本申请实施例中,通过上述方式,提供了对视频附加元素进行旋转处理的具体实现方式,提高了本方案的可实现性,也扩展了本方案的应用场景;且由于在针对视频附加元素的旋转处理的过程中不会涉及到待处理视频文件数据的更新,而是只针对第二图层进行操作,也即不需要对每帧视频进行重新绘制,因此,用户可以实时看到视频处理结果,提升了视频处理的效率。
可选地,在上述图3对应的实施例的基础上,本申请实施例提供的视频文件处理的方法一个可选实施例中,客户端在响应于视频附加元素添加和/或编辑操作,在视频文件播放区的待处理视频文件所在第一图层上方生成第二图层之后,方法还包括:
客户端接收针对待处理视频文件在播放、拖拽和/或定位过程中,对应时长信息区间内的任一时间节点所触发的,对操作编辑区的视频附加元素删除操作;
客户端响应于视频附加元素删除操作,在视频文件播放区的第二图层上删除视频附加元素。
本实施例中,客户端在获取到视频附加元素之后,还可以基于视频附加元素在第二时间节点接收视频附加元素删除操作,其中,视频附加元素删除操作携带视频附加元素的标识,视频附加元素为文本元素或图像元素,第二时间节点为时长信息区间内的任一时间节点所触发的,从而客户端可以响应于视频附加元素删除操作,在视频附加元素显示区内删除视频附加元素,进而在视频文件播放区的第二图层上删除视频附加元素,也即经过视频附加元素删除操作后的视频文件播放区中不再出现视频附加元素。
具体的,可以在初次获取到视频附加元素,也即仅在第二图层上展示了视频附加元素但尚未随待处理视频文件播放视频附加元素之前,展示指令接收界面,指令接收界面上可以设置有用于接收针对视频附加元素的元素删除操作的控件,从而通过所述图标接收用户录入的视频附加元素删除操作;也可以为在已经将视频附加元素随着待处理视频文件播放过之后,录入对视频附加元素的选择指令之后,展示指令接收界面,指令接收界面上可以设置有用于接收针对视频附加元素的元素删除操作的控件,从而通过所述图标接收视频附加元素删除操作,其中,用户录入对视频附加元素的选择指令的方式在上述图8对应的实施例中已有描述,此处不再赘述;还可以为长按视频附加元素之后,将视频附加元素拖动至预设位置,以输入对视频附加元素的元素删除操作,其中,预设位置可以为视频附加元素显示区的底部、顶部、左侧、右侧或其他位置等等。
为进一步理解本方案,请参阅图10,图10为本申请实施例中视频文件处理的方法中获取视频附加元素删除操作的一个界面示意图。其中,图10与图8类似,类似部分参见上述对图8的描述,此处不做赘述,与图8不同的是,图10中还包括G1,G1指的是用于接收针对视频附加元素的元素删除操作的控件,当用户点击G1时,客户端可以接收到视频附加元素删除操作,应当理解,图10中的举例仅为方便理解本方案,不用于限定本方案。在实际产品中,例如用户还可以通过语音的形式输入视频附加元素删除操作等等,此处均不作限定。
本申请实施例中,在获取到视频附加元素之后,还可以接收视频附加元素删除操作,进而响应于视频附加元素删除操作,在视频附加元素显示区内删除视频附加元素。通过上述方式,进一步提高了对视频附加元素的展示灵活性。
可选地,在上述图3对应的实施例的基础上,本申请实施例提供的视频文件处理的方法一个可选实施例中,客户端响应于视频附加元素删除操作,在视频文件播放区的第二图层上删除视频附加元素,包括:
客户端响应于视频附加元素删除操作,删除在视频附加元素所在第二图层上方生成的第三图层以及视频附加元素。
本实施例中,若客户端接收到对视频附加元素的选择指令,则可以将第三图层从第二图层中移除,并将其添加到可编辑视图上,由于可编辑视图上显示有删除模块,则客户端可以通过删除模块获取视频附加元素添加操作,进而响应于视频附加元素删除操作,删除在视频附加元素所在第二图层上方生成的第三图层以及视频附加元素,具体的,客户端可以删除预先存储的第三图层,并清除第三图层上展示的视频附加元素,释放与视频附加元素对应的图像序列。
为进一步理解本方案,请参阅图11,图11为本申请实施例中视频文件处理的方法中对视频附加元素进行删除操作的一个流程示意图。H1、客户端接收对视频附加元素的选择指令,控制待处理视频文件处于暂停播放状态;H2、客户端获取与视频附加元素对应的CALayer(也即第三图层的一种示例),将CALayer从AVSynchronizedLayer(也即第二图层的一种示例)上移除;H3、客户端将CALayer添加到可编辑视图上;H4、客户端通过可编辑视图获取视频附加元素删除操作;H5、客户端删除第三图层以及视频附加元素的数据,应当理解,图11中的示例仅为方便理解本方案,不用于限定本方案。
本申请实施例中,通过上述方式,提供了对视频附加元素进行删除操作的具体实现方式,提高了本方案的可实现性,进一步扩展了本方案的应用场景;且由于在针对视频附加元素的删除操作的过程中不会涉及到待处理视频文件数据的更新,而是只针对第三图层进行操作,也即不需要对每帧视频进行重新绘制,因此,用户可以实时看到视频处理结果,提升了视频处理的效率。
可选地,在上述图3对应的实施例的基础上,本申请实施例提供的视频文件处理的方法一个可选实施例中,客户端展示经合成处理后的包括第一图层的待处理视频文件内容与第二图层的视频附加元素的视频文件,包括:
展示经合成处理后的包括第一图层的待处理视频文件内容的视频文件。
本实施例中,由于客户端可以删除在视频附加元素所在第二图层上方生成的第三图层以及视频附加元素,则客户端的视频文件播放区中还可以只展示经合成处理后的包括第一图层的待处理视频文件内容的视频文件,具体的,经合成处理后的包括第一图层的待处理视频文件内容的视频文件指的是在执行过第一图层与第二图层合成操作,以及,对第二图层上方生成的第三图层上的视频附加元素的删除操作之后得到的视频文件。
本申请实施例中,通过上述方式,提供了在执行视频附加元素删除操作之后的展示界面,提高了本方案的完整性。
可选地,在上述图3对应的实施例的基础上,本申请实施例提供的视频文件处理的方法一个可选实施例中,方法还包括:
当待处理视频文件播放时,客户端在第三时刻获取第二待处理元素,其中,第三时刻为时长信息内的任意时刻;
客户端根据视频附加元素以及第二待处理元素,在第三时刻展示第三视频处理结果,其中,第三视频处理结果包括视频附加元素和第二待处理元素在待处理视频文件上的显示效果,第二待处理元素显示于第二图层之上。
本实施例中,在待处理视频文件的播放过程中,其中,待处理视频文件的播放过程包括待处理视频文件处于暂停播放状态和待处理视频文件处于正在播放状态。客户端还可以在第三时刻获取到第二待处理元素,其中,第三时刻为时长信息内的任意时刻,第三时刻与第一时间节点可以为同一时刻,第三时刻与第一时间节点也可以为不同的时刻;第二待处理元素和视频附加元素可以具体表现为相同的元素,也可以表现为不同的元素。则客户端可以根据视频附加元素以及第二待处理元素,在第三时刻展示第三时频处理结果,其中,第三处理结果包括第一待处理和第二处理元素在待处理视频文件上的显示效果,第二待处理元素显示于第二图层之上。具体的,若第三时刻与第一时间节点为同一时刻,则客户端可以同时将视频附加元素和第二待处理元素合成于第二图层之上;若第三时刻与第一时间节点为不同的时刻,则客户端将第二待处理元素合成于第二图层之上,第二图层上已经合成有视频附加元素。具体将第二待处理元素合成于第二图层之上的具体实现方式可以参阅上述图5对应的实施例中,此处不再赘述。
为进一步理解本方案,请参阅图12,图12为本申请实施例中视频文件处理的方法中展示多个待处理元素的一个界面示意图。其中,I1、I2和I3分别展示了三个待处理元素,图12中以三个待处理元素均为图像元素为例,应当理解,图12中的示例仅为方便理解本方案,不用于限定本方案。
本申请实施例中,当待处理视频文件播放时,在第三时刻获取第二待处理元素,根据视频附加元素以及第二待处理元素,在第三时刻展示第三视频处理结果,其中,第三视频处理结果包括视频附加元素和第二待处理元素在待处理视频文件上的显示效果,第二待处理元素显示于第二图层之上。通过上述方式,提供了向待处理视频文件上添加多个待处理元素的具体实现方式,扩展了本方案的应用场景,且由于本方案中在增加元素的时候只针对生成的新图层进行编辑,而不需要对每帧视频进行重新绘制,因此,即使增加多个待处理元素也无需耗费等待时间,用户可以实时看到视频处理结果,从而提升了视频处理的效率。
下面对本申请中的视频处理装置进行详细描述,请参阅图13,图13为本申请实施例中视频处理装置一个实施例示意图,视频处理装置20包括:
展示模块201,用于提供视频文件处理界面,其中,视频文件处理界面包括视频文件播放区及操作编辑区,操作编辑区包括至少一个视频附加元素操作控件;
处理模块202,用于获取待处理视频文件及待处理视频文件的时长信息,其中,待处理视频文件包括至少一帧待处理图像,待处理视频文件及时长信息显示于视频文件播放区,待处理视频文件位于第一图层;
接收模块203,用于接收针对待处理视频文件在播放、拖拽和/或定位过程中,对应时长信息区间内的任一时间节点所触发的,对操作编辑区的视频附加元素添加和/或编辑操作;
处理模块202,还用于响应于接收模块203接收的视频附加元素添加和/或编辑操作,在视频文件播放区的待处理视频文件所在第一图层上方生成第二图层,其中,被添加的视频附加元素位于第二图层,被添加的视频附加元素在第二图层上的时间节点与第一图层的待处理视频文件被触发进行视频附加元素添加和/或编辑操作的时间节点对应;
展示模块201,还用于展示经处理模块202合成处理后的包括第一图层的待处理视频文件内容与第二图层的视频附加元素的视频文件。
可选地,在上述图13所对应的实施例的基础上,本申请实施例提供的视频处理装置20的另一实施例中,处理模块202具体用于:
响应于视频附加元素添加操作,控制待处理视频文件暂停播放,视频附加元素添加操作对应于被添加的视频附加元素的标识,被添加的视频附加元素为动态文本元素或动态图像元素;
在视频文件播放区的待处理视频文件所在第一图层上方生成第二图层;
展示模块201,具体用于在第一图层上展示视频文件中的待处理视频文件内容,以及,在第二图层上展示视频文件中的被添加的视频附加元素。
可选地,在上述图13所对应的实施例的基础上,本申请实施例提供的视频处理装置20的另一实施例中,展示模块201,具体用于:
获取被添加的视频附加元素所对应的图像序列,其中,图像序列包括至少一帧图像;
在被添加的视频附加元素所在第二图层上方生成第三图层,第三图层的内容属性被赋值为图像序列中的首帧图像;
在视频文件播放区的第三图层上展示被添加的视频附加元素所对应的图像序列。
可选地,在上述图13所对应的实施例的基础上,本申请实施例提供的视频处理装置20的另一实施例中,处理模块202具体用于:
响应于视频附加元素添加操作,控制待处理视频暂停播放,视频附加元素添加操作对应于视频附加元素的标识,视频附加元素为静态文本元素或静态图像元素;
在视频文件播放区的待处理视频文件所在第一图层上方生成第二图层。
可选地,在上述图13所对应的实施例的基础上,本申请实施例提供的视频处理装置20的另一实施例中,
处理模块202,还用于获取与视频附加元素对应的第三图层,第三图层位于第二图层上方;
处理模块202,还用于在第三图层对视频附加元素进行处理,得到处理后的视频附加元素,处理后的视频附加元素显示于第三图层之上。
可选地,在上述图13所对应的实施例的基础上,本申请实施例提供的视频处理装置20的另一实施例中,处理模块202具体用于:
在操作编辑区内将第三图层添加至可编辑视图上;
在可编辑视图上对视频附加元素进行平移处理,得到平移参数;
将平移参数记录至第三图层所对应的数据结构;
将第三图层重新绘制到第二图层之上。
可选地,在上述图13所对应的实施例的基础上,本申请实施例提供的视频处理装置20的另一实施例中,处理模块202具体用于:
在操作编辑区内将第三图层添加至可编辑视图上;
在可编辑视图上对视频附加元素进行缩放处理,得到缩放参数,缩放参数包括放大倍数参数或者缩小倍数参数;
将缩放参数记录至第三图层所对应的数据结构;
将第三图层重新绘制到第二图层之上。
可选地,在上述图13所对应的实施例的基础上,本申请实施例提供的视频处理装置20的另一实施例中,处理模块202具体用于:
在操作编辑区内将第三图层添加至可编辑视图上;
在可编辑视图上对视频附加元素进行旋转处理,得到旋转角度参数;
将旋转角度参数记录至第三图层所对应的数据结构;
将第三图层重新绘制到第二图层之上。
可选地,在上述图13所对应的实施例的基础上,本申请实施例提供的视频处理装置20的另一实施例中,
接收模块203,还用于接收针对待处理视频文件在播放、拖拽和/或定位过程中,对应时长信息区间内的任一时间节点所触发的,对操作编辑区的视频附加元素删除操作;
处理模块202,还用于响应于视频附加元素删除操作,在视频文件播放区的第二图层上删除视频附加元素。
可选地,在上述图13所对应的实施例的基础上,本申请实施例提供的视频处理装置20的另一实施例中,处理模块202,具体用于响应于视频附加元素删除操作,删除在视频附加元素所在第二图层上方生成的第三图层以及视频附加元素。
可选地,在上述图13所对应的实施例的基础上,本申请实施例提供的视频处理装置20的另一实施例中,展示模块201,具体用于展示经合成处理后的包括第一图层的待处理视频文件内容的视频文件。
接下来,本申请实施例还提供了一种终端设备,所述终端设备上可以部署有上述图13对应的实施例中提供的视频处理装置,用于执行图3至图12对应的实施例中客户端执行的步骤。如图14所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端设备可以为包括手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、销售终端(Point of Sales,POS)、车载电脑等任意终端设备,以属性信息展示装置为手机为例:
图14示出的是与本申请实施例提供的属性信息展示装置相关的手机的部分结构的框图。参考图14,手机包括:射频(Radio Frequency,RF)电路310、存储器320、输入单元330、显示单元340、传感器330、音频电路360、无线保真(wireless fidelity,WiFi)模块370、处理器380、以及电源390等部件。本领域技术人员可以理解,图14中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图14对手机的各个构成部件进行具体的介绍:
RF电路310可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器380处理;另外,将设计上行的数据发送给基站。通常,RF电路310包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier,LNA)、双工器等。此外,RF电路310还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯*** (GlobalSystem of Mobile communication,GSM)、通用分组无线服务(General Packet RadioService,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access, WCDMA)、长期演进 (Long TermEvolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器320可用于存储软件程序以及模块,处理器380通过运行存储在存储器320的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器320可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元330可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元330可包括触控面板331以及其他输入设备332。触控面板331,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板331上或在触控面板331附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板331可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器380,并能接收处理器380发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板331。除了触控面板331,输入单元330还可以包括其他输入设备332。具体地,其他输入设备332可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元340可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元340可包括显示面板341,可选的,可以采用液晶显示器(Liquid CrystalDisplay,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板341。进一步的,触控面板331可覆盖显示面板341,当触控面板331检测到在其上或附近的触摸操作后,传送给处理器380以确定触摸事件的类型,随后处理器380根据触摸事件的类型在显示面板341上提供相应的视觉输出。虽然在图14中,触控面板331与显示面板341是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板331与显示面板341集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器330,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板341的亮度,接近传感器可在手机移动到耳边时,关闭显示面板341和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等; 至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路360、扬声器361,传声器362可提供用户与手机之间的音频接口。音频电路360可将接收到的音频数据转换后的电信号,传输到扬声器361,由扬声器361转换为声音信号输出;另一方面,传声器362将收集的声音信号转换为电信号,由音频电路360接收后转换为音频数据,再将音频数据输出处理器380处理后,经RF电路310以发送给比如另一手机,或者将音频数据输出至存储器320以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块370可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图14示出了WiFi模块370,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器380是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器320内的软件程序和/或模块,以及调用存储在存储器320内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器380可包括一个或多个处理单元;可选的,处理器380可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器380中。
手机还包括给各个部件供电的电源390(比如电池),可选的,电源可以通过电源管理***与处理器380逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像模块、蓝牙模块等,在此不再赘述。
在本申请实施例中,该终端设备所包括的处理器380还用于执行如下步骤:
提供视频文件处理界面,其中,所述视频文件处理界面包括视频文件播放区及操作编辑区,所述操作编辑区包括至少一个视频附加元素操作控件;
获取待处理视频文件及所述待处理视频文件的时长信息,其中,所述待处理视频文件包括至少一帧待处理图像,所述待处理视频文件及所述时长信息显示于所述视频文件播放区,所述待处理视频文件位于第一图层;
接收针对所述待处理视频文件在播放、拖拽和/或定位过程中,对应所述时长信息区间内的任一时间节点所触发的,对所述操作编辑区的视频附加元素添加和/或编辑操作;
响应于所述视频附加元素添加和/或编辑操作,在所述视频文件播放区的待处理视频文件所在第一图层上方生成第二图层,其中,所述被添加的视频附加元素位于所述第二图层,所述被添加的视频附加元素在所述第二图层上的时间节点与所述第一图层的待处理视频文件被触发进行视频附加元素添加和/或编辑操作的时间节点对应;
展示经合成处理后的包括所述第一图层的待处理视频文件内容与所述第二图层的视频附加元素的视频文件。
可选地,处理器380还用于执行图3至图12所示实施例中客户端所执行的其他步骤,此处不再一一赘述。
本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如前述图3至图12所示实施例描述的方法中客户端所执行的步骤。
本申请实施例中还提供一种包括程序的计算机程序产品,当其在计算机上运行时,使得计算机执行如前述图3至图12所示实施例描述的方法中客户端所执行的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (13)
1.一种视频文件处理的方法,其特征在于,包括:
提供视频文件处理界面,其中,所述视频文件处理界面包括视频文件播放区及操作编辑区,所述操作编辑区包括至少一个视频附加元素操作控件;
获取待处理视频文件及所述待处理视频文件的时长信息,其中,所述待处理视频文件包括至少一帧待处理图像,所述待处理视频文件及所述时长信息显示于所述视频文件播放区,所述待处理视频文件位于第一图层;
接收针对所述待处理视频文件在播放、拖拽和/或定位过程中,对应所述时长信息区间内的任一时间节点所触发的,对所述操作编辑区的视频附加元素添加和/或编辑操作;
响应于所述视频附加元素添加和/或编辑操作,在所述视频文件播放区的待处理视频文件所在第一图层上方生成第二图层,其中,被添加的视频附加元素位于所述第二图层,使得在对所述视频附加元素进行编辑时,仅针对所述第二图层进行编辑,无需针对每次编辑后的视频流进行重新编辑,所述被添加的视频附加元素在所述第二图层上的时间节点与所述第一图层的待处理视频文件被触发进行视频附加元素添加和/或编辑操作的时间节点对应,所述第二图层覆盖于所述第一图层之上;
在所述第一图层上展示所述视频文件中的所述待处理视频文件内容,以及,在所述第二图层上展示所述视频文件中的所述被添加的视频附加元素;
获取所述被添加的视频附加元素所对应的图像序列,其中,所述图像序列包括至少一帧图像;
在所述被添加的视频附加元素所在第二图层上方生成第三图层,所述第三图层的内容属性被赋值为所述图像序列中的首帧图像;
在所述视频文件播放区的所述第三图层上展示所述被添加的视频附加元素所对应的图像序列。
2.根据权利要求1所述的方法,其特征在于,所述响应于所述视频附加元素添加和/或编辑操作,在所述视频文件播放区的待处理视频文件所在第一图层上方生成第二图层,包括:
响应于所述视频附加元素添加操作,控制所述待处理视频文件暂停播放,所述视频附加元素添加操作对应于所述被添加的视频附加元素的标识,所述被添加的视频附加元素为动态文本元素或动态图像元素;
在所述视频文件播放区的待处理视频文件所在第一图层上方生成所述第二图层。
3.根据权利要求1所述的方法,其特征在于,所述响应于所述视频附加元素添加和/或编辑操作,在所述视频文件播放区的待处理视频文件所在第一图层上方生成第二图层,包括:
响应于所述视频附加元素添加操作,控制所述待处理视频暂停播放,所述视频附加元素添加操作对应于视频附加元素的标识,所述视频附加元素为静态文本元素或静态图像元素;
在所述视频文件播放区的待处理视频文件所在第一图层上方生成所述第二图层。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述响应于所述视频附加元素添加和/或编辑操作,在所述视频文件播放区的待处理视频文件所在第一图层上方生成第二图层之后,所述方法还包括:
获取与所述视频附加元素对应的第三图层,所述第三图层位于所述第二图层上方;
在所述第三图层对所述视频附加元素进行处理,得到处理后的视频附加元素,所述处理后的视频附加元素显示于所述第三图层之上。
5.根据权利要求4所述的方法,其特征在于,所述在所述第三图层对所述视频附加元素进行处理,得到处理后的视频附加元素,包括:
在所述操作编辑区内将所述第三图层添加至可编辑视图上;
在所述可编辑视图上对所述视频附加元素进行平移处理,得到平移参数;
将所述平移参数记录至所述第三图层所对应的数据结构;
将所述第三图层重新绘制到所述第二图层之上。
6.根据权利要求4所述的方法,其特征在于,所述在所述第三图层对所述视频附加元素进行处理,得到处理后的视频附加元素,包括:
在所述操作编辑区内将所述第三图层添加至可编辑视图上;
在所述可编辑视图上对所述视频附加元素进行缩放处理,得到缩放参数,所述缩放参数包括放大倍数参数或者缩小倍数参数;
将所述缩放参数记录至所述第三图层所对应的数据结构;
将所述第三图层重新绘制到所述第二图层之上。
7.根据权利要求4所述的方法,其特征在于,所述在所述第三图层对所述视频附加元素进行处理,得到处理后的视频附加元素,包括:
在所述操作编辑区内将所述第三图层添加至可编辑视图上;
在所述可编辑视图上对所述视频附加元素进行旋转处理,得到旋转角度参数;
将所述旋转角度参数记录至所述第三图层所对应的数据结构;
将所述第三图层重新绘制到所述第二图层之上。
8.根据权利要求1至3中任一项所述的方法,其特征在于,所述响应于所述视频附加元素添加和/或编辑操作,在所述视频文件播放区的待处理视频文件所在第一图层上方生成第二图层之后,所述方法还包括:
接收针对所述待处理视频文件在播放、拖拽和/或定位过程中,对应所述时长信息区间内的任一时间节点所触发的,对所述操作编辑区的视频附加元素删除操作;
响应于所述视频附加元素删除操作,在所述视频文件播放区的所述第二图层上删除所述视频附加元素。
9.根据权利要求8所述的方法,其特征在于,所述响应于所述视频附加元素删除操作,在所述视频文件播放区的所述第二图层上删除所述视频附加元素,包括:
响应于所述视频附加元素删除操作,删除在所述视频附加元素所在第二图层上方生成的第三图层以及所述视频附加元素。
10.根据权利要求8所述的方法,其特征在于,所述方法,还包括:
展示经合成处理后的包括所述第一图层的待处理视频文件内容的视频文件。
11.一种视频处理装置,其特征在于,包括:
展示模块,用于提供视频文件处理界面,其中,所述视频文件处理界面包括视频文件播放区及操作编辑区,所述操作编辑区包括至少一个视频附加元素操作控件;
处理模块,用于获取待处理视频文件及所述待处理视频文件的时长信息,其中,所述待处理视频文件包括至少一帧待处理图像,所述待处理视频文件及所述时长信息显示于所述视频文件播放区,所述待处理视频文件位于第一图层;
接收模块,用于接收针对所述待处理视频文件在播放、拖拽和/或定位过程中,对应所述时长信息区间内的任一时间节点所触发的,对所述操作编辑区的视频附加元素添加和/或编辑操作;
处理模块,还用于响应于所述接收模块接收的视频附加元素添加和/或编辑操作,在所述视频文件播放区的待处理视频文件所在第一图层上方生成第二图层,其中,被添加的视频附加元素位于所述第二图层,使得在对所述视频附加元素进行编辑时,仅针对所述第二图层进行编辑,无需针对每次编辑后的视频流进行重新编辑,所述被添加的视频附加元素在所述第二图层上的时间节点与所述第一图层的待处理视频文件被触发进行视频附加元素添加和/或编辑操作的时间节点对应,所述第二图层覆盖于所述第一图层之上;
展示模块,还用于在所述第一图层上展示所述视频文件中的所述待处理视频文件内容,以及,在所述第二图层上展示所述视频文件中的所述被添加的视频附加元素;
所述装置还用于,获取所述被添加的视频附加元素所对应的图像序列,其中,所述图像序列包括至少一帧图像;在所述被添加的视频附加元素所在第二图层上方生成第三图层,所述第三图层的内容属性被赋值为所述图像序列中的首帧图像;在所述视频文件播放区的所述第三图层上展示所述被添加的视频附加元素所对应的图像序列。
12.一种终端设备,其特征在于,包括:存储器、收发器、处理器以及总线***;
其中,所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序,包括如下步骤:
提供视频文件处理界面,其中,所述视频文件处理界面包括视频文件播放区及操作编辑区,所述操作编辑区包括至少一个视频附加元素操作控件;
获取待处理视频文件及所述待处理视频文件的时长信息,其中,所述待处理视频文件包括至少一帧待处理图像,所述待处理视频文件及所述时长信息显示于所述视频文件播放区,所述待处理视频文件位于第一图层;
接收针对所述待处理视频文件在播放、拖拽和/或定位过程中,对应所述时长信息区间内的任一时间节点所触发的,对所述操作编辑区的视频附加元素添加和/或编辑操作;
响应于所述视频附加元素添加和/或编辑操作,在所述视频文件播放区的待处理视频文件所在第一图层上方生成第二图层,其中,被添加的视频附加元素位于所述第二图层,使得在对所述视频附加元素进行编辑时,仅针对所述第二图层进行编辑,无需针对每次编辑后的视频流进行重新编辑,所述被添加的视频附加元素在所述第二图层上的时间节点与所述第一图层的待处理视频文件被触发进行视频附加元素添加和/或编辑操作的时间节点对应,所述第二图层覆盖于所述第一图层之上;
在所述第一图层上展示所述视频文件中的所述待处理视频文件内容,以及,在所述第二图层上展示所述视频文件中的所述被添加的视频附加元素;
获取所述被添加的视频附加元素所对应的图像序列,其中,所述图像序列包括至少一帧图像;
在所述被添加的视频附加元素所在第二图层上方生成第三图层,所述第三图层的内容属性被赋值为所述图像序列中的首帧图像;
在所述视频文件播放区的所述第三图层上展示所述被添加的视频附加元素所对应的图像序列;
所述总线***用于连接所述存储器以及所述处理器,以使所述存储器以及所述处理器进行通信。
13.一种计算机可读存储介质,存储有指令,当其在计算机上运行时,使得计算机执行如权利要求1至10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910872350.XA CN110582018B (zh) | 2019-09-16 | 2019-09-16 | 一种视频文件处理的方法、相关装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910872350.XA CN110582018B (zh) | 2019-09-16 | 2019-09-16 | 一种视频文件处理的方法、相关装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110582018A CN110582018A (zh) | 2019-12-17 |
CN110582018B true CN110582018B (zh) | 2022-06-10 |
Family
ID=68811962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910872350.XA Active CN110582018B (zh) | 2019-09-16 | 2019-09-16 | 一种视频文件处理的方法、相关装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110582018B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111491206B (zh) * | 2020-04-17 | 2023-03-24 | 维沃移动通信有限公司 | 视频处理方法、视频处理装置及电子设备 |
CN111629252B (zh) * | 2020-06-10 | 2022-03-25 | 北京字节跳动网络技术有限公司 | 视频处理方法、装置、电子设备及计算机可读存储介质 |
CN111899155B (zh) * | 2020-06-29 | 2024-04-26 | 腾讯科技(深圳)有限公司 | 视频处理方法、装置、计算机设备及存储介质 |
CN111726701B (zh) * | 2020-06-30 | 2022-03-04 | 腾讯科技(深圳)有限公司 | 信息植入方法、视频播放方法、装置和计算机设备 |
CN112118397B (zh) * | 2020-09-23 | 2021-06-22 | 腾讯科技(深圳)有限公司 | 一种视频合成的方法、相关装置、设备以及存储介质 |
CN112463017B (zh) * | 2020-12-17 | 2021-12-14 | 中国农业银行股份有限公司 | 一种互动元素合成方法和相关装置 |
CN112637520B (zh) * | 2020-12-23 | 2022-06-21 | 新华智云科技有限公司 | 一种动态视频编辑方法及其*** |
CN113613067B (zh) * | 2021-08-03 | 2023-08-22 | 北京字跳网络技术有限公司 | 视频处理方法、装置、设备及存储介质 |
CN115883918A (zh) * | 2021-09-22 | 2023-03-31 | 北京百度网讯科技有限公司 | 处理视频流的方法、装置、设备以及存储介质 |
CN113903297B (zh) * | 2021-12-07 | 2022-02-22 | 深圳金采科技有限公司 | 一种led显示屏幕的显示控制方法及*** |
CN114745585A (zh) * | 2022-04-06 | 2022-07-12 | Oppo广东移动通信有限公司 | 字幕显示方法、装置、终端和存储介质 |
CN115022697A (zh) * | 2022-04-28 | 2022-09-06 | 京东科技控股股份有限公司 | 添加有内容元素的视频的展示方法、电子设备及程序产品 |
CN116896672B (zh) * | 2023-09-11 | 2023-12-29 | 北京美摄网络科技有限公司 | 视频特效处理方法、装置、电子设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9467750B2 (en) * | 2013-05-31 | 2016-10-11 | Adobe Systems Incorporated | Placing unobtrusive overlays in video content |
CN104811787B (zh) * | 2014-10-27 | 2019-05-07 | 深圳市腾讯计算机***有限公司 | 游戏视频录制方法及装置 |
CN107369197B (zh) * | 2017-07-05 | 2022-04-15 | 腾讯科技(深圳)有限公司 | 图片处理方法、装置及设备 |
CN109495791A (zh) * | 2018-11-30 | 2019-03-19 | 北京字节跳动网络技术有限公司 | 一种视频贴纸的添加方法、装置、电子设备及可读介质 |
CN110198486B (zh) * | 2019-05-28 | 2022-04-05 | 上海哔哩哔哩科技有限公司 | 一种预览视频素材的方法、计算机设备及可读存储介质 |
-
2019
- 2019-09-16 CN CN201910872350.XA patent/CN110582018B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110582018A (zh) | 2019-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110582018B (zh) | 一种视频文件处理的方法、相关装置及设备 | |
CN109819313B (zh) | 视频处理方法、装置及存储介质 | |
TWI592021B (zh) | 生成視頻的方法、裝置及終端 | |
JP7387891B2 (ja) | 動画ファイルの生成方法、装置、端末及び記憶媒体 | |
CN108022279B (zh) | 视频特效添加方法、装置及智能移动终端 | |
CN104967801B (zh) | 一种视频数据处理方法和装置 | |
TWI732240B (zh) | 視頻檔案的生成方法、裝置及儲存媒體 | |
CN104050621B (zh) | 用于图像处理的电子设备和方法 | |
US20170018289A1 (en) | Emoji as facetracking video masks | |
WO2016177296A1 (zh) | 一种生成视频的方法和装置 | |
KR102013331B1 (ko) | 듀얼 카메라를 구비하는 휴대 단말기의 이미지 합성 장치 및 방법 | |
CN104298558B (zh) | 信息处理方法和装置 | |
US11568899B2 (en) | Method, apparatus and smart mobile terminal for editing video | |
CN106803993B (zh) | 一种实现视频分支选择播放的方法及装置 | |
CN109960504B (zh) | 基于可视化编程的对象切换方法、界面展示方法及装置 | |
CN111432265B (zh) | 一种处理视频画面的方法、相关装置及存储介质 | |
CN110662090B (zh) | 一种视频处理方法和*** | |
CN105359121A (zh) | 使用接收数据的应用远程操作 | |
CN108055567B (zh) | 一种视频处理方法、装置、终端设备及存储介质 | |
WO2015131767A1 (en) | Video processing method and apparatus | |
CN108646961B (zh) | 一种待办任务的管理方法、装置及存储介质 | |
CN108055587A (zh) | 图像文件的分享方法、装置、移动终端及存储介质 | |
CN112672061B (zh) | 视频拍摄方法、装置、电子设备及介质 | |
WO2019105446A1 (zh) | 视频编辑方法、装置及智能移动终端 | |
WO2023061414A1 (zh) | 一种文件生成方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40018893 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |