CN105791938B - 多媒体文件的拼接方法和装置 - Google Patents

多媒体文件的拼接方法和装置 Download PDF

Info

Publication number
CN105791938B
CN105791938B CN201610144319.0A CN201610144319A CN105791938B CN 105791938 B CN105791938 B CN 105791938B CN 201610144319 A CN201610144319 A CN 201610144319A CN 105791938 B CN105791938 B CN 105791938B
Authority
CN
China
Prior art keywords
video clip
video
time period
time
adjusted
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
CN201610144319.0A
Other languages
English (en)
Other versions
CN105791938A (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 CN201610144319.0A priority Critical patent/CN105791938B/zh
Publication of CN105791938A publication Critical patent/CN105791938A/zh
Priority to MYPI2018701837A priority patent/MY190066A/en
Priority to KR1020187012099A priority patent/KR102081214B1/ko
Priority to JP2018524262A priority patent/JP6689514B2/ja
Priority to EP17765818.4A priority patent/EP3361738A4/en
Priority to PCT/CN2017/076580 priority patent/WO2017157276A1/zh
Priority to US16/024,136 priority patent/US10679675B2/en
Application granted granted Critical
Publication of CN105791938B publication Critical patent/CN105791938B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00007Time or data compression or expansion
    • 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/34Indicating arrangements 
    • 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
    • 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43072Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4341Demultiplexing of audio and video 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4347Demultiplexing of several video 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
    • H04N21/44016Processing 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 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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00007Time or data compression or expansion
    • G11B2020/00072Time or data compression or expansion the compressed signal including a video signal

Abstract

本发明公开了一种多媒体文件的拼接方法和装置。其中,该方法包括:获取待拼接的第一视频片段和第二视频片段;获取与第一视频片段和第二视频片段对应的音频文件,其中,音频文件记载有第一视频片段的第一起止时间和第二视频片段的第二起止时间;将第一视频片段调整为在第一起止时间指示的第一时间段内播放,将第二视频片段调整为在第二起止时间指示的第二时间段内播放,其中,第一时间段与第二时间段不重叠;对调整后的第一视频片段和调整后的第二视频片段执行拼接操作,得到拼接后的视频文件。本发明解决了现有技术中音频和视频拼接的过程中合成精度较低的技术问题。

Description

多媒体文件的拼接方法和装置
技术领域
本发明涉及多媒体数据处理领域,具体而言,涉及一种多媒体文件的拼接方法和装置。
背景技术
当对Android系统与Internetworking Operating System系统(简称,IOS系统)生成的视频进行拼接时,需要通过Android系统的序列参数集(sequence parameter sets,简称sps)与图像参数集(picture parameter set,简称pps)对生成的视频进行解码,并通过IOS系统的sps参数与pps参数对生成的视频进行解码,把视频文件里的视频码流,解码成一帧帧图像,显示在界面上。但是,同时播放在Android系统和IOS系统生成的视频文件会出现不兼容的问题,因为,如果采用Android系统的sps和pps参数进行解码,那么IOS系统的视频将显示异常;如果采用IOS系统的sps和pps参数进行解码,那么Android的视频将显示异常。因此,当进行Android系统和IOS系统的视频拼接时,现有的技术方案是先读取Android的视频文件,利用文件里的sps和pps参数,把视频码流解码成一帧帧图像,然后,读取IOS系统的视频文件,利用文件里的sps和pps参数,把视频码流解码成一帧帧图像;进而把上面解码出的图像,全部给到视频编码器,统一压缩编码生成新的视频码流,并得到一套新的sps和pps参数,从而生成目标视频文件。但是,通过上述处理方法对Android系统和IOS系统生成的视频文件进行拼接时,存在解码和编码的过程,因此,在视频拼接的过程中,耗费了大量的时间,不利于用户的体验。
并且随着对口型合演的兴起,需要将两个运行不同操作系统的终端的视频片段进行准确快速的拼接,然而,通过上述方法并不能满足视频片段的快速拼接,同时,采用上述方法进行视频的拼接时,往往由于用户录制视频片段的时间过长或者过短导致用户的口型与音频对应不精确,从而使得真实感大大折扣。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种多媒体文件的拼接方法和装置,以至少解决现有技术中音频和视频拼接的过程中合成精度较低的技术问题。
根据本发明实施例的一个方面,提供了一种多媒体文件的拼接方法,包括:获取待拼接的第一视频片段和第二视频片段,其中,所述第一视频片段来自第一终端,所述第二视频片段来自第二终端,所述第一终端和所述第二终端运行不同的操作系统;获取与所述第一视频片段和第二视频片段对应的音频文件,其中,所述音频文件记载有所述第一视频片段的第一起止时间和所述第二视频片段的第二起止时间;将所述第一视频片段调整为在所述第一起止时间指示的第一时间段内播放,将所述第二视频片段调整为在所述第二起止时间指示的第二时间段内播放,其中,所述第一时间段与所述第二时间段不重叠;对调整后的所述第一视频片段和调整后的所述第二视频片段执行拼接操作,得到拼接后的视频文件。
根据本发明实施例的另一方面,还提供了一种多媒体文件的拼接装置,包括:第一获取单元,用于获取待拼接的第一视频片段和第二视频片段,其中,所述第一视频片段来自第一终端,所述第二视频片段来自第二终端,所述第一终端和所述第二终端运行不同的操作系统;第二获取单元,用于获取与所述第一视频片段和第二视频片段对应的音频文件,其中,所述音频文件记载有所述第一视频片段的第一起止时间和所述第二视频片段的第二起止时间;调整单元,用于将所述第一视频片段调整为在所述第一起止时间指示的第一时间段内播放,将所述第二视频片段调整为在所述第二起止时间指示的第二时间段内播放,其中,所述第一时间段与所述第二时间段不重叠;拼接单元,用于对调整后的所述第一视频片段和调整后的所述第二视频片段执行拼接操作,得到拼接后的视频文件。
在本发明实施例中,采用获取待拼接的第一视频片段和第二视频片段,其中,所述第一视频片段来自第一终端,所述第二视频片段来自第二终端,所述第一终端和所述第二终端运行不同的操作系统;获取与所述第一视频片段和第二视频片段对应的音频文件,其中,所述音频文件记载有所述第一视频片段的第一起止时间和所述第二视频片段的第二起止时间;将所述第一视频片段调整为在所述第一起止时间指示的第一时间段内播放,将所述第二视频片段调整为在所述第二起止时间指示的第二时间段内播放,其中,所述第一时间段与所述第二时间段不重叠;对调整后的所述第一视频片段和调整后的所述第二视频片段执行拼接操作,得到拼接后的视频文件的方式,通过将获取到的来自第一终端的第一视频片段调整在第一起止时间指示的第一时间段内,并将获取到的来自第二终端的第二视频片段调整在第二起止时间指示的第二时间段内,使得视频文件和音频文件能够精准对接,达到了提高视频文件和音频文件拼接精度的目的,从而实现了视频文件和音频文件同步播放的技术效果,进而解决了现有技术中音频和视频拼接的过程中合成精度较低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的硬件结构的架构图;
图2是根据本发明实施例的一种多媒体文件的拼接方法的流程图;
图3是根据本发明实施例的一种可选的多媒体文件的拼接方法的流程图;
图4是根据本发明实施例的一种多媒体文件的拼接装置的示意图;以及
图5是根据本发明实施例的终端的硬件结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种多媒体文件的拼接方法,如图1所示,该方法包括:
可选地,在本实施例中,上述的多媒体文件的拼接方法可以应用于如图1所示的服务器104和终端102所构成的硬件环境中。图1是根据本发明实施例的硬件环境的架构图,如图1所示,服务器104通过网络与终端102进行连接,上述网络包括但不限于:广域网、城域网或局域网,终端102并不限定于计算机、手机、平板电脑等。
图2是根据本发明实施例的一种多媒体文件的拼接方法的流程图。如图2所示,该多媒体文件的拼接方法包括以下步骤:
步骤S202,获取待拼接的第一视频片段和第二视频片段,其中,第一视频片段来自第一终端,第二视频片段来自第二终端,第一终端和第二终端运行不同的操作系统。
具体地,第一终端和第二终端为运行不相同操作系统的终端,例如,第一终端运行Android系统,第二终端运行IOS系统,或者第一终端运行Windows系统,第二终端运行IOS系统等。其中,第一视频片段可以为用户通过第一终端录制的视频,第二视频片段可以为用户通过第二终端录制的视频。
在本发明实施例中,第一终端可以为多个终端,并且该多个终端运行相同的操作系统,此时,第一视频片段为来自多个不同第一终端的多个视频片段;第二终端也可以为多个终端,并且该多个终端运行相同的操作系统,此时,第二视频片段为来自多个不同第二终端的多个视频片段。进一步地,本发明并不局限于上述第一终端和第二终端,还可以包括一个第三终端,其中,该第三终端运行的操作系统与第一终端和第二终端运行的操作系统均不相同。
步骤S204,获取与第一视频片段和第二视频片段对应的音频文件,其中,音频文件记载有第一视频片段的第一起止时间和第二视频片段的第二起止时间。
具体地,上述第一起止时间为音频文件中已记载的第一视频片段的开始播放时间和播放结束时间,第二起止时间为音频文件中已记载的第二视频片段的开始播放时间和播放结束时间。
步骤S206,将第一视频片段调整为在第一起止时间指示的第一时间段内播放,将第二视频片段调整为在第二起止时间指示的第二时间段内播放,其中,第一时间段与第二时间段不重叠。
具体地,为了确保第一视频片段在第一起止时间指示的第一时间段内播放,可以根据第一时间段的时长调整第一视频片段在第一时间段内播放的画面。相应地,为了确保第二视频片段在第二起止时间指示的第二时间段内播放,可以根据第二时间段的时长调整第二视频片段在第二时间段内播放的画面。
步骤S208,对调整后的第一视频片段和调整后的第二视频片段执行拼接操作,得到拼接后的视频文件。
在本发明实施例中,通过将获取到的来自第一终端的第一视频片段调整在第一起止时间指示的第一时间段内,并将获取到的来自第二终端的第二视频片段调整在第二起止时间指示的第二时间段内,使得视频文件和音频文件能够精准对接,达到了提高视频文件和音频文件拼接精度的目的,从而实现了视频文件和音频文件同步播放的技术效果,进而解决了现有技术中音频和视频拼接的过程中合成精度较低的技术问题。
在一个具体的例子中,使用上述多媒体文件的拼接方法拼接得到视频文件的方法可以应用在《全民影帝》的客户端软件中,以使《全民影帝》的客户端中对第一终端的第一视频片段和第二终端的第二视频片端进行拼接,得到拼接后的视频文件。例如,第一终端的用户A和第二终端的用户B通过该《全民影帝》游戏进行对口型合演一段电影片段,电视片段或者MTV片段。假设,用户A和用户B合演一段莱昂纳多在奥斯卡颁奖典礼中的视频,其中,用户A饰演颁奖嘉宾,用户B饰演莱昂纳多,则用户A和用户B可以根据《全民影帝》中提供的音频素材(即,上述音频文件)录制各自的视频,分别得到第一视频片段和第二视频片段。由于用户在录制视频的过程中,可能出现用户A录制的视频片段的时长大于音频素材(即,上述音频文件)中用户A的音频时长。因此,可以将用户A录制的视频片段调整在第一时间段内播放,防止后续的视频片段在播放过程中出现口型对不准的现象发生,进而,实现了第一视频文件和第二视频文件拼接后得到的视频文件与音频文件的同步播放。
在上述《全民影帝》游戏客户端的开发过程中,技术人员开发了一个素材制作工具,将时下热门电影、段子里边的音频快速制作成可录制的音频素材。除上述完整的音频素材(即,上述音频文件)外,还可以通过描述文件标注音频素材的角色,以及音频素材每个分段的长度。用户在录制过程中,还可以使用GPU对用户录制的视频片段进行实时美颜和滤镜处理,并在录制界面滚动展示字幕内容,提示用户参照字幕内容进行对口型表演。
需要说明的是,在本发明实施例中,第一视频片段和第二视频片段可以为无声视频片段,在下述实施例中,第一视频片段和第二视频片段均以无声视频片段为例进行说明。
可选地,将第一视频片段调整为在第一起止时间指示的第一时间段内播放包括:若第一视频片段的播放长度大于第一时间段,则将第一视频片段的播放结束时刻调整到第一视频片段的第一播放时刻,使得第一视频片段的播放开始时刻到第一播放时刻之间的播放长度等于第一时间段;若第一视频片段的播放长度小于第一时间段,则延长第一视频片段的最后一个视频帧,直到延长后的第一视频片段的播放长度等于第一时间段。
具体地,假设在《全民影帝》游戏中,当第一终端的用户A录制的第一视频片段的播放长度大于第一时间段时,可以将第一视频片段的播放结束时刻调整到第一播放时刻,其中,该第一播放时刻与第一视频片段的开始播放时刻之间的播放长度等于第一时间段。例如,第一视频片段的开始播放时刻为t1,播放结束时刻为t2,t1和t2之间的播放长度大于第一时间段t,此时,可以将第一视频片段的播放结束时刻t2调整到第一播放时刻T1,使得T1和t1之间的播放长度等于第一时间段t。
如果第一视频片段的播放长度(即,t1和t2之间的播放长度)小于第一时间段时,可以延长第一视频片段的最后一个视频帧,即延长第一视频片段的最后一个视频帧的播放画面,直到延长至第一视频片段的播放长度等于第一时间段。
将第二视频片段调整为在第二起止时间指示的第二时间段内播放包括:若第二视频片段的播放长度大于第二时间段,则将第二视频片段的播放结束时刻调整到第二视频片段的第二播放时刻,使得第二视频片段的播放开始时刻到第二播放时刻之间的播放长度等于第二时间段;若第二视频片段的播放长度小于第二时间段,则延长第二视频片段的最后一个视频帧,直到延长后的第二视频片段的播放长度等于第二时间段。
具体地,假设在《全民影帝》游戏中,当第二终端的用户B录制的第二视频片段的播放长度大于第二时间段时,可以将第二视频片段的播放结束时刻调整到第二播放时刻,其中,该第二播放时刻与第二视频片段的开始播放时刻之间的播放长度等于第二时间段。例如,第二视频片段的开始播放时刻为t1’,播放结束时刻为t2’,t1’和t2’之间的播放长度大于第二时间段t’,此时,可以将第二视频片段的播放结束时刻t2’调整到第二播放时刻T1’,使得T1’和t1’之间的播放长度等于第二时间段t’。
如果第二视频片段的播放长度(即,t1’和t2’之间的播放长度)小于第二时间段时,可以延长第二视频片段的最后一个视频帧,即延长第一视频片段的最后一个视频帧的播放画面,直到延长至第二视频片段的播放长度等于第二时间段。
对上述调整之后的第一视频片段和第二视频片段按照预定顺序进行拼接之后,再将得到的视频文件与音频文件进行合成,即视频文件放在视频轨中进行播放,音频文件放在音频轨中进行播放。从而,在视频文件和音频文件播放的过程中即可实现播放的同步,避免了由于第一视频片段的播放长度与第一时间段的毫秒偏差或者第二视频片段的播放长度与第二时间段的毫秒偏差导致的用户的口型与音频文件的声音对不准的问题,其中,该预定顺序为第一起止时间和第二起止时间在音频文件的播放时间中的顺序。
可选地,将第一视频片段的播放结束时刻调整到第一视频片段的第一播放时刻包括:将第一视频片段添加至第一文件中第一时间段对应的第一存储区域,其中,在第一视频片段的播放长度大于第一时间段时,第一存储区域中存储第一视频片段中从第一视频片段的播放开始时刻到第一播放时刻之间的第一视频部分;在第一视频片段的播放长度小于第一时间段时,第一存储区域中存储第一视频片段。
为了保证拼接之后的视频文件中的每个视频片段与音频文件的同步播放,可以定义整个音频文件的播放长度,并定义每个视频片段对应于音频文件中的声音的时间。从而,保证第一视频片段和第二视频片段必须严格地在与之对应的时间区间里播放。为了保证第一视频片段严格在第一时间段内播放,当第一视频片段的播放长度大于第一时间段时,可以将第一视频片段中从开始播放时刻到第一播放时刻之间的第一视频部分添加至第一文件中与第一时间段对应的存储区域内;当第一视频片段的播放长度小于第一时间段时,可以在第一存储区域中存储第一视频片段,其中,第一文件为任意一个新建的文件。
具体地,在本发明实施例中,将第一视频片段添加至第一存储区域的方式可以为:将第一视频片段和第二视频片段的每帧图像压缩成一个码流单位,即NAL,其中,每个NAL的显示时间长度的总和等于该视频片段播放长度的时间长度;然后,每次把一个NAL放进第一文件的第一存储区域时,计算第一视频片段已放入第一存储区域里的所有的NAL时间总和;当时间总和小于第一时间段时,继续放入下一个NAL;当时间总和刚好大于第一时间段时,就舍弃第一视频片段后续的NAL,并对放进第一存储空间里的最后一个NAL的显示时间做缩短处理,使得第一视频片段在第一时间段内播放;当第一视频片段的全部NAL都放进了第一存储空间里时,如果NAL总和仍然小于第一时间段,对放进第一存储空间文件里的最后一个NAL(即上述最后一个视频帧)的显示时间做延长处理,直到延长后的第一视频片段的播放长度等于第一时间段。
将第二视频片段的播放结束时刻调整到第二视频片段的第二播放时刻包括:将第二视频片段添加至第二文件中第二时间段对应的第二存储区域,其中,在第二视频片段的播放长度大于第二时间段时,第二存储区域中存储第二视频片段中从第二视频片段的播放开始时刻到第二播放时刻之间的第二视频部分;在第二视频片段的播放长度小于第二时间段时,第二存储区域中存储第二视频片段。
为了保证第二视频片段严格在第二时间段内播放,当第二视频片段的播放长度大于第二时间段时,可以将第二视频片段中从开始播放时刻到第二播放时刻之间的第二视频部分添加至第二文件中与第二时间段对应的存储区域内;当第二视频片段的播放长度小于第二时间段时,可以在第二存储区域中存储第二视频片段。
具体地,在本发明实施例中,将第二视频片段添加至第二存储区域的方式可以为:将第二视频片段和第二视频片段的每帧图像压缩成一个码流单位,即NAL,其中,每个NAL的显示时间长度的总和等于该视频片段播放长度的时间长度;然后,每次把一个NAL放进第二文件的第二存储区域时,计算第二视频片段已放入第二存储区域里的所有的NAL时间总和;当时间总和小于第二时间段时,继续放入下一个NAL;当时间总和刚好大于第二时间段时,就舍弃第二视频片段后续的NAL,并对放进第二存储空间里的最后一个NAL的显示时间做缩短处理,使得第二视频片段在第二时间段内播放;当第二视频片段的全部NAL都放进了第二存储空间里时,如果NAL总和仍然小于第二时间段,对放进第二存储空间文件里的最后一个NAL(即上述最后一个视频帧)的显示时间做延长处理,直到延长后的第二视频片段的播放长度等于第二时间段。
可选地,对调整后的第一视频片段和调整后的第二视频片段执行拼接操作包括:按照第一起止时间和第二起止时间在音频文件的播放时间中的顺序,对调整后的第一视频片段和调整后的第二视频片段执行拼接操作。
具体地,通过上述方法对第一视频片段和第二视频片段进行调整之后,可以按照第一起止时间和第二起止时间在音频文件的播放时间中的顺序对第一视频文件和第二视频文件进行拼接。
例如,在音频文件中,第一视频片段和第二视频片段的播放顺序为:第一视频片段首先播放,然后可以经过预设时间之后再播放第二视频片段,此时,则可以根据该顺序对第一视频片段和第二视频片段进行拼接,拼接得到视频文件。进而,经该视频文件与音频文件进行合成,即可实现视频文件和音频文件的同步播放。
可选地,在对调整后的第一视频片段和调整后的第二视频片段执行拼接操作之后,该方法包括:获取用于对第一视频片段进行解码的第一解码参数,并获取用于对第二视频片段进行解码的第二解码参数;利用第一解码参数对拼接后的视频文件中的第一视频片段进行解码,并且利用第二解码参数对拼接后的视频文件中的第二视频片段进行解码。
具体地,在上述生成拼接后的视频文件的过程中,未对第一视频片段和第二视频片段进行解码和编码的相关操作就完成了视频文件的拼接,从而,大大提高了视频拼接的性能。在播放拼接后的视频文件时,可以对第一视频片段和第二视频片段进行解码,例如,在播放视频文件中的第一视频片段时,通过第一解码参数对第一视频片段进行解码,在播放视频文件中的第二视频片段时,通过第二解码参数对第二视频片段进行解码。
需要说明的是,在本发明实施例中,上述第一解码参数可以为sps和pps参数,第二解码参数也可以为sps和pps参数。
在本发明实施例中,当在Android系统中录制视频片段时,可以用x264库编码将Android系统所属终端的录像装置采集到的图像数据进行压缩编码得到视频片段,其中,该视频片段包括多个视频码流;然后,取出Android系统中视频片段里的视频码流,并通过库mp4v2将视频码流打包到视频容器mp4中,其中,还可以指定sps_id和pps_id都为1,并将该sps和pps参数均放入mp4中,其中,sps_id为sps参数的ip地址的值,pps_id为pps参数的ip地址的值,在对视频文件的第一视频片段进行解码时,可以通过sps和pps的ip地址查找对应的sps参数和pps参数,以使sps参数和pps参数对视频文件的第一视频片段进行解码。
当在IOS系统中录制视频片段时,可以用x264库编码将IOS系统所属终端的录像装置采集到的图像数据进行压缩编码得到视频片段,其中,该视频片段包括多个视频码流视频码流;然后,取出IOS视频文件里的视频码流,并通过库mp4v2将视频码流打包到视频容器mp4中,其中,还可以指定sps_id和pps_id都是0,其中,sps_id为sps参数的ip地址的值,pps_id为pps参数的ip地址的值,在对视频文件的第二视频片段进行解码时,可以通过sps和pps的ip地址查找对应的sps参数和pps参数,以使sps参数和pps参数对视频文件的第二视频片段进行解码。
经过上述处理之后,当播放器播放视频文件时,在需要解码Android系统的视频码流时,可以使用sps_id和pps_id为1的sps和pps参数对Android系统生成的视频片段进行解码;在需要解码IOS的视频码流时,可以使用sps_id和pps_id为0的sps和pps参数对IOS系统生成的视频片段进行解码。
需要说明的是,在本发明实施例中,来自相同操作系统的终端上的视频片段设定sps_id和pps_id的值相同,来自不相同的操作系统的终端上的视频片段设定sps_id和pps_id的值不相同。
通过本发明上述实施例对第一视频片段和第二视频片段进行拼接时,解决了来自多个操作系统的视频片段不兼容的问题,例如,来自IOS系统和Android系统的视频片段,使得来自不同终端平台录制的分段视频可以精准拼合。同时,采用本发明上述实施例可以对录制完成的视频片段自动合成,加快了视频片段的合成速度,提高了视频拼合的效率。进一步地,通过上述方法在对第一视频片段和第二视频片段进行拼接时,能够避免第一视频片段的播放长度和第一时间段的毫秒的偏差或者第二视频片段的播放长度和第二时间段的毫秒的偏差导致的音频文件和视频文件中口型对不准的问题,并提高了额录制效果的真实感。
图3是根据本发明实施例的一种可选的多媒体文件的拼接方法的流程图。如图3所示,用户A通过本机的录像机录制了三段视频,然后,可以通过x264库对录像机采集到的三段视频的图像数据进行压缩解码,分别生成第一视频码流数据、第二视频码流数据和第三视频码流数据,然后将上述第一视频码流数据、第二视频码流数据和第三视频码流数据通过库mp4v2打包到mp4文件1、mp4文件2和mp4文件3中,得到三个分段视频。上述分段视频生成完毕后,会跟神秘拍档录制的视频进行拼合,形成完整的视频内容,如图3所示,与用户B和用户C录制的视频片段B和视频片段C进行拼合。具体地,本机可以通过客户端下载用户B和用户C录制的视频片段B和视频片段C,其中,用户B的视频片段B存储在mp4文件4中,用户C的视频片段C存储在mp4文件5中;然后,将mp4文件1至mp4文件5中的视频片段通过上述方法进行拼接,得到拼接后的视频文件;最后,将视频文件与音频文件进行合成,得到最终文件并播放。在本发明实施例中,通过上述方法对视频文件和音频文件进行合成的过程,利用了人对于音频的微小异常非常敏感以及对视频和音频有毫秒级的不同步没有很大感知的特点,有效地降低了方案的技术难度。
在上述多个视频片段进行拼接时,严格按照技术人员规定的每个视频片段的时长来进行拼接。比如某一视频片段为1600毫秒,录制过程中可能存在偏差,略长或略短于该目标时长(即,上述第一时间段和第二时间段),这里可以做特殊处理,将每个视频片段的时长严格控制为精准的目标时长,其中,该特殊处理过程在上述实施例中已进行描述,此处不再赘述。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
根据本发明实施例,还提供了一种用于实施上述多媒体文件的拼接方法的多媒体文件的拼接装置,该多媒体文件的拼接装置主要用于执行本发明实施例上述内容所提供的多媒体文件的拼接方法,以下对本发明实施例所提供的多媒体文件的拼接装置做具体介绍:
图4是根据本发明实施例的一种多媒体文件的拼接装置的示意图,如图4所示,该多媒体文件的拼接装置主要包括:
第一获取单元41,用于获取待拼接的第一视频片段和第二视频片段,其中,第一视频片段来自第一终端,第二视频片段来自第二终端,第一终端和第二终端运行不同的操作系统。
具体地,第一终端和第二终端为运行不相同操作系统的终端,例如,第一终端运行Android系统,第二终端运行IOS系统,或者第一终端运行Windows系统,第二终端运行IOS系统等。其中,第一视频片段可以为用户通过第一终端录制的视频,第二视频片段可以为用户通过第二终端录制的视频。
在本发明实施例中,第一终端可以为多个终端,并且该多个终端运行相同的操作系统,此时,第一视频片段为来自多个不同第一终端的多个视频片段;第二终端也可以为多个终端,并且该多个终端运行相同的操作系统,此时,第二视频片段为来自多个不同第二终端的多个视频片段。进一步地,本发明并不局限于上述第一终端和第二终端,还可以包括一个第三终端,其中,该第三终端运行的操作系统与第一终端和第二终端运行的操作系统均不相同。
第二获取单元43,用于获取与第一视频片段和第二视频片段对应的音频文件,其中,音频文件记载有第一视频片段的第一起止时间和第二视频片段的第二起止时间。
具体地,上述第一起止时间为音频文件中已记载的第一视频片段的开始播放时间和播放结束时间,第二起止时间为音频文件中已记载的第二视频片段的开始播放时间和播放结束时间。
调整单元45,用于将第一视频片段调整为在第一起止时间指示的第一时间段内播放,将第二视频片段调整为在第二起止时间指示的第二时间段内播放,其中,第一时间段与第二时间段不重叠。
具体地,为了确保第一视频片段在第一起止时间指示的第一时间段内播放,可以根据第一时间段的时长调整第一视频片段在第一时间段内播放的画面。相应地,为了确保第二视频片段在第二起止时间指示的第二时间段内播放,可以根据第二时间段的时长调整第二视频片段在第二时间段内播放的画面。
拼接单元47,用于对调整后的第一视频片段和调整后的第二视频片段执行拼接操作,得到拼接后的视频文件。
在本发明实施例中,通过将获取到的来自第一终端的第一视频片段调整在第一起止时间指示的第一时间段内,并将获取到的来自第二终端的第二视频片段调整在第二起止时间指示的第二时间段内,使得视频文件和音频文件能够精准对接,达到了提高视频文件和音频文件拼接精度的目的,从而实现了视频文件和音频文件同步播放的技术效果,进而解决了现有技术中音频和视频拼接的过程中合成精度较低的技术问题。
可选地,调整单元包括:第一调整模块,用于在第一视频片段的播放长度大于第一时间段的情况下,将第一视频片段的播放结束时刻调整到第一视频片段的第一播放时刻,使得第一视频片段的播放开始时刻到第一播放时刻之间的播放长度等于第一时间段;第二调整模块,用于在第一视频片段的播放长度小于第一时间段的情况下,延长第一视频片段的最后一个视频帧,直到延长后的第一视频片段的播放长度等于第一时间段;调整单元包括:第三调整模块,用于在第二视频片段的播放长度大于第二时间段的情况下,将第二视频片段的播放结束时刻调整到第二视频片段的第二播放时刻,使得第二视频片段的播放开始时刻到第二播放时刻之间的播放长度等于第二时间段;第四调整模块,用于在第二视频片段的播放长度小于第二时间段,则延长第二视频片段的最后一个视频帧,直到延长后的第二视频片段的播放长度等于第二时间段。
可选地,第一调整模块包括:将第一视频片段添加至第一文件中第一时间段对应的第一存储区域,其中,在第一视频片段的播放长度大于第一时间段时,第一存储区域中存储第一视频片段中从第一视频片段的播放开始时刻到第一播放时刻之间的第一视频部分;在第一视频片段的播放长度小于第一时间段时,第一存储区域中存储第一视频片段;第三调整模块包括:将第二视频片段添加至第二文件中第二时间段对应的第二存储区域,其中,在第二视频片段的播放长度大于第二时间段时,第二存储区域中存储第二视频片段中从第二视频片段的播放开始时刻到第二播放时刻之间的第二视频部分;在第二视频片段的播放长度小于第二时间段时,第二存储区域中存储第二视频片段。
可选地,拼接单元包括:拼接模块,用于按照第一起止时间和第二起止时间在音频文件的播放时间中的顺序,对调整后的第一视频片段和调整后的第二视频片段执行拼接操作。
可选地,该装置包括:第三获取单元,用于在对调整后的第一视频片段和调整后的第二视频片段执行拼接操作之后,获取用于对第一视频片段进行解码的第一解码参数,并获取用于对第二视频片段进行解码的第二解码参数;解码单元,用于利用第一解码参数对拼接后的视频文件中的第一视频片段进行解码,并且利用第二解码参数对拼接后的视频文件中的第二视频片段进行解码。
实施例3
根据本发明实施例,还提供了一种用于实施上述多媒体文件的拼接方法的移动终端,如图5所示,该移动终端主要包括处理器401、显示器402、数据接口403、存储器404和网络接口405,其中:
显示器402主要用于显示客户端的界面,其中,该客户端的界面包括使用该客户端的用户录制的视频或者音频文件。
数据接口403则主要通过数据传输的方式将用户录制视频片段传输给服务器401。
存储器404主要用于存储用户录制的视频片段。
网络接口405主要用于与服务器401进行网络通信,为视频片段的拼接提供数据支持。
处理器401主要用于执行如下操作:
获取待拼接的第一视频片段和第二视频片段,其中,第一视频片段来自第一终端,第二视频片段来自第二终端,第一终端和第二终端运行不同的操作系统;获取与第一视频片段和第二视频片段对应的音频文件,其中,音频文件记载有第一视频片段的第一起止时间和第二视频片段的第二起止时间;将第一视频片段调整为在第一起止时间指示的第一时间段内播放,将第二视频片段调整为在第二起止时间指示的第二时间段内播放,其中,第一时间段与第二时间段不重叠;对调整后的第一视频片段和调整后的第二视频片段执行拼接操作,得到拼接后的视频文件。
处理器401还用于在第一视频片段的播放长度大于第一时间段的情况下,将第一视频片段的播放结束时刻调整到第一视频片段的第一播放时刻,使得第一视频片段的播放开始时刻到第一播放时刻之间的播放长度等于第一时间段;在第一视频片段的播放长度小于第一时间段的情况下,延长第一视频片段的最后一个视频帧,直到延长后的第一视频片段的播放长度等于第一时间段;在第二视频片段的播放长度大于第二时间段的情况下,将第二视频片段的播放结束时刻调整到第二视频片段的第二播放时刻,使得第二视频片段的播放开始时刻到第二播放时刻之间的播放长度等于第二时间段;在第二视频片段的播放长度小于第二时间段的情况下,延长第二视频片段的最后一个视频帧,直到延长后的第二视频片段的播放长度等于第二时间段。
处理器401还用于:将第一视频片段添加至第一文件中第一时间段对应的第一存储区域,其中,在第一视频片段的播放长度大于第一时间段时,第一存储区域中存储第一视频片段中从第一视频片段的播放开始时刻到第一播放时刻之间的第一视频部分;在第一视频片段的播放长度小于第一时间段时,第一存储区域中存储第一视频片段;将第二视频片段添加至第二文件中第二时间段对应的第二存储区域,其中,在第二视频片段的播放长度大于第二时间段时,第二存储区域中存储第二视频片段中从第二视频片段的播放开始时刻到第二播放时刻之间的第二视频部分;在第二视频片段的播放长度小于第二时间段时,第二存储区域中存储第二视频片段。
处理器401还用于,对调整后的第一视频片段和调整后的第二视频片段执行拼接操作时:按照第一起止时间和第二起止时间在音频文件的播放时间中的顺序,对调整后的第一视频片段和调整后的第二视频片段执行拼接操作。
处理器401还用于在对调整后的第一视频片段和调整后的第二视频片段执行拼接操作之后,获取用于对第一视频片段进行解码的第一解码参数,并获取用于对第二视频片段进行解码的第二解码参数;利用第一解码参数对拼接后的视频文件中的第一视频片段进行解码,并且利用第二解码参数对拼接后的视频文件中的第二视频片段进行解码。
实施例4
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于存储本发明实施例的多媒体文件的拼接方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于移动通信网络、广域网、城域网或局域网的网络中的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
S1,获取待拼接的第一视频片段和第二视频片段,其中,第一视频片段来自第一终端,第二视频片段来自第二终端,第一终端和第二终端运行不同的操作系统;
S2,获取与第一视频片段和第二视频片段对应的音频文件,其中,音频文件记载有第一视频片段的第一起止时间和第二视频片段的第二起止时间;
S3,将第一视频片段调整为在第一起止时间指示的第一时间段内播放,将第二视频片段调整为在第二起止时间指示的第二时间段内播放,其中,第一时间段与第二时间段不重叠。
S4,对调整后的第一视频片段和调整后的第二视频片段执行拼接操作,得到拼接后的视频文件。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (8)

1.一种多媒体文件的拼接方法,其特征在于,包括:
获取待拼接的无声的第一视频片段和无声的第二视频片段,其中,所述第一视频片段来自第一终端,所述第二视频片段来自第二终端,所述第一终端运行第一操作系统,所述第二终端运行与所述第一操作系统不同的第二操作系统,所述第一视频片段、所述第二视频片段分别是所述第一终端、所述第二终端根据第三视频片段对应的音频文件录制的;所述第一视频片段中包括了第一视频码流以及第一参数,所述第二视频片段中包括了第二视频码流以及第二参数,所述第一参数的第一值标识所述第一操作系统,所述第二参数的第二值标识所述第二操作系统;
获取与所述第三视频片段对应的所述音频文件,其中,所述音频文件记载有所述第一视频片段的第一起止时间和所述第二视频片段的第二起止时间;
将所述第一视频片段调整为在所述第一起止时间指示的第一时间段内播放,将所述第二视频片段调整为在所述第二起止时间指示的第二时间段内播放,其中,所述第一时间段与所述第二时间段不重叠;
对调整后的所述第一视频片段和调整后的所述第二视频片段执行拼接操作,得到拼接后的视频文件;
基于所述第一参数的第一值获取用于对所述第一视频片段进行解码的第一解码参数,并基于所述第二参数的第二值获取用于对所述第二视频片段进行解码的第二解码参数;
利用所述第一解码参数对所述拼接后的视频文件中的所述第一视频片段进行解码,并且利用所述第二解码参数对所述拼接后的视频文件中的所述第二视频片段进行解码。
2.根据权利要求1所述的方法,其特征在于,
所述将所述第一视频片段调整为在所述第一起止时间指示的第一时间段内播放包括:若所述第一视频片段的播放长度大于所述第一时间段,则将所述第一视频片段的播放结束时刻调整到所述第一视频片段的第一播放时刻,使得所述第一视频片段的播放开始时刻到所述第一播放时刻之间的播放长度等于所述第一时间段;若所述第一视频片段的播放长度小于所述第一时间段,则延长所述第一视频片段的最后一个视频帧,直到延长后的所述第一视频片段的播放长度等于所述第一时间段;
所述将所述第二视频片段调整为在所述第二起止时间指示的第二时间段内播放包括:若所述第二视频片段的播放长度大于所述第二时间段,则将所述第二视频片段的播放结束时刻调整到所述第二视频片段的第二播放时刻,使得所述第二视频片段的播放开始时刻到所述第二播放时刻之间的播放长度等于所述第二时间段;若所述第二视频片段的播放长度小于所述第二时间段,则延长所述第二视频片段的最后一个视频帧,直到延长后的所述第二视频片段的播放长度等于所述第二时间段。
3.根据权利要求2所述的方法,其特征在于,
所述将所述第一视频片段的播放结束时刻调整到所述第一视频片段的第一播放时刻包括:将所述第一视频片段添加至第一文件中所述第一时间段对应的第一存储区域,其中,在所述第一视频片段的播放长度大于所述第一时间段时,所述第一存储区域中存储所述第一视频片段中从所述第一视频片段的播放开始时刻到所述第一播放时刻之间的第一视频部分;在所述第一视频片段的播放长度小于所述第一时间段时,所述第一存储区域中存储所述第一视频片段;
所述将所述第二视频片段的播放结束时刻调整到所述第二视频片段的第二播放时刻包括:将所述第二视频片段添加至第二文件中所述第二时间段对应的第二存储区域,其中,在所述第二视频片段的播放长度大于所述第二时间段时,所述第二存储区域中存储所述第二视频片段中从所述第二视频片段的播放开始时刻到所述第二播放时刻之间的第二视频部分;在所述第二视频片段的播放长度小于所述第二时间段时,所述第二存储区域中存储所述第二视频片段。
4.根据权利要求1所述的方法,其特征在于,对调整后的所述第一视频片段和调整后的所述第二视频片段执行拼接操作包括:
按照所述第一起止时间和所述第二起止时间在所述音频文件的播放时间中的顺序,对调整后的所述第一视频片段和调整后的所述第二视频片段执行拼接操作。
5.一种多媒体文件的拼接装置,其特征在于,包括:
第一获取单元,用于获取待拼接的无声的第一视频片段和无声的第二视频片段,其中,所述第一视频片段来自第一终端,所述第二视频片段来自第二终端,所述第一终端运行第一操作系统,所述第二终端运行与所述第一操作系统不同的第二操作系统,所述第一视频片段、所述第二视频片段分别是所述第一终端、所述第二终端根据第三视频片段对应的音频文件录制的;所述第一视频片段中包括了第一视频码流以及第一参数,所述第二视频片段中包括了第二视频码流以及第二参数,所述第一参数的第一值标识所述第一操作系统,所述第二参数的第二值标识所述第二操作系统;
第二获取单元,用于获取与所述第三视频片段对应的所述音频文件,其中,所述音频文件记载有所述第一视频片段的第一起止时间和所述第二视频片段的第二起止时间;
调整单元,用于将所述第一视频片段调整为在所述第一起止时间指示的第一时间段内播放,将所述第二视频片段调整为在所述第二起止时间指示的第二时间段内播放,其中,所述第一时间段与所述第二时间段不重叠;
拼接单元,用于对调整后的所述第一视频片段和调整后的所述第二视频片段执行拼接操作,得到拼接后的视频文件;
第三获取单元,用于基于所述第一参数的第一值获取用于对所述第一视频片段进行解码的第一解码参数,并基于所述第二参数的第二值获取用于对所述第二视频片段进行解码的第二解码参数;
解码单元,用于利用所述第一解码参数对所述拼接后的视频文件中的所述第一视频片段进行解码,并且利用所述第二解码参数对所述拼接后的视频文件中的所述第二视频片段进行解码。
6.根据权利要求5所述的装置,其特征在于,
所述调整单元包括:第一调整模块,用于在所述第一视频片段的播放长度大于所述第一时间段的情况下,将所述第一视频片段的播放结束时刻调整到所述第一视频片段的第一播放时刻,使得所述第一视频片段的播放开始时刻到所述第一播放时刻之间的播放长度等于所述第一时间段;第二调整模块,用于在所述第一视频片段的播放长度小于所述第一时间段的情况下,延长所述第一视频片段的最后一个视频帧,直到延长后的所述第一视频片段的播放长度等于所述第一时间段;
所述调整单元包括:第三调整模块,用于在所述第二视频片段的播放长度大于所述第二时间段的情况下,将所述第二视频片段的播放结束时刻调整到所述第二视频片段的第二播放时刻,使得所述第二视频片段的播放开始时刻到所述第二播放时刻之间的播放长度等于所述第二时间段;第四调整模块,用于在所述第二视频片段的播放长度小于所述第二时间段,则延长所述第二视频片段的最后一个视频帧,直到延长后的所述第二视频片段的播放长度等于所述第二时间段。
7.根据权利要求6所述的装置,其特征在于,
所述第一调整模块包括:将所述第一视频片段添加至第一文件中所述第一时间段对应的第一存储区域,其中,在所述第一视频片段的播放长度大于所述第一时间段时,所述第一存储区域中存储所述第一视频片段中从所述第一视频片段的播放开始时刻到所述第一播放时刻之间的第一视频部分;在所述第一视频片段的播放长度小于所述第一时间段时,所述第一存储区域中存储所述第一视频片段;
所述第三调整模块包括:将所述第二视频片段添加至第二文件中所述第二时间段对应的第二存储区域,其中,在所述第二视频片段的播放长度大于所述第二时间段时,所述第二存储区域中存储所述第二视频片段中从所述第二视频片段的播放开始时刻到所述第二播放时刻之间的第二视频部分;在所述第二视频片段的播放长度小于所述第二时间段时,所述第二存储区域中存储所述第二视频片段。
8.根据权利要求5所述的装置,其特征在于,所述拼接单元包括:
拼接模块,用于按照所述第一起止时间和所述第二起止时间在所述音频文件的播放时间中的顺序,对调整后的所述第一视频片段和调整后的所述第二视频片段执行拼接操作。
CN201610144319.0A 2016-03-14 2016-03-14 多媒体文件的拼接方法和装置 Active CN105791938B (zh)

Priority Applications (7)

Application Number Priority Date Filing Date Title
CN201610144319.0A CN105791938B (zh) 2016-03-14 2016-03-14 多媒体文件的拼接方法和装置
MYPI2018701837A MY190066A (en) 2016-03-14 2017-03-14 Multimedia file joining method and apparatus
KR1020187012099A KR102081214B1 (ko) 2016-03-14 2017-03-14 멀티미디어 파일의 스티칭 방법 및 장치
JP2018524262A JP6689514B2 (ja) 2016-03-14 2017-03-14 マルチメディアファイルのスティッチング方法及び装置
EP17765818.4A EP3361738A4 (en) 2016-03-14 2017-03-14 METHOD AND DEVICE FOR ASSEMBLING MULTIMEDIA FILES
PCT/CN2017/076580 WO2017157276A1 (zh) 2016-03-14 2017-03-14 多媒体文件的拼接方法和装置
US16/024,136 US10679675B2 (en) 2016-03-14 2018-06-29 Multimedia file joining method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610144319.0A CN105791938B (zh) 2016-03-14 2016-03-14 多媒体文件的拼接方法和装置

Publications (2)

Publication Number Publication Date
CN105791938A CN105791938A (zh) 2016-07-20
CN105791938B true CN105791938B (zh) 2019-06-21

Family

ID=56392705

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610144319.0A Active CN105791938B (zh) 2016-03-14 2016-03-14 多媒体文件的拼接方法和装置

Country Status (7)

Country Link
US (1) US10679675B2 (zh)
EP (1) EP3361738A4 (zh)
JP (1) JP6689514B2 (zh)
KR (1) KR102081214B1 (zh)
CN (1) CN105791938B (zh)
MY (1) MY190066A (zh)
WO (1) WO2017157276A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105791938B (zh) * 2016-03-14 2019-06-21 腾讯科技(深圳)有限公司 多媒体文件的拼接方法和装置
CN110392281B (zh) * 2018-04-20 2022-03-18 腾讯科技(深圳)有限公司 视频合成方法、装置、计算机设备及存储介质
CN109379633B (zh) * 2018-11-08 2020-01-10 北京微播视界科技有限公司 视频编辑方法、装置、计算机设备及可读存储介质
CN109547711A (zh) * 2018-11-08 2019-03-29 北京微播视界科技有限公司 视频合成方法、装置、计算机设备及可读存储介质
CN109992678B (zh) * 2019-03-14 2021-05-11 深圳市腾讯计算机系统有限公司 目标多媒体文件的确定方法及装置
CN112866776B (zh) * 2020-12-29 2022-09-20 北京金堤科技有限公司 视频生成方法和装置
CN112669885B (zh) * 2020-12-31 2023-04-28 咪咕文化科技有限公司 一种音频剪辑方法、电子设备及存储介质
CN112837709B (zh) 2021-02-24 2022-07-22 北京达佳互联信息技术有限公司 一种音频文件拼接的方法及装置
CN114071229B (zh) * 2021-12-08 2023-06-09 四川启睿克科技有限公司 一种解决SurfaceView渲染器重载视频解码时回收延迟的方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0752440B2 (ja) * 1992-09-25 1995-06-05 日本電気株式会社 複合マルチメディアオブジェクト構成方法
US6262776B1 (en) * 1996-12-13 2001-07-17 Microsoft Corporation System and method for maintaining synchronization between audio and video
JP3325809B2 (ja) * 1997-08-15 2002-09-17 日本電信電話株式会社 映像制作方法及び装置及びこの方法を記録した記録媒体
JP2006203009A (ja) 2005-01-21 2006-08-03 Yamajiyu Ceramics:Kk 焦電型赤外線検出素子および焦電型赤外線検出器
US7716572B2 (en) * 2006-07-14 2010-05-11 Muvee Technologies Pte Ltd. Creating a new music video by intercutting user-supplied visual data with a pre-existing music video
US8190441B2 (en) * 2006-09-11 2012-05-29 Apple Inc. Playback of compressed media files without quantization gaps
US8379677B2 (en) * 2007-04-30 2013-02-19 Vixs Systems, Inc. System for combining a plurality of video streams and method for use therewith
EP2206114A4 (en) * 2007-09-28 2012-07-11 Gracenote Inc SYNTHETIZING A PRESENTATION OF A MULTIMEDIA EVENT
WO2010068175A2 (en) * 2008-12-10 2010-06-17 Muvee Technologies Pte Ltd Creating a new video production by intercutting between multiple video clips
CN101771869B (zh) * 2008-12-30 2011-09-28 深圳市万兴软件有限公司 一种音视频编解码装置及方法
JP5331494B2 (ja) * 2009-01-19 2013-10-30 株式会社タイトー カラオケサービスシステム、端末装置
CN101996662B (zh) * 2010-10-22 2012-08-08 深圳市万兴软件有限公司 视频文件的连接输出方法和装置
CN103167320B (zh) * 2011-12-15 2016-05-25 中国电信股份有限公司 音视频同步方法、系统及手机直播客户端
US9009619B2 (en) * 2012-09-19 2015-04-14 JBF Interlude 2009 Ltd—Israel Progress bar for branched videos
US20160014347A1 (en) * 2014-07-11 2016-01-14 Stephen Van Eynde Digital compositing of live action and animation
CN104980794A (zh) * 2015-06-30 2015-10-14 北京金山安全软件有限公司 一种视频拼接方法及装置
CN105208464B (zh) * 2015-09-21 2018-09-14 网易(杭州)网络有限公司 一种多媒体数据流的播放方法和终端
CN105392024B (zh) * 2015-10-28 2018-04-24 中国电子科技集团公司第二十八研究所 一种多源异类数据同步重放方法
CN105791938B (zh) * 2016-03-14 2019-06-21 腾讯科技(深圳)有限公司 多媒体文件的拼接方法和装置

Also Published As

Publication number Publication date
KR20180061310A (ko) 2018-06-07
EP3361738A1 (en) 2018-08-15
JP6689514B2 (ja) 2020-04-28
JP2018537905A (ja) 2018-12-20
US10679675B2 (en) 2020-06-09
KR102081214B1 (ko) 2020-02-25
CN105791938A (zh) 2016-07-20
EP3361738A4 (en) 2019-03-27
US20180330757A1 (en) 2018-11-15
MY190066A (en) 2022-03-24
WO2017157276A1 (zh) 2017-09-21

Similar Documents

Publication Publication Date Title
CN105791938B (zh) 多媒体文件的拼接方法和装置
CN105187896B (zh) 多分段的媒体文件播放方法和系统
CN106792152B (zh) 一种视频合成方法及终端
CN108495152B (zh) 一种视频直播方法、装置、电子设备及介质
WO2017015759A1 (en) Synchronized playback of streamed audio content by multiple internet-capable portable devices
CN109089154A (zh) 一种视频提取方法、装置、设备及介质
CA2771187A1 (en) Encoding video streams for adaptive video streaming
CN109788212A (zh) 一种分段视频的处理方法、装置、终端和存储介质
CN109089128A (zh) 一种视频处理方法、装置、设备及介质
CN109905749B (zh) 视频播放方法和装置、存储介质及电子装置
CN105393547A (zh) 发送方法、接收方法、发送装置及接收装置
CN105049904B (zh) 一种多媒体文件的播放方法和装置
CN109672837A (zh) 航拍设备实时视频录制方法、移动终端和计算机存储介质
CN111131874B (zh) 一种解决h.265码流随机接入点播放卡顿的方法、设备及计算机存储介质
CN108737874A (zh) 一种视频播放方法及电子设备
CN105187897B (zh) 多分段的媒体文件跨段播放方法和系统
CN106792155A (zh) 一种多视频流的视频直播的方法及装置
CN107454447B (zh) 一种播放器的插件加载方法,装置及电视机
CA2655493A1 (en) Systems and methods of generating encapsulated mpeg program streams
CN107864393A (zh) 视频与字幕同步显示的方法及装置
CN106385525A (zh) 一种视频播放方法及装置
CN106658037A (zh) 一种多视频流的视频直播的方法及装置
CN106331763A (zh) 无缝播放分片媒体文件的方法及实现该方法的装置
CN105847990B (zh) 播放媒体文件的方法和设备
CN112533058A (zh) 视频处理方法、装置、设备及计算机可读存储介质

Legal Events

Date Code Title Description
C06 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