CN110113663A - 一种音视频转码方法、系统、存储介质及分布式设备 - Google Patents

一种音视频转码方法、系统、存储介质及分布式设备 Download PDF

Info

Publication number
CN110113663A
CN110113663A CN201910389951.5A CN201910389951A CN110113663A CN 110113663 A CN110113663 A CN 110113663A CN 201910389951 A CN201910389951 A CN 201910389951A CN 110113663 A CN110113663 A CN 110113663A
Authority
CN
China
Prior art keywords
transcoding
audio
slice
video
redundant
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910389951.5A
Other languages
English (en)
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.)
Shenzhen Onething Technology Co Ltd
Original Assignee
Shenzhen Onething 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 Shenzhen Onething Technology Co Ltd filed Critical Shenzhen Onething Technology Co Ltd
Priority to CN201910389951.5A priority Critical patent/CN110113663A/zh
Publication of CN110113663A publication Critical patent/CN110113663A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234309Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • 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/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440218Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明一种音视频转码方法、系统、存储介质及分布式设备,在对接收到的目标冗余切片进行转码时,只对其中与后一冗余切片不同的视频数据和所有音频数据进行转码。从而对于视频数据来说,只对重复的冗余视频数据的一份进行转码。由于音频卡顿问题与转码后的视频数据是否冗余并无关系,而音视频转码的过程中,计算资源、时间资源占用更多的也是视频数据,因此,本申请中对相同的冗余视频数据只转码一份,既可以节省大量的转码资源,又可以避免音视频转码文件中音频卡顿的问题。

Description

一种音视频转码方法、系统、存储介质及分布式设备
技术领域
本发明涉及音视频处理技术领域,尤其涉及一种音视频转码方法、系统、计算机可读存储介质及分布式设备。
背景技术
目前,由于音视频的格式会有很多种,因此为了不同格式之间的转换,通常需要对音视频进行转码处理。
转码处理通常需要消耗较多的计算资源,这对进行转码处理的设备的计算性能就有着较大的要求。而分布式的转码是指将原本在一台运算性能较强的服务器上进行的转码任务,以切片的方式,将音视频源文件拆分为多个切片,然后将切片分发到多台性能较弱或有计算剩余的主机或嵌入式设备上进行转码,然后再将转码后的切片进行拼接,得到整个音视频文件的转码文件。
然而通过以上方法得到音视频文件中,音频的部分通常会出现卡顿,而卡顿则是因为在转码后的音视频切片进行拼接后,拼接处的音频帧缺少了前面的一帧的数据。为此,在进行音视频切片时,需要将相邻的两个切片的拼接处做冗余处理,使每相邻的两个切片中前一切片的尾部与后一切片的首部均有部分相同的数据,从而可以再拼接后,即可避免音频卡顿的情况。
但是,由于每个切片都进行了冗余处理,需要转码的数据也大量的增加,将会占用大量的转码计算资源与转码时间。
发明内容
本发明的主要目的在于提供一种音视频转码方法、系统、计算机可读存储介质及分布式设备,以解决如何解决音频卡顿的同时,避免转码资源的浪费的问题。
为实现上述目的,本发明提供的一种音视频转码方法,包括:
接收目标冗余切片,所述目标冗余切片为对音视频源文件进行冗余切片操作得到的所有冗余切片中的目标冗余切片,所述冗余切片中包括音频数据与视频数据;每相邻的两个所述冗余切片中,前一冗余切片的尾部与后一冗余切片的首部有相同的冗余数据;
对所述目标冗余切片中与后一冗余切片不同的视频数据和所有音频数据进行转码,得到转码切片;
将所述转码切片发送至服务器,以进行转码切片的拼接。
可选地,所述对所述目标冗余切片中与后一冗余切片不同的视频数据和所有音频数据进行转码,得到转码切片,包括:
接收每个所述冗余切片的第一gop总数与每个所述冗余切片中冗余数据对应的第二gop总数;
利用所述第一gop总数与所述第二gop总数确定所述目标冗余数据中与后一冗余切片不同的视频数据,并对所述目标冗余切片中与后一冗余切片不同的视频数据和所有音频数据进行转码。
可选地,所述对所述目标冗余切片中与后一冗余切片不同的视频数据和所有音频数据进行转码,得到转码切片,包括:
对所述目标冗余切片中与后一冗余切片不同的视频数据进行转码,得到视频转码切片,所述视频转码切片保留所述音视频源文件的时间戳;
对所述目标冗余切片中所有音频数据进行转码,得到音频转码切片,所述音频转码切片保留所述音视频源文件的时间戳。
为实现上述目的,本申请还提供了一种音视频转码系统,包括:
目标冗余切片接收模块,用于接收目标冗余切片,所述目标冗余切片为对音视频源文件进行冗余切片操作得到的所有冗余切片中的目标冗余切片,所述冗余切片中包括音频数据与视频数据;每相邻的两个所述冗余切片中,前一冗余切片的尾部与后一冗余切片的首部有相同的冗余数据;
转码模块,用于对所述目标冗余切片中与后一冗余切片不同的视频数据和所有音频数据进行转码,得到转码切片;
发送模块,用于将所述转码切片发送至服务器,以进行转码切片的拼接。
为实现上述目的,本申请还提供一种分布式设备,所述设备包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的音视频转码程序,所述音视频转码程序被所述处理器执行时实现如上述任一项所述的方法。
为实现上述目的,本申请还提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有音视频转码程序,所述音视频转码程序可被一个或多个处理器执行,以实现如所述的音视频转码方法。
为实现上述目的,本申请还提供了一种计算机程序产品,其特征在于,包括计算机指令,当其在计算机上运行时,使得计算机可以执行所述音视频转码方法。
为实现上述目的,本申请还提供一种音视频转码方法,包括:
对音视频源文件进行冗余切片操作,得到多个冗余切片;其中,所述冗余切片中包括音频数据与视频数据;每相邻的两个所述冗余切片中,前一冗余切片的尾部与后一冗余切片的首部有相同的冗余数据;
将所述冗余切片发送至多个分布式设备,以使所述分布式设备对接收到的冗余切片中与后一冗余切片不同的视频数据和所有音频数据进行转码,得到转码切片;
接收所述分布式设备发送的所述转码切片,并对多个所述转码切片进行拼接得到音视频转码文件。
可选地,所述方法还包括:
确定每个所述冗余切片的第一gop总数与每个所述冗余切片中冗余数据对应的第二gop总数;
将所述第一gop总数与所述第二gop总数发送至多个所述分布式设备,以使所述分布式设备根据所述第一gop总数与所述第二gop总数对接收到的冗余切片中与后一冗余切片不同的视频数据和所有音频数据进行转码,得到转码切片。
可选地,所述接收所述分布式设备发送的所述转码切片,并对多个所述转码切片进行拼接得到音视频转码文件,包括:
接收所述分布式设备发送的所述转码切片;
根据每个所述视频转码切片的时间戳数据,按照时间顺序将多个所述视频转码切片进行拼接;其中,所述视频转码切片的时间戳数据为所述音视频源文件中对应的时间戳数据;
根据每个所述音频转码切片的时间戳数据,按照时间顺序将多个所述音频转码切片进行拼接;其中所述音频转码切片的时间戳数据为所述音视频源文件中对应的时间戳数据。
可选地,所述根据每个所述音频转码切片的时间戳数据,按照时间顺序将多个所述音频转码切片进行拼接,包括:
按照时间顺序确定每相邻的两个音频转码切片中前一个音频转码切片倒数第三帧的目标时间戳位置;
将在所述每相邻的两个音频转码切片前一个所述音频转码切片的目标时间戳位置与后一个音频转码切片的所述目标时间戳位置的后一时间戳位置进行拼接。
为实现上述目的,本申请还提供了一种音视频转码系统,包括:
切片模块,用于对音视频源文件进行冗余切片操作,得到多个冗余切片;其中,所述冗余切片中包括音频数据与视频数据;每相邻的两个所述冗余切片中,前一冗余切片的尾部与后一冗余切片的首部有相同的冗余数据;
冗余切片发送模块,用于将所述冗余切片发送至多个分布式设备,以使所述分布式设备对接收到的冗余切片中与后一冗余切片不同的视频数据和所有音频数据进行转码,得到转码切片;
转码切片接收模块,用于接收所述分布式设备发送的所述转码切片,并对多个所述转码切片进行拼接得到音视频转码文件。
为实现上述目的,本申请还提供了一种服务器设备,所述设备包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的音视频转码程序,所述音视频转码程序被所述处理器执行时实现如所述应用于服务器的音视频转码方法。
为实现上述目的,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有音视频转码程序,所述音视频转码程序可被一个或多个处理器执行,以实现如所述应用于服务器的音视频转码方法。
为实现上述目的,本申请还提供了一种计算机程序产品,包括计算机指令,当其在计算机上运行时,使得计算机可以执行所述应用于服务器的音视频转码方法。
为实现上述目的,本申请还提供了一种音视频转码系统,包括:
服务器,用于对音视频源文件进行冗余切片操作,得到多个冗余切片;其中,所述冗余切片中包括音频数据与视频数据;每相邻的两个所述冗余切片中,前一冗余切片的尾部与后一冗余切片的首部有相同的冗余数据;将所述冗余切片发送至多个分布式设备;接收所述分布式设备发送的所述转码切片,并对多个所述转码切片进行拼接得到音视频转码文件;
所述分布式设备,用于接收目标冗余切片,所述目标冗余切片为对音视频源文件进行冗余切片操作得到的所有冗余切片中的目标冗余切片;对所述目标冗余切片中与后一冗余切片不同的视频数据和所有音频数据进行转码,得到转码切片;将所述转码切片发送至服务器。
由此可见,本申请在对接收到的目标冗余切片进行转码时,只对其中与后一冗余切片不同的视频数据和所有音频数据进行转码。从而对于视频数据来说,只对重复的冗余视频数据的一份进行转码。由于音频卡顿问题与转码后的视频数据是否冗余并无关系,而音视频转码的过程中,计算资源、时间资源占用更多的也是视频数据,因此,本申请中对相同的冗余视频数据只转码一份,既可以节省大量的转码资源,又可以避免音视频转码文件中音频卡顿的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种音视频转码方法流程图;
图2为本发明提供的一种音视频文件示意图;
图3为本发明提供的一种具体的音视频转码方法流程图;
图4为本发明一实施例揭露的分布式设备的内部结构示意图;
图5为本发明一实施例揭露的音视频转码系统的结构示意图;
图6为本发明提供的另一种音视频转码方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
本申请提供一种音视频转码方法、系统、计算机可读存储介质及分布式设备,以解决如何解决音频卡顿的同时,避免转码资源的浪费的问题。
参照图1,图1为本发明一实施例的流程示意图。
在一实施例中,包括:
S101,接收目标冗余切片,所述目标冗余切片为对音视频源文件进行冗余切片操作得到的所有冗余切片中的目标冗余切片,所述冗余切片中包括音频数据与视频数据;每相邻的两个所述冗余切片中,前一冗余切片的尾部与后一冗余切片的首部有相同的冗余数据。
本实施例应用于进行音视频转码操作的分布式设备,首先接收目标冗余切片。需要说明的是,在进行音视频转码之前,服务器设备会对音视频源文件进行冗余切片操作,得到冗余切片,每相邻的两个冗余切片中,前一个冗余切片的尾部与后一冗余切片的首部有相同的冗余数据,也就是说,相邻的两个冗余切片中,有一部分是相同的数据。目标冗余数据就是当前分布式设备接收到的冗余数据。
参见图2,图2中即将源文件进行冗余切片,得到了5分冗余切片,其中,切片1尾部有冗余数据,切片5首部有冗余数据,其他切片首部、尾部均有冗余数据。
需要说明的是,音视频文件是指将音频文件与视频文件通过常用的容器封装在一起的文件。在一个具体的示例中,可以采用ts封装格式将音频与视频封装在一起,其中,ts格式是一种新兴的高清封装格式。音频文件和视频文件也可以从封装后的容器中再拆出来。
S102,对所述目标冗余切片中与后一冗余切片不同的视频数据和所有音频数据进行转码,得到转码切片。
在本方案中,每个冗余切片在进行转码处理时,是将音频与视频拆分后单独进行处理。首先在冗余切片中确定视频数据,本方案中的音视频切片均为冗余切片,即相邻两个切片中会有相同的数据,对视频数据处理时,本方案只对相同视频数据中的一份进行转码,因此需要在目标冗余切片的视频数据中确定与后一冗余切片不同的视频数据,然后对这部份数据进行转码。
由于现有技术中实际出现卡顿问题的是音频数据,因此,音频数据在转码时依然需要对相同的两份冗余音频数据均进行转码,然后再拼接时即可避免卡顿。
S103,将所述转码切片发送至服务器,以进行转码切片的拼接。具体地,在完成转码后,将上述转码切片发送至服务器,服务器即可将所有的转码切片进行拼接,最终得到音视频转码文件。需要说明的是,在进行合并时,由于转码后的音频数据中依然会有重复的冗余数据,而视频数据则没有重复的冗余数据,因此,为了操作简单,在合并时,同样可以将音频数据与视频数据分开处理,具体内容将在下述实施例中做出具体介绍,本实施例将不再进行赘述。
由此可见,本申请在对接收到的目标冗余切片进行转码时,只对其中与后一冗余切片不同的视频数据和所有音频数据进行转码。从而对于视频数据来说,只对重复的冗余视频数据的一份进行转码。由于音频卡顿问题与转码后的视频数据是否冗余并无关系,而音视频转码的过程中,计算资源、时间资源占用更多的也是视频数据,因此,本申请中对相同的冗余视频数据只转码一份,既可以节省大量的转码资源,又可以避免音视频转码文件中音频卡顿的问题。
在前述实施例的基础上,本实施例对技术方案进行进一步的说明和优化。具体如下:
在前述实施例步骤S102中,所述对所述目标冗余切片中与后一冗余切片不同的视频数据和所有音频数据进行转码,得到转码切片,包括:
接收每个所述冗余切片的第一gop总数与每个所述冗余切片中冗余数据对应的第二gop总数;
利用所述第一gop总数与所述第二gop总数确定所述目标冗余数据中与后一冗余切片不同的视频数据,并对所述目标冗余切片中与后一冗余切片不同的视频数据和所有音频数据进行转码。
需要说明的是,在音视频文件中,视频数据为若干个gop(Group of Pictures,画面组),本方案中,通过确定每个冗余切片中的gop总数,即第一gop总数,和每个冗余切片中冗余视频数据部分的gop总数,即第二gop总数,即可确定当前冗余切片中,第几个gop为冗余视频数据部分的gop,确定出哪些gop为相同的冗余数据,从而即可确定出需要进行转码的gop,即目标冗余切片中与后一冗余切片不同的视频数据。
下面对本申请实施例提供的一种具体的音视频转码方法进行介绍,下文描述的一种具体的音视频转码方法与上述任一实施例可以相互参照。
参见图3,本申请实施例提供的一种具体的音视频转码方法,具体包括:
S201,接收目标冗余切片,所述目标冗余切片为对音视频源文件进行冗余切片操作得到的所有冗余切片中的目标冗余切片,所述冗余切片中包括音频数据与视频数据;每相邻的两个所述冗余切片中,前一冗余切片的尾部与后一冗余切片的首部有相同的冗余数据。
S202,对所述目标冗余切片中与后一冗余切片不同的视频数据进行转码,得到视频转码切片,所述视频转码切片保留所述音视频源文件的时间戳。
S203,对所述目标冗余切片中所有音频数据进行转码,得到音频转码切片,所述音频转码切片保留所述音视频源文件的时间戳。
由于转码操作是将音频数据与视频数据分开进行的,为了保证转码后的音频数据与视频数据能够对应上,同时为了方便将转码后的冗余切片进行拼接,本方案对转码后切片均保留对应的原切片的时间戳。在对每个冗余切片中的音频数据进行转码后,对每个转码后的音频转码切片都添加上音视频源文件中对应的时间戳,即保留音视频源文件的时间戳数据。同样地,对目标冗余切片中的视频数据进行转码后时,也要保留音视频源文件的时间戳数据。
S204,将所述转码切片发送至服务器,以进行转码切片的拼接。
在音频转码切片与视频转码切片都保留了时间戳数据时,即可按照时间戳数据将对应同一冗余切片的音频转码切片与视频转码切片作为一个转码切片,然后再进行后续的合并操作。
进一步的,本实施例还公开了一种分布式设备。
参照图4,图4为本发明一实施例揭露的分布式设备的内部结构示意图。图4中,分布式设备1包括存储器11和处理器12,所述存储器11上存储有可在所述处理器12上运行的音视频转码程序,所述音视频转码程序被所述处理器12执行时实现如下方法:
接收目标冗余切片,所述目标冗余切片为对音视频源文件进行冗余切片操作得到的所有冗余切片中的目标冗余切片,所述冗余切片中包括音频数据与视频数据;每相邻的两个所述冗余切片中,前一冗余切片的尾部与后一冗余切片的首部有相同的冗余数据;对所述目标冗余切片中与后一冗余切片不同的视频数据和所有音频数据进行转码,得到转码切片;将所述转码切片发送至服务器,以进行转码切片的拼接。
由此可见,本申请在对接收到的目标冗余切片进行转码时,只对其中与后一冗余切片不同的视频数据和所有音频数据进行转码。从而对于视频数据来说,只对重复的冗余视频数据的一份进行转码。由于音频卡顿问题与转码后的视频数据是否冗余并无关系,而音视频转码的过程中,计算资源、时间资源占用更多的也是视频数据,因此,本申请中对相同的冗余视频数据只转码一份,既可以节省大量的转码资源,又可以避免音视频转码文件中音频卡顿的问题。
所述音视频转码程序被所述处理器12执行时,具体可以实现:
接收每个所述冗余切片的第一gop总数与每个所述冗余切片中冗余数据对应的第二gop总数;利用所述第一gop总数与所述第二gop总数确定所述目标冗余数据中与后一冗余切片不同的视频数据,并对所述目标冗余切片中与后一冗余切片不同的视频数据和所有音频数据进行转码。
所述音视频转码程序被所述处理器12执行时,具体可以实现:对所述目标冗余切片中与后一冗余切片不同的视频数据进行转码,得到视频转码切片,所述视频转码切片保留所述音视频源文件的时间戳;对所述目标冗余切片中所有音频数据进行转码,得到音频转码切片,所述音频转码切片保留所述音视频源文件的时间戳。
进一步的,参照图4,所述分布式设备1还可以包括总线13,其中,所述存储器11和所述处理器12通过所述总线13连接。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘等。存储器11在一些实施例中可以是分布式设备1的内部存储单元,例如该分布式设备1的硬盘。存储器11在另一些实施例中也可以是分布式设备1的外部存储设备,例如分布式设备1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括分布式设备1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于分布式设备1的应用软件及各类数据,例如音视频转码程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行音视频转码程序等。
总线13可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
进一步地,分布式设备1还可以包括网络接口14,网络接口14可选的可以包括无线接口(如WI-FI接口、蓝牙接口等),通常用于在该分布式设备1与其他电子设备之间建立通信连接。
可选地,该分布式设备1还可以包括用户接口15,用户接口15可以包括显示器(Display)、输入单元比如键盘(Keyboard)。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在分布式设备1中处理的信息以及用于显示可视化的用户界面。
图4仅示出了具有组件11-15的分布式设备1,本领域技术人员可以理解的是,图4示出的结构并不构成对分布式设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
下面对本申请实施例提供的一种音视频转码系统进行介绍,下文描述的一种音视频转码系统与上述任一实施例可以相互参照。
参见图5,本申请实施例提供的一种音视频转码系统,具体包括:
目标冗余切片接收模块301,用于接收目标冗余切片,所述目标冗余切片为对音视频源文件进行冗余切片操作得到的所有冗余切片中的目标冗余切片,所述冗余切片中包括音频数据与视频数据;每相邻的两个所述冗余切片中,前一冗余切片的尾部与后一冗余切片的首部有相同的冗余数据;
转码模块302,用于对所述目标冗余切片中与后一冗余切片不同的视频数据和所有音频数据进行转码,得到转码切片;
发送模块303,用于将所述转码切片发送至服务器,以进行转码切片的拼接。
由此可见,本申请在对接收到的目标冗余切片进行转码时,只对其中与后一冗余切片不同的视频数据和所有音频数据进行转码。从而对于视频数据来说,只对重复的冗余视频数据的一份进行转码。由于音频卡顿问题与转码后的视频数据是否冗余并无关系,而音视频转码的过程中,计算资源、时间资源占用更多的也是视频数据,因此,本申请中对相同的冗余视频数据只转码一份,既可以节省大量的转码资源,又可以避免音视频转码文件中音频卡顿的问题。
在一个具体的实施方式中,所述转码模块302包括:
gop数确定单元,用于接收每个所述冗余切片的第一gop总数与每个所述冗余切片中冗余数据对应的第二gop总数;
转码单元,用于利用所述第一gop总数与所述第二gop总数确定所述目标冗余数据中与后一冗余切片不同的视频数据,并对所述目标冗余切片中与后一冗余切片不同的视频数据和所有音频数据进行转码。
在一个具体的实施方式中,所述转码模块302包括:
第一转码单元,用于对所述目标冗余切片中与后一冗余切片不同的视频数据进行转码,得到视频转码切片,所述视频转码切片保留所述音视频源文件的时间戳;
第二转码单元,用于对所述目标冗余切片中所有音频数据进行转码,得到音频转码切片,所述音频转码切片保留所述音视频源文件的时间戳。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
下面对本申请实施例提供的另一种音视频转码方法进行介绍,下文描述的一种音视频转码方法可应用于服务器,与上述任一实施例可以相互参照。
参见图6,本申请实施例提供的一种音视频转码方法,具体包括:
S401,对音视频源文件进行冗余切片操作,得到多个冗余切片;其中,所述冗余切片中包括音频数据与视频数据;每相邻的两个所述冗余切片中,前一冗余切片的尾部与后一冗余切片的首部有相同的冗余数据。
S402,将所述冗余切片发送至多个分布式设备,以使所述分布式设备对接收到的冗余切片中与后一冗余切片不同的视频数据和所有音频数据进行转码,得到转码切片。
S403,接收所述分布式设备发送的所述转码切片,并对多个所述转码切片进行拼接得到音视频转码文件。
由此可见,本申请在对音视频源文件进行冗余切片操作后,将冗余切片发送至多个分布式设备,以使分布式设备在对接收到的目标冗余切片进行转码时,只对其中与后一冗余切片不同的视频数据和所有音频数据进行转码。从而对于视频数据来说,只对重复的冗余视频数据的一份进行转码。由于音频卡顿问题与转码后的视频数据是否冗余并无关系,而音视频转码的过程中,计算资源、时间资源占用更多的也是视频数据,因此,本申请中对相同的冗余视频数据只转码一份,既可以节省大量的转码资源,又可以避免音视频转码文件中音频卡顿的问题。
本实施例对上述实施例做出进一步扩充与说明,具体如下:
在上述实施例的基础上,所述方法还包括:
确定每个所述冗余切片的第一gop总数与每个所述冗余切片中冗余数据对应的第二gop总数;
将所述第一gop总数与所述第二gop总数发送至多个所述分布式设备,以使所述分布式设备根据所述第一gop总数与所述第二gop总数对接收到的冗余切片中与后一冗余切片不同的视频数据和所有音频数据进行转码,得到转码切片。
有关gop的介绍具体可以参见上述实施例,在本方案中不再赘述。
本实施例对上述实施例做出进一步限定与说明,具体如下:
上述实施例S403具体包括:
接收所述分布式设备发送的所述转码切片;
根据每个所述视频转码切片的时间戳数据,按照时间顺序将多个所述视频转码切片进行拼接;其中,所述视频转码切片的时间戳数据为所述音视频源文件中对应的时间戳数据;
根据每个所述音频转码切片的时间戳数据,按照时间顺序将多个所述音频转码切片进行拼接;其中所述音频转码切片的时间戳数据为所述音视频源文件中对应的时间戳数据。
在本方案中,视频转码切片和音频转码切片均保留有音视频源文件的时间戳,拼接时,利用时间戳数据将视频转码切片进行拼接。需要说明的是,由于相邻的两个视频转码切片中,重复的冗余视频数据只转码了一份,另一份还是原格式,因此,在进行合并时需要将视频转码切片中的转码后的视频数据进行拼接,避免拼接结果里有原格式的视频数据。
在一个具体的示例中,将所有冗余切片中位于切片首部的冗余视频数据作为目标视频数据,而尾部的冗余数据则为不进行转码的数据。
在该示例中,可以将每相邻的两个所述视频转码切片中前一个视频转码切片的非冗余数据的尾部与后一个视频转码切片的首部的冗余数据进行拼接。
在一个具体的实施方式中,所述根据每个所述音频转码切片的时间戳数据,按照时间顺序将多个所述音频转码切片进行拼接,包括:
按照时间顺序确定每相邻的两个音频转码切片中前一个音频转码切片倒数第三帧的目标时间戳位置;
将在所述每相邻的两个音频转码切片前一个所述音频转码切片的目标时间戳位置与后一个音频转码切片的所述目标时间戳位置的后一时间戳位置进行拼接。
由于现有技术中,合并后的转码文件中音频会因为在拼接处缺少了前面一帧的数据导致卡顿问题,因此以利用相邻切片的冗余数据覆盖掉失效的数据,保证音频数据的连续性。然而只覆盖一帧数据时,可能拼接点依然会有卡顿,因此,为了完全避免缺少数据的情况,在拼接合并时,需要从前一个音频转码切片的尾部冗余数据中的倒数第三帧音频数据开始拼接,这样即便拼接处前一帧数据失效了,也可以完全利用另一个切片中的冗余数据将失效的一帧数据和失效数据相邻的一帧数据完全覆盖,从而可以更有效避免音频卡顿的问题。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种音视频转码方法,其特征在于,包括:
接收目标冗余切片,所述目标冗余切片为对音视频源文件进行冗余切片操作得到的所有冗余切片中的目标冗余切片,所述冗余切片中包括音频数据与视频数据;每相邻的两个所述冗余切片中,前一冗余切片的尾部与后一冗余切片的首部有相同的冗余数据;
对所述目标冗余切片中与后一冗余切片不同的视频数据和所有音频数据进行转码,得到转码切片;
将所述转码切片发送至服务器,以进行转码切片的拼接。
2.根据权利要求1所述的方法,其特征在于,所述对所述目标冗余切片中与后一冗余切片不同的视频数据和所有音频数据进行转码,得到转码切片,包括:
接收每个所述冗余切片的第一gop总数与每个所述冗余切片中冗余数据对应的第二gop总数;
利用所述第一gop总数与所述第二gop总数确定所述目标冗余数据中与后一冗余切片不同的视频数据,并对所述目标冗余切片中与后一冗余切片不同的视频数据和所有音频数据进行转码。
3.根据权利要求1所述的方法,其特征在于,所述对所述目标冗余切片中与后一冗余切片不同的视频数据和所有音频数据进行转码,得到转码切片,包括:
对所述目标冗余切片中与后一冗余切片不同的视频数据进行转码,得到视频转码切片,所述视频转码切片保留所述音视频源文件的时间戳;
对所述目标冗余切片中所有音频数据进行转码,得到音频转码切片,所述音频转码切片保留所述音视频源文件的时间戳。
4.一种音视频转码系统,其特征在于,包括:
目标冗余切片接收模块,用于接收目标冗余切片,所述目标冗余切片为对音视频源文件进行冗余切片操作得到的所有冗余切片中的目标冗余切片,所述冗余切片中包括音频数据与视频数据;每相邻的两个所述冗余切片中,前一冗余切片的尾部与后一冗余切片的首部有相同的冗余数据;
转码模块,用于对所述目标冗余切片中与后一冗余切片不同的视频数据和所有音频数据进行转码,得到转码切片;
发送模块,用于将所述转码切片发送至服务器,以进行转码切片的拼接。
5.一种分布式设备,其特征在于,所述设备包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的音视频转码程序,所述音视频转码程序被所述处理器执行时实现如权利要求1至3任一项所述的方法。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有音视频转码程序,所述音视频转码程序可被一个或多个处理器执行,以实现如权利要求1至3中任一项所述的音视频转码方法。
7.一种音视频转码方法,其特征在于,包括:
对音视频源文件进行冗余切片操作,得到多个冗余切片;其中,所述冗余切片中包括音频数据与视频数据;每相邻的两个所述冗余切片中,前一冗余切片的尾部与后一冗余切片的首部有相同的冗余数据;
将所述冗余切片发送至多个分布式设备,以使所述分布式设备对接收到的冗余切片中与后一冗余切片不同的视频数据和所有音频数据进行转码,得到转码切片;
接收所述分布式设备发送的所述转码切片,并对多个所述转码切片进行拼接得到音视频转码文件。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
确定每个所述冗余切片的第一gop总数与每个所述冗余切片中冗余数据对应的第二gop总数;
将所述第一gop总数与所述第二gop总数发送至多个所述分布式设备,以使所述分布式设备根据所述第一gop总数与所述第二gop总数对接收到的冗余切片中与后一冗余切片不同的视频数据和所有音频数据进行转码,得到转码切片。
9.根据权利要求7所述的方法,其特征在于,所述接收所述分布式设备发送的所述转码切片,并对多个所述转码切片进行拼接得到音视频转码文件,包括:
接收所述分布式设备发送的所述转码切片;
根据每个所述视频转码切片的时间戳数据,按照时间顺序将多个所述视频转码切片进行拼接;其中,所述视频转码切片的时间戳数据为所述音视频源文件中对应的时间戳数据;
根据每个所述音频转码切片的时间戳数据,按照时间顺序将多个所述音频转码切片进行拼接;其中所述音频转码切片的时间戳数据为所述音视频源文件中对应的时间戳数据。
10.根据权利要求9所述的方法,其特征在于,所述根据每个所述音频转码切片的时间戳数据,按照时间顺序将多个所述音频转码切片进行拼接,包括:
按照时间顺序确定每相邻的两个音频转码切片中前一个音频转码切片倒数第三帧的目标时间戳位置;
将在所述每相邻的两个音频转码切片前一个所述音频转码切片的目标时间戳位置与后一个音频转码切片的所述目标时间戳位置的后一时间戳位置进行拼接。
CN201910389951.5A 2019-05-10 2019-05-10 一种音视频转码方法、系统、存储介质及分布式设备 Pending CN110113663A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910389951.5A CN110113663A (zh) 2019-05-10 2019-05-10 一种音视频转码方法、系统、存储介质及分布式设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910389951.5A CN110113663A (zh) 2019-05-10 2019-05-10 一种音视频转码方法、系统、存储介质及分布式设备

Publications (1)

Publication Number Publication Date
CN110113663A true CN110113663A (zh) 2019-08-09

Family

ID=67489441

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910389951.5A Pending CN110113663A (zh) 2019-05-10 2019-05-10 一种音视频转码方法、系统、存储介质及分布式设备

Country Status (1)

Country Link
CN (1) CN110113663A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115002537A (zh) * 2021-12-23 2022-09-02 荣耀终端有限公司 视频分享方法、电子设备、存储介质和程序产品

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101459848A (zh) * 2008-12-26 2009-06-17 西安交通大学 一种分布式多格式数字视频转码结构设计方法
US20120191805A1 (en) * 2011-01-26 2012-07-26 Openwave Systems Inc. Method and transcoding proxy for transcoding a media stream that is delivered to an end-user device over a communications network
CN103200204A (zh) * 2012-01-04 2013-07-10 中兴通讯股份有限公司 基于云存储的分布式转码系统及其方法
CN105763886A (zh) * 2016-03-01 2016-07-13 深圳市茁壮网络股份有限公司 一种分布式转码方法和装置
CN107295425A (zh) * 2017-06-12 2017-10-24 北京达沃时代科技股份有限公司 一种快速拼接转码分片文件的方法
CN108650510A (zh) * 2018-05-10 2018-10-12 中南大学 视频的编码方法和装置、存储介质、电子装置
CN109151505A (zh) * 2018-11-07 2019-01-04 深圳市网心科技有限公司 一种视频转码方法、系统、装置及计算机可读存储介质
CN109348309A (zh) * 2018-05-04 2019-02-15 上海交通大学 一种适用于帧率上变换的分布式视频转码方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101459848A (zh) * 2008-12-26 2009-06-17 西安交通大学 一种分布式多格式数字视频转码结构设计方法
US20120191805A1 (en) * 2011-01-26 2012-07-26 Openwave Systems Inc. Method and transcoding proxy for transcoding a media stream that is delivered to an end-user device over a communications network
CN103200204A (zh) * 2012-01-04 2013-07-10 中兴通讯股份有限公司 基于云存储的分布式转码系统及其方法
CN105763886A (zh) * 2016-03-01 2016-07-13 深圳市茁壮网络股份有限公司 一种分布式转码方法和装置
CN107295425A (zh) * 2017-06-12 2017-10-24 北京达沃时代科技股份有限公司 一种快速拼接转码分片文件的方法
CN109348309A (zh) * 2018-05-04 2019-02-15 上海交通大学 一种适用于帧率上变换的分布式视频转码方法
CN108650510A (zh) * 2018-05-10 2018-10-12 中南大学 视频的编码方法和装置、存储介质、电子装置
CN109151505A (zh) * 2018-11-07 2019-01-04 深圳市网心科技有限公司 一种视频转码方法、系统、装置及计算机可读存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115002537A (zh) * 2021-12-23 2022-09-02 荣耀终端有限公司 视频分享方法、电子设备、存储介质和程序产品

Similar Documents

Publication Publication Date Title
CN103297767B (zh) 一种适用于多核嵌入式平台的jpeg图像解码方法及解码器
CN110569298B (zh) 一种数据对接、可视化方法和系统
CN106790549B (zh) 一种数据更新方法及装置
CN106909333B (zh) 显示屏的配屏方法及装置
TW345649B (en) Method for executing different sets of instructions that cause a processor to perform different data type operations
CN109447253B (zh) 显存分配的方法、装置、计算设备及计算机存储介质
CN109918203A (zh) 接入服务器内存管理优化方法、接入服务器及通信系统
CN104268229A (zh) 一种基于多进程浏览器的资源获得方法及装置
CN110162387A (zh) 线程调度方法、装置、计算机设备及计算机可读存储介质
CN109600373A (zh) 一种直播数据传输方法、装置、系统以及可读存储介质
CN109151505A (zh) 一种视频转码方法、系统、装置及计算机可读存储介质
CN104052626A (zh) 配置网元数据的方法、装置和系统
CN109963167A (zh) 音视频处理方法、服务器、装置及存储介质
CN110113663A (zh) 一种音视频转码方法、系统、存储介质及分布式设备
CN108989891A (zh) 电视机系统更新方法、装置、可读存储介质及电视机
CN109976823A (zh) 一种应用程序启动方法、装置及终端设备
CN107368324A (zh) 一种组件升级方法、装置和系统
CN102129385A (zh) 一种虚拟机管理功能动态扩展的管理方法
CN110321179A (zh) 一种应用程序启动方法、系统、装置及计算机存储介质
CN113747193B (zh) 资源处理方法、装置及服务器
CN110062278A (zh) 视频数据发布方法、装置、电子设备和存储介质
CN116954704A (zh) 一种代码分支合并方法、装置、计算机设备以及存储介质
CN109558222A (zh) 批量业务进程监控方法、装置、计算机及可读存储介质
CN105446708A (zh) 一种用于浏览器的标签页处理方法、装置及终端
CN113282209A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190809

RJ01 Rejection of invention patent application after publication