CN110691276B - 多媒体片段拼接的方法、装置、移动终端及存储介质 - Google Patents

多媒体片段拼接的方法、装置、移动终端及存储介质 Download PDF

Info

Publication number
CN110691276B
CN110691276B CN201911079147.3A CN201911079147A CN110691276B CN 110691276 B CN110691276 B CN 110691276B CN 201911079147 A CN201911079147 A CN 201911079147A CN 110691276 B CN110691276 B CN 110691276B
Authority
CN
China
Prior art keywords
video
multimedia
splicing
time period
target multimedia
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
CN201911079147.3A
Other languages
English (en)
Other versions
CN110691276A (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.)
Douyin Vision Co Ltd
Douyin Vision Beijing Co Ltd
Original Assignee
Beijing ByteDance 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 Beijing ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN201911079147.3A priority Critical patent/CN110691276B/zh
Publication of CN110691276A publication Critical patent/CN110691276A/zh
Application granted granted Critical
Publication of CN110691276B publication Critical patent/CN110691276B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing 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/44016Processing 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

本发明公开了一种多媒体片段拼接方法及移动终端,其方法包括:接收到多媒体片段拼接处理请求后,确定目标多媒体片段及拼接顺序、第一拼接过渡效果及其起止时间和目标多媒体文件的时间长度;根据目标多媒体片段的拼接顺序、第一拼接过渡效果的起止时间和目标多媒体文件的时间长度确定每个目标多媒体片段对应的视频轨道的播放时间段,根据视频轨道的播放时间段创建视频轨道,每个目标多媒体片段分别对应一个视频轨道;将每个目标多媒体片段分别加载到对应的视频轨道上;按时序从各播放时间段对应的视频轨道上逐帧读取视频帧进行处理,并实时播放处理得到的多媒体帧;根据处理得到的多媒体帧创建目标多媒体文件。本发明实施例能够满足实时性的需求。

Description

多媒体片段拼接的方法、装置、移动终端及存储介质
技术领域
本发明涉及计算机技术领域,更具体地,涉及一种多媒体片段拼接方法、装置、移动终端及存储介质。
背景技术
随着各种自媒体平台的不断涌现,广大终端用户越来越多地使用移动终端上安装的应用程序进行多媒体文件的处理,例如制作短视频、制作动态相册等等。这也在很大程度上推动了多媒体文件处理技术的进步。
在利用多媒体片段拼接得到新的多媒体文件的过程中,为了达到较好的播放效果,往往需要在两个多媒体片段之间添加拼接过渡效果。为了实现该拼接过渡效果的添加,传统的实现方式如下:
将多媒体片段按照预定长度进行截取,并加载到相同的视频轨道上;另外,缓存截取后的前序多媒体片段的最后一帧以及截取后的后续多媒体片段的第一帧,利用缓存帧生成拼接过渡效果的过渡多媒体片段,将过渡多媒体片段加载在前序多媒体片段与后序多媒体片段之间。
完成多媒体片段拼接后,生成新的多媒体文件并播放。
上述通过缓存帧的方式无法满足实时预览拼接效果的需求。
发明内容
鉴于上述问题,本发明提出了一种多媒体片段拼接方法、装置、移动终端及存储介质,满足实时预览拼接效果的需求。
第一方面,本发明实施例提供一种多媒体片段拼接方法,包括:
接收到多媒体片段拼接处理请求后,确定目标多媒体片段、目标多媒体片段的拼接顺序、每相邻两个目标多媒体片段之间的第一拼接过渡效果、每个第一拼接过渡效果的起止时间和目标多媒体文件的时间长度;
根据上述目标多媒体片段的拼接顺序、各个第一拼接过渡效果的起止时间和目标多媒体文件的时间长度确定每个目标多媒体片段对应的视频轨道的播放时间段,根据视频轨道的播放时间段创建视频轨道,每个目标多媒体片段分别对应一个视频轨道;
将每个目标多媒体片段分别加载到对应的视频轨道上;
按时序从各播放时间段对应的视频轨道上逐帧读取视频帧进行处理,并实时播放处理得到的多媒体帧,相邻两个目标多媒体片段对应的视频轨道的播放时间段的重合部分为该相邻两个目标多媒体片段之间的第一拼接过渡效果对应的时间段,对每相邻两个目标多媒体片段之间的第一拼接过渡效果对应的时间段内读取的视频帧进行的处理至少用于实现本第一拼接过渡效果;
根据上述处理得到的多媒体帧创建上述目标多媒体文件。
本发明实施例提供的方法,创建多个视频轨道,每个目标多媒体片段加载到不同的视频轨道上,按时序从各播放时间段对应的视频轨道上逐帧读取视频帧进行处理。由于每个目标多媒体片段加载在不同的视频轨道上,可以分别独立进行加载,实时进行处理并播放,能够满足实时性的需求。除此之外,本发明实施例中,由于相邻的两个多媒体片段加载到不同的视频轨道上,因此可以在重合的时间段分别独立进行逐帧读取,并进行合并渲染,从而可以实现动态过渡效果。
进一步地,上述按时序从各播放时间段对应的视频轨道上逐帧读取视频帧进行处理,并实时播放处理得到的多媒体帧的实现方式可以是:加载多媒体播放器,并实时回调多媒体播放器的时间戳;从回调的时间戳所在的播放时间段对应的视频轨道上读取同步视频帧进行处理,同步视频帧为与回调的时间戳同步的视频帧;通过多媒体播放器实时播放处理得到的多媒体帧。
本发明实施例提供的方法,首先加载多媒体播放器,并通过多媒体播放器的时间戳读取同步视频帧,对读取到的同步视频帧进行处理并通过多媒体播放器实时播放,从而驱动多媒体播放器的时间轴。通过时间戳-同步视频帧的双向驱动,简单、可靠地实现了实时预览多媒体片段拼接结果。
进一步地,一种实现方式中,每个视频轨道的起止时间为本视频轨道的播放时间段的起止时间,相应的,从回调的时间戳所在的播放时间段对应的视频轨道上读取同步视频帧进行处理的实现方式包括:查找存在同步视频帧的视频轨道,从查找到的视频轨道上读取同步视频帧进行处理。这种实现方式中,视频轨道的时间长度与其播放时间段的时间长度相同,那么,在第一拼接过渡效果对应的时间段之外读取同步视频帧时,可以快速查找到对应的视频轨道并从中读取同步视频帧。另一种实现方式中,每个视频轨道标记有本视频轨道的播放时间段的起止时间,相应的,从回调的时间戳所在的播放时间段对应的视频轨道上读取同步视频帧进行处理的实现方式可以包括:确定回调的时间戳所在的播放时间段,从确定的播放时间段对应的视频轨道上读取同步视频帧进行处理。这种实现方式中,视频轨道的时间长度与其播放时间段的时间长度不相同,但因为预先确定了视频轨道的播放时间段的起止时间,因此可以简单快速地确定回调的时间戳所在的播放时间段,进而确定需要读取同步视频帧的视频轨道。
在上述任意方法实施例的基础上,加载到对应的视频轨道上的目标多媒体片段的时间长度小于对应的视频轨道的播放时间段的时间长度,相应的,按时序从各播放时间段对应的视频轨道上逐帧读取视频帧进行处理之前,还可以确定每个第一拼接过渡效果对应的过渡多媒体片段;在每个视频轨道的空闲时间段上加载空白多媒体片段或无背景多媒体片段,空闲时间段为未加载目标多媒体片段的第一拼接过渡效果对应的时间段;若需要读取空闲时间段上的视频帧,利用空闲时间段对应的第一拼接过渡效果对应的过渡多媒体片段逐帧替换空白多媒体片段或无背景多媒体片段。
本发明实施例中,若第一拼接过渡效果不是或不仅是通过目标多媒体片段包括的多媒体帧实现的,那么,创建的视频轨道的播放时间段既包括播放目标多媒体片段的时间段,也包括播放利用过渡多媒体片段实现第一拼接过渡效果的时间段。相应的,不需要预先基于过渡多媒体片段生成背景视频并加载到视频轨道上,而是利用空白多媒体片段或者无背景多媒体片段进行占位,在需要进行过渡效果渲染处理时,再读取过渡多媒体片段并逐帧替换占位用的空白多媒体片段或无背景多媒体片段。这种处理方式由于无需预先生成背景视频,因此提高了多媒体片段拼接的效率,降低了延迟。另外,若过渡多媒体片段为图像,可以直接加载原图进行实时处理,避免出现分辨率不同导致的图像黑边现象。
在此基础上,若第一拼接过渡效果是利用相邻的后续多媒体片段以及过渡多媒体片段实现的,那么,加载到对应的视频轨道上的目标多媒体片段的时间长度为对应的视频轨道的播放时间段的时间长度与本目标多媒体片段的后续第一拼接过渡效果对应的时间段的时间长度之差,其中,本目标多媒体片段的后续第一拼接过渡效果为本目标多媒体片段与相邻的后续目标多媒体片段之间的第一拼接过渡效果。若第一拼接过渡效果是利用相邻的前序多媒体片段和过渡多媒体片段实现的,那么,加载到对应的视频轨道上的目标多媒体片段的时间长度为对应的视频轨道的播放时间段的时间长度与本目标多媒体片段的前续第一拼接过渡效果对应的时间段的时间长度之差,本目标多媒体片段的前续第一拼接过渡效果为本目标多媒体片段与相邻的前续目标多媒体片段之间的第一拼接过渡效果。若第一拼接过渡效果完全是利用过渡多媒体片段实现的,那么,加载到对应的视频轨道上的目标多媒体片段的时间长度为所述对应的视频轨道的非重合播放时间段的时间长度,其中,非重合播放时间段为视频轨道的播放时间段中第一拼接过渡效果对应的时间段之外的部分。
在上述任意方法实施例的基础上,还可以在接收到调整拼接过渡效果请求后,确定待调整的第一拼接过渡效果、每个待调整的第一拼接过渡效果对应的第二拼接过渡效果、和第二拼接过渡效果的起止时间;根据第二拼接过渡效果的起止时间,重新确定每个待调整的第一拼接过渡效果对应的视频轨道的播放时间段;通过对每个待调整的第一拼接过渡效果对应的视频轨道前后两次分别确定的播放时间段取并集,确定每个待调整的第一拼接过渡效果对应的视频轨道对应的调整时间段;从各调整时间段对应的视频轨道上逐帧读取视频帧进行处理,并实时播放处理得到的多媒体帧,相邻两个目标多媒体片段对应的视频轨道的调整时间段的重合部分为相邻两个目标多媒体片段之间的第二拼接过渡效果对应的时间段,对第二拼接过渡效果对应的时间段内读取的视频帧进行的处理至少用于实现本第二拼接过渡效果。
本发明实施例提供的方法,由于创建了多个视频轨道,每个目标多媒体片段记载道不同的视频轨道上,因此,当需要改变拼接过渡效果时,若拼接过渡效果的时间长度改变,仅需要重新确定改变后的第二拼接过渡效果的起止时间,并从对应的视频轨道上逐帧读取视频帧进行处理即可。因此,较之现有技术中只能替换时间长度不变的拼接过渡效果,本发明实施例提供的方法可以灵活替换不同时间长度的拼接过渡效果。
在此基础上,在非上述调整时间段,可以调用创建的上述目标多媒体文件进行同步播放。
在非调整时间段播放已经创建的目标多媒体文件,而不是重新进行目标多媒体片段的拼接处理,可以进一步提高处理效率,节省处理资源。
第二方面,本发明实施例提供一种移动终端,包括处理器和存储器:
所述存储器用于存储执行上述任意方法实施例的程序,
所述处理器被配置为用于执行所述存储器中存储的程序。
本发明实施例提供的移动终端,创建多个视频轨道,每个目标多媒体片段加载到不同的视频轨道上,按时序从各播放时间段对应的视频轨道上逐帧读取视频帧进行处理。由于每个目标多媒体片段加载在不同的视频轨道上,可以分别独立进行加载,实时进行处理并播放,能够满足实时性的需求。除此之外,本发明实施例中,由于相邻的两个多媒体片段加载到不同的视频轨道上,因此可以在重合的时间段分别独立进行逐帧读取,并进行合并渲染,从而可以实现动态过渡效果。
第三方面,本发明实施例提供一种多媒体片段拼接装置,包括:
拼接处理信息确定模块,用于接收到多媒体片段拼接处理请求后,确定目标多媒体片段、目标多媒体片段的拼接顺序、每相邻两个目标多媒体片段之间的第一拼接过渡效果、每个第一拼接过渡效果的起止时间和目标多媒体文件的时间长度;
视频轨道创建模块,用于根据目标多媒体片段的拼接顺序、各个第一拼接过渡效果的起止时间和目标多媒体文件的时间长度确定每个目标多媒体片段对应的视频轨道的播放时间段,根据视频轨道的播放时间段创建视频轨道,每个目标多媒体片段分别对应一个视频轨道;
多媒体片段加载模块,用于将每个目标多媒体片段分别加载到对应的视频轨道上;
多媒体片段实时处理模块,用于按时序从各播放时间段对应的视频轨道上逐帧读取视频帧进行处理,并实时播放处理得到的多媒体帧,相邻两个目标多媒体片段对应的视频轨道的播放时间段的重合部分为相邻两个目标多媒体片段之间的第一拼接过渡效果对应的时间段,对每相邻两个目标多媒体片段之间的第一拼接过渡效果对应的时间段内读取的视频帧进行的处理至少用于实现本第一拼接过渡效果;
多媒体文件创建模块,用于根据处理得到的多媒体帧创建目标多媒体文件。
本发明实施例提供的装置,创建多个视频轨道,每个目标多媒体片段加载到不同的视频轨道上,按时序从各播放时间段对应的视频轨道上逐帧读取视频帧进行处理。由于每个目标多媒体片段加载在不同的视频轨道上,可以分别独立进行加载,实时进行处理并播放,能够满足实时性的需求。除此之外,本发明实施例中,由于相邻的两个多媒体片段加载到不同的视频轨道上,因此可以在重合的时间段分别独立进行逐帧读取,并进行合并渲染,从而可以实现动态过渡效果。
进一步地,上述多媒体片段实时处理模块具体可以用于:加载多媒体播放器,并实时回调多媒体播放器的时间戳;从回调的时间戳所在的播放时间段对应的视频轨道上读取同步视频帧进行处理,同步视频帧为与回调的时间戳同步的视频帧;通过多媒体播放器实时播放处理得到的多媒体帧。
本发明实施例提供的装置,首先加载多媒体播放器,并通过多媒体播放器的时间戳读取同步视频帧,对读取到的同步视频帧进行处理并通过多媒体播放器实时播放,从而驱动多媒体播放器的时间轴。通过时间戳-同步视频帧的双向驱动,简单、可靠地实现了实时预览多媒体片段拼接结果。
进一步地,一种实现方式中,每个视频轨道的起止时间为本视频轨道的播放时间段的起止时间,相应的,为实现从回调的时间戳所在的播放时间段对应的视频轨道上读取同步视频帧进行处理,多媒体片段实时处理模块可以用于:查找存在同步视频帧的视频轨道,从查找到的视频轨道上读取同步视频帧进行处理。这种实现方式中,视频轨道的时间长度与其播放时间段的时间长度相同,那么,在第一拼接过渡效果对应的时间段之外读取同步视频帧时,可以快速查找到对应的视频轨道并从中读取同步视频帧。另一种实现方式中,每个视频轨道标记有本视频轨道的播放时间段的起止时间,相应的,为了实现从回调的时间戳所在的播放时间段对应的视频轨道上读取同步视频帧进行处理,多媒体片段实时处理模块可以用于:确定回调的时间戳所在的播放时间段,从确定的播放时间段对应的视频轨道上读取同步视频帧进行处理。这种实现方式中,视频轨道的时间长度与其播放时间段的时间长度不相同,但因为预先确定了视频轨道的播放时间段的起止时间,因此可以简单快速地确定回调的时间戳所在的播放时间段,进而确定需要读取同步视频帧的视频轨道。
在上述任意装置实施例的基础上,加载到对应的视频轨道上的目标多媒体片段的时间长度小于对应的视频轨道的播放时间段的时间长度,相应的,按时序从各播放时间段对应的视频轨道上逐帧读取视频帧进行处理之前,拼接处理信息确定模块还可以用于确定每个第一拼接过渡效果对应的过渡多媒体片段;多媒体片段加载模块还可以在每个视频轨道的空闲时间段上加载空白多媒体片段或无背景多媒体片段,空闲时间段为未加载目标多媒体片段的第一拼接过渡效果对应的时间段;若需要读取空闲时间段上的视频帧,多媒体片段实时处理模块还可以用于利用空闲时间段对应的第一拼接过渡效果对应的过渡多媒体片段逐帧替换空白多媒体片段或无背景多媒体片段。
本发明实施例中,若第一拼接过渡效果不是或不仅是通过目标多媒体片段包括的多媒体帧实现的,那么,创建的视频轨道的播放时间段既包括播放目标多媒体片段的时间段,也包括播放利用过渡多媒体片段实现第一拼接过渡效果的时间段。相应的,不需要预先基于过渡多媒体片段生成背景视频并加载到视频轨道上,而是利用空白多媒体片段或者无背景多媒体片段进行占位,在需要进行过渡效果渲染处理时,再读取过渡多媒体片段并逐帧替换占位用的空白多媒体片段或无背景多媒体片段。这种处理方式由于无需预先生成背景视频,因此提高了多媒体片段拼接的效率,降低了延迟。另外,若过渡多媒体片段为图像,可以直接加载原图进行实时处理,避免出现分辨率不同导致的图像黑边现象。
在此基础上,若第一拼接过渡效果是利用相邻的后续多媒体片段以及过渡多媒体片段实现的,那么,加载到对应的视频轨道上的目标多媒体片段的时间长度为对应的视频轨道的播放时间段的时间长度与本目标多媒体片段的后续第一拼接过渡效果对应的时间段的时间长度之差,其中,本目标多媒体片段的后续第一拼接过渡效果为本目标多媒体片段与相邻的后续目标多媒体片段之间的第一拼接过渡效果。若第一拼接过渡效果是利用相邻的前序多媒体片段和过渡多媒体片段实现的,那么,加载到对应的视频轨道上的目标多媒体片段的时间长度为对应的视频轨道的播放时间段的时间长度与本目标多媒体片段的前续第一拼接过渡效果对应的时间段的时间长度之差,本目标多媒体片段的前续第一拼接过渡效果为本目标多媒体片段与相邻的前续目标多媒体片段之间的第一拼接过渡效果。若第一拼接过渡效果完全是利用过渡多媒体片段实现的,那么,加载到对应的视频轨道上的目标多媒体片段的时间长度为所述对应的视频轨道的非重合播放时间段的时间长度,其中,非重合播放时间段为视频轨道的播放时间段中第一拼接过渡效果对应的时间段之外的部分。
在上述任意装置实施例的基础上,拼接处理信息确定模块还可以在接收到调整拼接过渡效果请求后,确定待调整的第一拼接过渡效果、每个待调整的第一拼接过渡效果对应的第二拼接过渡效果、和第二拼接过渡效果的起止时间;视频轨道创建模块还可以根据第二拼接过渡效果的起止时间,重新确定每个待调整的第一拼接过渡效果对应的视频轨道的播放时间段;通过对每个待调整的第一拼接过渡效果对应的视频轨道前后两次分别确定的播放时间段取并集,确定每个待调整的第一拼接过渡效果对应的视频轨道对应的调整时间段;多媒体片段实时处理模块还可以从各调整时间段对应的视频轨道上逐帧读取视频帧进行处理,并实时播放处理得到的多媒体帧,相邻两个目标多媒体片段对应的视频轨道的调整时间段的重合部分为相邻两个目标多媒体片段之间的第二拼接过渡效果对应的时间段,对第二拼接过渡效果对应的时间段内读取的视频帧进行的处理至少用于实现本第二拼接过渡效果。
本发明实施例提供的装置,由于创建了多个视频轨道,每个目标多媒体片段记载道不同的视频轨道上,因此,当需要改变拼接过渡效果时,若拼接过渡效果的时间长度改变,仅需要重新确定改变后的第二拼接过渡效果的起止时间,并从对应的视频轨道上逐帧读取视频帧进行处理即可。因此,较之现有技术中只能替换时间长度不变的拼接过渡效果,本发明实施例提供的装置可以灵活替换不同时间长度的拼接过渡效果。
在此基础上,在非上述调整时间段,多媒体片段实时处理模块可以调用创建的上述目标多媒体文件进行同步播放。
在非调整时间段播放已经创建的目标多媒体文件,而不是重新进行目标多媒体片段的拼接处理,可以进一步提高处理效率,节省处理资源。
第四方面,本发明实施例提供一种计算机可读存储介质,存储有执行上述任意方法实施例的程序。
本发明实施例提供的计算机可读存储介质,创建多个视频轨道,每个目标多媒体片段加载到不同的视频轨道上,按时序从各播放时间段对应的视频轨道上逐帧读取视频帧进行处理。由于每个目标多媒体片段加载在不同的视频轨道上,可以分别独立进行加载,实时进行处理并播放,能够满足实时性的需求。除此之外,本发明实施例中,由于相邻的两个多媒体片段加载到不同的视频轨道上,因此可以在重合的时间段分别独立进行逐帧读取,并进行合并渲染,从而可以实现动态过渡效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本发明一个实施例的多媒体片段拼接方法流程图;
图2示出了根据本发明一个实施例的第一个人机交互界面示意图;
图3示出了根据本发明一个实施例的第二个人机交互界面示意图;
图4示出了根据本发明一个实施例的第三个人机交互界面示意图;
图5示出了根据本发明一个实施例的第四个人机交互界面示意图;
图6示出了根据本发明一个实施例的第五个人机交互界面示意图;
图7示出了根据本发明一个实施例的多媒体片段拼接装置框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
在本发明的说明书和权利要求书及上述附图中的描述的一些流程中,可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。
本发明实施例提供一种多媒体片段拼接方法,适用于在移动终端上执行,以实现实时预览。如图1所示,本发明实施例提供的多媒体片段拼接方法包括如下操作:
步骤101、接收到多媒体片段拼接处理请求后,确定目标多媒体片段、目标多媒体片段的拼接顺序、每相邻两个目标多媒体片段之间的第一拼接过渡效果、每个第一拼接过渡效果的起止时间和目标多媒体文件的时间长度。
本发明实施例中,多媒体片段拼接处理请求通常是响应用户的输入而生成的。例如,用户触发了移动终端上某个应用程序的多媒体片段拼接功能,移动终端的应用程序检测到该触发事件并响应。该触发事件即可视为多媒体片段拼接处理请求。其中,该步骤中的各个信息也均是根据用户的输入确定的。
本发明实施例中,将用于拼接的素材称为目标多媒体片段,其可以是视频,也可以是静态图像,还可以是动态图像。
本发明实施例中,将响应多媒体片段拼接处理请求而选择并实现的拼接过渡效果称为第一拼接过渡效果。将在此基础上改变的拼接技术效果称为第二拼接过渡效果。
步骤102、根据上述目标多媒体片段的拼接顺序、各个第一拼接过渡效果的起止时间和目标多媒体文件的时间长度确定每个目标多媒体片段对应的视频轨道的播放时间段,根据视频轨道的播放时间段创建视频轨道。
其中,每个目标多媒体片段分别对应一个视频轨道。目标多媒体片段与视频轨道是一一对应的关系。
其中,视频轨道的播放时间段是指后续加载到该视频轨道上的目标多媒体片段的播放时间段。
本发明实施例中,可以通过AVVideoCompostioning(AV视频合成)协议实现多视频轨道的创建。具体可以在AVVideoCompostioning协议框架下创建自定义类AVVideoCompostion,通过AVVideoCompostion创建多个视频轨道。
步骤103、将每个目标多媒体片段分别加载到对应的视频轨道上。
步骤104、按时序从各播放时间段对应的视频轨道上逐帧读取视频帧进行处理,并实时播放处理得到的多媒体帧。
其中,相邻两个目标多媒体片段对应的视频轨道的播放时间段的重合部分为该相邻两个目标多媒体片段之间的第一拼接过渡效果对应的时间段,对每相邻两个目标多媒体片段之间的第一拼接过渡效果对应的时间段内读取的视频帧进行的处理至少用于实现本第一拼接过渡效果。
本发明实施例中,目标多媒体片段相邻是指其拼接顺序相邻。
本发明实施例中,将加载到视频轨道的多媒体片段的帧称为视频帧,而将处理得到的帧称为多媒体帧。这样的描述仅是为了对不同处理阶段的处理结果加以区分,不意味着二者在数据结构、数据形式等方面必然存在区别。
步骤105、根据上述处理得到的多媒体帧创建上述目标多媒体文件。
本发明实施例提供的方法,创建多个视频轨道,每个目标多媒体片段加载到不同的视频轨道上,按时序从各播放时间段对应的视频轨道上逐帧读取视频帧进行处理。由于每个目标多媒体片段加载在不同的视频轨道上,可以分别独立进行加载,实时进行处理并播放,能够满足实时性的需求。现有技术中,仅通过缓存的单帧图像实现拼接过渡效果,因此在整个拼接过渡效果播放过程中,始终播放的是相同的图像,称之为静态过渡效果。本发明实施例中,由于相邻的两个多媒体片段加载到不同的视频轨道上,因此可以在重合的时间段分别独立进行逐帧读取,并进行合并渲染,对每帧图像进行动态替换,可以实时预览实时合成,并可以实现动态过渡效果。
在一个具体的应用场景中,用户打开了移动终端上的应用程序A,应用程序A首先加载图2所示的人机交互界面,图2所示的人机交互界面显示有该应用程序A可以实现的各个功能对应的触控按钮,响应用户对“多媒体片段拼接”触控按钮的触发,加载如图3所示的人机交互界面,在图3所示的人机交互界面上显示移动终端的“相册”文件夹里存储的视频。用户通过图3所示的人机交互界面选择视频7和视频8作为目标多媒体片段,并且应用程序通过检测用户的选择顺序确定视频7与视频8的拼接顺序:视频7作为第一个目标多媒体片段,视频8作为第二个目标多媒体片段。应用程序A响应检测到图3所示的人机交互界面上的“完成”触控按钮被触发,加载图4所示的人机交互界面。在图4所示的人机交互界面上显示有加载的多媒体播放器的播放器界面、多媒体播放器触控按钮(“播放”按钮)、逐帧展示目标多媒体片段的视频帧的预览界面、“裁剪”触控按钮以及“效果”触控按钮。其中,应用程序A如果在预览界面检测到用户的滑动触控事件,则根据滑动方向滑动预览窗口,实时展示预览窗口内的视频帧。如果在预览界面检测到用户的点击触控事件,并且检测到“裁剪”按钮的触控事件,则如图5所示,加载裁剪窗口以覆盖预览界面,用户可通过加载窗口边缘的控件实现对点击选择的目标多媒体片段的时间长度的裁剪。如果在预览界面上同时加载有视频7和视频8的视频帧,则会在视频7与视频8的边界处显示有拼接标记(如图4所示的圆圈),若此时检测到“效果”按钮的触控事件,加载如图6所示的效果窗口以覆盖预览界面,效果窗口显示有多种拼接过度效果。若检测到某一拼接过渡效果的选中触控事件,则在播放器界面实时预览拼接过渡效果。
在上述具体的应用场景中,检测到“多媒体片段拼接”触控按钮的触发事件即是接收到多媒体片段拼接处理请求。检测到用户选择的视频以及选择顺序,即意味着确定目标多媒体片段以及目标多媒体片段的拼接顺序。检测到拼接过渡效果的选择触控事件,意味着确定了相邻两个目标多媒体片段之间的第一拼接过渡效果。检测到用户选择的目标多媒体片段的时间长度,也就确定了目标多媒体文件的时间长度。
应当指出的是,在上述应用场景中,第一拼接过渡效果的时间长度是固定的,在其他应用场景中,也允许用户选择拼接过渡效果的时间长度,或者不同拼接过渡效果对应的时间长度不同,那么,当确定了用户选择的拼接过渡效果,也就可以确定该拼接过渡效果的时间长度。
应当指出的是,在上述应用场景中,第一拼接过渡效果的起止时间也是相对固定的,即视频7的最后1秒。因此,在确定了目标多媒体片段后,即可确定第一拼接过渡效果的起止时间。在其他应用场景中,若不是或不仅是利用目标多媒体片段的视频帧实现拼接过渡效果,那么,需要额外确定第一拼接过渡效果的起止时间。其具体实现方式可以根据应用场景的业务逻辑需要确定,作为举例而非限定,第一拼接过渡效果的起始时间为前序目标多媒体片段的结束时刻,第一拼接过渡效果的结束时间为起始时间之后的一秒钟。
在上述具体的应用场景中,由于提供了“裁剪”的功能,因此,目标多媒体文件的时间长度是动态可调的。那么,可以在用户选择了视频7和视频8作为目标多媒体片段之后,即确定目标多媒体文件的时间长度为视频7和视频8的总时间长度减去1秒钟(第一拼接过渡效果的时间长度)。假设视频7和视频8的时间长度均为15秒钟,则目标多媒体文件的时间长度为29秒。相应的,即可确定出视频7对应的视频轨道的播放时间段为0至15秒,视频8对应的视频轨道的播放时间段为14至29秒,进而创建视频轨道,并将视频7和视频8分别加载到对应的视频轨道上。
若用户通过“裁剪”功能裁剪掉视频7的第0至3秒,则裁剪后的视频7为12秒,此时,可重新确定相关信息并修改视频轨道的参数。
若用户通过“效果”功能选择了第一拼接过渡效果,则在该第一拼接过渡效果对应的时间段(例如第14至第15秒),分别从视频7和视频8对应的视频轨道上逐帧读取视频帧进行处理并实时播放。例如,在第14秒,分别读取两个视频轨道上第14秒对应的视频帧,根据用户选择的第一拼接过渡效果对读取到的两个视频帧进行相应的处理。
若用户点击了“播放”触控按钮,则在第0至第14秒,从视频7对应的视频轨道上逐帧读取视频7的视频帧进行处理并实时播放;在第14至15秒,分别从视频7和视频8对应的视频轨道上逐帧读取视频7和视频8的视频帧进行处理并实时播放;在第15至29秒,从视频8对应的视频轨道上逐帧读取视频帧进行处理并实时播放。
如上所述,本发明实施例可以通过AVVideoCompostioning协议创建多个视频轨道。更具体的,可以在检测到“多媒体片段拼接”触控按钮的触发事件(即接收到视频片段拼接处理请求)后,调用AVPlayerItem,由AVPlayerItem控制多媒体播放器的状态以及播放资源管理,播放资源管理具体可以是:通过AVVideoCompostioning协议框架下的自定义类AVVideoCompostion创建两个视频轨道,分别加载视频7和视频8,按时序在相应的视频轨道上读取视频帧缓存,对缓存中的视频帧进行处理,并控制多媒体播放器实时播放处理得到的多媒体帧。
将处理得到的多媒体帧按时序排列构成的多媒体帧序列,将该多媒体帧序列保存为目标多媒体文件。
本发明实施例仅通过一个具体的应用场景对提供的方法进行详尽说明,这并不意味着本发明实施例提供的方法必然按照上述应用场景所展示的业务逻辑实现。如果本发明实施例提供的方法应用在其他应用场景中,多媒体片段拼接处理请求的形式可能会有所不同,目标多媒体片段及其拼接顺序,第一拼接过渡效果及其起止时间、目标多媒体文件的时间长度等等这些信息的确定方式也会发生变化。目标多媒体片段的数量也可能不同,例如可以选择三个、四个甚至更多的目标多媒体片段。
本发明实施例中,创建视频轨道的一种实现方式中,创建时间长度与其播放时间段的时间长度一致的视频轨道。也就是说,每个视频轨道的起止时间为本视频轨道的播放时间段的起止时间。那么,仍以上述具体应用场景为例,在第0至14秒,仅需要读取视频7的视频帧,而这段时间不存在视频8对应的视频轨道,因此,也仅能够在视频7对应的视频轨道上读取到视频7的视频帧,无需考虑视频轨道和/或视频帧的选择问题,简化了处理过程。
创建视频轨道的另一种实现方式中,创建时间长度大于其播放时间段的时间长度的视频轨道,并为视频轨道添加本视频轨道的播放时间段的起止时间的标记。具体的,创建的每个视频轨道的时间长度可以均为目标多媒体文件的时间长度。那么,仍以上述具体应用场景为例,在进行视频帧处理的过程中,在第0秒检测到视频7对应的视频轨道的开始时间标记,未检测到视频8对应的视频轨道的开始时间标记,则在视频7对应的视频轨道上逐帧读取视频帧进行处理,在第14秒检测到视频8对应的视频轨道的开始时间标记,则还开始从视频8对应的视频轨道上逐帧读取视频帧进行处理,在第15秒检测到视频7对应的视频轨道的结束时间标记,则停止从视频7对应的视频轨道上读取视频帧,但继续从视频8对应的视频轨道上读取视频帧,直至第29秒检测到视频8对应的视频轨道的结束时间标记,则停止从视频8对应的视频轨道上读取视频帧。在视频轨道的时间长度与其播放时间段的时间长度不一致的情况下,通过标记播放时间段的起止时间来确保正确读取视频帧。另外,根据上述应用场景可知,实际应用中,用户可能会多次调整目标多媒体帧的时间长度,那么就需要相应地调整视频轨道的播放时间段。因此,创建更长的视频轨道,在这种情况下,仅需要修改视频轨道的起始时间标记即可简单、快速地改变视频轨道。
无论采用何种方式创建视频轨道,从视频轨道上逐帧读取视频帧进行处理并实时播放的实现方式可以是:加载多媒体播放器,并实时回调多媒体播放器的时间戳;从回调的时间戳所在的播放时间段对应的视频轨道上读取同步视频帧进行处理,同步视频帧为与回调的时间戳同步的视频帧;通过多媒体播放器实时播放处理得到的多媒体帧。
仍以上述应用场景为例,若用户点击了“播放”按钮,则实时回调多媒体播放器当前的播放进度对应的时间戳,该时间戳可以是时间信息,也可以是帧序号信息。若时间戳为时间信息,假设当前回调的时间戳为0分01秒300毫秒,则确定该时间戳在1至14秒这一播放时间段,则从视频7对应的视频轨道上读取0分01秒300毫秒处的视频帧(即为同步视频帧)进行处理,假设当前回调的时间戳为0分14秒600毫秒,则确定该时间戳在1至14秒这一播放时间段,也在14至29秒这一播放时间段,则从视频7和视频8对应的视频轨道上分别读取0分01秒300毫秒处的视频帧(即为同步视频帧),对这两个同步视频帧进行融合处理以实现拼接过渡效果。通过实时播放处理得到的多媒体帧,则可以驱动多媒体播放器的播放进程。
本发明实施例提供的方法,首先加载多媒体播放器,并通过多媒体播放器的时间戳读取同步视频帧,对读取到的同步视频帧进行处理并通过多媒体播放器实时播放,从而驱动多媒体播放器的时间轴。通过时间戳-同步视频帧的双向驱动,简单、可靠地实现了实时预览多媒体片段拼接结果。
在此基础上,若每个视频轨道的起止时间为本视频轨道的播放时间段的起止时间,相应的,从回调的时间戳所在的播放时间段对应的视频轨道上读取同步视频帧进行处理的实现方式包括:查找存在同步视频帧的视频轨道,从查找到的视频轨道上读取同步视频帧进行处理。仍以上述应用场景为例,假设当前回调的时间戳指示的时间为1秒,由于视频8对应的视频轨道还未开始,因此,只能在视频7对应的视频轨道上查找到同步视频帧。这种实现方式中,视频轨道的时间长度与其播放时间段的时间长度相同,那么,在第一拼接过渡效果对应的时间段之外读取同步视频帧时,可以快速查找到对应的视频轨道并从中读取同步视频帧。若每个视频轨道标记有本视频轨道的播放时间段的起止时间,相应的,从回调的时间戳所在的播放时间段对应的视频轨道上读取同步视频帧进行处理的实现方式可以包括:确定回调的时间戳所在的播放时间段,从确定的播放时间段对应的视频轨道上读取同步视频帧进行处理。仍以上述应用场景为例,假设回调的时间戳指示的时间为1秒,此时已经检测到视频7对应的视频轨道的开始时间标记,但还未检测到结束时间标记,因此当前回调的时间戳在视频7对应的视频轨道的播放时间段。这种实现方式中,视频轨道的时间长度与其播放时间段的时间长度不相同,但因为预先确定了视频轨道的播放时间段的起止时间,因此可以简单快速地确定回调的时间戳所在的播放时间段,进而确定需要读取同步视频帧的视频轨道。
上述应用场景中,具体是使用视频7的第14至15秒以及视频8的第0至1秒内的视频帧序列实现拼接过渡效果。在实际应用中,也可能不使用或者不仅使用目标多媒体片段上的视频帧序列实现拼接过渡效果。那么加载到对应的视频轨道上的目标多媒体片段的时间长度小于对应的视频轨道的播放时间段的时间长度。相应的,按时序从各播放时间段对应的视频轨道上逐帧读取视频帧进行处理之前,还可以确定每个第一拼接过渡效果对应的过渡多媒体片段;在每个视频轨道的空闲时间段上加载空白多媒体片段或无背景多媒体片段,空闲时间段为未加载目标多媒体片段的第一拼接过渡效果对应的时间段;若需要读取空闲时间段上的视频帧,利用空闲时间段对应的第一拼接过渡效果对应的过渡多媒体片段逐帧替换空白多媒体片段或无背景多媒体片段。其中,过渡多媒体片段可以是用户选择或输入的,也可以是用户选择的拼接过渡效果关联的。
例如,视频8上的视频帧不参与拼接过渡效果,仅利用视频7的第14至15秒的视频帧序列以及指定的用于实现拼接过渡效果的多媒体片段(过渡多媒体片段,可以是视频、静态图像、动态图像)实现拼接过渡效果。那么,视频8对应的视频轨道的播放时间段仍然为14至29秒,但其中的14至15秒加载空白视频进行占位,在空白视频之后加载视频8。
本发明实施例中,若第一拼接过渡效果不是或不仅是通过目标多媒体片段包括的多媒体帧实现的,那么,创建的视频轨道的播放时间段既包括播放目标多媒体片段的时间段,也包括播放利用过渡多媒体片段实现第一拼接过渡效果的时间段。相应的,不需要预先基于过渡多媒体片段生成背景视频并加载到视频轨道上,而是利用空白多媒体片段或者无背景多媒体片段进行占位,在需要进行过渡效果渲染处理时,再读取过渡多媒体片段并逐帧替换占位用的空白多媒体片段或无背景多媒体片段。这种处理方式由于无需预先生成背景视频,因此提高了多媒体片段拼接的效率,降低了延迟。另外,若过渡多媒体片段为图像,可以直接加载原图进行实时处理,避免出现分辨率不同导致的图像黑边现象。
在此基础上,若第一拼接过渡效果是利用相邻的后续多媒体片段以及过渡多媒体片段实现的,那么,加载到对应的视频轨道上的目标多媒体片段的时间长度为对应的视频轨道的播放时间段的时间长度与本目标多媒体片段的后续第一拼接过渡效果对应的时间段的时间长度之差,其中,本目标多媒体片段的后续第一拼接过渡效果为本目标多媒体片段与相邻的后续目标多媒体片段之间的第一拼接过渡效果。若第一拼接过渡效果是利用相邻的前序多媒体片段和过渡多媒体片段实现的,那么,加载到对应的视频轨道上的目标多媒体片段的时间长度为对应的视频轨道的播放时间段的时间长度与本目标多媒体片段的前续第一拼接过渡效果对应的时间段的时间长度之差,本目标多媒体片段的前续第一拼接过渡效果为本目标多媒体片段与相邻的前续目标多媒体片段之间的第一拼接过渡效果。若第一拼接过渡效果完全是利用过渡多媒体片段实现的,那么,加载到对应的视频轨道上的目标多媒体片段的时间长度为所述对应的视频轨道的非重合播放时间段的时间长度,其中,非重合播放时间段为视频轨道的播放时间段中第一拼接过渡效果对应的时间段之外的部分。
在上述任意方法实施例的基础上,还可以在接收到调整拼接过渡效果请求后,确定待调整的第一拼接过渡效果、每个待调整的第一拼接过渡效果对应的第二拼接过渡效果、和第二拼接过渡效果的起止时间;根据第二拼接过渡效果的起止时间,重新确定每个待调整的第一拼接过渡效果对应的视频轨道的播放时间段;通过对每个待调整的第一拼接过渡效果对应的视频轨道前后两次分别确定的播放时间段取并集,确定每个待调整的第一拼接过渡效果对应的视频轨道对应的调整时间段;从各调整时间段对应的视频轨道上逐帧读取视频帧进行处理,并实时播放处理得到的多媒体帧,相邻两个目标多媒体片段对应的视频轨道的调整时间段的重合部分为相邻两个目标多媒体片段之间的第二拼接过渡效果对应的时间段,对第二拼接过渡效果对应的时间段内读取的视频帧进行的处理至少用于实现本第二拼接过渡效果。
其中,确定第二拼接过渡效果的相关信息的实现方式以及视频帧读取及处理的实现方式可以参照上述方法实施例的描述,此处不再赘述。
仍以上述应用场景为例,假设用户通过“效果”功能更换了拼接过渡效果。那么,再次检测到“效果”触控按钮被点击的触控事件,即接收到调整拼接过渡效果请求。假设第二拼接过渡效果对应的时间长度为2秒,具体是从13秒至15秒。那么,视频8对应的视频轨道的播放时间段为13至28秒。这种情况下,相当于提前1秒播放视频8,因此,13至28秒为调整时间段。假设第二拼接过渡效果对应的时间长度为2秒,具体是从13秒至15秒,且第二拼接过渡效果利用视频7的第13至15秒之间的视频帧序列以及指定的过渡多媒体片段实现,那么,视频8对应的视频轨道的播放时间段为13至30秒。这种情况下,视频8对应的视频轨道前后两次确定的播放时间段的并集为第13至30秒,这段时间为调整时间段。
本发明实施例提供的方法,由于创建了多个视频轨道,每个目标多媒体片段记载道不同的视频轨道上,因此,当需要改变拼接过渡效果时,若拼接过渡效果的时间长度改变,仅需要重新确定改变后的第二拼接过渡效果的起止时间,并从对应的视频轨道上逐帧读取视频帧进行处理即可。因此,较之现有技术中只能替换时间长度不变的拼接过渡效果,本发明实施例提供的方法可以灵活替换不同时间长度的拼接过渡效果。
在此基础上,在非上述调整时间段,可以调用创建的上述目标多媒体文件进行同步播放。
在非调整时间段播放已经创建的目标多媒体文件,而不是重新进行目标多媒体片段的拼接处理,可以进一步提高处理效率,节省处理资源。
本发明实施例还提供一种移动终端,包括处理器和存储器:
所述存储器用于存储执行上述任意方法实施例的程序,
所述处理器被配置为用于执行所述存储器中存储的程序。
本发明实施例提供的移动终端,本发明实施例提供的装置,创建多个视频轨道,每个目标多媒体片段加载到不同的视频轨道上,按时序从各播放时间段对应的视频轨道上逐帧读取视频帧进行处理。由于每个目标多媒体片段加载在不同的视频轨道上,可以分别独立进行加载,实时进行处理并播放,能够满足实时性的需求。除此之外,本发明实施例中,由于相邻的两个多媒体片段加载到不同的视频轨道上,因此可以在重合的时间段分别独立进行逐帧读取,并进行合并渲染,从而可以实现动态过渡效果。
如图7所示,本发明实施例提供一种多媒体片段拼接装置,包括:
拼接处理信息确定模块701,用于接收到多媒体片段拼接处理请求后,确定目标多媒体片段、目标多媒体片段的拼接顺序、每相邻两个目标多媒体片段之间的第一拼接过渡效果、每个第一拼接过渡效果的起止时间和目标多媒体文件的时间长度;
视频轨道创建模块702,用于根据目标多媒体片段的拼接顺序、各个第一拼接过渡效果的起止时间和目标多媒体文件的时间长度确定每个目标多媒体片段对应的视频轨道的播放时间段,根据视频轨道的播放时间段创建视频轨道,每个目标多媒体片段分别对应一个视频轨道;
多媒体片段加载模块703,用于将每个目标多媒体片段分别加载到对应的视频轨道上;
多媒体片段实时处理模块704,用于按时序从各播放时间段对应的视频轨道上逐帧读取视频帧进行处理,并实时播放处理得到的多媒体帧,相邻两个目标多媒体片段对应的视频轨道的播放时间段的重合部分为相邻两个目标多媒体片段之间的第一拼接过渡效果对应的时间段,对每相邻两个目标多媒体片段之间的第一拼接过渡效果对应的时间段内读取的视频帧进行的处理至少用于实现本第一拼接过渡效果;
多媒体文件创建模块705,用于根据处理得到的多媒体帧创建目标多媒体文件。
本发明实施例提供的装置,创建多个视频轨道,每个目标多媒体片段加载到不同的视频轨道上,按时序从各播放时间段对应的视频轨道上逐帧读取视频帧进行处理。由于每个目标多媒体片段加载在不同的视频轨道上,可以分别独立进行加载,实时进行处理并播放,能够满足实时性的需求。除此之外,本发明实施例中,由于相邻的两个多媒体片段加载到不同的视频轨道上,因此可以在重合的时间段分别独立进行逐帧读取,并进行合并渲染,从而可以实现动态过渡效果。
本发明实施例提供的装置具体实现方式可以参照上述方法实施例的描述,此处不再赘述。
本发明实施例提供一种计算机可读存储介质,存储有执行上述任意方法实施例的程序。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁盘或光盘等。
以上对本发明实施例所提供的一种移动终端进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
上述所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

Claims (10)

1.一种多媒体片段拼接方法,其特征在于,包括:
接收到多媒体片段拼接处理请求后,确定目标多媒体片段、所述目标多媒体片段的拼接顺序、每相邻两个所述目标多媒体片段之间的第一拼接过渡效果、每个所述第一拼接过渡效果的起止时间和目标多媒体文件的时间长度;
根据所述目标多媒体片段的拼接顺序、各个所述第一拼接过渡效果的起止时间和所述目标多媒体文件的时间长度确定每个所述目标多媒体片段对应的视频轨道的播放时间段,根据所述视频轨道的播放时间段创建所述视频轨道,每个目标多媒体片段分别对应一个视频轨道;
将每个所述目标多媒体片段分别加载到对应的视频轨道上;
按时序从各播放时间段对应的视频轨道上逐帧读取视频帧进行处理,实时合成并播放处理得到的多媒体帧,相邻两个目标多媒体片段对应的视频轨道的播放时间段的重合部分为所述相邻两个目标多媒体片段之间的第一拼接过渡效果对应的时间段,对每相邻两个目标多媒体片段之间的第一拼接过渡效果对应的时间段内读取的视频帧进行的处理至少用于实现本第一拼接过渡效果;
根据所述处理得到的多媒体帧创建所述目标多媒体文件;
其中,所述按时序从各播放时间段对应的视频轨道上逐帧读取视频帧进行处理,实时合成并播放处理得到的多媒体帧,包括:
在所述相邻两个目标多媒体片段重合的时间段,从所述两个目标多媒体片段对应给视频轨道分别独立进行逐帧读取,对两个视频轨道读取的每帧图像进行合并渲染,进行每帧图像动态替换并播放。
2.根据权利要求1所述的方法,其特征在于,所述按时序从各播放时间段对应的视频轨道上逐帧读取视频帧进行处理,并实时播放处理得到的多媒体帧,包括:
加载多媒体播放器,并实时回调所述多媒体播放器的时间戳;
从回调的所述时间戳所在的播放时间段对应的视频轨道上读取同步视频帧进行处理,所述同步视频帧为与回调的所述时间戳同步的视频帧;
通过所述多媒体播放器实时播放处理得到的多媒体帧。
3.根据权利要求2所述的方法,其特征在于,每个视频轨道的起止时间为本视频轨道的播放时间段的起止时间,所述从回调的所述时间戳所在的播放时间段对应的视频轨道上读取同步视频帧进行处理,包括:查找存在所述同步视频帧的视频轨道,从查找到的视频轨道上读取所述同步视频帧进行处理;
或者,
每个视频轨道标记有本视频轨道的播放时间段的起止时间,所述从回调的所述时间戳所在的播放时间段对应的视频轨道上读取同步视频帧进行处理,包括:确定回调的所述时间戳所在的播放时间段,从确定的播放时间段对应的视频轨道上读取同步视频帧进行处理。
4.根据权利要求1至3任一项所述的方法,其特征在于,加载到对应的视频轨道上的目标多媒体片段的时间长度小于所述对应的视频轨道的播放时间段的时间长度,所述按时序从各播放时间段对应的视频轨道上逐帧读取视频帧进行处理之前,所述方法还包括:
确定每个所述第一拼接过渡效果对应的过渡多媒体片段;
在每个视频轨道的空闲时间段上加载空白多媒体片段或无背景多媒体片段,所述空闲时间段为未加载目标多媒体片段的第一拼接过渡效果对应的时间段;
若需要读取所述空闲时间段上的视频帧,利用所述空闲时间段对应的第一拼接过渡效果对应的过渡多媒体片段逐帧替换所述空白多媒体片段或无背景多媒体片段。
5.根据权利要求4所述的方法,其特征在于:
加载到对应的视频轨道上的目标多媒体片段的时间长度为所述对应的视频轨道的播放时间段的时间长度与本目标多媒体片段的后续第一拼接过渡效果对应的时间段的时间长度之差,所述本目标多媒体片段的后续第一拼接过渡效果为本目标多媒体片段与相邻的后续目标多媒体片段之间的第一拼接过渡效果;
或者,
加载到对应的视频轨道上的目标多媒体片段的时间长度为所述对应的视频轨道的播放时间段的时间长度与本目标多媒体片段的前续第一拼接过渡效果对应的时间段的时间长度之差,所述本目标多媒体片段的前续第一拼接过渡效果为本目标多媒体片段与相邻的前续目标多媒体片段之间的第一拼接过渡效果;
或者,
加载到对应的视频轨道上的目标多媒体片段的时间长度为所述对应的视频轨道的非重合播放时间段的时间长度,所述非重合播放时间段为视频轨道的播放时间段中第一拼接过渡效果对应的时间段之外的部分。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:
接收到调整拼接过渡效果请求后,确定待调整的第一拼接过渡效果、每个待调整的第一拼接过渡效果对应的第二拼接过渡效果、和所述第二拼接过渡效果的起止时间;
根据所述第二拼接过渡效果的起止时间,重新确定每个待调整的第一拼接过渡效果对应的视频轨道的播放时间段;
通过对每个待调整的第一拼接过渡效果对应的视频轨道前后两次分别确定的播放时间段取并集,确定每个待调整的第一拼接过渡效果对应的视频轨道对应的调整时间段;
从各调整时间段对应的视频轨道上逐帧读取视频帧进行处理,并实时播放处理得到的多媒体帧,相邻两个目标多媒体片段对应的视频轨道的调整时间段的重合部分为所述相邻两个目标多媒体片段之间的第二拼接过渡效果对应的时间段,对第二拼接过渡效果对应的时间段内读取的视频帧进行的处理至少用于实现本第二拼接过渡效果。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在非所述调整时间段,调用创建的所述目标多媒体文件进行同步播放。
8.一种移动终端,其特征在于,包括处理器和存储器:
所述存储器用于存储执行权利要求1至7任一项所述方法的程序,
所述处理器被配置为用于执行所述存储器中存储的程序。
9.一种多媒体片段拼接装置,其特征在于,包括:
拼接处理信息确定模块,用于接收到多媒体片段拼接处理请求后,确定目标多媒体片段、所述目标多媒体片段的拼接顺序、每相邻两个所述目标多媒体片段之间的第一拼接过渡效果、每个所述第一拼接过渡效果的起止时间和目标多媒体文件的时间长度;
视频轨道创建模块,用于根据所述目标多媒体片段的拼接顺序、各个所述第一拼接过渡效果的起止时间和所述目标多媒体文件的时间长度确定每个所述目标多媒体片段对应的视频轨道的播放时间段,根据所述视频轨道的播放时间段创建所述视频轨道,每个目标多媒体片段分别对应一个视频轨道;
多媒体片段加载模块,用于将每个所述目标多媒体片段分别加载到对应的视频轨道上;
多媒体片段实时处理模块,用于按时序从各播放时间段对应的视频轨道上逐帧读取视频帧进行处理,并实时合成及播放处理得到的多媒体帧,相邻两个目标多媒体片段对应的视频轨道的播放时间段的重合部分为所述相邻两个目标多媒体片段之间的第一拼接过渡效果对应的时间段,对每相邻两个目标多媒体片段之间的第一拼接过渡效果对应的时间段内读取的视频帧进行的处理至少用于实现本第一拼接过渡效果;
多媒体文件创建模块,用于根据所述处理得到的多媒体帧创建所述目标多媒体文件;
其中,所述按时序从各播放时间段对应的视频轨道上逐帧读取视频帧进行处理,实时合成并播放处理得到的多媒体帧,包括:
在所述相邻两个目标多媒体片段重合的时间段,从所述两个目标多媒体片段对应给视频轨道分别独立进行逐帧读取,对两个视频轨道读取的每帧图像进行合并渲染,进行每帧图像动态替换并播放。
10.一种计算机可读存储介质,其特征在于,存储有执行权利要求1至7任一项所述方法的程序。
CN201911079147.3A 2019-11-06 2019-11-06 多媒体片段拼接的方法、装置、移动终端及存储介质 Active CN110691276B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911079147.3A CN110691276B (zh) 2019-11-06 2019-11-06 多媒体片段拼接的方法、装置、移动终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911079147.3A CN110691276B (zh) 2019-11-06 2019-11-06 多媒体片段拼接的方法、装置、移动终端及存储介质

Publications (2)

Publication Number Publication Date
CN110691276A CN110691276A (zh) 2020-01-14
CN110691276B true CN110691276B (zh) 2022-03-18

Family

ID=69115578

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911079147.3A Active CN110691276B (zh) 2019-11-06 2019-11-06 多媒体片段拼接的方法、装置、移动终端及存储介质

Country Status (1)

Country Link
CN (1) CN110691276B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111757175A (zh) * 2020-06-08 2020-10-09 维沃移动通信有限公司 视频处理方法及装置
CN111757013B (zh) * 2020-07-23 2022-04-29 北京字节跳动网络技术有限公司 一种视频处理方法、装置、设备及存储介质
CN111862936A (zh) * 2020-07-28 2020-10-30 游艺星际(北京)科技有限公司 生成及发布作品的方法、装置、电子设备和存储介质
CN112004136A (zh) * 2020-08-25 2020-11-27 广州市百果园信息技术有限公司 一种视频剪辑的方法、装置、设备和存储介质
CN112135201B (zh) * 2020-08-29 2022-08-26 北京市商汤科技开发有限公司 视频制作方法及相关装置
CN112307252B (zh) * 2020-10-29 2024-08-20 维沃移动通信有限公司 文件处理方法、装置及电子设备
CN112433696A (zh) * 2020-11-30 2021-03-02 上海米哈游天命科技有限公司 一种壁纸显示方法、装置、设备和介质
CN113473224B (zh) * 2021-06-29 2023-05-23 北京达佳互联信息技术有限公司 视频处理方法、装置、电子设备及计算机可读存储介质
CN114401441B (zh) * 2022-01-12 2024-04-02 深圳市酷开网络科技股份有限公司 短视频起播处理方法、装置、智能终端及存储介质
CN115086759A (zh) * 2022-05-13 2022-09-20 北京达佳互联信息技术有限公司 视频处理方法、装置、计算机设备及介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102724430A (zh) * 2011-12-26 2012-10-10 新奥特(北京)视频技术有限公司 一种非线性编辑系统与图文包装系统的交互方法
CN103928039A (zh) * 2014-04-15 2014-07-16 北京奇艺世纪科技有限公司 一种视频合成方法及装置
CN106210451A (zh) * 2016-08-02 2016-12-07 成都索贝数码科技股份有限公司 一种基于html5的多轨道视频编辑的方法及系统
CN108476327A (zh) * 2015-08-20 2018-08-31 皇家Kpn公司 基于媒体流来形成拼块化视频
CN109120867A (zh) * 2018-09-27 2019-01-01 乐蜜有限公司 视频合成方法及装置
CN109151537A (zh) * 2018-08-29 2019-01-04 北京达佳互联信息技术有限公司 视频处理方法、装置、电子设备及存储介质
CN110166652A (zh) * 2019-05-28 2019-08-23 成都依能科技股份有限公司 多轨道音视频同步编辑方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005057657A (ja) * 2003-08-07 2005-03-03 Canon Inc 画像処理装置
US9948902B1 (en) * 2014-03-07 2018-04-17 Alarm.Com Incorporated Video camera and sensor integration
CN104091607B (zh) * 2014-06-13 2017-04-12 北京奇艺世纪科技有限公司 一种基于ios设备的视频编辑方法及装置
CN105100964A (zh) * 2015-07-07 2015-11-25 安一恒通(北京)科技有限公司 多媒体内容的处理方法、客户端及服务器
CN106231343A (zh) * 2016-10-11 2016-12-14 青岛海信电器股份有限公司 视频播放处理方法、装置及电视
CN109547841B (zh) * 2018-12-20 2020-02-07 北京微播视界科技有限公司 短视频数据的处理方法、装置及电子设备
CN111083396B (zh) * 2019-12-26 2022-08-02 北京奇艺世纪科技有限公司 视频合成方法、装置、电子设备及计算机可读存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102724430A (zh) * 2011-12-26 2012-10-10 新奥特(北京)视频技术有限公司 一种非线性编辑系统与图文包装系统的交互方法
CN103928039A (zh) * 2014-04-15 2014-07-16 北京奇艺世纪科技有限公司 一种视频合成方法及装置
CN108476327A (zh) * 2015-08-20 2018-08-31 皇家Kpn公司 基于媒体流来形成拼块化视频
CN106210451A (zh) * 2016-08-02 2016-12-07 成都索贝数码科技股份有限公司 一种基于html5的多轨道视频编辑的方法及系统
CN109151537A (zh) * 2018-08-29 2019-01-04 北京达佳互联信息技术有限公司 视频处理方法、装置、电子设备及存储介质
CN109120867A (zh) * 2018-09-27 2019-01-01 乐蜜有限公司 视频合成方法及装置
CN110166652A (zh) * 2019-05-28 2019-08-23 成都依能科技股份有限公司 多轨道音视频同步编辑方法

Also Published As

Publication number Publication date
CN110691276A (zh) 2020-01-14

Similar Documents

Publication Publication Date Title
CN110691276B (zh) 多媒体片段拼接的方法、装置、移动终端及存储介质
CN109168084B (zh) 一种视频剪辑的方法和装置
US8744249B2 (en) Picture selection for video skimming
EP4304185A1 (en) Multimedia resource clipping method and apparatus, device and storage medium
US11941728B2 (en) Previewing method and apparatus for effect application, and device, and storage medium
US20240121452A1 (en) Video processing method and apparatus, device, and storage medium
CN114979495B (zh) 用于内容拍摄的方法、装置、设备和存储介质
CN111432285B (zh) 一种视频拼接播放的系统、方法及设备
JP7122395B2 (ja) ビデオ編集方法、装置、コンピュータ装置および可読記憶媒体
CN112153307A (zh) 短视频中添加歌词的方法、装置、电子设备及存储介质
WO2022252998A1 (zh) 一种视频处理方法、装置、设备及存储介质
CN112584208B (zh) 一种基于人工智能的视频浏览编辑方法和系统
WO2019042217A1 (zh) 视频剪辑的方法及终端
US20240221788A1 (en) Audio publishing method, apparatus, and computer-readable storage medium
WO2024002057A1 (zh) 音频的播放方法、装置和非易失性计算机可读存储介质
CN112019936B (zh) 控制视频播放的方法、装置、存储介质和计算机设备
CN115278051B (zh) 用于内容拍摄的方法、装置、设备和存储介质
EP4340372A1 (en) Video processing method, apparatus, and device, and storage medium
CN107277602B (zh) 信息获取方法及电子设备
US12106778B2 (en) Multimedia resource clipping method and apparatus, device and storage medium
CN114401441B (zh) 短视频起播处理方法、装置、智能终端及存储介质
EP4401398A1 (en) Video editing method and device
WO2024104468A1 (zh) 视频剪辑方法及装置
CN116614655A (zh) 视频脚本的创作方法、装置、电子设备及存储介质
CN118503520A (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
CP01 Change in the name or title of a patent holder

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee after: Tiktok vision (Beijing) Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee before: BEIJING BYTEDANCE NETWORK TECHNOLOGY Co.,Ltd.

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee after: Douyin Vision Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee before: Tiktok vision (Beijing) Co.,Ltd.

CP01 Change in the name or title of a patent holder