CN110784731A - 一种数据流转码方法、装置、设备及介质 - Google Patents
一种数据流转码方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN110784731A CN110784731A CN201911071583.6A CN201911071583A CN110784731A CN 110784731 A CN110784731 A CN 110784731A CN 201911071583 A CN201911071583 A CN 201911071583A CN 110784731 A CN110784731 A CN 110784731A
- Authority
- CN
- China
- Prior art keywords
- data stream
- target
- transcoding
- chip
- stream
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000012545 processing Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 19
- 238000012544 monitoring process Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 10
- 230000010354 integration Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26291—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for providing content or additional data updates, e.g. updating software modules, stored at the client
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申公开了一种数据流转码方法,应用于服务器,所述服务器中部署用于针对数据流进行软件转码的第一类芯片和用于针对数据流进行硬件转码的第二类芯片,所述第一类芯片和所述第二类芯片各自对应的转码需求等级不同,包括:获取待转码的数据流作为目标数据流,确定所述目标数据流对应的目标转码需求等级,从所述第一类芯片和所述第二类芯片中选择与所述目标转码需求等级相匹配的第一目标芯片,调用所述第一目标芯片对所述目标数据流进行转码处理得到转码流。通过采用与数据流相匹配的芯片进行转码,充分发挥各芯片能力,提升整体转码能力,满足实时性业务的突发需求。本申请还公开了对应的装置、设备、系统及介质。
Description
技术领域
本申请涉及数据传输技术领域,尤其涉及一种数据流转码方法、装置、设备及计算机存储介质。
背景技术
随着互联网业务的快速发展,实时性业务呈爆发式增长,例如典型的实时性业务“互联网直播”,实时性业务已经成为互联网业务的主流业务,而且实时性业务的数据流的体量也越来越大,而在实时性业务实现的过程中很重要的一个环节是数据流转码处理,所述数据流转码处理是指将实时产生的数据流转成符合业务需求特定格式的转码流,然而,当实时性业务的数据流体量越来越大时,数据流转码处理对后台服务需要的资源也越来越多。
典型的,例如直播数据流转码不像点播业务的数据流转码可以离线利用空闲中央处理器(Central Processing Unit/Processor,CPU)的资源进行转码,而直播业务必须要求实时性,因此数据流转码就需要很多并发资源。
然而,传统的数据流转码架构基本都是采用CPU芯片进行数据流转码,如此就需要大量的CPU机器搭建转码大集群,而随着实时性业务的数据流不断增大,转码架构就需要不断更新,动辄就需要增加成千上万台机器,甚至需要分成多个集群管理,而大规模的机器数量对机房的要求也更高,如此说明,传统的数据流转码架构对业务突发需求扩容不够灵活,很难快速适配实时性业务的突发需求。
发明内容
本申请提供了一种数据流转码方法,其通过部署至少两种类型芯片,采用与数据流相匹配的芯片进行转码,充分发挥各芯片能力,提升整体转码能力,满足实时性业务的突发需求。本申请还提供了对应的装置、设备、介质以及计算机程序产品。
本申请第一方面提供了一种数据流转码方法,应用于服务器,所述服务器中部署用于针对数据流进行软件转码的第一类芯片和用于针对数据流进行硬件转码的第二类芯片,所述第一类芯片和所述第二类芯片各自对应的转码需求等级不同,所述方法包括:
获取待转码的数据流作为目标数据流;
确定所述目标数据流对应的目标转码需求等级;
从所述第一类芯片和所述第二类芯片中选择与所述目标转码需求等级相匹配的第一目标芯片;
调用所述第一目标芯片对所述目标数据流进行转码处理得到转码流。
本申请第二方面提供了一种数据流转码装置,应用于服务器,所述服务器中部署用于针对数据流进行软件转码的第一类芯片和用于针对数据流进行硬件转码的第二类芯片,所述第一类芯片和所述第二类芯片各自对应的转码需求等级不同,所述装置包括:
获取模块,用于获取待转码的数据流作为目标数据流;
确定模块,用于确定所述目标数据流对应的目标转码需求等级;
选择模块,用于从所述第一类芯片和所述第二类芯片中选择与所述目标转码需求等级相匹配的目标芯片;
调用模块,用于调用所述目标芯片对所述目标数据流进行转码处理得到转码流。
本申请第三方面提供一种设备,所述设备包括:
处理器以及存储器,其中,
所述存储器用于存储计算机程序;
所述处理器用于根据所述计算机程序执行上述第一方面所述的数据流转码方法。
本申请第四方面提供一种数据流转码系统,所述系统包括:
第一服务器和多个第二服务器,所述多个第二服务器中每个服务器中至少部署用于针对数据流进行软件转码的第一类芯片和用于针对数据流进行硬件转码的第二类芯片中的至少一类芯片,其中,所述第一类芯片和所述第二类芯片各自对应的转码需求等级不同;
所述第一服务器包括处理器以及存储器,其中,
所述存储器用于存储计算机程序;
所述处理器用于根据所述计算机程序执行如下步骤:
获取待转码的数据流作为目标数据流;
确定所述目标数据流对应的目标转码需求等级;
从所述第一类芯片和所述第二类芯片中选择与所述目标转码需求等级相匹配的第一目标芯片;
调用所述第二服务器中的所述第一目标芯片对所述目标数据流进行转码处理得到转码流。
本申请第五方面提供一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述第一方面所述的数据流转码方法。
本申请第六方面提供一种包括指令的计算机程序产品,当其在计算机上运行时,使得所述计算机执行上述第一方面所述的数据流转码方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
服务器通过部署用于针对数据流进行软件转码的第一类芯片和用于针对数据流进行硬件转码的第二类芯片,如此可以实现软硬件转码一体化,具体地,针对待转码的目标数据流,服务器先确定其对应的目标转码需求等级,由于第一类芯片和第二类芯片对应的转码需求等级不同,服务器可以从第一类型芯片和第二类芯片中选择与目标转码需求等级相匹配的第一目标芯片,基于该第一目标芯片对目标数据流进行转码处理,与仅基于CPU芯片进行转码相比,该方法采用与数据流的转码需求等级相匹配的芯片进行转码,能够充分发挥各芯片性能,降低资源消耗,并且,在发生突发需求时,基于计算能力强、逻辑能力强的芯片进行扩容,可以减少扩容芯片数量,快速适配实时性业务的突发需求,同时降低了对机房和储备机器的要求。
附图说明
图1为本申请实施例中数据流转码方法的系统架构图;
图2为本申请实施例中数据流转码方法的流程图;
图3为本申请实施例中直播场景示意图;
图4为本申请实施例中直播场景下编码集群进行转码的流程图;
图5为本申请实施例中数据流转码装置的一个结构示意图;
图6为本申请实施例中数据流转码装置的一个结构示意图;
图7为本申请实施例中数据流转码装置的一个结构示意图;
图8为本申请实施例中数据流转码装置的一个结构示意图;
图9为本申请实施例中数据流转码装置的一个结构示意图;
图10为本申请实施例中服务器的一个结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
针对传统的数据流转码架构对业务突发需求扩容不够灵活,很难快速适配实时性业务的突发需求这一问题,本申请提供了一种基于多类芯片的数据流转码架构,通过对不同数据流采用与其转码需求等级相匹配的芯片进行转码处理,可以充分发挥各芯片的性能,降低资源消耗,并且在有突发需求时,基于计算能力强、逻辑能力强的芯片进行扩容,可以有效减少扩容芯片的数量,快速适配实时性业务的突发需求。
可以理解,本申请提供的数据流转码方法可以应用于服务器,该服务器具体是提供数据流转码服务器的计算设备,其可以独立形式存在,当然,在计算量较大或者计算要求较高时,服务器也可以集群形式存在。
本申请提供的数据流转码方法能够以计算机程序的形式存储于服务器,服务器通过运行该计算机程序实现本申请的数据流转码方法。需要说明,计算机程序可以是独立的,也可以是集成于其他程序之上的功能模块、插件或者小程序等等。
在实际应用时,本申请提供的数据流转码方法可以包括但不限于应用于如图1所示的应用环境。
如图1所示,终端101和服务器集群102通过网络进行连接,其中,服务器集群102具体包括一个第一服务器103和多个第二服务器104,第一服务器103作为服务器集群102的主控节点,第二服务器104作为服务器集群102的从控节点,且第二服务器104中部署用于针对数据流进行软件转码的第一类芯片和用于针对数据流进行硬件转码的第二类芯片。
当终端101向服务器集群102发送转码请求时,第一服务器102根据该请求获取待转码的目标数据流,确定目标数据流对应的目标转码需求等级,然后从第一类芯片和第二类芯片中选择与目标转码需求等级相匹配的第一目标芯片,如此,第一服务器103可以调用第二服务器104中的第一目标芯片对目标数据流进行转码处理得到转码流。
图1是以服务器集群进行示例说明,在实际应用时,也可以是单个服务器对数据流进行转码处理。
为了使得本申请的技术方案更加清楚、易于理解,接下来,从服务器的角度对本申请实施例提供的数据流转码方法进行介绍。
参见图2所示的数据流转码方法的流程图,该方法包括:
S201:获取待转码的数据流作为目标数据流。
在直播、视频会议等场景中,常常需要将直播过程中产生的数据流(即连续不断的数据集合)或者视频会议过程中产生的数据流转换成与用户端相匹配的数据流,以使用户端获得较好的体验。其中,将数据流从一种格式转换为另一种格式即为转码。
在实际应用时,服务器可以响应于用户端如终端发送的转码请求,根据转码请求中携带的数据流标识获取待转码的数据流,作为目标数据流。需要说明,服务器可以是从本地获取上述待转码的数据流,也可以是通过网络从其他服务器中获取上述待转码的数据流。在一些可能的实现方式中,服务器可以优先从本地获取上述待转码的数据流,当本地获取失败时,再通过网络从其他服务器获取上述待转码的数据流,如此,可以提高获取待转码数据流的效率,从而提高转码效率。
在有些情况下,例如对用户端本地的数据流进行格式转换场景中,用户端可以主动向服务器上传待转码的数据流,如此,服务器在接收到该待转码的数据流时,将其作为目标数据流进行转码处理。
需要说明的是,待转码的数据流可以是任意类型的数据流,作为一个示例,其可以是音频数据流、视频数据流,也可以是字符数据流、操作数据流等等。
S202:确定所述目标数据流对应的目标转码需求等级。
在对目标数据流进行转码时,可能存在不同的转码需求,例如对转码效率的需求、转码质量的需求等等,为此,服务器可以通过转码需求等级衡量转码需求。
在一些可能的实现方式中,服务器可以基于目标数据流所属的冷热流类型确定目标转码需求等级。具体地,服务器可以先基于目标数据流所属业务,获取目标数据流对应的业务属性信息,然后根据该业务属性信息确定目标数据流的流类型,其中,目标数据流的流类型具体用于标识目标数据流为冷流或者热流,所谓热流具体是指热门数据流,也即有较多用户端请求的数据流,所谓冷流具体是指冷门数据流,即较少用户端请求的数据流,需要说明,目标数据流也可以是介于热门和冷门之间的普通数据流,然后服务器可以根据目标数据流的类型确定对应的目标转码需求等级。
例如,目标数据流为热流时,从业务层面考虑,其重要程度高于冷流,服务器可以将其目标转码需求等级确定为较高等级,目标数据量为冷流时,从业务层面考虑,其重要程度低于热流,而且冷流的数量在业务平台占比较高,因此,可以将其目标转码需求等级确定为较低等级,在转码质量不会大幅降低的前提下,可以大幅提升转码效率。
为了便于理解,以目标数据流为直播流进行示例说明。在直播场景中,直播流对应的业务属性信息包括主播属性信息和页面来源信息中的至少一个,其中,页面来源信息主要用于标识直播流来自主页或者非主页,主播属性信息可以包括主播粉丝数、主播频道订阅数、历史直播观看人次等信息中的至少一种,历史直播观看人次可以是历史直播观看总人次、场均人次、单场直播观看人次最大值或者单场直播观看人次最小值中的至少一种,服务器可以基于这些业务属性信息预估当前直播流的热门程度。
在具体实现时,服务器可以根据所述直播流对应的业务属性信息评估所述目标数据流的影响力,例如,服务器可以按照预先设定的针对各种业务属性信息对应的权值对业务属性信息进行加权求和,然后将和值作为目标数据流的影响力,接着,服务器根据目标数据流的影响力确定目标数据流的流类型,例如,服务器可以将目标数据流的影响力与预设的影响力阈值进行比较,若目标数据流的影响力大于影响力阈值,则确定数据流的流类型为热流,否则确定数据流的流类型为冷流。
进一步地,在识别数据流的流类型时,还可以结合数据流的内容进行识别。具体地,服务器可以根据直播流对应的业务属性信息以及直播流的内容进行加权求和,确定目标数据流的影响力,基于该影响力确定目标数据流的流类型,如此可以提高识别精准度。
在另一些可能的实现方式中,服务器也可以基于目标数据流的转码格式信息确定目标转码需求等级。具体地,服务器可以先获取目标数据流对应的目标转码格式信息,该目标转码格式信息用于标识所述目标数据流对应的目标转码质量,例如,服务器可以从转码请求中获取上述目标转码格式信息,当然,转码请求中未携带目标转码格式信息时,也可以将默认格式作为目标转码格式信息,然后服务器根据目标转码格式信息确定目标数据流对应的目标转码需求等级。
具体地,当目标转码格式信息标识目标数据流对应的目标转码质量为高质量,其中,高质量具体是指帧率高于预设帧率、分辨率高于预设分辨率和/码率高于预设码率,例如可以是帧率在60帧以上,分辨率为2K、4K或以上,或者码率在10M以上,则服务器可以将目标转码需求等级确定为较高的等级,对应地,目标转码质量为低质量时,服务器可以将目标转码需求等级确定为较低的等级。
在有些情况下,服务器也可以根据数据流的流类型和转码格式信息,综合确定目标转码需求等级。具体地,服务器可以获取所述目标数据流对应的业务属性信息,然后根据所述业务属性信息确定所述目标数据流的流类型,所述目标数据流的流类型用于标识所述目标数据流为冷流或者热流,此外服务器可以获取目标数据流对应的目标转码格式信息,接着根据所述目标数据流的流类型和目标转码格式信息,综合确定目标数据流对应的目标转码需求等级。
具体地,服务器可以先判断目标数据流的流类型,确定热流的目标转码需求等级高于冷流的目标转码需求等级,当目标数据流为热流时,可以进一步判断目标转码格式信息,确定高质量对应的目标转码需求等级高于低质量对应的目标转码需求等级。
作为一个示例,目标数据流为冷流时,确定其目标转码需求等级为第一等级,目标数据流为热流,且目标转码格式信息为低质量时,确定其转码需求等级为第二等级,目标数据流为热流,且目标转码格式信息为高质量时,确定其转码需求等级为第三等级。
其中,第一等级、第二等级、第三等级中的第一、第二、第三为虚数,分别用于表征低级、中级和高级,而且上述第一等级、第二等级、第三等级均可以包括至少一个等级,例如,目标转码需求等级分为5级时,第一等级可以是级别较低的2个等级,第三级别可以是级别较高的2个等级,第二等级则是中间的一个等级。
S203:从所述第一类芯片和所述第二类芯片中选择与所述目标转码需求等级相匹配的第一目标芯片。
第一类芯片具体可以是针对数据流进行软件转码的芯片,第二类芯片具体可以是针对数据流进行硬件转码的芯片,可以理解,所述第一类芯片和所述第二类芯片各自对应的转码需求等级是不同的,服务器可以根据芯片各自对应的转码需求等级从第一类芯片和第二类芯片中选择与目标转码需求等级相匹配的芯片作为第一目标芯片。
在一些可能的实现方式中,第一类芯片可以是CPU,第二类芯片可以是专用集成电路芯片(Application Specific Integrated Circuit,ASIC)、图形处理器(GraphicsProcess Unit,GPU)和可编辑门阵列芯片(Field-Programmable Gate Array,FPGA)中至少一种。
在实际应用时,服务器可以部ASIC、GPU和FPGA,其中,FPGA对应的转码需求等级高于CPU的转码需求等级,CPU对应的转码需求等级高于ASIC和GPU,当目标数据流的目标转码需求等级为高级时,则服务器可以优先选择FPGA作为与目标数据流的目标转码需求等级相匹配的目标芯片,当然,若FPGA不可用时,服务器也可以选择转码需求等级略低于FPGA的CPU,当目标数据流的目标转码需求等级为中级时,则可以优先选择CPU作为与目标数据流的目标转码需求等级相匹配的目标芯片,当目标数据流的目标转码需求等级为初级时,则可以优先选择ASIC或GPU作为与所述目标数据流的目标转码需求等级相匹配的目标芯片。
需要说明的是,上述第一类芯片和第二类芯片可以是服务器自身部署的芯片,也可以是其他服务器中部署的芯片,服务器调用其他服务器中部署的上述第一类芯片和第二类芯片进行转码处理。基于此,服务器从第一类芯片和第二类芯片中确定的第一目标芯片可以是服务器自身的芯片,也可以是其他服务器中的芯片,例如服务器集群中作为从控节点的服务器的芯片。
S204:调用所述第一目标芯片对所述目标数据流进行转码处理得到转码流。
具体地,服务器调用第一目标芯片,根据目标数据流的流类型和/或目标数据流的目标转码格式信息对目标数据流进行转码处理,从而得到转码流。
为了便于理解,下面结合一具体示例进行说明。
在一个示例中,目标数据流为热流,且目标转码质量为高质量,服务器可以调用FPGA对该目标数据流进行转码处理,得到高质量的转码流,在另一个示例中,目标数据流为热流,且目标转码质量为低质量,此时服务器可以调用CPU对该目标数据流进行转码处理,得到转码流。当然,目标数据流为冷流,无论目标转码质量为高质量还是低质量,服务器均调用ASIC和GPU中的至少一个对目标数据流进行转码处理,得到转码流。
由上可知,本申请实施例提供了一种数据流转码方法,服务器通过部署用于针对数据流进行软件转码的第一类芯片和用于针对数据流进行硬件转码的第二类芯片,如此可以实现软硬件转码一体化,具体地,针对待转码的目标数据流,服务器先确定其对应的目标转码需求等级,由于第一类芯片和第二类芯片对应的转码需求等级不同,服务器可以从第一类型芯片和第二类芯片中选择与目标转码需求等级相匹配的第一目标芯片,基于该第一目标芯片对目标数据流进行转码处理,与仅基于CPU芯片进行转码相比,该方法采用与数据流的转码需求等级相匹配的芯片进行转码,能够充分发挥各芯片性能,降低资源消耗,并且,在发生突发需求时,基于计算能力强、逻辑能力强的芯片进行扩容,可以减少扩容芯片数量,快速适配实时性业务的突发需求,同时降低了对机房和储备机器的要求。
考虑到数据流是不断传输的,在此期间可能会有新用户请求数据流,也可能会有老用户停止接收数据流,也即数据流的冷热流类型是可变的,服务器可以根据数据流的实际接收情况,实时切换冷热流类型,进而实时切换目标芯片,以保证资源得到最优化利用。
具体地,在图2所示实施例基础上,服务器还可以在调用所述目标芯片对所述目标数据流进行转码处理得到转码流之后,执行如下步骤:
S205:监控所述目标数据流对应的实时用户量。
目标数据流对应的实时用户量,具体是指实时接收该目标数据流的用户端的数量。在直播场景中,目标数据流对应的实时用户量可以是实时收看直播的用户端,如手机、电脑、电视等电子设备的数量,在该场景中,服务器可以通过网管设备统计接收直播流的链路数量,从而确定实时用户量。在视频会议场景中,服务器可以基于确定参与视频会议的用户端数量,参与视频会议的多个用户中,一个用户端的用户发言时,其产生的数据流即为目标数据流,剩余用户端的数量即为该目标数据流的实时用户量。
S206:根据所述实时用户量与预设用户量阈值的比较情况,确定是否切换所述目标数据流对应的流类型;当所述目标数据流对应的流类型发生切换时,执行S207。
在具体实现时,预设用户量阈值可以包括第一用户量阈值,当实时用户量高于该第一用户量阈值时,服务器可以确定目标数据流为热流,若预先确定的目标数据流的流类型为冷流,则切换该目标数据流对应的流类型,即将目标数据流由冷流切换为热流。
进一步地,预设用户量阈值还可以包括第二用户量阈值,当实时用户量阈值低于该第二用户量阈值时,服务器可以确定目标数据流为冷流,若预先确定的目标数据流的流类型为热流时,则切换该目标数据流对应的流类型,即将目标数据流由热流切换为冷流。
上述第一用户量阈值可以等于第二用户量阈值,也可以不等于第二用户量阈值,当实时用户量介于第一用户量阈值和第二用户量阈值之间时,则表征目标数据流既不是热流,也不是冷流,服务器可以不执行切换流类型的操作。
S207:根据切换后的流类型重新确定所述目标数据流对应的目标转码需求等级,根据重新确定的目标转码需求等级重新从所述第一类芯片和所述第二类芯片中选择第二目标芯片,由所述第一目标芯片切换至所述第二目标芯片,调用第二目标芯片继续对所述目标数据流进行转码处理得到转码流。
当服务器执行流类型切换操作时,其目标转码需求等级可能发生变更,服务器可以重新根据切换后的流类型确定目标数据流对应的目标转码需求等级,然后根据重新确定的目标转码需求等级重新从所述第一类芯片和所述第二类芯片中选择第二目标芯片,由所述第一目标芯片切换至所述第二目标芯片,调用第二目标芯片继续对所述目标数据流进行转码处理得到转码流。
其中,服务器重新确定目标转码需求等级的具体实现可以参见S202相关内容描述,根据重新确定的目标转码需求等级重新从所述第一类芯片和所述第二类芯片中选择第二目标芯片的具体实现可以参见S203相关内容描述,调用第二目标芯片继续对所述目标数据流进行转码处理得到转码流的具体实现可以参见S204相关内容描述。
为了便于理解本申请的技术方案,接下来结合直播这一落地场景对数据流转码方法进行介绍。
参见图3所示的直播场景示意图,其示出了整个直播平台从主播到观众的全链路每个环节,根据直播源不同可以分为两种直播场景,一种为电视台直播,一般用于对大型赛事、节目进行直播,另一种为个人直播,一般用于日常分享交流。
针对电视台直播,可以由摄像机现场拍摄得到视频流后,通过专线或者卫星传送至编码集群机房,编码集群将接收到的直播流进行解码,然后转码为互联网通用的编码格式,具体可以包括多种清晰度的编码格式,例如360P、720P、1080P等多种清晰度的编码格式,转码完成后将转码流上传至直播平台源站,直播平台源站将转码流分发各个边缘节点,直播观众可以通过各自的用户端选择距离最近或者网速最快的边缘节点接入,用户端获取转码流后显示转码流,如此,用户可以观看直播内容。
针对个人直播,可以采用手机等终端采集视频信号得到直播流,然后通过手机将直播流通过上行加速平台传送至编码集群,编码集群处理过程及其后续处理过程与电视台直播相同,具体可以参见上文相关内容描述。
其中,编码集群对接收到的直播流进行解码的过程可以参见图4,主播进行开播推流,首先会接入到服务器的接流服务模块,接流服务模块进行收流后可以将主播属性信息等信息通知到业务识别系统,业务识别系统根据主播属性信息以及直播流的页面来源信息智能识别直播流是冷流还是热流,并将识别结果通知到调度系统,调度系统根据直播流对应的目标转码格式信息和流类型调度芯片,并采用对应芯片进行转码处理。
具体地,直播流为热流,且直播流对应的目标转码格式信息为高质量时,采用FPGA进行转码处理,直播流为热流,且直播流对应的目标转码格式信息为低质量时,采用CPU进行转码处理,直播流为冷流时,无论其对应的目标转码格式信息为低质量还是高质量,均可以调度ASIC或者GPU进行转码处理,得到转码流,用户端获取转码流,并播放该转码流。
与已有的直播流转码方法相比,该方法能够实现如下功能:
(1)软硬件一体化:该方法提供转码软硬件一体化整套服务方案,该方案对客户透明,通过自动智能识别直播流的业务特性,智能调度ASIC/GPU/FPGA进行硬件转码或者CPU进行软件转码。由于硬件转码性能是软件转码性能20倍以上,质量相差5%左右,而且大部分业务特性是冷流占比90%以上,如此给硬件转码提供了很大的空间。
(2)冷热分离:根据业务特性将冷流和热流进行分离区分,并采用不同的芯片转码策略,使整个直播转码系统的灵活性大大提升。其中,冷热分离需要对业务特性进入深入的了解和分析,比如根据直播流的历史用户量情况,直播流的内容是否受大家欢迎等因素进行预测。此外,还根据直播流实时用户量情况,确定是否切换流类型。
(3)充分利用各种芯片能力:不同类型芯片的计算能力、逻辑能力都不一样,其中,ASIC/GPU/FPGA等异构芯片的计算能力比CPU芯片计算能力强很多倍,而转码又是资源消耗型,需要用到大量的计算资源,因此,ASIC/GPU/FPGA等异构芯片非常适合用于转码。
其中,ASIC芯片计算能力强,功耗低,因此转码成本低,逻辑计算能力稍弱,所以转码质量会差5%左右;GPU芯片计算能力强,功耗相对较高,逻辑计算能力和ASIC相当,转码成本比ASIC要高,但开发复杂度低,也有一定利用价值。FPGA计算能力强,逻辑能力强,但功耗高很多,相比ASIC和GPU,转码成本稍高,但因为计算能力强,逻辑能力强,转码质量好,对于在因为CPU芯片计算能力不足,导致无法转码的应用场景,FPGA较为适用。
(4)抗突发能力强:采用了软硬件一体化直播转码系统,能力是以传统转码系统20倍以上。比如50000路直播流实时转码,传统的直播转码系统需要2500台机器,如果业务突发再增加50000路流,则需要再新增2500台机器,这对机房要求和储备机器buffer要求都是非常高的。而本申请采用的软硬件一体化直播转码系统50000路流只需要125台机器,再增加50000路也就增加125台机器,抗突发能力强。
通过本方案的冷热分离,充分利用各芯片能力,软硬件转码一体化系统,系统转码能力提升20倍以上,业务成本降低约70%,满足高质量高帧率业务清晰度需求,为直播行业健康发展提供坚实的基础平台。
以上是以直播场景进行示例说明的,可以理解,本申请提供的数据流转码方法还可以应用于视频会议、语音群聊等场景,或者是银行、公共系统的实时数据流并发场景,本实施例对此不作限定。
以上是本申请实施例提供的数据流转码方法的具体实现方式,基于此,本申请实施例还提供了对应的数据流转码装置,下面将从功能模块化角度进行介绍。
参见图5所示的数据流转码装置的结构示意图,该装置500应用于服务器,所述服务器中部署用于针对数据流进行软件转码的第一类芯片和用于针对数据流进行硬件转码的第二类芯片,所述第一类芯片和所述第二类芯片各自对应的转码需求等级不同,所述装置500包括:
获取模块510,用于获取待转码的数据流作为目标数据流;
确定模块520,用于确定所述目标数据流对应的目标转码需求等级;
选择模块530,用于从所述第一类芯片和所述第二类芯片中选择与所述目标转码需求等级相匹配的目标芯片;
调用模块540,用于调用所述目标芯片对所述目标数据流进行转码处理得到转码流。
可选的,参见图6,图6为本申请实施例提供的数据流转码装置的一个结构示意图,在图5所示结构的基础上,所述确定模块520包括:
第一获取子模块521,用于获取所述目标数据流对应的业务属性信息;
流类型分类子模块522,用于根据所述业务属性信息确定所述目标数据流的流类型,所述目标数据流的流类型用于标识所述目标数据流的业务重要程度等级;
第一划分子模块523,用于根据所述目标数据流的流类型确定所述目标数据流对应的目标转码需求等级。
可选的,参见图7,图7为本申请实施例提供的数据流转码装置的一个结构示意图,在图5所示结构的基础上,所述确定模块520包括:
第二获取子模块524,用于获取所述目标数据流对应的目标转码格式信息,所述目标转码格式信息用于标识所述目标数据流对应的目标转码质量;
第二划分子模块525,用于根据所述目标转码格式信息确定所述目标数据流对应的目标转码需求等级。
可选的,参见图8,图8为本申请实施例提供的数据流转码装置的一个结构示意图,在图5所示结构的基础上,所述确定模块520包括:
第一获取子模块526,用于获取所述目标数据流对应的业务属性信息;
流类型分类子模块527,用于根据所述业务属性信息确定所述目标数据流的流类型,所述目标数据流的流类型用于标识所述目标数据流为冷流或者热流;
第二获取子模块528,用于获取所述目标数据流对应的目标转码格式信息,所述目标转码格式信息用于标识所述目标数据流对应的目标转码质量;
第三划分子模块529,用于根据所述目标数据流的流类型和所述目标转码格式信息,确定所述目标数据流对应的目标转码需求等级。
可选的,所述目标数据流为直播流;所述直播流对应的业务属性信息包括主播属性信息和用于标识所述直播流来自主页或非主页的页面来源信息中至少一种;
所述流类型分类子模块522或流类型分类子模块527具体用于:
根据所述直播流对应的业务属性信息评估所述目标数据流的影响力;以及,根据所述目标数据流的影响力确定所述目标数据流的流类型,所述目标数据流的流类型为冷流或者热流。
可选的,参见图9,图9为本申请实施例提供的数据流转码装置的一个结构示意图,在图6所示结构基础上,所述装置500还包括:
实时用户量监控模块550,用于监控所述目标数据流对应的实时用户量;
流类型切换控制模块560,用于根据所述实时用户量与预设用户量阈值的比较情况,确定是否切换所述目标数据流对应的流类型;
芯片调用切换控制模块570,用于当所述目标数据流对应的流类型发生切换时,则根据切换后的流类型重新确定所述目标数据流对应的目标转码需求等级,根据重新确定的目标转码需求等级重新从所述第一类芯片和所述第二类芯片中选择第二目标芯片,由所述第一目标芯片切换至所述第二目标芯片,调用第二目标芯片继续对所述目标数据流进行转码处理得到转码流。
当然,图9也可以是在图8所示结构基础上还包括上述实时用户量监控模块550、流类型切换控制模块560和芯片调用切换控制模块570。
可选的,所述第一类芯片为中央处理器,所述第二类芯片包括专用集成电路芯片、图形处理器和可编辑门阵列芯片中至少一种。
可选的,所述第二类芯片包括所述专用集成电路芯片、所述图形处理器以及所述现场可编程门阵列芯片,其中所述现场可编辑门阵列芯片对应的转码需求等级高于所述中央处理器的转码需求等级,所述中央处理器的转码需求等级高于所述专用集成电路芯片和所述图形处理器的转码需求等级;
所述选择模块530具体用于:
当所述目标数据流的目标转码需求等级为高级,则优先选择所述现场可编程门阵列芯片作为与所述目标数据流的目标转码需求等级相匹配的目标芯片;
当所述目标数据流的目标转码需求等级为中级,则优先选择所述中央处理器作为与所述目标数据流的目标转码需求等级相匹配的目标芯片;
当所述目标数据流的目标转码需求等级为初级,则选择优先所述专用集成电路芯片和所述图形处理器作为与所述目标数据流的目标转码需求等级相匹配的目标芯片。
本申请实施例还提供了一种设备,该设备具体可以是服务器,图10是本申请实施例提供的一种服务器结构示意图,该服务器1000可因配置或性能不同而产生比较大的差异,可以包括用于针对数据流进行软件转码的第一类芯片1022、用于针对数据流进行硬件转码的第二类芯片1023和存储器1032、一个或一个以上存储应用程序1042或数据1044的存储介质1030(例如一个或一个以上海量存储设备)。其中,第一类芯片具体可以是CPU,第二类芯片具体可以是ASIC、GPU和FPGA中的至少一个,存储器1032和存储介质1030可以是短暂存储或持久存储。存储在存储介质1030的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。
服务器1000还可以包括一个或一个以上电源1026,一个或一个以上有线或无线网络接口1050,一个或一个以上输入输出接口1058,和/或,一个或一个以上操作系统1041,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图10所示的服务器结构。
其中,CPU用于执行如下步骤:
获取待转码的数据流作为目标数据流;
确定所述目标数据流对应的目标转码需求等级;
从所述第一类芯片1022和所述第二类芯片1023中选择与所述目标转码需求等级相匹配的第一目标芯片;
调用所述第一目标芯片对所述目标数据流进行转码处理得到转码流。
可选的,所述CPU还用于执行本申请实施例提供的数据流转码方法的任意一种实现方式的步骤。
图10所示实施例是独立的服务器,在实际应用时,服务器还可以集群形式存在,该集群可以称作数据流转码系统,该转码系统包括:
第一服务器和多个第二服务器,所述多个第二服务器中每个服务器中至少部署用于针对数据流进行软件转码的第一类芯片和用于针对数据流进行硬件转码的第二类芯片中的至少一类芯片,其中,所述第一类芯片和所述第二类芯片各自对应的转码需求等级不同;
所述第一服务器包括处理器以及存储器,其中,
所述存储器用于存储计算机程序;
所述处理器用于根据所述计算机程序执行如下步骤:
获取待转码的数据流作为目标数据流;
确定所述目标数据流对应的目标转码需求等级;
从所述第一类芯片和所述第二类芯片中选择与所述目标转码需求等级相匹配的第一目标芯片;
调用所述第二服务器中的所述第一目标芯片对所述目标数据流进行转码处理得到转码流。
本申请实施例还提供一种计算机可读存储介质,用于存储计算机程序,该计算机程序用于执行前述各个实施例所述的一种数据流转码方法中的任意一种实施方式。
本申请实施例还提供一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行前述各个实施例所述的一种数据流转码方法中的任意一种实施方式。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read-OnlyMemory,英文缩写:ROM)、随机存取存储器(英文全称:Random Access Memory,英文缩写:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (15)
1.一种数据流转码方法,其特征在于,所述方法包括:
获取待转码的数据流作为目标数据流;
确定所述目标数据流对应的目标转码需求等级;
从所述第一类芯片和所述第二类芯片中选择与所述目标转码需求等级相匹配的第一目标芯片;其中,所述第一类芯片用于针对数据流进行软件转码和所述第二类芯片用于针对数据流进行硬件转码;
调用所述第一目标芯片对所述目标数据流进行转码处理得到转码流。
2.根据权利要求1所述的方法,其特征在于,所述确定所述目标数据流对应的目标转码需求等级,包括:
获取所述目标数据流对应的业务属性信息;
根据所述业务属性信息确定所述目标数据流的流类型,所述目标数据流的流类型用于标识所述目标数据流为冷流或者热流;
根据所述目标数据流的流类型确定所述目标数据流对应的目标转码需求等级。
3.根据权利要求1所述的方法,其特征在于,所述确定所述目标数据流对应的目标转码需求等级,包括:
获取所述目标数据流对应的目标转码格式信息,所述目标转码格式信息用于标识所述目标数据流对应的目标转码质量;
根据所述目标转码格式信息确定所述目标数据流对应的目标转码需求等级。
4.根据权利要求1所述的方法,其特征在于,所述确定所述目标数据流对应的目标转码需求等级,包括:
获取所述目标数据流对应的业务属性信息;
根据所述业务属性信息确定所述目标数据流的流类型,所述目标数据流的流类型用于标识所述目标数据流为冷流或者热流;
获取所述目标数据流对应的目标转码格式信息,所述目标转码格式信息用于标识所述目标数据流对应的目标转码质量;
根据所述目标数据流的流类型和所述目标转码格式信息,确定所述目标数据流对应的目标转码需求等级。
5.根据权利要求2或4所述的方法,其特征在于,所述目标数据流为直播流;所述直播流对应的业务属性信息包括主播属性信息和用于标识所述直播流来自主页或非主页的页面来源信息中至少一种;
所述根据业务属性信息确定所述目标数据流的流类型,包括:
根据所述直播流对应的业务属性信息评估所述目标数据流的影响力;
根据所述目标数据流的影响力确定所述目标数据流的流类型,所述目标数据流的流类型为冷流或者热流。
6.根据权利要求2或4所述的方法,其特征在于,在调用所述目标芯片对所述目标数据流进行转码处理得到转码流之后,所述方法还包括:
监控所述目标数据流对应的实时用户量;
根据所述实时用户量与预设用户量阈值的比较情况,确定是否切换所述目标数据流对应的流类型;
当所述目标数据流对应的流类型发生切换时,则根据切换后的流类型重新确定所述目标数据流对应的目标转码需求等级,根据重新确定的目标转码需求等级重新从所述第一类芯片和所述第二类芯片中选择第二目标芯片,由所述第一目标芯片切换至所述第二目标芯片,调用第二目标芯片继续对所述目标数据流进行转码处理得到转码流。
7.根据权利要求1至4中任一项所述的方法,其特征在于,所述第一类芯片为中央处理器,所述第二类芯片包括专用集成电路芯片、图形处理器和可编辑门阵列芯片中至少一种。
8.根据权利要求7所述的方法,其特征在于,所述第二类芯片包括所述专用集成电路芯片、所述图形处理器以及所述现场可编程门阵列芯片,其中所述现场可编辑门阵列芯片对应的转码需求等级高于所述中央处理器的转码需求等级,所述中央处理器的转码需求等级高于所述专用集成电路芯片和所述图形处理器的转码需求等级;
所述从所述第一类芯片和所述第二类芯片中选择与所述目标转码需求等级相匹配的目标芯片,包括:
当所述目标数据流的目标转码需求等级为高级,则优先选择所述现场可编程门阵列芯片作为与所述目标数据流的目标转码需求等级相匹配的目标芯片;
当所述目标数据流的目标转码需求等级为中级,则优先选择所述中央处理器作为与所述目标数据流的目标转码需求等级相匹配的目标芯片;
当所述目标数据流的目标转码需求等级为初级,则优先选择所述专用集成电路芯片或所述图形处理器作为与所述目标数据流的目标转码需求等级相匹配的目标芯片。
9.一种数据流转码装置,其特征在于,应用于服务器,所述服务器中部署用于针对数据流进行软件转码的第一类芯片和用于针对数据流进行硬件转码的第二类芯片,所述第一类芯片和所述第二类芯片各自对应的转码需求等级不同,所述装置包括:
获取模块,用于获取待转码的数据流作为目标数据流;
确定模块,用于确定所述目标数据流对应的目标转码需求等级;
选择模块,用于从所述第一类芯片和所述第二类芯片中选择与所述目标转码需求等级相匹配的目标芯片;
调用模块,用于调用所述目标芯片对所述目标数据流进行转码处理得到转码流。
10.根据权利要求9所述的装置,其特征在于,所述确定模块,包括:
第一获取子模块,用于获取所述目标数据流对应的业务属性信息;
流类型分类子模块,用于根据所述业务属性信息确定所述目标数据流的流类型,所述目标数据流的流类型用于标识所述目标数据流的业务重要程度等级;
第一划分子模块,用于根据所述目标数据流的流类型确定所述目标数据流对应的目标转码需求等级。
11.根据权利要求9所述的装置,其特征在于,所述确定模块,包括:
第二获取模块,用于获取所述目标数据流对应的目标转码格式信息,所述目标转码格式信息用于标识所述目标数据流对应的目标转码质量;
第二划分模块,用于根据所述目标转码格式信息确定所述目标数据流对应的目标转码需求等级。
12.根据权利要求9所述的装置,其特征在于,所述确定模块,包括:
第一获取子模块,用于获取所述目标数据流对应的业务属性信息;
流类型分类子模块,用于根据所述业务属性信息确定所述目标数据流的流类型,所述目标数据流的流类型用于标识所述目标数据流为冷流或者热流;
第二获取子模块,用于获取所述目标数据流对应的目标转码格式信息,所述目标转码格式信息用于标识所述目标数据流对应的目标转码质量;
第三划分子模块,用于根据所述目标数据流的流类型和所述目标转码格式信息,确定所述目标数据流对应的目标转码需求等级。
13.一种设备,其特征在于,所述设备包括:
处理器以及存储器,其中,
所述存储器用于存储计算机程序;
所述处理器用于根据所述计算机程序执行权利要求1至8任一项所述的数据流转码方法。
14.一种数据流转码系统,其特征在于,包括:
第一服务器和多个第二服务器,所述多个第二服务器中每个服务器中至少部署用于针对数据流进行软件转码的第一类芯片和用于针对数据流进行硬件转码的第二类芯片中的至少一类芯片,其中,所述第一类芯片和所述第二类芯片各自对应的转码需求等级不同;
所述第一服务器包括处理器以及存储器,其中,
所述存储器用于存储计算机程序;
所述处理器用于根据所述计算机程序执行如下步骤:
获取待转码的数据流作为目标数据流;
确定所述目标数据流对应的目标转码需求等级;
从所述第一类芯片和所述第二类芯片中选择与所述目标转码需求等级相匹配的第一目标芯片;
调用所述第二服务器中的所述第一目标芯片对所述目标数据流进行转码处理得到转码流。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行权利要求1至8任一项所述的数据流转码方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911071583.6A CN110784731B (zh) | 2019-11-05 | 2019-11-05 | 一种数据流转码方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911071583.6A CN110784731B (zh) | 2019-11-05 | 2019-11-05 | 一种数据流转码方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110784731A true CN110784731A (zh) | 2020-02-11 |
CN110784731B CN110784731B (zh) | 2022-01-14 |
Family
ID=69389176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911071583.6A Active CN110784731B (zh) | 2019-11-05 | 2019-11-05 | 一种数据流转码方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110784731B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111314740A (zh) * | 2020-03-19 | 2020-06-19 | 杭州慧川智能科技有限公司 | 一种基于芯片间并行的高性能转码方法 |
CN112543374A (zh) * | 2020-11-30 | 2021-03-23 | 联想(北京)有限公司 | 一种转码控制方法、装置及电子设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102802024A (zh) * | 2012-08-28 | 2012-11-28 | 曙光信息产业(北京)有限公司 | 在服务器端实现的转码方法以及转码系统 |
US20130279602A1 (en) * | 2012-04-24 | 2013-10-24 | Vixs Systems, Inc. | Configurable transcoder and methods for use therewith |
CN103702124A (zh) * | 2012-09-27 | 2014-04-02 | 深圳市快播科技有限公司 | 一种转码加速方法和转码器 |
WO2015060638A1 (ko) * | 2013-10-22 | 2015-04-30 | 네이버 주식회사 | 적응적 실시간 트랜스코딩 방법 및 이를 위한 스트리밍 서버 |
CN107070686A (zh) * | 2016-12-23 | 2017-08-18 | 武汉烽火众智数字技术有限责任公司 | 一种视频监控平台码流并行转码的系统和方法 |
CN107396123A (zh) * | 2017-09-25 | 2017-11-24 | 南京荣膺软件科技有限公司 | 便携式智能动态软硬件切换转码系统 |
CN109213593A (zh) * | 2017-07-04 | 2019-01-15 | 阿里巴巴集团控股有限公司 | 用于全景视频转码的资源分配方法、装置和设备 |
-
2019
- 2019-11-05 CN CN201911071583.6A patent/CN110784731B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130279602A1 (en) * | 2012-04-24 | 2013-10-24 | Vixs Systems, Inc. | Configurable transcoder and methods for use therewith |
CN102802024A (zh) * | 2012-08-28 | 2012-11-28 | 曙光信息产业(北京)有限公司 | 在服务器端实现的转码方法以及转码系统 |
CN103702124A (zh) * | 2012-09-27 | 2014-04-02 | 深圳市快播科技有限公司 | 一种转码加速方法和转码器 |
WO2015060638A1 (ko) * | 2013-10-22 | 2015-04-30 | 네이버 주식회사 | 적응적 실시간 트랜스코딩 방법 및 이를 위한 스트리밍 서버 |
CN107070686A (zh) * | 2016-12-23 | 2017-08-18 | 武汉烽火众智数字技术有限责任公司 | 一种视频监控平台码流并行转码的系统和方法 |
CN109213593A (zh) * | 2017-07-04 | 2019-01-15 | 阿里巴巴集团控股有限公司 | 用于全景视频转码的资源分配方法、装置和设备 |
CN107396123A (zh) * | 2017-09-25 | 2017-11-24 | 南京荣膺软件科技有限公司 | 便携式智能动态软硬件切换转码系统 |
Non-Patent Citations (2)
Title |
---|
CHENWEI SONG等: "Distributed Video Transcoding Based on MapReduce", 《2014 IEEE/ACIS 13TH INTERNATIONAL CONFERENCE ON COMPUTER AND INFORMATION SCIENCE 》 * |
视点观察: "ST:支持智能互联家庭", 《电视技术》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111314740A (zh) * | 2020-03-19 | 2020-06-19 | 杭州慧川智能科技有限公司 | 一种基于芯片间并行的高性能转码方法 |
CN112543374A (zh) * | 2020-11-30 | 2021-03-23 | 联想(北京)有限公司 | 一种转码控制方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110784731B (zh) | 2022-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Petrangeli et al. | An http/2-based adaptive streaming framework for 360 virtual reality videos | |
CN105451031B (zh) | 一种视频转码方法和系统 | |
US20160029079A1 (en) | Method and Device for Playing and Processing a Video Based on a Virtual Desktop | |
CN111447447B (zh) | 直播编码方法、装置以及电子设备 | |
CN108965884B (zh) | 一种转码任务的分配方法及调度设备、转码设备 | |
CN114666225B (zh) | 带宽调整方法、数据传输方法、设备及计算机存储介质 | |
CN110784731B (zh) | 一种数据流转码方法、装置、设备及介质 | |
CN111031389B (zh) | 视频处理方法、电子装置和存储介质 | |
WO2023131076A2 (zh) | 视频处理方法、装置及系统 | |
CN111970565A (zh) | 视频数据处理方法、装置、电子设备及存储介质 | |
US10708667B1 (en) | Combining fragments with different encodings | |
CN113438495A (zh) | Vr直播方法、装置、系统、设备及存储介质 | |
CN114173160A (zh) | 直播推流方法及装置 | |
US20210227005A1 (en) | Multi-user instant messaging method, system, apparatus, and electronic device | |
CN114500914A (zh) | 音视频转发方法、装置、终端与系统 | |
CN115209189B (zh) | 一种视频流传输方法、系统、服务器及存储介质 | |
CN116980662A (zh) | 流媒体播放方法、装置、电子设备、存储介质及程序产品 | |
CN114945097B (zh) | 视频流处理方法及装置 | |
US20220239920A1 (en) | Video processing method, related apparatus, storage medium, and program product | |
CN112752058A (zh) | 调整视频流的属性的方法和装置 | |
RU2662648C1 (ru) | Способ и устройство для обработки данных | |
US8799332B2 (en) | Content conversion apparatus and method | |
Nguyen et al. | Scalable and resilient 360-degree-video adaptive streaming over HTTP/2 against sudden network drops | |
CN113676777B (zh) | 数据处理方法及装置 | |
CN112543373B (zh) | 一种转码控制方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40021536 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |