CN110572722A - 视频剪辑方法、装置、设备及可读存储介质 - Google Patents

视频剪辑方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN110572722A
CN110572722A CN201910918358.5A CN201910918358A CN110572722A CN 110572722 A CN110572722 A CN 110572722A CN 201910918358 A CN201910918358 A CN 201910918358A CN 110572722 A CN110572722 A CN 110572722A
Authority
CN
China
Prior art keywords
video
frame
target
track
audio
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.)
Granted
Application number
CN201910918358.5A
Other languages
English (en)
Other versions
CN110572722B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910918358.5A priority Critical patent/CN110572722B/zh
Publication of CN110572722A publication Critical patent/CN110572722A/zh
Application granted granted Critical
Publication of CN110572722B publication Critical patent/CN110572722B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/30Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
    • G11B27/3081Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording used signal is a video-frame or a video-field (P.I.P)
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/322Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier used signal is digitally coded
    • G11B27/323Time code signal, e.g. on a cue track as SMPTE- or EBU-time code
    • 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/439Processing of audio elementary streams
    • 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, rendering scenes according to MPEG-4 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, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440263Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA
    • H04N21/440272Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA for performing aspect ratio conversion
    • 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/47End-user applications
    • H04N21/472End-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/47205End-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
    • 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

Abstract

本申请公开了一种视频剪辑方法、装置、设备及可读存储介质,涉及多媒体处理领域。该方法包括:获取对待剪辑视频进行剪辑的起始时刻和终止时刻;调用视频文件分离器对待剪辑视频进行音视频轨道分离,得到视频轨道和音频轨道;从起始时刻开始将视频轨道上的视频帧数据逐帧写入视频合成器;从起始时刻开始将音频轨道上的音频帧数据逐帧写入视频合成器;获取合成得到的目标视频片段。通过对视频文件分离器和视频合成器进行调用,对待剪辑视频进行音视频轨道分离,以及将视频轨道上的视频帧数据以及音频轨道上的音频帧数据分别写入视频合成器,得到目标视频片段,避免引入第三方依赖库才能实现视频剪辑,有效控制了应用程序的安装包的大小。

Description

视频剪辑方法、装置、设备及可读存储介质
技术领域
本申请实施例涉及多媒体处理领域,特别涉及一种视频剪辑方法、装置、设备及可读存储介质。
背景技术
视频剪辑技术是一种对视频进行裁剪得到该视频的其中一个或多个片段的技术,该技术应用于终端中安装的各应用程序中,如:短视频应用程序、直播应用程序、游戏社区应用程序、社交应用程序等,示意性的,以游戏社区应用程序为例进行说明,对总时长50秒的游戏录制视频A进行剪辑,得到该游戏录制视频A中第21秒至第30秒之间的视频片段作为游戏精彩片段。
相关技术中,当应用程序中提供有视频剪辑功能时,通常是通过引入第三方依赖库实现对视频的剪辑过程,也即该应用程序中引入第三方依赖库的库文件(如:FFMPEG依赖库的库文件),在该应用程序对视频进行剪辑时,通过该第三方依赖库实现对视频的剪辑。
然而,由于用于视频剪辑的第三方依赖库的库文件通常较大,如:FFMPEG依赖库的库文件接近10M,当应用程序中引用该库文件时,严重影响了应用程序的打包文件大小,导致应用程序的安装包较大,应用程序的下载安装过程较为繁琐。
发明内容
本申请实施例提供了一种视频剪辑方法、装置、设备及可读存储介质,可以解决当应用程序中引用库文件剪辑视频时,应用程序的安装包较大,应用程序的下载安装过程较为繁琐的问题。所述技术方案如下:
一方面,提供了一种视频剪辑方法,所述方法包括:
获取对待剪辑视频进行剪辑的起始时刻和终止时刻,所述起始时刻和所述终止时刻是用于从所述待剪辑视频中剪辑目标视频片段时对应的时刻;
调用视频文件分离器对所述待剪辑视频进行音视频轨道分离,得到视频轨道和音频轨道;
从所述起始时刻对应的目标视频帧开始将所述视频轨道上的视频帧数据逐帧写入视频合成器,直至被写入的视频帧的显示时间戳达到所述终止时刻,所述视频文件分离器和所述视频合成器为操作系统提供的用于对视频进行处理的功能单元;
从所述起始时刻对应的目标音频帧开始将所述音频轨道上的音频帧数据逐帧写入所述视频合成器,直至被写入的音频帧的播放时间戳达到所述终止时刻;
获取所述视频合成器合成得到的所述目标视频片段。
另一方面,提供了一种视频剪辑装置,所述装置包括:
获取模块,用于获取对待剪辑视频进行剪辑的起始时刻和终止时刻,所述起始时刻和所述终止时刻是用于从所述待剪辑视频中剪辑目标视频片段时对应的时刻;
调用模块,用于调用视频文件分离器对所述待剪辑视频进行音视频轨道分离,得到视频轨道和音频轨道;
写入模块,用于从所述起始时刻对应的目标视频帧开始将所述视频轨道上的视频帧数据逐帧写入视频合成器,直至被写入的视频帧的显示时间戳达到所述终止时刻,所述视频文件分离器和所述视频合成器为操作系统提供的用于对视频进行处理的功能单元;
所述写入模块,还用于从所述起始时刻对应的目标音频帧开始将所述音频轨道上的音频帧数据逐帧写入所述视频合成器,直至被写入的音频帧的播放时间戳达到所述终止时刻;
所述获取模块,还用于获取所述视频合成器合成得到的所述目标视频片段。
另一方面,提供了一种终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述本申请实施例中任一所述的视频剪辑方法。
另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述本申请实施例中任一所述的视频剪辑方法。
另一方面,提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得计算机执行如上述本申请实施例中任一所述的视频剪辑方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
通过对操作系统提供的视频文件分离器和视频合成器进行调用,对待剪辑视频进行音视频轨道分离,以及将分离后的视频轨道上的视频帧数据以及音频轨道上的音频帧数据分别写入视频合成器进行合成,得到目标视频片段,避免应用程序需要引入第三方依赖库才能实现视频剪辑,而导致应用程序的打包文件较大的问题,提高了待剪辑视频的剪辑效率,有效控制了应用程序的安装包的大小。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了应用本申请视频剪辑方法的终端100的一个示例性实施例的软件架构框图;
图2示出了本申请一个示例性实施例提供的视频剪辑方法的流程图;
图3示出了本申请一个示例性实施例提供的视频帧数据写入过程的示意图;
图4是本申请另一个示例性实施例提供的视频剪辑方法的流程图;
图5是基于图4示出的实施例提供的一组视频帧的解码顺序、显示顺序、解码时间戳以及显示时间戳的示意图;
图6是基于图4示出的实施例提供的写入显示时间戳的过程示意图;
图7是本申请一个示例性实施例提供的视频剪辑方法应用于安装有安卓操作系统的终端中的流程图;
图8是本申请一个示例性实施例提供的视频文件在视频剪辑过程中的处理过程的示意图;
图9是本申请另一个示例性实施例提供的视频剪辑方法的流程图;
图10是基于图9示出的实施例提供的在待剪辑视频的时间轴上确定起始时刻和终止时刻的界面示意图;
图11是基于图9示出的实施例提供的通过调整目标视频片段的宽高在可显示区域中播放目标视频片段的示意图;
图12示出了本申请一个示例性实施例提供的视频剪辑装置的结构框图;
图13示出了本申请另一个示例性实施例提供的视频剪辑装置的结构框图;
图14是本申请一个示例性的实施例提供的终端的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先,对本申请实施例中涉及的名词进行简单介绍:
视频剪辑:是指从视频中剪辑得到该视频的其中一个或多个片段的过程,该视频剪辑技术应用于终端中安装的应用程序中,如:短视频应用程序、直播应用程序、游戏社区应用程序、社交应用程序等,示意性的,以游戏社区应用程序为例进行说明,对总时长50秒的游戏录制视频A进行剪辑,得到该游戏录制视频A中第21秒至第30秒之间的视频片段作为游戏精彩片段。
可选地,该视频剪辑过程中,首先需要用户对待剪辑视频进行选择,并针对待剪辑视频中需要剪辑出的目标视频片段的起始时刻和终止时刻进行选择,从而根据起始时刻和终止时刻从该待剪辑视频中剪辑得到目标视频片段。其中,该起始时刻用于表示目标视频片段的起始位置在待剪辑视频中对应的计时时刻,终止时刻用于表示目标视频片段的终止位置在待剪辑视频中对应的计时时刻。
相关技术中,当应用程序中提供有视频剪辑功能时,该应用程序需要引用第三方依赖库实现对视频的剪辑过程,也即该应用程序的安装包中引入了第三方依赖库的库文件,如:在应用程序的安装包中引入FFMPEG依赖库的库文件,从而在该应用程序中通过FFMPEG依赖库对视频进行剪辑,实现视频剪辑功能。然而,由于第三方依赖库的库文件通常较大,将第三方依赖库的库文件增加至应用程序的安装包后,导致应用程序的安装包数据量较大,如:应用程序A未增加视频剪辑功能时的安装包大小为15M,而在该应用程序A中增加视频剪辑功能,也即在应用程序A的安装包中引入FFMPEG依赖库的库文件时,该应用程序A的安装包大小为25M,增加视频剪辑功能后,该应用程序A的安装包大小大幅度增长,影响了应用程序A的下载便捷程度。
可选地,本申请实施例中,通过操作系统中提供的原生解码库实现对视频的裁剪过程,该原生解码库中提供有视频文件分离器和视频合成器,应用程序通过调用视频文件分离器对待剪辑视频进行音视频轨道分离后,针对音视频轨道分别进行数据提取并写入视频合成器,最后合成得到目标视频片段。
图1示出了应用本申请视频剪辑方法的终端100的一个示例性实施例的软件架构框图。该终端100可以是手机终端、笔记本电脑、PC电脑、平板电脑等智能终端设备,所述终端100上安装有操作系统120和基于该操作系统120安装并运行的应用程序140。
以安装有安卓操作系统的手机终端为例,在安卓操作系统中提供有视频文件分离器122和视频合成器124,该视频文件分离器122用于将视频分离为音频轨道和视频轨道,视频合成器124用于根据写入的视频帧数据和音频帧数据合成一个新的视频。
可选地,应用程序140中提供的视频剪辑功能,当应用程序140中需要对待剪辑视频进行剪辑时,该应用程序140首先调用视频文件分离器122对待剪辑视频进行音视频轨道分离,并创建视频合成器124,用于写入音频帧数据和视频帧数据,通过视频合成器124合成得到目标视频片段。
应用程序140在本实施例中不做具体限制,可以是工具类、管理类、办公类、购物类、娱乐类等实现视频剪辑功能需要的相关应用程序,在附图1中,该应用程序140仅仅是示意性的示出了包括应用程序142和应用程序144,在实际操作,应用程序的数量可以更多或者更少。
本申请实施例中,以操作系统120以及应用程序140直接安装在终端100中为例进行说明,实际操作中,操作系统120和应用程序140还可以安装在终端100中安装的模拟器程序中。
示意性的,本申请涉及的应用场景至少包括如下场景:
以上述应用程序实现为游戏社区程序为例进行说明,玩家开启该游戏社区程序开始游戏,并当游戏结束时,生成游戏视频,玩家针对该视频进行目标视频片段选定后,生成目标视频片段的起始时刻和终止时刻,该游戏社区程序调用操作系统的视频文件分离器对该游戏视频进行音视频轨道分离,得到视频轨道和音频轨道,从该起始时刻对应的目标视频帧开始将视频轨道上的视频帧数据逐帧写入视频合成器内,并从该起始时刻对应的目标音频帧开始将音频轨道上的音频帧数据逐帧写入视频合成器内,从而得到该视频合成器合成得到的目标视频片段。
值得注意的是,上述示意性的应用场景中,以游戏社区程序为例进行说明,实际操作中,该应用程序还可以实现为视频应用程序、直播应用程序、社交应用程序、多媒体处理程序、游戏程序、办公类应用程序等,本申请实施例对该应用程序的类别不加以限定。
针对本申请提供的视频剪辑方法,图2是本申请一个示例性实施例提供的视频剪辑方法的流程图,以该方法应用于如图1所示的终端中为例进行说明,如图2所示,该方法包括:
步骤201,获取对待剪辑视频进行剪辑的起始时刻和终止时刻。
可选地,该起始时刻和终止时刻是用于从待剪辑视频中剪辑目标视频片段时对应的时刻。
可选地,该起始时刻可以是用户直接对起始计时时刻进行输入得到的时刻,如:用户输入起始计时时刻1:20,则将该待剪辑视频的第1分20秒作为该起始时刻,也可以是用户在待剪辑视频的时间轴上进行定位后得到的时刻,本申请实施例对该起始时刻的确定方式不加以限定。可选地,该起始时刻可以以在待剪辑视频中的计时时刻进行表达,也可以以该起始时刻对应的视频帧的显示时间戳进行表达,本申请实施例对此不加以限定。
对应的,该终止时刻可以是用户直接对终止计时时刻进行输入得到的时刻,也可以是用户在待剪辑视频的时间轴上进行定位后得到的时刻,还可以是用户对目标视频片段的时长进行设置后,根据该目标视频片段的时长和起始时刻计算得到的时刻,本申请实施例对该终止时刻的确定方式不加以限定。可选地,该终止时刻可以以在待剪辑视频中的计时时刻进行表达,也可以以该终止时刻对应的视频帧的显示时间戳进行表达,本申请实施例对此不加以限定。
步骤202,调用视频文件分离器对待剪辑视频进行音视频轨道分离,得到视频轨道和音频轨道。
可选地,该视频文件分离器为终端操作系统中提供的模块。示意性的,以终端中安装有安卓操作系统为例进行说明,应用程序创建视频文件分离器MediaExtractor后,通过该视频文件分离器MediaExtractor的setDataSource方法,将待剪辑视频加载进该视频文件分离器MediaExtractor,并通过该视频文件分离器MediaExtractor将待剪辑视频分离为视频轨道和音频轨道。
可选地,视频轨道和音频轨道对应有格式信息MediaFormat,应用程序在通过视频文件分离器对待剪辑视频进行音视频轨道分离时,创建视频合成器MediaMuxer,该视频轨道的格式信息和音频轨道的格式信息分别被加载至该视频合成器MediaMuxer中,可选地,该格式信息用于指示其对应的轨道为视频轨道还是音频轨道。可选地,该视频合成器为操作系统中提供的模块。
可选地,该视频合成器所合成的目标视频片段的视频文件被创建,该视频合成器在合成过程中,将视频帧数据和音频帧数据写入该视频文件中,从而得到目标视频片段。
步骤203,从起始时刻对应的目标视频帧开始将视频轨道上的视频帧数据逐帧写入视频合成器,直至被写入的视频帧的显示时间戳达到终止时刻。
可选地,首先针对视频轨道进行视频帧数据写入,然后针对音频轨道进行音频帧数据写入。
可选地,根据起始时刻在视频轨道中确定与该起始时刻对应的目标视频帧,该目标视频帧可以是与该起始时刻对应的关键帧,也可以是与该起始时刻对应的任意一帧。可选地,以该目标视频帧为与该起始时刻对应的关键帧为例进行说明,也即,在视频轨道上确定与起始时刻对应的关键帧作为目标视频帧,并从该目标视频帧开始将视频轨道上的视频帧数据逐帧写入视频合成器。可选地,该目标视频帧可以是该起始时刻之前最近一帧关键帧,也可以是该起始时刻之后最近一帧关键帧,还可以是与该起始时刻临近的关键帧。示意性的,以该目标视频帧为与该起始时刻临近的关键帧为例,在视频轨道上确定与该起始时刻邻近的关键帧作为目标视频帧,示意性的,该待剪辑视频的视频帧排列顺序为“I帧1、B帧1、B帧2、P帧1、B帧3、B帧4、P帧2、B帧5、B帧6、P帧3、B帧7、B帧8、P帧4、B帧9、P帧5、I帧2”,其中,I帧用于表示关键帧,该起始时刻对应的视频帧为B帧8,则与该起始时刻临近的关键帧为I帧2,也即,将该I帧2确认为目标视频帧。
可选地,从该目标视频帧开始,将视频轨道上的视频帧的视频帧数据逐帧写入视频合成器,直至被写入的视频帧的显示时间戳达到终止时刻。
示意性的,请参考图3,其示出了本申请一个示例性实施例提供的视频帧数据写入过程的示意图,如图3所示,该待剪辑视频的视频轨道上的视频帧排列顺序为:I1、B1、B2、P1、B3、B4、P2、B5、B6、P3、B7、B8、P4、B9、P5、I2、B10、B11、P6、B12、B13、P7、B14、B15、P8、B16、B17、P9、B18、P10、I3…,分别对应显示时间戳:1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17、18、19、20、21、22、23、24、25、26、27、28、29、30、31…,当起始时刻对应的时间戳为11,则确定与视频帧B7临近的关键帧为I2,从关键帧I2开始,将视频轨道上的视频帧的视频帧数据写入视频合成器,也即,依次将I2、B10、B11、P6、B12、B13、P7、B14、B15、P8、B16、B17、P9、B18、P10、I3…的视频帧数据写入视频合成器,示意性的,视频帧B42的显示时间戳未达到终止时刻,而视频帧B43的显示时间戳达到终止时刻时,将视频帧B43确定为写入该视频合成器的最后一帧视频帧。
可选地,该视频帧数据中包括帧数据和帧信息,其中,帧数据包括视频帧的编解码数据,帧信息包括视频帧的显示时间戳,从目标时间戳开始,将视频轨道上的每一帧视频帧的帧数据和帧信息逐帧写入视频合成器。
可选地,该帧信息中还包括用于表示该视频帧是否是关键帧的字段以及用于表示该视频帧的数据帧大小的字段。
步骤204,从起始时刻对应的目标音频帧开始将音频轨道上的音频帧数据逐帧写入视频合成器,直至被写入的音频帧的播放时间戳达到终止时刻。
可选地,视频帧数据写入完毕后,切换至音频轨道进行音频帧数据的写入。
可选地,确定与该起始时刻对应的目标音频帧,该目标音频帧可以是播放时间戳与该起始时刻对应的音频帧。
值得注意的是,上述步骤203和步骤204,可以先执行步骤203再执行步骤204,也可以先执行步骤204再执行步骤203,本申请实施例对此不加以限定。
步骤205,获取视频合成器合成得到的目标视频片段。
可选地,视频合成器将写入的视频帧数据和音频帧数据进行合成后,得到该目标视频片段。
综上所述,本申请实施例提供的视频剪辑方法,通过对操作系统提供的视频文件分离器和视频合成器进行调用,对待剪辑视频进行音视频轨道分离,以及将分离后的视频轨道上的视频帧数据以及音频轨道上的音频帧数据分别写入视频合成器进行合成,得到目标视频片段,避免应用程序需要引入第三方依赖库才能实现视频剪辑,而导致应用程序的打包文件较大的问题,提高了待剪辑视频的剪辑效率,有效控制了应用程序的安装包的大小。
在一个可选的实施例中,当待剪辑视频以H.264编码方式进行编码和以其他编码方式进行编码时,写入视频合成器的帧信息不同,图4是本申请另一个示例性实施例提供的视频剪辑方法的流程图,以该方法应用于如图1所示的终端100中为例进行说明,如图4所示,该方法包括:
步骤401,获取对待剪辑视频进行剪辑的起始时刻和终止时刻。
可选地,该起始时刻和终止时刻是用于从待剪辑视频中剪辑目标视频片段时对应的时刻。
步骤402,调用视频文件分离器对待剪辑视频进行音视频轨道分离,得到视频轨道和音频轨道。
可选地,该视频文件分离器为终端操作系统中提供的模块。示意性的,以终端中安装有安卓操作系统为例进行说明,应用程序创建视频文件分离器MediaExtractor后,通过该视频文件分离器MediaExtractor的setDataSource方法,将待剪辑视频加载进该视频文件分离器MediaExtractor,并通过该视频文件分离器MediaExtractor将待剪辑视频分离为视频轨道和音频轨道。
步骤403,在视频轨道上确定与起始时刻对应的关键帧作为目标视频帧。
可选地,该目标视频帧可以是该起始时刻之前最近一帧关键帧,也可以是该起始时刻之后最近一帧关键帧,还可以是与该起始时刻临近的关键帧。
可选地,本申请实施例中,以该目标视频帧为与起始时刻临近的关键帧为例进行说明。
步骤404,从目标视频帧开始连续提取一组视频帧的解码时间戳。
可选地,该待剪辑视频为通过H.264编码方式进行编码的视频。可选地,该H.264编码方式编码的待剪辑视频中,包括帧内编码帧I帧(又称关键帧),帧间预测编码帧P帧,以及双向预测编码帧B帧,当视频帧的排列顺序为I帧、B帧、P帧时,该三帧的解码顺序为I帧、P帧、B帧,而该三帧的播放顺序为I帧、B帧、P帧,仅以I帧、B帧之间的解码时间戳之差确定显示时间戳易导致显示时间戳与实际显示时间戳产生时间差。
示意性的,请参考图5,以一组视频帧中包括15帧为例进行说明,该一组视频帧从I帧开始,分别为:I帧、B帧、B帧、P帧、B帧、B帧、P帧、B帧、B帧、P帧、B帧、B帧、P帧、B帧、P帧,该一组视频帧对应的解码顺序为:1、3、4、2、6、7、5、9、10、8、12、13、11、15、14;而该一组视频帧对应的显示顺序为:1、2、3、4、5、6、7、8、9、10、11、12、13、14、15;对应的,以时间戳间隔是1为例进行说明,该一组视频帧的解码时间戳(Decoding Time Stamp,DTS)为:1、3、4、2、6、7、5、9、10、8、12、13、11、15、14;对应的,该一组视频帧的显示时间戳(Presentation TimeStamp,PTS)为:1、2、3、4、5、6、7、8、9、10、11、12、13、14、15。当直接以该I帧与I帧后一帧视频帧(也即B帧)之间编码时间戳之差确定显示时间戳时,也即以2为相邻两帧视频帧的显示时间戳间隔,则得到的该一组视频帧的显示时间戳为:1、3、5、7、9、11、13、15、17、19、21、23、25、27、29,与实际显示时间戳不一致。
可选地,该一组视频帧是指从该目标视频帧开始至下一帧关键帧之间的视频帧。
步骤405,确定一组视频帧的解码时间戳中,相邻两帧视频帧之间的解码时间戳的时间戳差值。
示意性的,以如图5所示的一组视频帧为例进行说明,则根据该15帧视频帧确定得到的14个时间戳差值分别为:2、1、2、4、1、2、4、1、2、4、2、4、1。
步骤406,根据最小时间戳差值确定视频帧的显示时间戳。
可选地,将该最小时间戳差值作为相邻两帧视频帧之间显示时间戳的差值,示意性的,结合上述步骤405中的14个时间戳差值,则将1确定为视频帧的显示时间戳差值。
步骤407,确定目标视频帧的第一解码时间戳,以及目标视频帧下一帧视频帧的第二解码时间戳。
可选地,该待剪辑视频为通过除H.264编码方式以外的其他编码方式编码的视频。
可选地,编码后的该待剪辑视频中包括I帧,或,编码后的该待剪辑视频中包括I帧和P帧。
可选地,该待剪辑视频的视频帧的解码顺序与显示顺序一致。
步骤408,根据第一解码时间戳和第二解码时间戳之差确定视频帧的显示时间戳。
可选地,将该第一解码时间戳和第二解码时间戳之差确定为相邻两帧视频帧的显示时间戳间隔。
步骤409,从目标视频帧开始,将视频轨道上的视频帧的帧数据和帧信息逐帧写入视频合成器,直至被写入的视频帧的显示时间戳达到终止时刻。
可选地,帧数据包括视频帧的编解码数据,帧信息包括视频帧的显示时间戳,从目标时间戳开始,将视频轨道上的每一帧视频帧的帧数据和帧信息逐帧写入视频合成器。
示意性的,将该显示时间戳写入时的写入方式如图6所示,在写入显示时间戳时,以显示时间戳间隔dpts累加的方式写入每帧视频帧的时间戳,如图6所示,第一帧视频帧的显示时间戳为0,则第二帧视频帧的显示时间戳为dpts,第三帧视频帧的显示时间戳为2*dpts,以此类推,第i帧视频帧的显示时间戳为(i-1)*dpts。
步骤410,从起始时刻对应的目标音频帧开始将音频轨道上的音频帧数据逐帧写入视频合成器,直至被写入的音频帧的播放时间戳达到终止时刻。
可选地,视频帧数据写入完毕后,切换至音频轨道进行音频帧数据的写入。
可选地,确定与该起始时刻对应的目标音频帧,该目标音频帧为播放时间戳与该起始时刻临近的关键帧。
步骤411,获取视频合成器合成得到的目标视频片段。
可选地,视频合成器将写入的视频帧数据和音频帧数据进行合成后,得到该目标视频片段。
可选地,当获取得到该目标视频片段后,应用程序释放视频文件分离器和视频合成器所应用的资源,完成视频剪辑过程。
综上所述,本申请实施例提供的视频剪辑方法,通过对操作系统提供的视频文件分离器和视频合成器进行调用,对待剪辑视频进行音视频轨道分离,以及将分离后的视频轨道上的视频帧数据以及音频轨道上的音频帧数据分别写入视频合成器进行合成,得到目标视频片段,避免应用程序需要引入第三方依赖库才能实现视频剪辑,而导致应用程序的打包文件较大的问题,提高了待剪辑视频的剪辑效率,有效控制了应用程序的安装包的大小。
本实施例提供的方法,当待剪辑视频是通过H.264编码方式编码时,通过获取一组视频帧中每相邻两帧之间的解码时间戳的时间戳差值,从而确定最小的时间戳差值作为相邻两帧视频帧之间的显示时间戳差值,避免了由于H.264编码方式中存在B帧而导致I帧与第一帧B帧之间的解码时间戳差值与实际显示时间戳差值不符的问题。
示意性的,以本申请实施例提供的视频剪辑方法应用于安装有安卓操作系统的终端中为例进行说明,则该视频剪辑过程如图7所示,该过程包括:
步骤701,通过MediaExtractor的setDataSource方法将视频文件加载至视频文件分离器,提取得到视频轨道和音频轨道,同时初始化保存的视频片段文件和视频合成器MediaMuxer。
可选地,提取得到视频轨道和音频轨道时,确定视频轨道和音频轨道分别对应的格式信息,该格式信息用于指示轨道类型,也即指示该轨道是属于视频轨道还是属于音频轨道。
步骤702,通过getTrackFormat方法,获取提取轨道的格式信息,判断当前轨道的格式信息是否为视频轨道的格式信息,若是,则记录当前轨道的索引信息,否则,继续遍历其他轨道。
可选地,该索引信息用于获取对应的视频轨道或音频轨道。
步骤703,获取视频轨道后,根据MediaExtractor的seekTo方法,将数据指针移动至视频裁剪的起始时刻的关键帧位置,并提取当前帧的ByteBuff数据及帧格式信息BuffInfo。
可选地,该帧格式信息BuffInfo中包括显示时间戳PTS参数,该显示时间戳PTS参数的设置影响裁剪后的视频片段的可用性。
步骤704,通过步骤703将提取得到的ByteBuff数据及帧格式信息BuffInfo开始逐帧写入视频合成器,直至提取的帧显示时间戳信息大于视频裁剪的结束时刻,则停止写入。
步骤705,切换至音频轨道,根据MediaExtractor的seekTo方法,将数据指针移动至视频裁剪的起始时刻的关键帧位置,并提取当前音频帧的ByteBuff数据及帧格式信息BuffInfo。
步骤706,通过步骤705将提取到的帧ByteBuff数据及帧格式信息BuffInfo开始,逐帧写入视频合成器,直至提取的帧显示时间戳信息大于裁剪的结束时刻,则停止写入,至此完整视频裁剪过程。
示意性的,在该视频剪辑过程中,视频文件MediaFile的处理过程如图8所示,视频文件MediaFile810经过MediaExtractor820分离为视频轨道831和音频轨道832两个部分,针对视频轨道831,首先经过步骤841计算相邻帧的时间间隔,然后经过步骤851通过seekTo方法确定起始时刻对应的视频帧,经过步骤861从起始时刻开始,读取每帧的数据,并写入视频合成器,直至给定的终止时刻停止写入。针对音频轨道832,首先经过步骤842计算相邻帧的时间间隔,然后经过步骤852通过seekTo方法确定起始时刻对应的音频帧,经过步骤862从起始时刻开始,读取每帧的数据,并写入视频合成器,直至给定的终止时刻停止写入。最后通过视频合成器870获取剪辑得到的视频片段。
在一个可选的实施例中,上述目标视频片段剪辑完成后,还需要进行与播放界面的匹配,根据播放界面的尺寸对该目标视频片段的尺寸进行调整,图9是本申请另一个示例性实施例提供的视频剪辑方法的流程图,以该方法应用于终端中为例进行说明,如图9所示,该方法包括:
步骤901,获取对待剪辑视频进行剪辑的起始时刻和终止时刻。
可选地,该起始时刻和终止时刻是用于从待剪辑视频中剪辑目标视频片段时对应的时刻。
可选地,该起始时刻可以是用户直接对起始计时时刻进行输入得到的时刻,也可以是用户在待剪辑视频的时间轴上进行定位后得到的时刻,本申请实施例对该起始时刻的确定方式不加以限定。
示意性的,以该起始时刻和终止时刻为用于在待剪辑视频的时间轴上进行定位后得到的时刻为例进行说明,请参考图10,在视频选择界面1010中,显示有可剪辑的视频列表1011,该视频列表1011中显示有候选视频,示意性的,当用户在候选视频1012上进行点击时,则将该候选视频1012确定为待剪辑视频,并显示视频编辑界面1020,该视频编辑界面1020中显示有该待剪辑视频的时间轴1021,在该时间轴上对该待剪辑视频中需要剪辑得到的视频片段进行框选,并显示选择框1022,则该选择框1022的起始位置即为起始时刻,终止位置即为终止时刻。
步骤902,调用视频文件分离器对待剪辑视频进行音视频轨道分离,得到视频轨道和音频轨道。
可选地,该视频文件分离器为终端操作系统中提供的模块。示意性的,以终端中安装有安卓操作系统为例进行说明,应用程序创建视频文件分离器MediaExtractor后,通过该视频文件分离器MediaExtractor的setDataSource方法,将待剪辑视频加载进该视频文件分离器MediaExtractor,并通过该视频文件分离器MediaExtractor将待剪辑视频分离为视频轨道和音频轨道。
步骤903,从起始时刻对应的目标视频帧开始将视频轨道上的视频帧数据逐帧写入视频合成器,直至被写入的视频帧的显示时间戳达到终止时刻。
可选地,首先针对视频轨道进行视频帧数据写入,然后针对音频轨道进行音频帧数据写入。
可选地,根据起始时刻在视频轨道中确定与该起始时刻对应的目标视频帧,该目标视频帧可以是与该起始时刻对应的关键帧,也可以是与该起始时刻对应的任意一帧。可选地,以该目标视频帧为与该起始时刻对应的关键帧为例进行说明,也即,在视频轨道上确定与起始时刻对应的关键帧作为目标视频帧,并从该目标视频帧开始将视频轨道上的视频帧数据逐帧写入视频合成器。可选地,该目标视频帧可以是该起始时刻之前最近一帧关键帧,也可以是该起始时刻之后最近一帧关键帧,还可以是与该起始时刻临近的关键帧。
步骤904,从起始时刻对应的目标音频帧开始将音频轨道上的音频帧数据逐帧写入视频合成器,直至被写入的音频帧的播放时间戳达到终止时刻。
可选地,视频帧数据写入完毕后,切换至音频轨道进行音频帧数据的写入。
可选地,确定与该起始时刻对应的目标音频帧,该目标音频帧可以是播放时间戳与该起始时刻对应的音频帧。
步骤905,获取视频合成器合成得到的目标视频片段。
可选地,视频合成器将写入的视频帧数据和音频帧数据进行合成后,得到该目标视频片段。
步骤906,提取目标视频片段的第一宽度和第一高度,得到第一宽高比。
可选地,当终端以第一方向拍摄该待剪辑视频和以第二方向拍摄该待剪辑视频时,该第一宽高比的计算方式不同。可选地,提取该待剪辑视频的拍摄方向信息,当拍摄方向信息指示该待剪辑视频以第一方向拍摄时,将第一宽度与第一高度的比值作为第一宽高比,当拍摄方向信息指示待剪辑视频以第二方向拍摄时,将第一高度与第一宽度的比值作为第一宽高比。其中,第一方向和第二方向可以是夹角呈90度的方向,其中,当终端在第一角度范围内拍摄待剪辑视频时,将该终端的拍摄方向确定为第一方向,如:当该终端在0度至45度范围内拍摄待剪辑视频时,将终端的拍摄方向确定为第一方向;当终端在第二角度范围内拍摄待剪辑视频时,将终端的拍摄方向确定为第二方向,如:当该终端在45度至90的范围内拍摄待剪辑视频时,将终端的拍摄方向确定为第二方向。
步骤907,确定目标视频片段在终端中的可显示区域的第二宽度和第二高度,得到第二宽高比。
可选地,该第二宽高比为第二宽度与第二高度之间的比值。
可选地,该可显示区域的第二宽度和第二高度由终端显示屏的宽高一级显示控件的大小决定,可选地,在确定可显示区域的第二宽度和第二高度时,首先计算终端显示屏的高度和宽度,然后计算可显示区域在屏幕中对应的像素位置,根据显示屏的高度减去可显示区域的边界padding大小,以及减去控件的高度,即可得到该可显示区域的高度,同理,根据显示屏的宽度减去可显示区域的边界padding大小,以及减去控件的宽度,即可得到该可显示区域的宽度。
值得注意的是,上述步骤906和步骤907,可以先执行步骤906,再执行步骤907,也可以先执行步骤907,再执行步骤906,还可以同时执行步骤906和步骤907,本申请实施例对此不加以限定。
步骤908,根据第一宽高比和第二宽高比在可显示区域中显示目标视频片段。
可选地,当第一宽高比小于第二宽高比时,将第一高度调整至第二高度,计算第一高度与第二高度之间的第一缩放比例,以第一缩放比例对第一宽度进行调整,将目标视频片段以第二高度和调整后的第一宽度在可显示区域中进行播放;或,当第一宽高比大于第二宽高比时,将第一宽度调整至第二宽度,计算第一宽度与第二宽度之间的第二缩放比例,以第二缩放比例对第一高度进行调整,将目标视频片段以第二宽度和调整后的第一高度在可显示区域中进行播放。
示意性的,请参考图11,目标视频片段1110的视频宽度Wv和视频高度Hv如图11所示,可显示区域1120的宽度Wd和高度Hd如图11所示,如图11可知,目标视频片段1110的第一宽高比小于可显示区域1120的第二宽高比,则在该可显示区域1120中播放目标视频片段1110时,首先将目标视频片段1110的视频高度Hv调整为可显示区域1120的高度Hd,并根据视频高度Hv和高度Hd之间的缩放比例对目标视频片段1110的视频宽度Wv进行对应调整,从而在该可显示区域1120中播放目标视频片段1110。
综上所述,本申请实施例提供的视频剪辑方法,通过对操作系统提供的视频文件分离器和视频合成器进行调用,对待剪辑视频进行音视频轨道分离,以及将分离后的视频轨道上的视频帧数据以及音频轨道上的音频帧数据分别写入视频合成器进行合成,得到目标视频片段,避免应用程序需要引入第三方依赖库才能实现视频剪辑,而导致应用程序的打包文件较大的问题,提高了待剪辑视频的剪辑效率,有效控制了应用程序的安装包的大小。
本实施例提供的方法,通过目标视频片段和可显示区域之间的宽高比对目标视频片段的宽度和/或高度进行调整,从而避免目标视频片段在可显示区域中进行播放时,存在截断现象的问题,确保在可显示区域中播放完整的目标视频片段。
图12是本申请一个示例性实施例提供的视频剪辑装置的结构框图,以该装置应用于终端中为例进行说明,如图12所示,该装置包括:获取模块1210、调用模块1220、写入模块1230;
获取模块1210,用于获取对待剪辑视频进行剪辑的起始时刻和终止时刻,所述起始时刻和所述终止时刻是用于从所述待剪辑视频中剪辑目标视频片段时对应的时刻;
调用模块1220,用于调用视频文件分离器对所述待剪辑视频进行音视频轨道分离,得到视频轨道和音频轨道;
写入模块1230,用于从所述起始时刻对应的目标视频帧开始将所述视频轨道上的视频帧数据逐帧写入视频合成器,直至被写入的视频帧的显示时间戳达到所述终止时刻,所述视频文件分离器和所述视频合成器为操作系统提供的用于对视频进行处理的功能单元;
所述写入模块1230,还用于从所述起始时刻对应的目标音频帧开始将所述音频轨道上的音频帧数据逐帧写入所述视频合成器,直至被写入的音频帧的播放时间戳达到所述终止时刻;
所述获取模块1210,还用于获取所述视频合成器合成得到的所述目标视频片段。
在一个可选的实施例中,所述写入模块1230,还用于在所述视频轨道上确定与所述起始时刻对应的关键帧作为所述目标视频帧;从所述目标视频帧开始将所述视频轨道上的视频帧数据逐帧写入所述视频合成器。
在一个可选的实施例中,所述视频帧数据包括帧数据和帧信息;
所述写入模块1230,还用于从所述目标视频帧开始,将所述视频轨道上的视频帧的帧数据和帧信息逐帧写入所述视频合成器,其中,所述帧数据包括所述视频帧的编解码数据,所述帧信息包括所述视频帧的所述显示时间戳。
在一个可选的实施例中,所述待剪辑视频为通过H.264编码方式进行编码的视频;
如图13所示,所述装置,还包括:
提取模块1240,用于从所述目标视频帧开始连续提取一组视频帧的解码时间戳,所述一组视频帧为从所述目标视频帧开始至下一帧关键帧之间的视频帧;
确定模块1250,用于确定所述一组视频帧的解码时间戳中,相邻两帧视频帧之间解码时间戳的时间戳差值;根据最小时间戳差值确定所述视频帧的所述显示时间戳。
在一个可选的实施例中,所述待剪辑视频为通过除H.264编码方式以外的其他编码方式编码的视频;
所述装置,还包括:
确定模块1250,用于确定所述目标视频帧的第一解码时间戳,以及所述目标视频帧下一帧视频帧的第二解码时间戳;根据所述第一解码时间戳和所述第二解码时间戳之差确定所述视频帧的所述显示时间戳。
在一个可选的实施例中,所述写入模块1230,还用于在所述视频轨道上确定与所述起始时刻临近的关键帧作为所述目标视频帧。
在一个可选的实施例中,所述装置,还包括:
提取模块1240,用于提取所述目标视频片段的第一宽度和第一高度,得到第一宽高比;
确定模块1250,用于确定所述目标视频片段在终端中的可显示区域的第二宽度和第二高度,得到第二宽高比;
显示模块1260,用于根据所述第一宽高比和所述第二宽高比在所述可显示区域中显示所述目标视频片段。
在一个可选的实施例中,所述提取模块1240,还用于提取所述待剪辑视频的拍摄方向信息;当所述拍摄方向信息指示所述待剪辑视频以第一方向拍摄时,将所述第一宽度与所述第一高度的比值作为所述第一宽高比;当所述拍摄方向信息指示所述待剪辑视频以第二方向拍摄时,将所述第一高度与所述第一宽度的比值作为所述第一宽高比。
在一个可选的实施例中,所述显示模块1260,还用于当所述第一宽高比小于所述第二宽高比时,将所述第一高度调整至所述第二高度;计算所述第一高度与所述第二高度之间的第一缩放比例;以所述第一缩放比例对所述第一宽度进行调整;将所述目标视频片段以所述第二高度和调整后的所述第一宽度在所述可显示区域中进行播放;
所述显示模块1260,还用于当所述第一宽高比大于所述第二宽高比时,将所述第一宽度调整至所述第二宽度;计算所述第一宽度与所述第二宽度之间的第二缩放比例;以所述第二缩放比例对所述第一高度进行调整;将所述目标视频片段以所述第二宽度和调整后的所述第一高度在所述可显示区域中进行播放。
综上所述,本申请实施例提供的视频剪辑装置,通过对操作系统提供的视频文件分离器和视频合成器进行调用,对待剪辑视频进行音视频轨道分离,以及将分离后的视频轨道上的视频帧数据以及音频轨道上的音频帧数据分别写入视频合成器进行合成,得到目标视频片段,避免应用程序需要引入第三方依赖库才能实现视频剪辑,而导致应用程序的打包文件较大的问题,提高了待剪辑视频的剪辑效率,有效控制了应用程序的安装包的大小。
需要说明的是:上述实施例提供的视频剪辑装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的视频剪辑装置与视频剪辑方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图14示出了本发明一个示例性实施例提供的终端1400的结构框图。该终端1400可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio LayerIII,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group AudioLayer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1400还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端1400包括有:处理器1401和存储器1402。
处理器1401可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1401可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1401也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1401可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1401还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1402可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1402还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1402中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1401所执行以实现本申请中方法实施例提供的视频剪辑方法。
在一些实施例中,终端1400还可选包括有:外围设备接口1403和至少一个外围设备。处理器1401、存储器1402和外围设备接口1403之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1403相连。具体地,外围设备包括:射频电路1404、触摸显示屏1405、摄像头1406、音频电路1407、定位组件1408和电源1409中的至少一种。
外围设备接口1403可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1401和存储器1402。在一些实施例中,处理器1401、存储器1402和外围设备接口1403被集成在同一芯片或电路板上;在一些其他实施例中,处理器1401、存储器1402和外围设备接口1403中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1404用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1404通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1404将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1404包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1404可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1404还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1405用于显示UI(UserInterface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1405是触摸显示屏时,显示屏1405还具有采集在显示屏1405的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1401进行处理。此时,显示屏1405还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1405可以为一个,设置终端1400的前面板;在另一些实施例中,显示屏1405可以为至少两个,分别设置在终端1400的不同表面或呈折叠设计;在再一些实施例中,显示屏1405可以是柔性显示屏,设置在终端1400的弯曲表面上或折叠面上。甚至,显示屏1405还可以设置成非矩形的不规则图形,也即异形屏。显示屏1405可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1406用于采集图像或视频。可选地,摄像头组件1406包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1406还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1407可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1401进行处理,或者输入至射频电路1404以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1400的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1401或射频电路1404的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1407还可以包括耳机插孔。
定位组件1408用于定位终端1400的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件1408可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源1409用于为终端1400中的各个组件进行供电。电源1409可以是交流电、直流电、一次性电池或可充电电池。当电源1409包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端1400还包括有一个或多个传感器1410。该一个或多个传感器1410包括但不限于:加速度传感器1411、陀螺仪传感器1412、压力传感器1413、指纹传感器1414、光学传感器1415以及接近传感器1416。
加速度传感器1411可以检测以终端1400建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1411可以用于检测重力加速度在三个坐标轴上的分量。处理器1401可以根据加速度传感器1411采集的重力加速度信号,控制触摸显示屏1405以横向视图或纵向视图进行用户界面的显示。加速度传感器1411还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1412可以检测终端1400的机体方向及转动角度,陀螺仪传感器1412可以与加速度传感器1411协同采集用户对终端1400的3D动作。处理器1401根据陀螺仪传感器1412采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1413可以设置在终端1400的侧边框和/或触摸显示屏1405的下层。当压力传感器1413设置在终端1400的侧边框时,可以检测用户对终端1400的握持信号,由处理器1401根据压力传感器1413采集的握持信号进行左右手识别或快捷操作。当压力传感器1413设置在触摸显示屏1405的下层时,由处理器1401根据用户对触摸显示屏1405的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1414用于采集用户的指纹,由处理器1401根据指纹传感器1414采集到的指纹识别用户的身份,或者,由指纹传感器1414根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1401授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1414可以被设置终端1400的正面、背面或侧面。当终端1400上设置有物理按键或厂商Logo时,指纹传感器1414可以与物理按键或厂商Logo集成在一起。
光学传感器1415用于采集环境光强度。在一个实施例中,处理器1401可以根据光学传感器1415采集的环境光强度,控制触摸显示屏1405的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1405的显示亮度;当环境光强度较低时,调低触摸显示屏1405的显示亮度。在另一个实施例中,处理器1401还可以根据光学传感器1415采集的环境光强度,动态调整摄像头组件1406的拍摄参数。
接近传感器1416,也称距离传感器,通常设置在终端1400的前面板。接近传感器1416用于采集用户与终端1400的正面之间的距离。在一个实施例中,当接近传感器1416检测到用户与终端1400的正面之间的距离逐渐变小时,由处理器1401控制触摸显示屏1405从亮屏状态切换为息屏状态;当接近传感器1416检测到用户与终端1400的正面之间的距离逐渐变大时,由处理器1401控制触摸显示屏1405从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图14中示出的结构并不构成对终端1400的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,该计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。该计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如图2、图4和图9任一所述的视频剪辑方法。
可选地,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、固态硬盘(SSD,Solid State Drives)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(ReRAM,Resistance RandomAccess Memory)和动态随机存取存储器(DRAM,Dynamic Random Access Memory)。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (15)

1.一种视频剪辑方法,其特征在于,所述方法包括:
获取对待剪辑视频进行剪辑的起始时刻和终止时刻,所述起始时刻和所述终止时刻是用于从所述待剪辑视频中剪辑目标视频片段时对应的时刻;
调用视频文件分离器对所述待剪辑视频进行音视频轨道分离,得到视频轨道和音频轨道;
从所述起始时刻对应的目标视频帧开始将所述视频轨道上的视频帧数据逐帧写入视频合成器,直至被写入的视频帧的显示时间戳达到所述终止时刻,所述视频文件分离器和所述视频合成器为操作系统提供的用于对视频进行处理的功能单元;
从所述起始时刻对应的目标音频帧开始将所述音频轨道上的音频帧数据逐帧写入所述视频合成器,直至被写入的音频帧的播放时间戳达到所述终止时刻;
获取所述视频合成器合成得到的所述目标视频片段。
2.根据权利要求1所述的方法,其特征在于,所述从所述起始时刻对应的目标视频帧开始将所述视频轨道上的视频帧数据逐帧写入视频合成器,包括:
在所述视频轨道上确定与所述起始时刻对应的关键帧作为所述目标视频帧;
从所述目标视频帧开始将所述视频轨道上的视频帧数据逐帧写入所述视频合成器。
3.根据权利要求2所述的方法,其特征在于,所述视频帧数据包括帧数据和帧信息;
所述从所述目标视频帧开始将所述视频轨道上的视频帧数据逐帧写入所述视频合成器,包括:
从所述目标视频帧开始,将所述视频轨道上的视频帧的帧数据和帧信息逐帧写入所述视频合成器,其中,所述帧数据包括所述视频帧的编解码数据,所述帧信息包括所述视频帧的所述显示时间戳。
4.根据权利要求3所述的方法,其特征在于,所述待剪辑视频为通过H.264编码方式进行编码的视频;
所述从所述目标视频帧开始,将所述视频轨道上的每一帧视频帧的帧数据和帧信息逐帧写入所述视频合成器之前,还包括:
从所述目标视频帧开始连续提取一组视频帧的解码时间戳,所述一组视频帧为从所述目标视频帧开始至下一帧关键帧之间的视频帧;
确定所述一组视频帧的解码时间戳中,相邻两帧视频帧之间解码时间戳的时间戳差值;
根据最小时间戳差值确定所述视频帧的所述显示时间戳。
5.根据权利要求3所述的方法,其特征在于,所述待剪辑视频为通过除H.264编码方式以外的其他编码方式编码的视频;
所述从所述目标视频帧开始,将所述视频轨道上的每一帧视频帧的帧数据和帧信息逐帧写入所述视频合成器之前,还包括:
确定所述目标视频帧的第一解码时间戳,以及所述目标视频帧下一帧视频帧的第二解码时间戳;
根据所述第一解码时间戳和所述第二解码时间戳之差确定所述视频帧的所述显示时间戳。
6.根据权利要求2至5任一所述的方法,其特征在于,所述在所述视频轨道上确定与所述起始时刻对应的关键帧作为所述目标视频帧,包括:
在所述视频轨道上确定与所述起始时刻临近的关键帧作为所述目标视频帧。
7.根据权利要求1至5任一所述的方法,其特征在于,所述获取所述视频合成器合成得到的所述目标视频片段之后,还包括:
提取所述目标视频片段的第一宽度和第一高度,得到第一宽高比;
确定所述目标视频片段在终端中的可显示区域的第二宽度和第二高度,得到第二宽高比;
根据所述第一宽高比和所述第二宽高比在所述可显示区域中显示所述目标视频片段。
8.根据权利要求7所述的方法,其特征在于,所述提取所述目标视频片段的第一宽度和第一高度,得到第一宽高比,包括:
提取所述待剪辑视频的拍摄方向信息;
当所述拍摄方向信息指示所述待剪辑视频以第一方向拍摄时,将所述第一宽度与所述第一高度的比值作为所述第一宽高比;
当所述拍摄方向信息指示所述待剪辑视频以第二方向拍摄时,将所述第一高度与所述第一宽度的比值作为所述第一宽高比。
9.根据权利要求7所述的方法,其特征在于,所述根据所述第一宽高比和所述第二宽高比在所述可显示区域中显示所述目标视频片段,包括:
当所述第一宽高比小于所述第二宽高比时,将所述第一高度调整至所述第二高度;计算所述第一高度与所述第二高度之间的第一缩放比例;以所述第一缩放比例对所述第一宽度进行调整;将所述目标视频片段以所述第二高度和调整后的所述第一宽度在所述可显示区域中进行播放;
当所述第一宽高比大于所述第二宽高比时,将所述第一宽度调整至所述第二宽度;计算所述第一宽度与所述第二宽度之间的第二缩放比例;以所述第二缩放比例对所述第一高度进行调整;将所述目标视频片段以所述第二宽度和调整后的所述第一高度在所述可显示区域中进行播放。
10.一种视频剪辑装置,其特征在于,所述装置包括:
获取模块,用于获取对待剪辑视频进行剪辑的起始时刻和终止时刻,所述起始时刻和所述终止时刻是用于从所述待剪辑视频中剪辑目标视频片段时对应的时刻;
调用模块,用于调用视频文件分离器对所述待剪辑视频进行音视频轨道分离,得到视频轨道和音频轨道;
写入模块,用于从所述起始时刻对应的目标视频帧开始将所述视频轨道上的视频帧数据逐帧写入视频合成器,直至被写入的视频帧的显示时间戳达到所述终止时刻,所述视频文件分离器和所述视频合成器为操作系统提供的用于对视频进行处理的功能单元;
所述写入模块,还用于从所述起始时刻对应的目标音频帧开始将所述音频轨道上的音频帧数据逐帧写入所述视频合成器,直至被写入的音频帧的播放时间戳达到所述终止时刻;
所述获取模块,还用于获取所述视频合成器合成得到的所述目标视频片段。
11.根据权利要求10所述的装置,其特征在于,所述写入模块,还用于在所述视频轨道上确定与所述起始时刻对应的关键帧作为所述目标视频帧;从所述目标视频帧开始将所述视频轨道上的视频帧数据逐帧写入所述视频合成器。
12.根据权利要求11所述的装置,其特征在于,所述视频帧数据包括帧数据和帧信息;
所述写入模块,还用于从所述目标视频帧开始,将所述视频轨道上的视频帧的帧数据和帧信息逐帧写入所述视频合成器,其中,所述帧数据包括所述视频帧的编解码数据,所述帧信息包括所述视频帧的所述显示时间戳。
13.根据权利要求12所述的装置,其特征在于,所述待剪辑视频为通过H.264编码方式进行编码的视频;
所述装置,还包括:
提取模块,用于从所述目标视频帧开始连续提取一组视频帧的解码时间戳,所述一组视频帧为从所述目标视频帧开始至下一帧关键帧之间的视频帧;
确定模块,用于确定所述一组视频帧的解码时间戳中,相邻两帧视频帧之间解码时间戳的时间戳差值;根据最小时间戳差值确定所述视频帧的所述显示时间戳。
14.一种终端,其特征在于,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至9任一所述的视频剪辑方法。
15.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至9任一所述的视频剪辑方法。
CN201910918358.5A 2019-09-26 2019-09-26 视频剪辑方法、装置、设备及可读存储介质 Active CN110572722B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910918358.5A CN110572722B (zh) 2019-09-26 2019-09-26 视频剪辑方法、装置、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910918358.5A CN110572722B (zh) 2019-09-26 2019-09-26 视频剪辑方法、装置、设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN110572722A true CN110572722A (zh) 2019-12-13
CN110572722B CN110572722B (zh) 2021-04-16

Family

ID=68782628

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910918358.5A Active CN110572722B (zh) 2019-09-26 2019-09-26 视频剪辑方法、装置、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN110572722B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111083396A (zh) * 2019-12-26 2020-04-28 北京奇艺世纪科技有限公司 视频合成方法、装置、电子设备及计算机可读存储介质
CN111405182A (zh) * 2020-03-26 2020-07-10 杭州趣维科技有限公司 一种调节镜头比例的视频编辑方法
CN111464864A (zh) * 2020-04-02 2020-07-28 Oppo广东移动通信有限公司 倒序视频获取方法、装置、电子设备以及存储介质
CN111478914A (zh) * 2020-04-14 2020-07-31 广州酷狗计算机科技有限公司 时间戳处理方法、装置、终端及存储介质
CN111770359A (zh) * 2020-06-03 2020-10-13 苏宁云计算有限公司 一种赛事视频剪辑方法、系统及计算机可读存储介质
CN112287128A (zh) * 2020-10-23 2021-01-29 北京百度网讯科技有限公司 多媒体文件编辑方法、装置、电子设备和存储介质
CN112653904A (zh) * 2020-12-16 2021-04-13 杭州当虹科技股份有限公司 一种基于pts与dts修改的快速视频裁剪方法
CN113014999A (zh) * 2021-03-04 2021-06-22 广东图友软件科技有限公司 一种基于HTML5Canvas画布音视频分段剪辑方法
CN113411675A (zh) * 2021-05-20 2021-09-17 歌尔股份有限公司 视频混合播放方法、装置、设备及可读存储介质
CN113643728A (zh) * 2021-08-12 2021-11-12 荣耀终端有限公司 一种音频录制方法、电子设备、介质及程序产品
CN113709560A (zh) * 2021-03-31 2021-11-26 腾讯科技(深圳)有限公司 视频剪辑方法、装置、设备及存储介质
CN114697749A (zh) * 2020-12-28 2022-07-01 北京小米移动软件有限公司 视频剪辑方法、装置,存储介质及电子设备
CN115243108A (zh) * 2022-07-25 2022-10-25 深圳市腾客科技有限公司 一种可编程的多媒体文件系统

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011035211A2 (en) * 2009-09-16 2011-03-24 Qualcomm Incorporated Multi-track video coding methods and apparatus using an extractor that references two or more non- consecutive nal units
CN103700360A (zh) * 2013-12-09 2014-04-02 乐视致新电子科技(天津)有限公司 一种屏幕显示比例调整方法和电子设备
CN106412687A (zh) * 2015-07-27 2017-02-15 腾讯科技(深圳)有限公司 一种音视频片段的截取方法和装置
CN106484349A (zh) * 2016-09-26 2017-03-08 腾讯科技(深圳)有限公司 直播信息的处理方法和装置
CN106658175A (zh) * 2016-11-15 2017-05-10 Tcl集团股份有限公司 一种电视终端的视频显示方法及系统
CN107093436A (zh) * 2017-03-10 2017-08-25 青岛海信移动通信技术股份有限公司 预录的音视频数据的存储方法及装置、移动终端
CN107613342A (zh) * 2017-10-09 2018-01-19 深圳市沃特沃德股份有限公司 视频自适应调整方法和装置
CN107888984A (zh) * 2017-11-15 2018-04-06 北京小米移动软件有限公司 短视频播放方法及装置
CN108184079A (zh) * 2017-12-29 2018-06-19 北京奇虎科技有限公司 一种多媒体文件的合并方法和装置
CN108366294A (zh) * 2018-03-06 2018-08-03 广州市千钧网络科技有限公司 一种视频裁剪方法及装置
CN108600855A (zh) * 2018-04-16 2018-09-28 北京酷我科技有限公司 一种竖版视频的实现方法
CN109788224A (zh) * 2019-03-26 2019-05-21 歌尔科技有限公司 视频录制方法、装置、网络摄像器及存储介质
CN109936763A (zh) * 2017-12-15 2019-06-25 腾讯科技(深圳)有限公司 视频的处理及发布方法

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011035211A2 (en) * 2009-09-16 2011-03-24 Qualcomm Incorporated Multi-track video coding methods and apparatus using an extractor that references two or more non- consecutive nal units
CN103700360A (zh) * 2013-12-09 2014-04-02 乐视致新电子科技(天津)有限公司 一种屏幕显示比例调整方法和电子设备
CN106412687A (zh) * 2015-07-27 2017-02-15 腾讯科技(深圳)有限公司 一种音视频片段的截取方法和装置
CN106484349A (zh) * 2016-09-26 2017-03-08 腾讯科技(深圳)有限公司 直播信息的处理方法和装置
CN106658175A (zh) * 2016-11-15 2017-05-10 Tcl集团股份有限公司 一种电视终端的视频显示方法及系统
CN107093436A (zh) * 2017-03-10 2017-08-25 青岛海信移动通信技术股份有限公司 预录的音视频数据的存储方法及装置、移动终端
CN107613342A (zh) * 2017-10-09 2018-01-19 深圳市沃特沃德股份有限公司 视频自适应调整方法和装置
CN107888984A (zh) * 2017-11-15 2018-04-06 北京小米移动软件有限公司 短视频播放方法及装置
CN109936763A (zh) * 2017-12-15 2019-06-25 腾讯科技(深圳)有限公司 视频的处理及发布方法
CN108184079A (zh) * 2017-12-29 2018-06-19 北京奇虎科技有限公司 一种多媒体文件的合并方法和装置
CN108366294A (zh) * 2018-03-06 2018-08-03 广州市千钧网络科技有限公司 一种视频裁剪方法及装置
CN108600855A (zh) * 2018-04-16 2018-09-28 北京酷我科技有限公司 一种竖版视频的实现方法
CN109788224A (zh) * 2019-03-26 2019-05-21 歌尔科技有限公司 视频录制方法、装置、网络摄像器及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
发布人:小二人: "利用MediaExtractor和MediaMuxer实现视频剪切", 《CSDN,HTTPS://BLOG.CSDN.NET/XIAO5678YUN/ARTICLE/DETAILS/53381706》 *

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111083396A (zh) * 2019-12-26 2020-04-28 北京奇艺世纪科技有限公司 视频合成方法、装置、电子设备及计算机可读存储介质
CN111405182B (zh) * 2020-03-26 2021-07-23 杭州小影创新科技股份有限公司 一种调节镜头比例的视频编辑方法
CN111405182A (zh) * 2020-03-26 2020-07-10 杭州趣维科技有限公司 一种调节镜头比例的视频编辑方法
CN111464864A (zh) * 2020-04-02 2020-07-28 Oppo广东移动通信有限公司 倒序视频获取方法、装置、电子设备以及存储介质
CN111464864B (zh) * 2020-04-02 2022-12-06 Oppo广东移动通信有限公司 倒序视频获取方法、装置、电子设备以及存储介质
CN111478914A (zh) * 2020-04-14 2020-07-31 广州酷狗计算机科技有限公司 时间戳处理方法、装置、终端及存储介质
CN111478914B (zh) * 2020-04-14 2022-08-16 广州酷狗计算机科技有限公司 时间戳处理方法、装置、终端及存储介质
CN111770359A (zh) * 2020-06-03 2020-10-13 苏宁云计算有限公司 一种赛事视频剪辑方法、系统及计算机可读存储介质
CN112287128A (zh) * 2020-10-23 2021-01-29 北京百度网讯科技有限公司 多媒体文件编辑方法、装置、电子设备和存储介质
US11929097B2 (en) 2020-10-23 2024-03-12 Beijing Baidu Netcom Science Technology Co., Ltd. Method and apparatus of editing multimedia file, electronic device, and storage medium
CN112287128B (zh) * 2020-10-23 2024-01-12 北京百度网讯科技有限公司 多媒体文件编辑方法、装置、电子设备和存储介质
CN112653904A (zh) * 2020-12-16 2021-04-13 杭州当虹科技股份有限公司 一种基于pts与dts修改的快速视频裁剪方法
CN112653904B (zh) * 2020-12-16 2022-07-29 杭州当虹科技股份有限公司 一种基于pts与dts修改的快速视频裁剪方法
CN114697749A (zh) * 2020-12-28 2022-07-01 北京小米移动软件有限公司 视频剪辑方法、装置,存储介质及电子设备
CN113014999A (zh) * 2021-03-04 2021-06-22 广东图友软件科技有限公司 一种基于HTML5Canvas画布音视频分段剪辑方法
CN113709560A (zh) * 2021-03-31 2021-11-26 腾讯科技(深圳)有限公司 视频剪辑方法、装置、设备及存储介质
CN113709560B (zh) * 2021-03-31 2024-01-02 腾讯科技(深圳)有限公司 视频剪辑方法、装置、设备及存储介质
CN113411675A (zh) * 2021-05-20 2021-09-17 歌尔股份有限公司 视频混合播放方法、装置、设备及可读存储介质
CN113643728A (zh) * 2021-08-12 2021-11-12 荣耀终端有限公司 一种音频录制方法、电子设备、介质及程序产品
CN113643728B (zh) * 2021-08-12 2023-08-22 荣耀终端有限公司 一种音频录制方法、电子设备、介质及程序产品
CN115243108A (zh) * 2022-07-25 2022-10-25 深圳市腾客科技有限公司 一种可编程的多媒体文件系统

Also Published As

Publication number Publication date
CN110572722B (zh) 2021-04-16

Similar Documents

Publication Publication Date Title
CN110572722B (zh) 视频剪辑方法、装置、设备及可读存储介质
CN108401124B (zh) 视频录制的方法和装置
CN109302538B (zh) 音乐播放方法、装置、终端及存储介质
CN108391171B (zh) 视频播放的控制方法及装置、终端
CN111147878B (zh) 直播中的推流方法、装置及计算机存储介质
CN107908929B (zh) 播放音频数据的方法和装置
CN109348247B (zh) 确定音视频播放时间戳的方法、装置及存储介质
CN109191549B (zh) 显示动画的方法及装置
CN108419113B (zh) 字幕显示方法及装置
CN109756784B (zh) 音乐播放方法、装置、终端及存储介质
CN111031393A (zh) 视频播放方法、装置、终端及存储介质
CN110324689B (zh) 音视频同步播放的方法、装置、终端及存储介质
CN108965922B (zh) 视频封面生成方法、装置和存储介质
CN109144346B (zh) 歌曲分享方法、装置及存储介质
CN108769738B (zh) 视频处理方法、装置、计算机设备和存储介质
CN109635133B (zh) 可视化音频播放方法、装置、电子设备及存储介质
CN112929654B (zh) 检测音画同步的方法、装置、设备及存储介质
CN109982129B (zh) 短视频的播放控制方法、装置及存储介质
CN111586444B (zh) 视频处理方法、装置、电子设备及存储介质
CN110662105A (zh) 动画文件的生成方法、装置及存储介质
CN113409427A (zh) 动画播放方法、装置、电子设备及计算机可读存储介质
CN111083526B (zh) 视频转场方法、装置、计算机设备及存储介质
CN113225616A (zh) 视频播放方法、装置、计算机设备及可读存储介质
CN109819314B (zh) 音视频处理方法、装置、终端及存储介质
CN109743461B (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40018608

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant