CN103731678B - 视频文件的并行转码方法及系统 - Google Patents
视频文件的并行转码方法及系统 Download PDFInfo
- Publication number
- CN103731678B CN103731678B CN201310746505.8A CN201310746505A CN103731678B CN 103731678 B CN103731678 B CN 103731678B CN 201310746505 A CN201310746505 A CN 201310746505A CN 103731678 B CN103731678 B CN 103731678B
- Authority
- CN
- China
- Prior art keywords
- transcoding
- video file
- flowing water
- target video
- machines
- 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
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明提供一种视频文件的并行转码方法及系统,所述方法包括以下步骤:获取当前可用的转码机器数以及欲输出的不同码率的目标视频文件个数;根据所述转码机器数以及目标视频文件个数对源视频文件进行切分,得到若干级流水、每级流水包括若干个音视频流的数据分片;根据所述目标视频文件的码率从高到低依次启动多级流水对各数据分片进行转码处理;将转码处理完成的各级流水的数据分片分别按目标格式进行合成,得到所述不同码率的目标视频文件。本发明的方法及系统在不降低输出目标的编码质量的情况下降低了转码处理的数据量,从而有效降低了转码时的性能损耗,提高了转码效率,并且有效缩短了视频转码任务的响应时间。
Description
技术领域
本发明涉及多媒体技术领域,特别是涉及一种视频文件的并行转码方法以及一种视频文件的并行转码系统。
背景技术
视频文件有多种不同编码格式和不同的质量级别,在现有的移动互联网/互联网、OTT(Over The Top,即互联网公司越过运营商,发展基于开放互联网的各种视频及数据服务业务)等不同应用领域,复杂的网络环境和参差不齐的终端处理能力,使得对视频文件除了编码格式之外,还有码率、像素等参数的不同质量级别的需求。
视频提供商为了满足不同应用领域的播放需求,经常需要将视频文件进行多次转换,以产生不同格式、不同质量级别的目标视频文件。具体实现上,将同一个视频源转换成多个不同码率的视频文件,一般有如下两种方法:
方法一、并发启动多个转换程序,对相同视频源进行转换;
方法二、根据目标视频码率从高到低的顺序,先后启动多个转换程序,以上一个输出作为新的输入源。
比较来看,方法一的响应时间快,但是性能损耗大;方法二则相反。并且以上两个传统的视频转码方法,对同一个视频源,如果要生成多份不同质量的视频文件,需要多次转码,导致转码效率较低。
发明内容
基于此,有必要针对上述转码效率低的问题,提供一种视频文件的并行转码方法及系统。
为实现上述目的,本发明采用如下的技术方案:
一种视频文件的并行转码方法,包括以下步骤:
获取当前可用的转码机器数以及欲输出的不同码率的目标视频文件个数;
根据所述转码机器数以及目标视频文件个数对源视频文件进行切分,得到若干级流水、每级流水包括若干个音视频流的数据分片,所述若干级流水的层数与所述目标视频文件个数相同,每层的数据分片的数目等于所述当前可用的转码机器数除以所述层数;
根据所述目标视频文件的码率从高到低依次启动多级流水对各数据分片进行转码处理;
将转码处理完成的各级流水的数据分片分别按目标格式进行合成,得到所述不同码率的目标视频文件。
一种视频文件的并行转码系统,包括:
数量获取模块,用于获取当前可用的转码机器数以及欲输出的不同码率的目标视频文件个数;
文件切分模块,用于根据所述转码机器数以及目标视频文件个数对源视频文件进行切分,得到若干级流水、每级流水包括若干个音视频流的数据分片,所述若干级流水的层数与所述目标视频文件个数相同,每层的数据分片的数目等于所述当前可用的转码机器数除以所述层数;
转码模块,用于根据所述目标视频文件的码率从高到低依次启动多级流水对各数据分片进行转码处理;
合成模块,用于将转码处理完成的各级流水的数据分片分别按目标格式进行合成,得到所述不同码率的目标视频文件。
由以上方案可以看出,本发明的视频文件的并行转码方法及系统,对源视频文件进行切分后,根据目标视频文件的码率从高到低依次启动多级流水对各数据分片进行转码处理,再将转码处理后各级流水的数据分片分别按目标格式进行合成。本发明采用多级流水的处理方式来提高并发率,在不降低输出目标的编码质量的情况下,降低了转码处理的数据量,从而有效降低了转码时的性能损耗,提高了转码效率;并且本发明采用流水线处理的方式,使得多个转码都能快速启动,有效缩短了视频转码任务的响应时间。
附图说明
图1为本发明一种视频文件的并行转码方法的流程示意图;
图2为本发明依次启动多级流水进行处理的示意图;
图3为本发明一种视频文件的并行转码系统的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参见图1所示,一种视频文件的并行转码方法,包括以下步骤:
步骤S101,获取当前可用的转码机器数以及欲输出的不同码率的目标视频文件个数,然后进入步骤S102。
作为一个较好的实施例,所述获取当前可用的转码机器数的过程具体可以包括如下:
检测各转码机器的负载情况,将空闲率大于预定阈值(如15%)的转码机器作为当前可用的转码机器,并统计所述当前可用的转码机器的数量作为所述当前可用的转码机器数。
步骤S102,根据所述转码机器数以及目标视频文件个数对源视频文件进行切分,得到若干级流水、每级流水包括若干个音视频流的数据分片,然后进入步骤S103。
如图2所示,本发明实施例中,上述若干级流水的层数与所述目标视频文件个数相同,按照策略码率从高到低进行,一种码率一层;另外,每层的数据分片的数目等于所述当前可用的转码机器数除以所述层数(即每层的数据分片的数目=可用的转码机器数/层数)。
步骤S103,根据所述目标视频文件的码率从高到低依次启动多级流水对各数据分片进行转码处理,然后进入步骤S104。
作为一个较好的实施例,上述启动多级流水对各数据分片进行转码处理的过程具体可以包括如下步骤:
步骤S1031,启动输出目标视频文件的码率最高的一级流水,对所述源视频文件的数据分片进行转码处理;
步骤S1032,当N级流水输出预定长度的音视频流数据时,启动输出目标视频文件的码率排列第N+1的N+1级流水,对N级流水的所有输出分片依次进行转码处理;式中,N≥1。
本发明实施例中,将输出目标的码率从高到低进行排序,依次启动多级流水进行转码处理,即每级转码程序仅以稍高码率的视频而不是原始视频作为输入。下面详细描述各级流水的处理过程:
1)一级流水,输出目标的码率最高,对源视频文件的分片进行转码处理,生成一组音视频流的数据分片;
2)二级流水,输出目标的码率排列第二,在一级流水输出预定长度的音视频流数据时启动,对一级流水的所有输出分片,依次进行转码处理;
3)三级流水,输出目标的码率排列第三,在二级流水输出预定长度的音视频流数据时启动,对二级流水的所有输出分片,依次进行转码处理;
4)以此类推,依次启动n级流水,并行生成n组不同码率的输出分片,如图2所示。
步骤S104,将转码处理完成的各级流水的数据分片分别按目标格式进行合成,得到所述不同码率的目标视频文件并进行输出。
本发明实施例中,可以由任务分配机根据分片数,将源视频文件切成相应数量的分片,放入公共存储区,供第一层转码机器处理。每台转码机器处理分片时,将转码完成后的数据分片结果都保存到一个公共存储区。每个数据分片完成后,由任务分配机将各个数据分片按目标格式组合起来,输出完整的视频文件。
与上述一种视频文件的并行转码方法相对应,本发明还提供一种视频文件的并行转码系统,如图3所示,包括:
数量获取模块101,用于获取当前可用的转码机器数以及欲输出的不同码率的目标视频文件个数;
文件切分模块102,用于根据所述转码机器数以及目标视频文件个数对源视频文件进行切分,得到若干级流水、每级流水包括若干个音视频流的数据分片;
转码模块103,用于根据所述目标视频文件的码率从高到低依次启动多级流水对各数据分片进行转码处理;
合成模块104,用于将转码处理完成的各级流水的数据分片分别按目标格式进行合成,得到所述不同码率的目标视频文件。
作为一个较好的实施例,所述转码模块可以包括:
第一处理子模块,用于启动输出目标视频文件的码率最高的一级流水,对所述源视频文件的数据分片进行转码处理;
第二处理子模块,用于当N级流水输出预定长度的音视频流数据时,启动输出目标视频文件的码率排列第N+1的N+1级流水,对N级流水的所有输出分片依次进行转码处理;式中,N≥1。
可以理解,本发明所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本发明的范围的情况下,可以将第一处理子模块称为第二处理子模块,且类似地,可将第二处理子模块称为第一处理子模块。第一处理子模块和第二处理子模块两者都是处理子模块,但其不是同一处理子模块。
作为一个较好的实施例,所述数量获取模块可以包括:
检测子模块,用于检测各转码机器的负载情况,将空闲率大于预定阈值的转码机器作为当前可用的转码机器,并统计所述当前可用的转码机器的数量作为所述当前可用的转码机器数。
作为一个较好的实施例,所述若干级流水的层数与所述目标视频文件个数相同,另外每层的数据分片的数目等于所述当前可用的转码机器数除以所述层数。
上述一种视频文件的并行转码系统的其它技术特征与本发明的一种视频文件的并行转码方法相同,此处不予赘述。
通过以上方案可以看出,本发明的视频文件的并行转码方法及系统,对源视频文件进行切分后,根据目标视频文件的码率从高到低依次启动多级流水对各数据分片进行转码处理,再将转码处理后各级流水的数据分片分别按目标格式进行合成。本发明采用多级流水的处理方式来提高并发率,在不降低输出目标的编码质量的情况下,降低了转码处理的数据量,从而有效降低了转码时的性能损耗,提高了转码效率;并且本发明采用流水线处理的方式,使得多个转码都能快速启动,有效缩短了视频转码任务的响应时间。
除非上下文另有特定清楚的描述,本发明中的元件和组件,数量既可以单个的形式存在,也可以多个的形式存在,本发明并不对此进行限定。本发明中的步骤虽然用标号进行了排列,但并不用于限定步骤的先后次序,除非明确说明了步骤的次序或者某步骤的执行需要其他步骤作为基础,否则步骤的相对次序是可以调整的。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (6)
1.一种视频文件的并行转码方法,其特征在于,包括以下步骤:
获取当前可用的转码机器数以及欲输出的不同码率的目标视频文件个数;
根据所述转码机器数以及目标视频文件个数对源视频文件进行切分,得到若干级流水、每级流水包括若干个音视频流的数据分片,所述若干级流水的层数与所述目标视频文件个数相同,每层的数据分片的数目等于所述当前可用的转码机器数除以所述层数;
根据所述目标视频文件的码率从高到低依次启动多级流水对各数据分片进行转码处理;其中,所述启动多级流水对各数据分片进行转码处理的过程包括:当N级流水输出预定长度的音视频流数据时,启动输出目标视频文件的码率排列第N+1的N+1级流水,对N级流水的所有输出分片依次进行转码处理;式中,N≥1;
将转码处理完成的各级流水的数据分片分别按目标格式进行合成,得到所述不同码率的目标视频文件。
2.根据权利要求1所述的视频文件的并行转码方法,其特征在于,在所述当N级流水输出预定长度的音视频流数据时,启动输出目标视频文件的码率排列第N+1的N+1级流水,对N级流水的所有输出分片依次进行转码处理的步骤之前还包括:
启动输出目标视频文件的码率最高的一级流水,对所述源视频文件的数据分片进行转码处理。
3.根据权利要求1或2所述的视频文件的并行转码方法,其特征在于,所述获取当前可用的转码机器数的过程包括:
检测各转码机器的负载情况,将空闲率大于预定阈值的转码机器作为当前可用的转码机器,并统计所述当前可用的转码机器的数量作为所述当前可用的转码机器数。
4.一种视频文件的并行转码系统,其特征在于,包括:
数量获取模块,用于获取当前可用的转码机器数以及欲输出的不同码率的目标视频文件个数;
文件切分模块,用于根据所述转码机器数以及目标视频文件个数对源视频文件进行切分,得到若干级流水、每级流水包括若干个音视频流的数据分片,所述若干级流水的层数与所述目标视频文件个数相同,每层的数据分片的数目等于所述当前可用的转码机器数除以所述层数;
转码模块,用于根据所述目标视频文件的码率从高到低依次启动多级流水对各数据分片进行转码处理;其中,所述转码模块包括第二处理子模块,用于当N级流水输出预定长度的音视频流数据时,启动输出目标视频文件的码率排列第N+1的N+1级流水,对N级流水的所有输出分片依次进行转码处理;式中,N≥1;
合成模块,用于将转码处理完成的各级流水的数据分片分别按目标格式进行合成,得到所述不同码率的目标视频文件。
5.根据权利要求4所述的视频文件的并行转码系统,其特征在于,在所述第二处理子模块之前,所述转码模块还包括:
第一处理子模块,用于启动输出目标视频文件的码率最高的一级流水,对所述源视频文件的数据分片进行转码处理。
6.根据权利要求4或5所述的视频文件的并行转码系统,其特征在于,所述数量获取模块包括:
检测子模块,用于检测各转码机器的负载情况,将空闲率大于预定阈值的转码机器作为当前可用的转码机器,并统计所述当前可用的转码机器的数量作为所述当前可用的转码机器数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310746505.8A CN103731678B (zh) | 2013-12-30 | 2013-12-30 | 视频文件的并行转码方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310746505.8A CN103731678B (zh) | 2013-12-30 | 2013-12-30 | 视频文件的并行转码方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103731678A CN103731678A (zh) | 2014-04-16 |
CN103731678B true CN103731678B (zh) | 2017-02-08 |
Family
ID=50455580
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310746505.8A Active CN103731678B (zh) | 2013-12-30 | 2013-12-30 | 视频文件的并行转码方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103731678B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105227968A (zh) * | 2014-06-30 | 2016-01-06 | 惠州市伟乐科技股份有限公司 | 基于切片的视频转码加速方法 |
CN104159127B (zh) * | 2014-08-21 | 2019-02-22 | 北京奇艺世纪科技有限公司 | 一种视频转码方法、装置及系统 |
CN104202660A (zh) * | 2014-09-15 | 2014-12-10 | 乐视网信息技术(北京)股份有限公司 | 分片转码方法及装置 |
CN104363463B (zh) * | 2014-11-10 | 2019-06-18 | 能力天空科技(北京)有限公司 | 一种视频处理方法、装置及系统 |
CN104506935A (zh) * | 2014-12-31 | 2015-04-08 | 成都东方盛行电子有限责任公司 | 一种基于分片技术的音视频文件合成方法 |
CN105992018B (zh) * | 2015-02-11 | 2019-03-26 | 阿里巴巴集团控股有限公司 | 流媒体转码方法和装置 |
CN104837033B (zh) * | 2015-05-20 | 2018-09-25 | 腾讯科技(北京)有限公司 | 一种信息处理方法及服务器 |
CN105338371B (zh) * | 2015-10-29 | 2019-05-17 | 四川奇迹云科技有限公司 | 一种多媒体转码调度方法和装置 |
CN105578206A (zh) * | 2015-12-15 | 2016-05-11 | 无锡天脉聚源传媒科技有限公司 | 一种多媒体文件转码方法及装置 |
CN105763886A (zh) * | 2016-03-01 | 2016-07-13 | 深圳市茁壮网络股份有限公司 | 一种分布式转码方法和装置 |
CN107205164B (zh) * | 2016-03-18 | 2020-09-01 | 百度在线网络技术(北京)有限公司 | 一种视频转码方法及装置 |
CN106454391B (zh) * | 2016-10-31 | 2020-04-28 | 腾讯科技(深圳)有限公司 | 一种直播转点播方法、装置及终端 |
CN109471715B (zh) * | 2018-09-17 | 2021-10-29 | 咪咕视讯科技有限公司 | 一种转码任务的调度方法、装置及存储介质 |
CN112165622B (zh) * | 2020-09-23 | 2023-06-27 | 上海网达软件股份有限公司 | 一种单Pod多协程视频文件转码方法及系统 |
CN112423024A (zh) * | 2020-11-18 | 2021-02-26 | 北京乐学帮网络技术有限公司 | 一种视频转码方法、装置、计算机设备和存储介质 |
CN112954391B (zh) * | 2021-02-05 | 2022-12-06 | 北京百度网讯科技有限公司 | 视频编辑方法、装置和电子设备 |
CN114363304B (zh) * | 2021-12-27 | 2024-04-19 | 浪潮通信技术有限公司 | Rtp视频流存储、播放方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1694533A (zh) * | 2005-06-02 | 2005-11-09 | 上海交通大学 | 网络视频编码器多维尺度码率控制方法 |
CN101964894A (zh) * | 2010-08-24 | 2011-02-02 | 中国科学院深圳先进技术研究院 | 一种视频分片并行转码方法和系统 |
CN102739927A (zh) * | 2011-09-23 | 2012-10-17 | 新奥特(北京)视频技术有限公司 | 一种媒体资源制作的方法及系统 |
CN102780918A (zh) * | 2012-08-15 | 2012-11-14 | 华数传媒网络有限公司 | 一种视频分布式转换编码格式方法 |
CN102790905A (zh) * | 2012-08-03 | 2012-11-21 | 重庆大学 | 基于P2PVoD视频点播系统的H.264/SVC到H.264/AVC的转码方法 |
CN103237037A (zh) * | 2013-05-08 | 2013-08-07 | 华迪计算机集团有限公司 | 基于云计算架构的媒体格式转换方法和系统 |
CN103458270A (zh) * | 2013-09-09 | 2013-12-18 | 深圳市融创天下科技股份有限公司 | 视频转码系统和方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9432704B2 (en) * | 2011-11-06 | 2016-08-30 | Akamai Technologies Inc. | Segmented parallel encoding with frame-aware, variable-size chunking |
-
2013
- 2013-12-30 CN CN201310746505.8A patent/CN103731678B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1694533A (zh) * | 2005-06-02 | 2005-11-09 | 上海交通大学 | 网络视频编码器多维尺度码率控制方法 |
CN101964894A (zh) * | 2010-08-24 | 2011-02-02 | 中国科学院深圳先进技术研究院 | 一种视频分片并行转码方法和系统 |
CN102739927A (zh) * | 2011-09-23 | 2012-10-17 | 新奥特(北京)视频技术有限公司 | 一种媒体资源制作的方法及系统 |
CN102790905A (zh) * | 2012-08-03 | 2012-11-21 | 重庆大学 | 基于P2PVoD视频点播系统的H.264/SVC到H.264/AVC的转码方法 |
CN102780918A (zh) * | 2012-08-15 | 2012-11-14 | 华数传媒网络有限公司 | 一种视频分布式转换编码格式方法 |
CN103237037A (zh) * | 2013-05-08 | 2013-08-07 | 华迪计算机集团有限公司 | 基于云计算架构的媒体格式转换方法和系统 |
CN103458270A (zh) * | 2013-09-09 | 2013-12-18 | 深圳市融创天下科技股份有限公司 | 视频转码系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103731678A (zh) | 2014-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103731678B (zh) | 视频文件的并行转码方法及系统 | |
CN104809168B (zh) | 超大规模rdf图数据的划分与并行分布处理方法 | |
CN102591880A (zh) | 信息提供方法及装置 | |
CN1858734A (zh) | 一种数据存储及搜索方法 | |
CN112818457B (zh) | 基于cad图纸的bim模型智能生成方法及系统 | |
US20130085987A1 (en) | Downloading method and device | |
CN104216995B (zh) | 信息处理方法及装置 | |
CN108304460B (zh) | 一种改进数据库的定位方法及系统 | |
CN103279521A (zh) | 一种基于Hadoop的视频大数据分布式解码方法 | |
CN107784085B (zh) | 一种数据列表的导出方法及其终端 | |
CN105205636A (zh) | 一种计算物料需求计划mrp的方法及装置 | |
CN102982155A (zh) | 基于图形识别的缺陷检索系统及方法 | |
CN105359142A (zh) | 哈希连接方法、装置和数据库管理系统 | |
CN110505322A (zh) | 一种ip地址段查找方法及装置 | |
CN103064935A (zh) | 一种多媒体数据并行处理系统及方法 | |
CN103116653A (zh) | 基于属性匹配的服务资源搜索方法及系统 | |
CN103024605A (zh) | 视频文件的云转码方法和系统 | |
CN103957154A (zh) | 网络数据包url过滤方法 | |
CN104253754A (zh) | 一种acl快速匹配的方法和设备 | |
CN107515916B (zh) | 数据查询的性能优化方法及装置 | |
CN103514284A (zh) | 数据显示系统和数据显示方法 | |
CN1492359A (zh) | 一种多关键字自动状态机查找匹配方法 | |
US11409646B2 (en) | Method for releasing memory | |
CN104657335A (zh) | 一种基于fft的数据采样方法和装置 | |
CN103678545A (zh) | 进行网络资源聚类的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |