CN112543373B - 一种转码控制方法、装置及电子设备 - Google Patents
一种转码控制方法、装置及电子设备 Download PDFInfo
- Publication number
- CN112543373B CN112543373B CN202011383237.4A CN202011383237A CN112543373B CN 112543373 B CN112543373 B CN 112543373B CN 202011383237 A CN202011383237 A CN 202011383237A CN 112543373 B CN112543373 B CN 112543373B
- Authority
- CN
- China
- Prior art keywords
- transcoding
- threads
- frame
- thread
- video 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000012545 processing Methods 0.000 claims abstract description 40
- 238000005520 cutting process Methods 0.000 claims abstract description 18
- 238000004806 packaging method and process Methods 0.000 claims description 9
- 238000012163 sequencing technique Methods 0.000 claims description 5
- 230000011218 segmentation Effects 0.000 abstract description 6
- 102100037812 Medium-wave-sensitive opsin 1 Human genes 0.000 description 17
- 238000010586 diagram Methods 0.000 description 9
- 238000009826 distribution Methods 0.000 description 7
- 239000011521 glass Substances 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 6
- 238000005538 encapsulation Methods 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000002194 synthesizing 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing 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/4402—Processing 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/440281—Processing 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 altering the temporal resolution, e.g. by frame skipping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/177—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/40—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/436—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing 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/4402—Processing 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/440263—Processing 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 altering the spatial resolution, e.g. for displaying on a connected PDA
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请公开了一种转码控制方法、装置及电子设备,方法包括:获得待转码的视频流;对所述视频流进行帧切割,以得到多个图像组,所述图像组中包含至少一帧图像;利用电子设备上创建的多个转码线程,并行对所述图像组进行转码处理;其中,一个所述转码线程对应于所述电子设备上的一个转码部件,以使得所述多个转码线程能够通过各自对应的转码部件并行对所述图像组进行转码处理。可见,本申请中通过对视频流中的图像进行帧分割,进而同时利用多个转码线程并行通过各自对应的转码部件对分割出的每个图像组进行转码处理,由此在同一时刻可以并行运行多个转码部件进行转码操作,避免转码部件处于空闲的情况,从而提高转码部件的利用率。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种转码控制方法、装置及电子设备。
背景技术
音视频转码是直播、点播、短视频、视频会议领域的关键技术,近些年随着直播、视频网站的兴起,视频转码技术受到广泛关注和应用,普通直播或点播要求视频的帧率在25-30fps,分辨率在480P-1080P,而相对于普通视频直播,VR直播通常要求视频帧率为60-120fps,分辨率为2K-8K,VR视频转码的算力要求是远高于普通视频转码,而且VR或游戏类直播需要更高的网络带宽和更低操作延迟,所以为了减少视频传输距离,通常需要在边缘节点进行转码,边缘节点的设备算力通常要低于云端的设备算力,因此,需要在有限硬件资源条件下,最大程度发挥硬件的转码能力以满足更高转码速率的转码需求。
目前提升单路视频的转码速率的做法有很多,比如通过并行的方式处理一个视频,即任务级的并行转码方案,该方案需要在转码前将待转码文件均等分割成多个小文件,然后对每个小文件分别启动一个转码线程进行转码,最后把多个转码后的文件再合成一个文件,因此,该方案对大文件的转码性能有一定的提升。
但是,这种并行转发方案中将参与转码的硬件如CPU、GPU以及专用视频编解码芯片等用于转码的不同环节中,导致同一时刻只有一种硬件在进行转码操作,其他硬件处于等待状态,导致转码资源的利用率较低。
发明内容
有鉴于此,本申请提供一种转码控制方法、装置及电子设备,如下:
一种转码控制方法,包括:
获得待转码的视频流;
对所述视频流进行帧切割,以得到多个图像组,所述图像组中包含至少一帧图像;
利用电子设备上创建的多个转码线程,并行对所述图像组进行转码处理;
其中,一个所述转码线程对应于所述电子设备上的一个转码部件,以使得所述多个转码线程能够通过各自对应的转码部件并行对所述图像组进行转码处理。
上述方法,优选的,所述转码线程通过以下方式创建:
获得至少两个转码部件的可用资源信息;
根据所述视频流的视频属性和所述可用资源信息,创建至少两个转码线程。
上述方法,优选的,所述转码线程对应的转码部件的部件参数与所述视频流的视频属性相匹配,且所述转码线程对应的转码部件的可用资源信息中的资源剩余量大于或等于所述视频流对应的剩余量阈值。
上述方法,优选的,所述转码线程具有帧队列;
其中,在对所述视频流进行帧切割,以得到多个图像组之后,所述方法还包括:
将所述图像组分别存储到所述转码线程对应的帧队列中,以使得所述转码线程能够通过其对应的转码部件对所述转码线程对应的帧队列中的图像组进行转码处理。
上述方法,优选的,将所述图像组分别存储到所述转码线程对应的帧队列中,包括:
获得所述转码线程的转码性能参数;
将所述图像组分别存储到所述转码线程对应的帧队列中;其中,所述帧队列中的图像组的数量与所述帧队列对应的转码线程的转码性能参数相关。
上述方法,优选的,所述转码性能参数每隔目标时长更新,所述目标时长为固定时长或者处理目标数量的图像组所持续的时长。
上述方法,优选的,所述转码性能参数至少包含所述转码线程进行转码处理的速率值;
其中,所述获得所述转码线程的转码性能参数,包括:
获得所述转码线程在第一时长内进行转码处理的图像组的第一数量,根据所述第一数量和所述第一时长,获得所述转码线程进行转码处理的速率值;
或者,获得所述转码线程处理第二数量的图像组所使用的第二时长,根据所述第二数量和所述第二时长,获得所述转码线程进行转码处理的速率值。
上述方法,优选的,还包括:
分别获得所述转码线程输出的转码结果;
按照所述转码结果中经过转码处理的图像组的时序,对所述经过转码处理的图像组进行排序;
将排序后的图像组进行封装,得到经过转码处理的视频流。
一种转码控制装置,包括:
视频流获得单元,用于获得待转码的视频流;
视频流切割单元,用于对所述视频流进行帧切割,以得到多个图像组,所述图像组中包含至少一帧图像;
并行转码单元,用于利用电子设备上创建的多个转码线程,并行对所述图像组进行转码处理;
其中,一个所述转码线程对应于所述电子设备上的一个转码部件,以使得所述多个转码线程能够通过各自对应的转码部件并行对所述图像组进行转码处理。
一种电子设备,包括:
多个转码部件;
控制器,用于获得待转码的视频流;对所述视频流进行帧切割,以得到多个图像组,所述图像组中包含至少一帧图像;利用电子设备上创建的多个转码线程,并行对所述图像组进行转码处理;
其中,一个所述转码线程对应于所述电子设备上的一个转码部件,以使得所述多个转码线程能够通过各自对应的转码部件并行对所述图像组进行转码处理。
从上述技术方案可以看出,本申请公开的一种转码控制方法、装置及电子设备中,在获得到待转码的视频流之后,通过对视频流进行帧切割,以得到多个图像组,这些图像组中包含一帧图像或多帧图像,进而利用电子设备上创建的多个转码线程并行对图像组进行转码处理,其中的一个转码线程对应于电子设备上的一个转码部件,由此多个转码线程能够通过各自对应的转码部件并行对相应的图像组进行转码处理。可见,本申请中通过对视频流中的图像进行帧分割,进而同时利用多个转码线程并行通过各自对应的转码部件对分割出的每个图像组进行转码处理,由此在同一时刻可以并行运行多个转码部件进行转码操作,避免转码部件处于空闲的情况,从而提高转码部件的利用率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例一提供的一种转码控制方法的流程图;
图2为本申请实施例中视频流的示例图;
图3为本申请实施例中转码线程与转码部件的示例图;
图4为本申请实施例一提供的一种转码控制方法的部分流程图;
图5为本申请实施例中转码线程与转码部件的另一示例图;
图6为本申请实施例一提供的一种转码控制方法的另一流程图;
图7为本申请实施例中视频流分割以及图像组存储的示例图;
图8为本申请实施例一提供的一种转码控制方法的另一部分流程图;
图9为本申请实施例一提供的一种转码控制方法的又一流程图;
图10为本申请实施例二提供的一种转码控制装置的结构示意图;
图11及图12分别为本申请实施例二提供的一种转码控制装置的另一结构示意图;
图13为本申请实施例三提供的一种电子设备的结构示意图;
图14为本申请适用于视频点播或直播等领域中的动态并行转码加速系统框架;
图15为本申请适用于视频点播或直播等领域中的动态并行转码的流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参考图1,为本申请实施例一提供的一种转码控制方法的实现流程图,该方法可以适用于具有多个转码部件且能够控制转码部件对视频流进行转码处理的电子设备中,如手机、pad、虚拟现实VR(Virtual Reality)眼镜或增强现实AR(Augmented Reality)眼镜等。转码部件可以有中央处理器CPU(Central Processing Unit)、图形处理器GPU(GraphicsProcessing Unit)和其他专用编解码芯片等能够对视频帧进行转码处理的部件。本实施例中的技术方案主要用于提高转码部件的利用率。
具体的,本实施例中的方法可以包括以下步骤:
步骤101:获得待转码的视频流。
其中,待转码的视频流为转码任务请求对应的需要进行转码处理的视频流,视频流中包含有多帧具有时序的图像,还可以包含有音频。待转码的视频流可以为实现本实施例的电子设备所接收到的其他设备如服务器等发送的视频流,如AR设备中接收到的游戏服务器发送的视频流,或者,待转码的视频流为电子设备上需要进行播放或处理的视频流,如AR设备中预先保存的需要进行展示的视频流。
具体的,本实施例中可以通过电子设备上的WiFi模块、蓝牙模块或天线等通信模块接收其他设备如服务器等发送来的视频流,或者,本实施例中可以通过电子设备上的接口读取到所保存的视频流。
步骤102:对视频流进行帧切割,以得到多个图像组。
其中,分割出来的每个图像组中均包含至少一帧图像,图像组中的图像为未解码的图像帧序列,每帧图像均具有时序,如图2中所示,图像组中的图像之间具有时序的前后关系,而图像组之间也因为所包含的图像的时序具有前后关系。
具体的,本实施例中可以对视频流中的图像按照其中的关键帧进行分割,如以视频流中的GOP(Group of picture)为单位进行帧分割,分割出的每个图像组中包含一个关键帧,可能还包含有一个或多个非关键帧,由此,经过帧分割后,视频流按照其中图像帧的时序被分割为多个图像组。
需要说明的是,关键帧是指视频流中包含完整画面的视频帧,如I帧,非关键帧是指关键帧之后的差别帧,差别帧包含有单向差别帧,即使用本帧与前一视频帧之间的差别来表征的视频帧,如P帧,差别帧还包含有双向差别帧,即使用本帧与前一视频帧和后一视频帧之间的差别来表征的视频帧,如B帧。
步骤103:利用电子设备上创建的多个转码线程,并行对图像组进行转码处理。
其中,一个转码线程对应于电子设备上的一个转码部件,以使得多个转码线程能够通过各自对应的转码部件并行对图像组进行转码处理。如图3中所示,本实施例中创建有三个转码线程A、B和C,每个转码线程分别对应于转码部件a、b和c,在图像组被分割出来之后,每个转码线程分别通过各自对应的转码部件对相应的图像组并行进行转码处理,由此,在视频流被转码处理过程中,同时有三个转码部件处于转码运行状态。
由上述方案可知,本申请实施例一提供的一种转码控制方法中,在获得到待转码的视频流之后,通过对视频流进行帧切割,以得到多个图像组,这些图像组中包含一帧图像或多帧图像,进而利用电子设备上创建的多个转码线程并行对图像组进行转码处理,其中的一个转码线程对应于电子设备上的一个转码部件,由此多个转码线程能够通过各自对应的转码部件并行对相应的图像组进行转码处理。可见,本实施例中通过对视频流中的图像进行帧分割,进而同时利用多个转码线程并行通过各自对应的转码部件对分割出的每个图像组进行转码处理,由此在同一时刻可以并行运行多个转码部件进行转码操作,避免转码部件处于空闲的情况,从而提高转码部件的利用率。
在一种实现方式中,本实施例中的转码线程可以通过以下步骤创建,如图4中所示:
步骤401:获得至少两个转码部件的可用资源信息。
其中,转码部件可以为CPU、GPU和其他专用编解码芯片等部件,本实施例中通过对电子设备中能够进行转码处理的转码部件进行监测,来得到每个转码部件的可用资源信息。
需要说明的是,转码部件的可用资源信息可以包含有:转码部件在对视频流进行转码处理中所需要使用的转码资源的可用量,即剩余量,以CPU为例,其可用资源信息具体可以包含有CPU资源剩余量、内存剩余量等信息,以GPU为例,其可用资源信息具体可以包含有GPU芯片资源剩余量、GPU显存剩余量以及GPU中的剩余通用计算能力参数等信息。
步骤402:根据视频流的视频属性和可用资源信息,创建至少两个转码线程。
其中,视频流的视频属性可以包含有视频流的封装格式、编码格式、视频时长、帧率、码率和分辨率等属性信息,本实施例中可以在步骤101中获得到视频流之后,对视频流进行属性解析,以得到视频流的属性信息。基于此,步骤401-步骤402可以在步骤101之后以及步骤103之前执行,在步骤102之前或之后或与步骤102同时执行所得到的不同技术方案均在本申请的保护范围内。
需要说明的是,本实施例中所创建的每个转码线程分别对应于一个转码部件,且转码部件的可用资源信息满足视频流对应的转码执行条件。其中,转码执行条件中至少包含:转码部件的可用资源信息中的资源剩余量大于或等于视频流对应的剩余量阈值,其中的剩余量阈值与视频流本身相关,可以根据经验值进行预设,而且转码部件的部件参数与视频流的视频属性相匹配的,以使得转码部件不仅能够支持视频流的转码处理,而且具有对视频流进行转码的能力。
其中,转码部件的部件参数与视频流的视频属性相匹配是指:转码部件的部件类型所支持转码的特定视频属性与视频流的视频属性相一致。例如,CPU支持X编码类型的视频流转码,GPU支持Y编码类型的视频流转码,基于此,对于编码类型为X的视频流,其使用的转码部件为CPU,而如果视频流为Y编码类型,那么转码部件为GPU。
具体的,本实施例中可以在电子设备的多个转码部件中监测各个转码部件的可用资源信息,同时利用视频流的视频属性如编码类型、封装格式等对转码部件进行筛选,由此,在筛选出部件参数与视频属性相匹配且可用资源信息满足转码执行条件的转码部件的时候,创建该转码部件对应的转码线程。
例如,本实施例中在CPU、GPU和专用编解码芯片中监测各个转码部件的可用资源信息,同时利用视频流的编码类型等属性对转码部件进行筛选,由此,筛选出所支持的编码类型与视频流的编码类型相匹配且可用资源信息中的资源剩余量大于剩余量阈值的转码部件的时候,创建出这些转码部件对应的转码线程。
需要说明的是,本实施例中所创建的转码线程对应的转码部件的部件类型可能不同,但部件参数均与视频流的视频属性相匹配,例如,本实施例中分别创建出CPU和GPU两个转码部件对应的转码线程,CPU和GPU两个转码部件虽然部件类型不同,但均能够支持对具有Z编码类型的视频流的转码处理。
在一种实现方式中,被创建的转码线程同时被建立有帧队列,因此,每个转码线程分别对应有一个帧队列和一个转码部件,如图5中所示。基于此,在步骤102中对视频流进行帧切割并得到多个图像组之后,本实施例中的方法还可以包括以下步骤,如图6中所示:
步骤104:将图像组分别存储到转码线程对应的帧队列中,以使得转码线程能够通过其对应的转码部件对转码线程对应的帧队列中的图像组进行转码处理。
其中,本实施例中是将分割出来的图像组分别存储到每个转码线程对应的帧队列中,如图7中所示,每个转码线程对应的帧队列分别被存储如一个或多个图像组,并且,随着视频流的分割的进行,后续分割出的图像组也陆续被存储到各个帧队列中,而被存储入图像组的每个帧队列对应的转码线程通过各自对应的转码部件对帧队列中的图像组进行转码处理。
需要说明的是,被存储到帧队列中的图像组之间具有时序,该时序为各图像组在视频流中的时序。例如,两个图像组被依次存储到转码线程A对应的帧队列中,两个图像组被存储到帧队列中的时序与两个图像组在视频流中的时序相一致,由此,按照该时序,由转码线程A对应的转码部件a依次对其帧队列中的这两个图像组进行转码处理,当然,同时转码线程B对应的转码部件b会依次对其帧队列中的图像组进行转码处理。
具体的,本实施例中在将图像组分别存储到转码线程对应的帧队列中时,具体可以通过以下步骤实现,如图8中所示:
步骤801:获得转码线程的转码性能参数。
其中,转码性能参数表征转码线程对应的转码部件对图像组中的图像进行转码处理的能力。具体,可以包含转码线程对应的转码部件进行转码处理的速率值,如在单位时间内所转码处理的图像组的数量或者处理固定数量的图像组所使用的时长等。
具体的,步骤801中在获得转码线程的转码性能参数时,可以通过以下方式实现:
在一种方式中,获得转码线程在第一时长内进行转码处理的图像组的第一数量,再根据第一数量和第一时长,获得转码线程进行转码处理的速率值。
其中,第一时长可以为预设的固定时长,如1分钟或30秒等时长,而第一数量则是转码线程对应的转码部件连续处理的图像组的数量,基于此,将第一数量除以第一时长就可以得到转码线程中进行转码处理的速率值。
在另一种方式中,获得转码线程处理第二数量的图像组所使用的第二时长,根据第二数量和第二时长,获得转码线程进行转码处理的速率值。
其中,第二数量可以为预设的固定数量,如M个GOP,而第二时长则是转码线程对应的转码部件连续处理这第二数量的图像组所消耗的时长,基于此,将第二数量除以第二时长就可以得到转码线程中进行转码处理的速率值。
需要说明的是,各个转码线程初始利用转码部件初始对图像组进行转码处理时,可以按照初始预设的固定速率值分别向每个转码线程对应的帧队列中存储图像组,即将初始预设的固定数量的图像组存储到每个帧队列中,在转码线程通过对应的转码部件对图像组进行处理的过程中,定期更新速率值,例如,根据转码部件实时处理图像组的数量和相应时长来更新速率值。
基于此,步骤801中的速率值为初始预设的固定速率值或者实时更新的速率值。
步骤802:将图像组分别存储到转码线程对应的帧队列中。
其中,被存储到帧队列中的图像组的数量与帧队列对应的转码线程的转码性能参数相关。例如,被存储到到帧队列中的图像组的数量与帧队列对应的转码线程进行转码的速率值相关。在初始转码时,被存储到帧队列中的图像组的数量可以跟帧队列对应的转码线程的初始预设的固定速率值相匹配,而在转码线程进行转码处理的过程中,随着转码的进行,定期更新速率值,相应的被存储到帧队列中的图像组的数量与帧队列对应的转码线程更新后的速率值相匹配。
也就是说,本实施例中可以根据转码线程的实时的速率值相应的向转码线程对应的帧队列中存储相应数量的图像帧,进而在每个转码线程对应的帧队列中避免出现空闲或堵塞的情况。
具体实现中,转码性能参数可以每隔目标时长更新,这里的目标时长为固定时长或者处理目标数量的图像组所持续的时长。以转码性能参数为进行转码的速率值为例,在每隔目标时长之后,根据每个转码线程处理图像组的时长和数量分别更新一次每个转码线程的速率值,或者,每当转码线程处理完固定数量的图像组之后,更新一次转码线程的速率值。由此,实现进行转码的速率值的动态更新,基于此实现动态的并行转码。
在一种实现方式中,本实施例中在每个转码线程利用其对应的转码部件分别对各自的帧队列中的图像组进行转码处理之后,还可以包含以下步骤,如图9中所示:
步骤105:分别获得转码线程输出的转码结果。
其中,转码结果中包含有经过转码处理的图像组,而经过转码处理的图像组还具有时序,该时序表征在原视频流中的时序位置。
步骤106:按照转码结果中经过转码处理的图像组的时序,对经过转码处理的图像组进行排序。
其中,本实施例中按照图像组的时序,对经过转码处理的图像组进行排序,由此,排序后的图像组之间的前后顺序与各个图像组在原视频流中的时序是一致的。
步骤107:将排序后的图像组进行封装,得到经过转码处理的视频流。
其中,本实施例中可以按照转码任务请求中所配置的封装格式对排序后的图像组进行封装,由此得到经过转码处理的视频流,进一步的,可以将经过转码处理的视频流进行输出。
其中,转码线程通过转码部件对帧队列中的图像组进行转码处理,具体过程如下:
利用转码部件对图像组中的图像按照转码配置参数中的编码类型、封装格式、帧率、码率和分辨率等信息依次进行解封装处理,再对解封装得到的图像数据进行解码,将解码得到的数据进行滤镜转码,再将输出的数据进行编码,进而将编码得到的图像再按照时序进行排序后,再封装,得到经过转码之后的视频流,之后,可以将该视频流进行输出,输出的视频流的视频属性与转码配置参数相匹配。
其中,转码配置参数可以由用户预先配置。
参考图10,为本申请实施例二提供的一种转码控制装置的结构示意图,该装置可以配置在具有多个转码部件且能够控制转码部件对视频流进行转码处理的电子设备中,如手机、pad、VR眼镜或AR眼镜等。转码部件可以有CPU、GPU和其他专用编解码芯片等能够对视频帧进行转码处理的部件。本实施例中的技术方案主要用于提高转码部件的利用率。
具体的,本实施例中的装置可以包含以下单元:
视频流获得单元1001,用于获得待转码的视频流;
视频流切割单元1002,用于对所述视频流进行帧切割,以得到多个图像组,所述图像组中包含至少一帧图像;
并行转码单元1003,用于利用电子设备上创建的多个转码线程,并行对所述图像组进行转码处理;
其中,一个所述转码线程对应于所述电子设备上的一个转码部件,以使得所述多个转码线程能够通过各自对应的转码部件并行对所述图像组进行转码处理。
由上述方案可知,本申请实施例二提供的一种转码控制装置中,在获得到待转码的视频流之后,通过对视频流进行帧切割,以得到多个图像组,这些图像组中包含一帧图像或多帧图像,进而利用电子设备上创建的多个转码线程并行对图像组进行转码处理,其中的一个转码线程对应于电子设备上的一个转码部件,由此多个转码线程能够通过各自对应的转码部件并行对相应的图像组进行转码处理。可见,本实施例中通过对视频流中的图像进行帧分割,进而同时利用多个转码线程并行通过各自对应的转码部件对分割出的每个图像组进行转码处理,由此在同一时刻可以并行运行多个转码部件进行转码操作,避免转码部件处于空闲的情况,从而提高转码部件的利用率。
在一种实现方式中,本实施例中的装置还可以包含以下单元,如图11中所示:
线程创建单元1004,用于获得至少两个转码部件的可用资源信息;根据所述视频流的视频属性和所述可用资源信息,创建至少两个转码线程。
可选的,所述转码线程对应的转码部件的部件参数与所述视频流的视频属性相匹配,且所述转码线程对应的转码部件的可用资源信息中的资源剩余量大于或等于所述视频流对应的剩余量阈值。
另外,所述转码线程具有帧队列;
其中,在视频流切割单元1002对所述视频流进行帧切割,以得到多个图像组之后,并行转码单元1003还用于:
将所述图像组分别存储到所述转码线程对应的帧队列中,以使得所述转码线程能够通过其对应的转码部件对所述转码线程对应的帧队列中的图像组进行转码处理。
具体的,并行转码单元1003将所述图像组分别存储到所述转码线程对应的帧队列中时,具体用于:获得所述转码线程的转码性能参数;将所述图像组分别存储到所述转码线程对应的帧队列中;其中,所述帧队列中的图像组的数量与所述帧队列对应的转码线程的转码性能参数相关。
可选的,所述转码性能参数每隔目标时长更新,所述目标时长为固定时长或者处理目标数量的图像组所持续的时长。
在一种实现方式中,所述转码性能参数至少包含所述转码线程进行转码处理的速率值;
其中,并行转码单元1003获得所述转码线程的转码性能参数,具体用于:获得所述转码线程在第一时长内进行转码处理的图像组的第一数量,根据所述第一数量和所述第一时长,获得所述转码线程进行转码处理的速率值;或者,获得所述转码线程处理第二数量的图像组所使用的第二时长,根据所述第二数量和所述第二时长,获得所述转码线程进行转码处理的速率值。
在一种实现方式中,本实施例中的装置还可以包括以下单元,如图12中所示:
排序封装单元1005,用于分别获得所述转码线程输出的转码结果;按照所述转码结果中经过转码处理的图像组的时序,对所述经过转码处理的图像组进行排序;将排序后的图像组进行封装,得到经过转码处理的视频流。
需要说明的是,本实施例中各单元的具体实现可以参考前文中的相应内容,此处不再详述。
参考图13,为本申请实施例三提供的一种电子设备的结构示意图,该电子设备可以为具有多个转码部件且能够控制转码部件对视频流进行转码处理的电子设备,如手机、pad、VR眼镜或AR眼镜等。转码部件可以有CPU、GPU和其他专用编解码芯片等能够对视频帧进行转码处理的部件。本实施例中的技术方案主要用于提高转码部件的利用率。
具体的,本实施例中的电子设备可以包括以下结构:
多个转码部件1301,如CPU、GPU和其他专用编解码芯片等。
控制器1302,用于获得待转码的视频流;对所述视频流进行帧切割,以得到多个图像组,所述图像组中包含至少一帧图像;利用电子设备上创建的多个转码线程,并行对所述图像组进行转码处理;
其中,一个所述转码线程对应于所述电子设备上的一个转码部件,以使得所述多个转码线程能够通过各自对应的转码部件并行对所述图像组进行转码处理。
由上述方案可知,本申请实施例三提供的一种电子设备中,在获得到待转码的视频流之后,通过对视频流进行帧切割,以得到多个图像组,这些图像组中包含一帧图像或多帧图像,进而利用电子设备上创建的多个转码线程并行对图像组进行转码处理,其中的一个转码线程对应于电子设备上的一个转码部件,由此多个转码线程能够通过各自对应的转码部件并行对相应的图像组进行转码处理。可见,本实施例中通过对视频流中的图像进行帧分割,进而同时利用多个转码线程并行通过各自对应的转码部件对分割出的每个图像组进行转码处理,由此在同一时刻可以并行运行多个转码部件进行转码操作,避免转码部件处于空闲的情况,从而提高转码部件的利用率。
需要说明的是,本实施例中控制器的具体实现可以参考前文中的相应内容,此处不再详述。
以下以视频点播、直播或短视频等领域中的视频流转码为例,对本申请中的技术方案进行举例说明:
通常情况下,视频转码任务可分解为解封装、解码、滤镜、编码、封装保存五个部分,其中解封装和封装保存在整个转码任务中属于轻计算重I/O的部分,而解码、编码、滤镜都为计算密集型的操作却几乎没有I/O操作。由于转码的五个环节是串行的,而且解封装和封装保存模块都是轻计算重I/O的操作,所以通常单个转码流水线的转码能力上限并不是转码系统的上限,对于单路视频的转码速度的提升存在较大空间。现有技术中,提升单路视频的转码速度的做法有很多,比如采用更高效的编解码算法或者使用更快速的编解码硬件,还有一类是通过并行的方式处理一个视频,所提出的分布式或分片式转码系统即是这种任务级的并行转码方案,该方案对大文件的转码性能有一定的提升,但该方法需要在转码前将待转码文件均等分割成多个小文件,然后对每个小文件分别启动一个转码线程进行转码,最后把多个转码后的文件再合成一个文件,该方案的忽略了视频帧的转码时间跟视频画面间复杂程度有关的事实,对于画面简单的视频片段可能很快既可以完成转码,而对于画面复杂的运动场景则需要较长时间完成转码,从而造成各转码子任务完成任务的时间不一致,造成硬件资源的浪费,而且该方法仅适用于离线视频文件,无法处理在线视频流。另外现有转码系统对于CPU、GPU以及专用视频编解码芯片的联合使用通常是将不同的硬件用于转码的不同环节中,而无法将CPU、GPU以及其他专用视频编解码芯片以并行的方式处理转码流程中的同一个环节,这将造成同一时刻只有一种硬件在进行转码操作,其他硬件处于等待状态,这将造成系统资源利用不饱和的情况。
基于此,本申请提出一种动态并行的视频转码加速方案,解决转码硬件利用率不高转码效率也低的缺陷,具体可以根据实现本申请的系统剩余可用的多种硬件资源自适应创建多路转码通道(转码线程)以提升单路视频的转码速度,同时根据不同转码通道各自的转码能力,自适应动态调整转码负载的分配。
结合图14中所示的动态并行转码加速系统框架,实现本申请的系统中至少包含有转码任务解析模块、视频解析模块、视频帧分发与同步管理模块、转码任务管理模块、可用转码资源监控模块以及视频封装合成模块。在转码任务管理模块中创建有CPU转码流水线(即转码线程)和GPU转码流水线等。
其中,可用转码资源监控模块负责监控系统中可用转码资源(可用资源信息)的使用情况,转码任务管理模块可根据系统中剩余的转码资源来动态调整转码任务。对于单路视频流,转码任务管理模块可以同时创建多条转码流水线进行并行转码,但由于每条转码流水线的转码能力或许不同(比如使用GPU资源的转码流水线速度要明显快于使用CPU资源的转码流水线),因此需要帧数据分发控制模块来根据不同转码流水线的转码能力为每条转码流水线分配合适的转码负载。
具体的动态并行转码的流程如图15所示:
(1)可用转码资源监控模块实时监控系统中可用转码资源的使用情况。可用转码资源包括CPU、内存、GPU中的编解码芯片、GPU的显存以及GPU中的通用计算能力。对转码资源的实时监控为转码任务管理模块创建转码流水线。
(2)用户提交转码任务请求后,视频解析模块从转码任务请求中分析待转码文件或者视频流(待转码文件)的视频属性,视频属性包括视频的编码类型、帧率、码率、分辨率,音频的编码类型、码率、采样率等。其中,编码格式可以有H.264,或H.265等。
(3)根据系统中剩余可用转码资源和待转码视频的属性,依据先验知识创建合适数量的转码流水线。通常如果系统中存在足够的GPU转码资源时,则优先创建GPU转码流水线,否则创建CPU流水线。对于硬件确定的转码平台,可以预先测算出各种转码流水线的转码效率。不同类型的转码流水线其转码效率有明显差别,比如通常GPU转码流水线要快于CPU,另外使用不同比例转码资源的同一类型的转码流水线的转码效率也是不同的,比如使用20%CPU资源的转码流水下理论上是使用10%CPU资源的转码流水线速率的2倍。
(4)转码流水线创建成功后,开始执行并行转码任务。视频解析模块从待转码数据流中提取待转码视频帧,以GOP为单位进行切割,每个GOP中是未解码的图像帧序列。将切割后的GOP元素连同该GOP在原始视频中的时序索引传送至GOP队列中。GOP队列存在于视频帧分发与同步管理模块中,每创建一条转码流水线,该模块中就会创建一个GOP队列。当有多个转码流水线时,GOP数据按如下策略传送至不同的GOP队列,假如有N个转码流水线,分别记为C1,C2,…,CN,其对应N个GOP队列,分别记为G1,G2,…,GN,其具体流程如下:
1)程序起始阶段,视频解析模块向每一个GOP队列发送固定数量M的GOP数据。
2)转码任务管理模块自动监控每一个转码流水线完成固定数量M个GOP的时间,记为{t1,t2,…,tN},N为转码流水线的数量。
3)计算各转码流水线的转码速度为{1/t1,1/t2,…,1/tN},可记为{s1,s2,…,sN}.其中si=1/ti,i∈[1,N]。多个转码流水线的总加速比为Sum=s1+s2+…+sN。
4)为确保各转码流水线处理时速均衡,视频帧分发与同步管理模块将根据各转码流水线的处理性能比分配GOP任务,即待转码视频帧。即每Sum个GOP中,分配给Gi队列的GOP数量为si。
5)每隔固定时间切换至步骤3)对各转码流水线的转码速度进行更新视频帧分发与同步管理模块,进而更新(统计)各转码流水线的负载分配比例。
(5)视频封装合成模块对各个转码流水线转码后的视频帧进行排序并按照转码任务请求封装成指定格式,得到视频文件或视频流。
可见,本申请中无需对文件进行切割或合并,而是按照视频流中的关键帧进行GOP分割,流程简单,除了可支持离线视频文件的转码,也可支持在线点播的实时转码。而且,本申请中实时动态调整各转码通道的负载比,能够合理高效的利用系统资源。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种转码控制方法,包括:
获得待转码的视频流;
对所述视频流进行帧切割,以得到多个图像组,所述图像组中包含至少一帧图像;
利用电子设备上创建的多个转码线程,并行对所述图像组进行转码处理;
其中,一个所述转码线程对应于所述电子设备上的一个转码部件,以使得所述多个转码线程能够通过各自对应的转码部件并行对所述图像组进行转码处理;
其中,所述转码线程具有帧队列;在对所述视频流进行帧切割,以得到多个图像组之后,所述方法还包括:
获得所述转码线程的转码性能参数;根据转码线程的实时的速率值,将相应数量的所述图像组分别存储到所述转码线程对应的帧队列中,以避免每个转码线程对应的帧队列中出现空闲或堵塞,以使得所述转码线程能够通过其对应的转码部件对所述转码线程对应的帧队列中的图像组进行转码处理,其中,所述帧队列中的图像组的数量与所述帧队列对应的转码线程的转码性能参数相关。
2.根据权利要求1所述的方法,所述转码线程通过以下方式创建:
获得至少两个转码部件的可用资源信息;
根据所述视频流的视频属性和所述可用资源信息,创建至少两个转码线程。
3.根据权利要求2所述的方法,所述转码线程对应的转码部件的部件参数与所述视频流的视频属性相匹配,且所述转码线程对应的转码部件的可用资源信息中的资源剩余量大于或等于所述视频流对应的剩余量阈值。
4.根据权利要求1所述的方法,所述转码性能参数每隔目标时长更新,所述目标时长为固定时长或者处理目标数量的图像组所持续的时长。
5.根据权利要求1所述的方法,所述转码性能参数至少包含所述转码线程进行转码处理的速率值;
其中,所述获得所述转码线程的转码性能参数,包括:
获得所述转码线程在第一时长内进行转码处理的图像组的第一数量,根据所述第一数量和所述第一时长,获得所述转码线程进行转码处理的速率值;
或者,获得所述转码线程处理第二数量的图像组所使用的第二时长,根据所述第二数量和所述第二时长,获得所述转码线程进行转码处理的速率值。
6.根据权利要求1所述的方法,还包括:
分别获得所述转码线程输出的转码结果;
按照所述转码结果中经过转码处理的图像组的时序,对所述经过转码处理的图像组进行排序;
将排序后的图像组进行封装,得到经过转码处理的视频流。
7.一种转码控制装置,包括:
视频流获得单元,用于获得待转码的视频流;
视频流切割单元,用于对所述视频流进行帧切割,以得到多个图像组,所述图像组中包含至少一帧图像;
并行转码单元,用于利用电子设备上创建的多个转码线程,并行对所述图像组进行转码处理;
其中,一个所述转码线程对应于所述电子设备上的一个转码部件,以使得所述多个转码线程能够通过各自对应的转码部件并行对所述图像组进行转码处理;
其中,所述转码线程具有帧队列;在对所述视频流进行帧切割,以得到多个图像组之后,所述转码控制装置还用于:
获得所述转码线程的转码性能参数;根据转码线程的实时的速率值,将相应数量的所述图像组分别存储到所述转码线程对应的帧队列中,以避免每个转码线程对应的帧队列中出现空闲或堵塞,以使得所述转码线程能够通过其对应的转码部件对所述转码线程对应的帧队列中的图像组进行转码处理,其中,所述帧队列中的图像组的数量与所述帧队列对应的转码线程的转码性能参数相关。
8.一种电子设备,包括:
多个转码部件;
控制器,用于获得待转码的视频流;对所述视频流进行帧切割,以得到多个图像组,所述图像组中包含至少一帧图像;利用电子设备上创建的多个转码线程,并行对所述图像组进行转码处理;
其中,一个所述转码线程对应于所述电子设备上的一个转码部件,以使得所述多个转码线程能够通过各自对应的转码部件并行对所述图像组进行转码处理;
其中,所述转码线程具有帧队列;在对所述视频流进行帧切割,以得到多个图像组之后,所述控制器还用于:
获得所述转码线程的转码性能参数;根据转码线程的实时的速率值,将相应数量的所述图像组分别存储到所述转码线程对应的帧队列中,以避免每个转码线程对应的帧队列中出现空闲或堵塞,以使得所述转码线程能够通过其对应的转码部件对所述转码线程对应的帧队列中的图像组进行转码处理,其中,所述帧队列中的图像组的数量与所述帧队列对应的转码线程的转码性能参数相关。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011383237.4A CN112543373B (zh) | 2020-11-30 | 2020-11-30 | 一种转码控制方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011383237.4A CN112543373B (zh) | 2020-11-30 | 2020-11-30 | 一种转码控制方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112543373A CN112543373A (zh) | 2021-03-23 |
CN112543373B true CN112543373B (zh) | 2022-04-22 |
Family
ID=75016775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011383237.4A Active CN112543373B (zh) | 2020-11-30 | 2020-11-30 | 一种转码控制方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112543373B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115942070B (zh) * | 2022-12-26 | 2023-09-12 | 北京柏睿数据技术股份有限公司 | 一种视频数据文件转码处理的动态优化方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103188521A (zh) * | 2011-12-29 | 2013-07-03 | 北京大学 | 转码分配方法及装置,转码方法及设备 |
CN105451031A (zh) * | 2015-11-18 | 2016-03-30 | 腾讯科技(深圳)有限公司 | 一种视频转码方法和系统 |
US9338467B1 (en) * | 2010-07-19 | 2016-05-10 | Google Inc. | Parallel video transcoding |
CN106254867A (zh) * | 2016-08-08 | 2016-12-21 | 暴风集团股份有限公司 | 基于画面组对视频文件进行转码的方法及系统 |
CN111147926A (zh) * | 2018-11-02 | 2020-05-12 | 杭州海康威视数字技术股份有限公司 | 一种数据转码方法及装置 |
CN111757118A (zh) * | 2020-06-29 | 2020-10-09 | 北京百度网讯科技有限公司 | 视频转码处理方法、装置、设备和介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103702125A (zh) * | 2013-12-23 | 2014-04-02 | 乐视网信息技术(北京)股份有限公司 | 针对分片转码调度的方法和系统 |
CN104284203A (zh) * | 2014-10-31 | 2015-01-14 | 云看天下(北京)科技有限公司 | 一种视频文件混合云转码方法及系统 |
CN105872595A (zh) * | 2016-03-31 | 2016-08-17 | 乐视控股(北京)有限公司 | 转码任务分配方法及装置 |
CN106851336B (zh) * | 2017-02-07 | 2020-04-14 | 上海网达软件股份有限公司 | 一种动态资源分配的音视频文件转码方法及系统 |
-
2020
- 2020-11-30 CN CN202011383237.4A patent/CN112543373B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9338467B1 (en) * | 2010-07-19 | 2016-05-10 | Google Inc. | Parallel video transcoding |
CN103188521A (zh) * | 2011-12-29 | 2013-07-03 | 北京大学 | 转码分配方法及装置,转码方法及设备 |
CN105451031A (zh) * | 2015-11-18 | 2016-03-30 | 腾讯科技(深圳)有限公司 | 一种视频转码方法和系统 |
CN106254867A (zh) * | 2016-08-08 | 2016-12-21 | 暴风集团股份有限公司 | 基于画面组对视频文件进行转码的方法及系统 |
CN111147926A (zh) * | 2018-11-02 | 2020-05-12 | 杭州海康威视数字技术股份有限公司 | 一种数据转码方法及装置 |
CN111757118A (zh) * | 2020-06-29 | 2020-10-09 | 北京百度网讯科技有限公司 | 视频转码处理方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112543373A (zh) | 2021-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110769278B (zh) | 一种分布式视频转码方法及系统 | |
EP3244621B1 (en) | Video encoding method, system and server | |
US10110911B2 (en) | Parallel media encoding | |
US9680902B2 (en) | Media streaming method and device using the same | |
EP2300928B1 (en) | Client side stream switching | |
CN110856018B (zh) | 一种基于云计算的监控系统中的快速转码方法及系统 | |
CN113157418B (zh) | 服务器资源分配方法和装置、存储介质及电子设备 | |
CN105635751B (zh) | 一种视频云平台播放视频的方法及装置 | |
CN111294647B (zh) | 一种视频处理方法、装置及设备、存储介质 | |
WO2019184822A1 (zh) | 多媒体文件处理方法和装置、存储介质及电子装置 | |
CN105577819A (zh) | 一种虚拟化桌面的分享系统、分享方法以及分享装置 | |
CN111970565A (zh) | 视频数据处理方法、装置、电子设备及存储介质 | |
CN110784731B (zh) | 一种数据流转码方法、装置、设备及介质 | |
CN112751856A (zh) | 一种可编排流程的媒体处理系统 | |
CN112543373B (zh) | 一种转码控制方法、装置及电子设备 | |
CN113992949B (zh) | 混流服务切换方法及其装置、设备、介质、产品 | |
CN108391142B (zh) | 一种视频增强的方法及相关设备 | |
US11356722B2 (en) | System for distributing an audiovisual content | |
Nguyen et al. | An adaptive streaming method of 360 videos over HTTP/2 protocol | |
CN105323593A (zh) | 一种多媒体转码调度方法和装置 | |
CN112543374A (zh) | 一种转码控制方法、装置及电子设备 | |
CN116962179A (zh) | 网络传输优化方法、装置、计算机可读介质及电子设备 | |
CN112445605A (zh) | 一种媒体数据处理方法、装置及媒体服务器 | |
CN105338371A (zh) | 一种多媒体转码调度方法和装置 | |
CN112291496A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |