CN105992018B - 流媒体转码方法和装置 - Google Patents

流媒体转码方法和装置 Download PDF

Info

Publication number
CN105992018B
CN105992018B CN201510072640.8A CN201510072640A CN105992018B CN 105992018 B CN105992018 B CN 105992018B CN 201510072640 A CN201510072640 A CN 201510072640A CN 105992018 B CN105992018 B CN 105992018B
Authority
CN
China
Prior art keywords
transcoding
input traffic
section
input
transcoded
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
CN201510072640.8A
Other languages
English (en)
Other versions
CN105992018A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201510072640.8A priority Critical patent/CN105992018B/zh
Publication of CN105992018A publication Critical patent/CN105992018A/zh
Application granted granted Critical
Publication of CN105992018B publication Critical patent/CN105992018B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明实施例提供一种流媒体转码方法与装置,其中,该方法包括:从流媒体数据流的预定时间点开始,将所述流媒体数据流分割成多段输入数据流,其中,每段输入数据流的时长为预定时长;并行地对所述多段输入数据流进行转码;其中,每段输入数据流的等效转码时间小于等于所述预定时长,所述等效转码时间等于每段输入数据流的实际转码时间与并行转码的输入数据流的段数的比值。通过本发明实施例的流媒体转码方法和装置,可以提高数据流的转码效率,实现流媒体实时连续地播放,并且能够节省硬件成本。

Description

流媒体转码方法和装置
技术领域
本发明涉及图像处理领域,尤其涉及一种流媒体转码方法和装置。
背景技术
随着互联网技术的发展,流媒体技术广泛应用于多媒体新闻发布、在线直播、网络广告、电子商务、视频点播、远程教育、远程医疗、网络电台、实时视频会议等互联网信息服务的方方面面。
采用流式传输的方式在互联网(Internet)/内部网(Intranet)播放的媒体格式称为流媒体。流媒体在播放前并不下载整个文件,只将开始部分内容存入内存,在计算机中对数据包进行缓存并使媒体数据正确地输出。流媒体的数据流随时传送随时播放,只是在开始时有些延迟。流媒体实现的关键技术是流式传输,流式传输主要指将整个音频、视频及三维媒体等多媒体文件经过特定的压缩方式压缩成一个个压缩包,由视频服务器向用户计算机顺序或实时传送。在采用流式传输方式的系统中,用户不必像采用下载方式那样等到整个文件全部下载完毕,而是只需经过几秒或几十秒的启动延时即可在用户的计算机上利用解压设备对压缩的A/V、3D等多媒体文件解压后进行播放和观看。此时多媒体文件的剩余部分将在后台的服务器内继续下载。与单纯的下载方式相比,这种对多媒体文件边下载边播放的流式传输方式不仅使启动延时大幅度地缩短,而且对系统缓存容量的需求也大大降低,极大地减少用户在线等待的时间。
转码技术是指从一种音视频压缩格式转换成另一种音视频压缩格式,流媒体的原始码流的码率高,占用网络带宽大;而经过转码后的码流可以在保证相同质量的情况下,码率降低,从而减少占用的网络带宽;或者,原始码率的格式不适合播放设备,而经过转码后的码流可以使之适应播放设备。因此,对流媒体的数据流进行转码是十分必要的。
在有些技术中,针对流媒体实时流通常采用串行转码的方法,即实时流的前一段数据流转码完成后,才开始当前数据流的转码,因此由于每段数据流转码的时间大于每段数据流的时长,无法实现转码后的实时连续播放,如果使用特定的硬件装置进行转码加速,使得每段数据流转码的时间不大于每段数据流的时长,虽然可以实现转码后的实时连续播放,但硬件装置成本比较高。
在另外一些技术中,虽然也有并行转码的思想,但都是以非流媒体的方式处理,例如,某些技术中需要预先获得整个原始文件的大小或时长,然后分割成N段数据,并对N段数据进行并行转码,在所有的N段数据转码完成后进行码流合并,再播放显示。但针对实时流,由于不知道该实时流的结束时间,没有合适的对实时码流进行分割和合并的方案。
发明内容
为了解决上述现有技术中存在的问题,本发明实施例提出了一种流媒体转码方法和装置,以提升流媒体资源的转码效率。
根据本发明实施例的第一个方面,提供了一种流媒体转码方法,该方法包括:
从流媒体数据流的预定时间点开始,将所述流媒体数据流分割成多段输入数据流,其中,每段输入数据流的时长为预定时长;
并行地对所述多段输入数据流进行转码;
其中,每段输入数据流的等效转码时间小于等于所述预定时长,所述等效转码时间等于每段输入数据流的实际转码时间与并行转码的输入数据流的段数的比值。
根据本发明实施例的第二个方面,其中,并行地对所述多段输入数据流进行转码包括:
获取当前待转码的一段输入数据流;
对所述当前待转码的一段输入数据流转码;
获取下一段待转码的输入数据流;
在对所述当前待转码的一段输入数据流开始转码后的所述预定时长内并在对所述当前待转码的一段输入数据流转码的同时,开始对所述下一段输入数据流转码。
根据本发明实施例的第三个方面,其中,该方法还包括:
在获取当前待转码的一段输入数据流经过预定时长时,获取下一段待转码的输入数据流并对所述下一段输入数据流转码。
根据本发明实施例的第四个方面,其中,在对任意一段输入数据流转码完成后,播放转码后的输入数据流,其中转码后的输入数据流的播放时长小于或等于该预定时长。
根据本发明实施例的第五个方面,其中,获取输入数据流的过程、对获取的输入数据流进行转码的过程、以及对转码完成后的输入数据流进行播放的过程是并行的。
根据本发明实施例的第六方面,提供了一种流媒体转码装置,其中,该装置包括:
处理单元,其用于从流媒体数据流的预定时间点开始,将所述流媒体数据流分割成多段输入数据流,其中,每段输入数据流的时长为预定时长;
控制单元,其用于控制多个转码单元并行地对所述多段输入数据流进行转码;
多个转码单元,其分别用于根据所述控制单元的控制对输入数据流进行转码;
其中,每段输入数据流的等效转码时间小于等于所述预定时长,所述等效转码时间等于每段输入数据流的实际转码时间与并行转码的输入数据流的段数的比值。
根据本发明实施例的第七个方面,其中,
所述处理单元获取当前待转码的一段输入数据流;
所述控制单元控制多个转码单元中的一个对所述当前待转码的一段输入数据流转码;
所述处理单元获取下一段待转码的输入数据流;
在对所述当前待转码的一段输入数据流开始转码后的所述预定时长内且在所述一个转码单元对所述当前待转码的一段输入数据流转码的同时,所述控制单元控制多个转码单元中的另一个转码单元对所述下一段输入数据流转码。
根据本发明实施例的第八个方面,其中,在对所述当前待转码的一段输入数据流开始转码后的所述预定时长时,所述处理单元获取下一段待转码的输入数据,所述控制单元控制多个转码单元中的另一个转码单元对所述下一段输入数据流转码。
根据本发明实施例的第九个方面,其中,该装置还包括:
播放单元,其用于在转码单元对任意一段输入数据流转码完成后,播放转码后的输入数据流,其中转码后的输入数据流的播放时长小于或等于该预定时长。
本发明实施例的有益效果在于,通过本发明实施例的流媒体转码方法和装置,可以提高数据流的转码效率,实现流媒体实时连续地播放,并且能够节省硬件成本。
参照后文的说明和附图,详细公开了本发明的特定实施方式,指明了本发明的原理可以被采用的方式。应该理解,本发明的实施方式在范围上并不因而受到限制。在所附权利要求的精神和条款的范围内,本发明的实施方式包括许多改变、修改和等同。
针对一种实施方式描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施方式中使用,与其它实施方式中的特征相组合,或替代其它实施方式中的特征。
应该强调,术语“包括/包含”在本文使用时指特征、整件、步骤或组件的存在,但并不排除一个或更多个其它特征、整件、步骤或组件的存在或附加。
附图说明
参照以下的附图可以更好地理解本发明的很多方面。附图中的部件不是成比例绘制的,而只是为了示出本发明的原理。为了便于示出和描述本发明的一些部分,附图中对应部分可能被放大或缩小。在本发明的一个附图或一种实施方式中描述的元素和特征可以与一个或更多个其它附图或实施方式中示出的元素和特征相结合。此外,在附图中,类似的标号表示几个附图中对应的部件,并可用于指示多于一种实施方式中使用的对应部件。
在附图中:
图1是本发明实施例1的流媒体转码方法流程图;
图2是本发明实施例1的步骤101中获取的输入数据流示意图;
图3是本发明实施例1的步骤102的一种实施方式流程图;
图4是本发明实施例2的流媒体转码装置构成示意图;
图5是本发明实施例2的流媒体转码流程示意图。
具体实施方式
参照附图,通过下面的说明书,本发明实施例的前述以及其它特征将变得明显。这些实施方式只是示例性的,不是对本发明的限制。为了使本领域的技术人员能够容易地理解本发明的原理和实施方式,本发明实施例以流媒体实时流转码为例进行说明,但可以理解,本发明实施例并不限于实时流转码。
下面参照附图对本发明的优选实施方式进行说明。
实施例1
图1是本发明实施例1的流媒体转码方法流程图,请参照图1,该方法包括:
步骤101,从流媒体数据流的预定时间点开始,将所述流媒体数据流分割成多段输入数据流,其中,每段输入数据流的时长为预定时长;步骤102,并行地对所述多段输入数据流进行转码。
其中,每段输入数据流的等效转码时间小于等于所述预定时长,所述等效转码时间等于每段输入数据流的实际转码时间与步骤102中并行转码的输入数据流的段数的比值。
在本实施例中,输入数据流是指流媒体数据流,具体的,该数据流可以是视频流、音频流、文本流或其他多媒体流,该输入数据流的格式可以是TS流等,本实施例并不以此作为限制。其中,该输入数据流的传输方式与现有技术相同,例如可以是实时传输的,也可以是顺序传输的,具体可参考现有技术,此处不再赘述。
在本实施例中,由于输入数据流的原始码率高,或者原始码率的格式不适合播放设备,因此需要对输入数据流进行转码,即将输入数据流的格式转换成另一种码率低或者适合播放设备播放的格式,转码通常包括对输入数据流的格式进行解码,并重新编码成新的格式,具体的编解码过程与现有技术相同,此处不再赘述。
图2是本实施例步骤101中将所述流媒体数据流分割成多段输入数据流的示意图,在步骤101中,如图2所示,从该流媒体数据流的预定时间点t0开始,将该流媒体数据流依次分割成多段输入数据流1,2,…i….,其中,每段输入数据流的时长为预定时长dt,针对流媒体数据流特别是实时流,在一个实施方式中,采用流式处理,即把每隔预定时长dt的实时流数据保存为一段输入数据流,即每隔预定时长dt截取一段输入数据流,以实现对流媒体数据流的分割,在本实施例中,由于无法确定该实时流的绝对起始时间和绝对结束时间,因此以下所述的时间均为相对时间。
在本实施例的步骤102中,在步骤101中将所述流媒体数据流分割成多段输入数据流后,对所述多段输入数据流进行转码,图3是本实施例步骤102的一种实施方式流程图,如图3所示,该方法包括:
步骤301:获取当前待转码的一段输入数据流;
步骤302:对所述当前待转码的一段输入数据流转码;
步骤303:获取下一段待转码的输入数据流;
步骤304:在对所述当前待转码的一段输入数据流开始转码后的所述预定时长内并在对所述当前待转码的一段输入数据流转码的同时,开始对所述下一段输入数据流转码。
在该实施方式中,例如,在获取到输入数据流1后,一个转码单元立即开始对该输入数据流1的转码处理,之后,获取下一段待转码的输入数据流2,在一个转码单元对该输入数据流1的转码处理开始后的预定时长dt内,且在该转码单元对该输入数据流1进行转码的同时,另一个转码单元即可开始对该输入数据流2进行转码,因此输入数据流2的转码并不是在对该输入数据流1的转码完成后进行的,而是与输入数据流1的转码并行处理的,由此,提高了转码的效率。在一个实施方式中,针对实时流,输入数据流2是在获取到输入数据流1之后经过dt才获取到的,因此在对输入数据流1开始转码经过预定时长dt后,获取到输入数据流2,针对获取到的输入数据流2,开始与输入数据流1的并行转码,另外,对其它输入数据流的处理方式与输入数据流1和2相同,具体处理过程将在后续说明。
在本实施例步骤102中,可以通过多个转码单元并行地对所述多段输入数据流进行转码,其中,可以同时并行转码的输入数据流的段数由每段输入数据流的实际转码时间tt和前述预定时长dt确定。在一种实施方式中,所述多段输入数据流中可以同时并行转码的输入数据流的个数等于每段输入数据流的实际转码时间与预定时长的比值向上取整,例如预定时长dt为10秒,即每段输入数据流的时长为10秒,每段输入数据流的实际转码时间tt为30秒,则可以同时并行转码的输入数据流个数最多可以为3个。以实时流为例,对上述并行转码的处理过程进行示例性的说明,在由一个转码单元(称为第一转码单元)对输入数据流1的转码开始后经过10秒后,即可获取到输入数据流2,并由另一个转码单元(称为第二转码单元)开始对输入数据流2进行转码;在由第一转码单元对输入数据流1的转码开始经过20秒后,即由第二转码单元对输入数据流2的转码开始经过10秒后,即可获取到输入数据流3,并由再一个转码单元(称为第三转码单元)开始对输入数据流3进行转码,此时,输入数据流1和2仍处于转码过程中,由此可以实现输入数据流1、2、3的并行转码;之后在由第一转码单元对输入数据流1的转码开始经过30秒后,即由第二转码单元对输入数据流2的转码开始经过20秒以及由第三转码单元对输入数据流3的转码开始经过10秒后,即可获取到输入数据流4,此时,输入数据流1已经完成转码,但输入数据流2和3仍处于转码过程中,输入数据流4可以由第一转码单元进行转码,由此可以实现输入数据流2、3、4的并行转码,以此类推。并且在一段输入数据流转码的同时,可以并行的获取另一段输入数据流,进一步提高了并行处理的效率。
在本实施例中,为了进一步提高并行处理的效率,该方法还可以包括:
步骤103,在对任意一段输入数据流转码完成后,播放转码后的输入数据流,其中转码后的输入数据流的播放时长小于或等于所述预定时长。
因此,不需要等待所有的输入数据流转码完成后,才对转码后的输入数据流进行组合合并再去播放,尤其是针对实时数据流无法确定数据流何时结束的情况下,在每段输入数据流转码完成后立即播放,从而保证了流媒体播放的实时性。
仍以上述实时流为例对步骤103进行说明,例如,在对获取的输入数据流1的转码开始后经过30秒,输入数据流1的转码已经完成,此时,立即播放转码后的输入数据流1,因此。由于此时输入数据流2和3的转码处理仍未完成(对输入数据流2的转码处理才经过20秒,对输入数据流3的转码处理才经过10秒),即在输入数据流2和3转码的同时,并行的获取输入数据流4,以及并行的播放输入数据流1,因此进一步提高了并行处理的效率。
在本实施例中,每段输入数据流的实际转码时间tt为从开始转码到转码结束实际花费的时间,如上所述的30秒;每段输入数据流的等效转码时间等于每段输入数据流的实际转码时间tt与并行转码的最多输入数据流的段数(如前所述的3段,也即需要使用的转码单元的个数)的比值,例如每段输入数据流的实际转码时间为30秒,根据前述可知,可以同时并行转码的最多输入数据流段数为3,则可以理解为在30秒内,同时并行的对3段输入数据流的转码处理,则每段输入数据流的等效转码时间为10秒。
在本实施例中,每段输入数据流的等效转码时间小于等于所述预定时长,在一个实施方式中,输入数据流的播放时长等于预定时长,由此在前一段输入数据流播放的过程(预定时长)中,后一段输入数据流的转码即已经完成,可以实现输入数据流实时连续的播放显示,并且播放完成的输入视频流可以从缓存器中删除,即只需要存储一段转码完成的待播放的输入数据流,由此节省存储空间。
例如,输入数据流1的播放时长等于预定时长10秒,则在输入数据流1的播放完成后,输入数据流2的转码也已经完成,此时开始播放转码后的输入数据流2,即输入数据流1和输入数据流2可以实现连续的播放,防止实时流的播放发生卡顿。
通过本实施例的上述流媒体转码方法,可以提高数据流的转码效率,实现流媒体实时连续地播放,并且能够节省硬件成本。
实施例2
本发明实施例2还提供了一种流媒体转码装置,由于该装置解决问题的原理与实施例1的方法类似,因此其具体的实施可以参照实施例1的方法的实施,重复之处不再赘述。
图4是本发明实施例2的一种流媒体转码装置构成示意图,如图4所示,该装置400包括:
处理单元401,其用于流媒体数据流的预定时间点开始,将所述流媒体数据流分割成多段输入数据流,其中,每段输入数据流的时长为预定时长;
控制单元402,其用于控制多个转码单元403并行地对所述多段输入数据流进行转码;
多个转码单元403,其分别用于根据所述控制单元402的控制对输入数据流进行转码;
其中,每段输入数据流的等效转码时间小于等于所述预定时长。
在一种实施方式中,所述处理单元401获取当前待转码的一段输入数据流;所述控制单元402控制多个转码单元403中的一个对所述当前待转码的一段输入数据流转码;所述处理单元401获取下一段待转码的输入数据流;在对所述当前待转码的一段输入数据流开始转码后的所述预定时长内且在所述一个转码单元对所述当前待转码的一段输入数据流转码的同时,所述控制单元402控制多个转码单元403中的另一个转码单元对所述下一段输入数据流转码。在一个实施方式中,针对实时流,在对所述当前待转码的一段输入数据流开始转码后的所述预定时长时,所述处理单元401获取下一段待转码的输入数据,所述控制单元402控制多个转码单元403中的另一个转码单元对所述下一段输入数据流转码。由此,在输入数据流转码的同时,并行的获取输入数据流,进一步提高并行处理的效率。
在本实施例中,转码单元403的个数由每段输入数据流的实际转码时间和预定时长确定,具体请参照实施例1,此处不再重复。
在本实施例中,为了进一步提高并行处理的效率,使得在获取输入数据流的同时并行地对输入数据流进行转码和播放,并保证输入数据流能够实时地连续地播放,该装置还可以包括:
播放单元404,其用于在转码单元403对任意一段输入数据流转码完成后,播放转码后的输入数据流,其中转码后的输入数据流的播放时长小于或等于所述预定时长。
图5是本实施例1中的一个流媒体转码流程示意图,针对流媒体实时视频流,如图5所示,在该实施方式中,包括三个转码单元4031、4032、4033(在横轴表示),纵轴表示时间,在该实时视频流的预定时间点0开始,经过预定时长dt=10秒处理单元401实时获取输入视频流1,转码单元4031开始转码输入视频流1,设转码开始的时刻为t0,转码时长为tt=30秒,在t0+dt时刻,处理单元401获取输入视频流2,此时转码单元4031对输入视频流1的转码经过了dt秒(未完成),则转码单元4032开始转码输入视频流2,在t0+dt+dt时刻,处理单元401获取输入视频流3,此时转码单元4031对输入视频流1的转码经过了dt+dt秒(未完成),转码单元4032对输入视频流2的转码经过了dt秒(未完成),则转码单元4033开始转码输入视频流3,又经过了dt,设此时为t1,处理单元401获取到输入视频流4,而转码单元4031对输入视频流1的转码已经完成,则转码单元4031开始转码输入视频流4的,播放单元404开始播放输入视频流1,由于每段输入视频流的播放时长等于预定时长dt,因此在t1+dt时刻,输入视频流1播放完毕,这时,转码单元4032对输入视频流2的转码完成,播放单元404开始播放输入视频流2,而此时处理单元401获取到输入视频流5,转码单元4032开始转码输入视频流5,直至完成对所有段的输入视频流的转码和播放。
如图5所示,从t0时刻起,转码单元403和处理单元401是并行工作的,从t0+dt+dt时刻起,转码单元4031、4032、4033对输入视频流是并行处理,从t1时刻起,播放单元404、转码单元403和处理单元401也是并行处理的,因此可以提高数据流的转码效率,实现流媒体实时连续地播放,并且能够节省硬件成本。
在本实施例中,该装置还可以包括存储单元(未图示),由于转码单元403为多个,因此在处理单元401获取输入数据流后,存储单元仅需要保存转码单元中正在进行转码的输入数据流,而不需要保存所有获取的输入数据流,由此能够节省存储空间。
在本实施例中,处理单元401、控制单元402、转码单元403、播放单元404可以参照实施例1的步骤101~103的实施,此处不再重复。
通过本实施例的上述流媒体转码装置,可以提高数据流的转码效率,实现流媒体实时连续地播放,并且能够节省硬件成本。
本发明实施例还提供一种计算机可读程序,其中当在流媒体转码装置中执行所述程序时,所述程序使得计算机在所述流媒体转码装置中执行如实施例1所述的流媒体转码方法。
本发明实施例还提供一种存储有计算机可读程序的存储介质,其中所述计算机可读程序使得计算机在流媒体转码装置中执行如实施例1所述的流媒体转码方法。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。该计算机软件产品可以包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。该计算机软件产品可以存储在内存中,内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括短暂电脑可读媒体(transitory media),如调制的数据信号和载波。
本说明书中,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。

Claims (5)

1.一种流媒体转码方法,其特征在于,所述方法包括:
从流媒体数据流的预定时间点开始,将所述流媒体数据流分割成多段输入数据流,其中,每段输入数据流的时长为预定时长;
并行地对所述多段输入数据流进行转码;
其中,每段输入数据流的等效转码时间小于等于所述预定时长,所述等效转码时间等于每段输入数据流的实际转码时间与并行转码的输入数据流的段数的比值,每段输入数据流的实际转码时间大于所述预定时长;
其中,并行地对所述多段输入数据流进行转码包括:
获取当前待转码的一段输入数据流;
对所述当前待转码的一段输入数据流转码;
获取下一段待转码的输入数据流;
在对所述当前待转码的一段输入数据流开始转码后的所述预定时长内并在对所述当前待转码的一段输入数据流转码的同时,开始对所述下一段输入数据流转码;
其中,在获取当前待转码的一段输入数据流经过预定时长时,获取下一段待转码的输入数据流并开始对所述下一段输入数据流转码。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在对任意一段输入数据流转码完成后,播放转码后的输入数据流,其中转码后的输入数据流的播放时长小于或等于所述预定时长。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获取输入数据流的过程、对获取的输入数据流进行转码的过程、以及对转码完成后的输入数据流进行播放的过程是并行的。
4.一种流媒体转码装置,其特征在于,所述装置包括:
处理单元,其用于从流媒体数据流的预定时间点开始,将所述流媒体数据流分割成多段输入数据流,其中,每段输入数据流的时长为预定时长;
控制单元,其用于控制多个转码单元并行地对所述多段输入数据流进行转码;
多个转码单元,其分别用于根据所述控制单元的控制对输入数据流进行转码;
其中,每段输入数据流的等效转码时间小于等于所述预定时长,所述等效转码时间等于每段输入数据流的实际转码时间与并行转码的输入数据流的段数的比值,每段输入数据流的实际转码时间大于所述预定时长;
其中,
所述处理单元获取当前待转码的一段输入数据流;
所述控制单元控制多个转码单元中的一个对所述当前待转码的一段输入数据流转码;
所述处理单元获取下一段待转码的输入数据流;
在对所述当前待转码的一段输入数据流开始转码后的所述预定时长内且在所述一个转码单元对所述当前待转码的一段输入数据流转码的同时,所述控制单元控制多个转码单元中的另一个转码单元对所述下一段输入数据流转码;
在对所述当前待转码的一段输入数据流开始转码后的所述预定时长时,所述处理单元获取下一段待转码的输入数据,所述控制单元控制多个转码单元中的另一个转码单元对所述下一段输入数据流转码。
5.根据权利要求4所述的装置,其特征在于,所述装置还包括:
播放单元,其用于在转码单元对任意一段输入数据流转码完成后,播放转码后的输入数据流,其中转码后的输入数据流的播放时长小于或等于所述预定时长。
CN201510072640.8A 2015-02-11 2015-02-11 流媒体转码方法和装置 Active CN105992018B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510072640.8A CN105992018B (zh) 2015-02-11 2015-02-11 流媒体转码方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510072640.8A CN105992018B (zh) 2015-02-11 2015-02-11 流媒体转码方法和装置

Publications (2)

Publication Number Publication Date
CN105992018A CN105992018A (zh) 2016-10-05
CN105992018B true CN105992018B (zh) 2019-03-26

Family

ID=57041912

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510072640.8A Active CN105992018B (zh) 2015-02-11 2015-02-11 流媒体转码方法和装置

Country Status (1)

Country Link
CN (1) CN105992018B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10853439B2 (en) 2017-08-08 2020-12-01 Nice Ltd. Systems and methods for fast play back of recorded data
US10616616B2 (en) 2018-01-01 2020-04-07 Nice Ltd Method and system for streaming a media file during a concurrent transcoding thereof
CN108419095A (zh) * 2018-04-09 2018-08-17 北京大米科技有限公司 一种流媒体转码方法、装置、计算机设备及可读介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101150719A (zh) * 2006-09-20 2008-03-26 华为技术有限公司 并行视频编码的方法及装置
CN102625108A (zh) * 2012-03-30 2012-08-01 浙江大学 一种基于多核处理器实现的h.264解码方法
CN102790905A (zh) * 2012-08-03 2012-11-21 重庆大学 基于P2PVoD视频点播系统的H.264/SVC到H.264/AVC的转码方法
CN103731678A (zh) * 2013-12-30 2014-04-16 世纪龙信息网络有限责任公司 视频文件的并行转码方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9124895B2 (en) * 2011-11-04 2015-09-01 Qualcomm Incorporated Video coding with network abstraction layer units that include multiple encoded picture partitions

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101150719A (zh) * 2006-09-20 2008-03-26 华为技术有限公司 并行视频编码的方法及装置
CN102625108A (zh) * 2012-03-30 2012-08-01 浙江大学 一种基于多核处理器实现的h.264解码方法
CN102790905A (zh) * 2012-08-03 2012-11-21 重庆大学 基于P2PVoD视频点播系统的H.264/SVC到H.264/AVC的转码方法
CN103731678A (zh) * 2013-12-30 2014-04-16 世纪龙信息网络有限责任公司 视频文件的并行转码方法及系统

Also Published As

Publication number Publication date
CN105992018A (zh) 2016-10-05

Similar Documents

Publication Publication Date Title
US10547850B2 (en) Audio splitting with codec-enforced frame sizes
US9478256B1 (en) Video editing processor for video cloud server
US9609340B2 (en) Just-in-time (JIT) encoding for streaming media content
US10140105B2 (en) Converting source code
CN107743708B (zh) 经由dash来参与abr流传送会话的方法、装置和节点
US20230100445A1 (en) Vod product rendering controller
CN107634930B (zh) 一种媒体数据的获取方法和装置
US9578354B2 (en) Decoupled slicing and encoding of media content
CN109587514B (zh) 一种视频播放方法、介质和相关装置
CN104967872A (zh) 基于动态自适应码率传输协议hls流媒体的直播方法和服务器
US20220303328A1 (en) Systems and methods for cloud storage direct streaming
US11825176B2 (en) Automatically processing content streams for insertion points
US20210195255A1 (en) Systems and methods for securely generating live previews
CN105992018B (zh) 流媒体转码方法和装置
CN105992022A (zh) 一种在线录制下载方法及系统
CN113079386B (zh) 一种视频在线播放方法、装置、电子设备及存储介质
CN113766266A (zh) 音视频处理方法、装置、设备以及存储介质
Gudumasu et al. Adaptive Streaming of Visual Volumetric Video-based Coding Media
US10924584B1 (en) Processing streaming content requests
US11025969B1 (en) Video packaging system using source encoding
CN106303587A (zh) 一种下载音视频数据的方法及装置
Ranjan et al. Onlive cloud gaming service

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant