CN106878736A - 一种视频编解码的方法与装置 - Google Patents

一种视频编解码的方法与装置 Download PDF

Info

Publication number
CN106878736A
CN106878736A CN201710161039.5A CN201710161039A CN106878736A CN 106878736 A CN106878736 A CN 106878736A CN 201710161039 A CN201710161039 A CN 201710161039A CN 106878736 A CN106878736 A CN 106878736A
Authority
CN
China
Prior art keywords
gpu
decoding
video stream
buffering area
thread
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
CN201710161039.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.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information 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 Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201710161039.5A priority Critical patent/CN106878736A/zh
Publication of CN106878736A publication Critical patent/CN106878736A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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/436Methods 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
    • 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
    • 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

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

本发明实施例公开了一种视频编解码的方法与装置,在服务器中可以同时安装多个GPU,对于每个GPU而言,可以依据用户输入的线程个数信息,在所述GPU对应的线程池中设置多个线程;对接收到的多路视频流进行解析处理,并利用所述多个线程调用所述GPU对所述解析处理后的多路视频流进行编解码处理。可见,一个线程通过调用GPU可以实现对解析后一路视频流的编解码处理,一个GPU对应的可以设置多个线程,即该多个线程可以同时调用GPU对解析后的视频流进行处理,从而实现一个GPU对多路视频流的并行处理,有效的提升了视频编解码的工作效率。

Description

一种视频编解码的方法与装置
技术领域
本发明涉及计算机技术领域,特别是涉及一种视频编解码的方法与装置。
背景技术
随着互联网和移动互联网的高速发展,人们产生的数据总量呈现急剧增长的趋势。信息数据越来越多,对信息数据处理能力的要求也越来越高,尤其在视频领域,随着互联网、智慧城市的飞速发展,有越来越多的视频数据需要被存储、传输和处理,这其中会涉及到大量的视频编码和解码,简称视频编解码。
视频编解码技术是网络电视发展的最初条件,高效的视频编码才能保证在现实的互联网环境下提供视频服务。一种可行的方式,视频编解码可以由中央处理器(CPU)一手包办的,但是由于CPU的编解码能力有限,所以在解码高清电影时相当吃力。
图像处理器(Graphics Processing Unit,GPU),又称显示核心,是一种专门在个人电脑、工作站、游戏机和一些移动设备上图像运算工作的微处理器。可以用于将计算机系统所需要显示信息进行转换驱动,并向显示器提供扫描信号,控制显示器的正确显示。GPU的浮点运算能力远远强于CPU,因此由GPU来处理高清视频的解码工作,能够极大的降低CPU的负担,提升视频编解码的工作效率。但是,传统方式中,GPU只能对视频流进行串行处理,无法对大规模的视频流数据进行多路编解码,导致视频编解码工作效率低下。
可见,如何提升视频编解码的工作效率,是本领域技术人员亟待解决的问题。
发明内容
本发明实施例的目的是提供一种视频编解码的方法与装置,可以对大规模的视频数据进行多路编解码,有效提升视频编解码的工作效率。
为解决上述技术问题,本发明实施例提供一种视频编解码的方法,应用于包含至少一个GPU的服务器,所述方法包括:
依据用户输入的线程个数信息,在所述GPU对应的线程池中设置多个线程;
对接收到的多路视频流进行解析处理,并利用所述多个线程调用所述GPU对所述解析处理后的多路视频流进行编解码处理。
可选的,还包括:
依据设置的动态负载均衡规则,向所述至少一个GPU分配所述多路视频流。
可选的,还包括:
在所述GPU上设置每个线程相对应的第一缓冲区和第二缓冲区;所述第一缓冲区用于存储待解码的视频流数据;所述第二缓冲区用于存储解码后的视频流数据。
可选的,所述对接收到的多路视频流进行解析处理,并利用所述多个线程调用所述GPU对所述解析处理后的多路视频流进行编解码处理包括:
利用ffmpeg库函数对所述多路视频流进行解析,获取所述视频流的参数信息;所述参数信息包括:解码格式、分辨率、颜色和大小;每路视频流经过解析后得到对应的至少一个数据包;
依据所述参数信息,设置解码规则;
将所述至少一个数据包写入第一缓冲区;
调用所述GPU依据所述解码规则,对所述至少一个数据包进行解码操作,得到所述至少一个数据包相对应的至少一个帧;并将所述至少一个帧存储于所述第二缓冲区;
调用所述GPU依据于预先设置的编码规则,对所述第二缓冲区的所述至少一个帧进行编码操作。
可选的,还包括:
为所述至少一个线程设置相对应的互斥锁;所述互斥锁用于保证同一时刻只有一个线程调用所述GPU。
可选的,还包括:
为所述至少一个GPU设置相对应的互斥锁;所述互斥锁用于保证同一时刻只为一个GPU分配多路视频流。
本发明实施例还提供一种视频编解码的装置,应用于包含至少一个GPU的服务器,所述装置包括设置单元和处理单元:
所述设置单元,用于依据用户输入的线程个数信息,在所述GPU对应的线程池中设置多个线程;
所述处理单元,用于对接收到的多路视频流进行解析处理,并利用所述多个线程调用所述GPU对所述解析处理后的多路视频流进行编解码处理。
可选的,还包括分配单元:
所述分配单元,用于依据设置的动态负载均衡规则,向所述至少一个GPU分配所述多路视频流。
可选的,所述设置单元还用于在所述GPU上设置每个线程相对应的第一缓冲区和第二缓冲区;所述第一缓冲区用于存储待解码的视频流数据;所述第二缓冲区用于存储解码后的视频流数据。
可选的,所述处理单元包括解析子单元、设置子单元、写入子单元、解码子单元和编码子单元:
所述解析子单元,用于利用ffmpeg库函数对所述多路视频流进行解析,获取所述视频流的参数信息;所述参数信息包括:解码格式、分辨率、颜色和大小;每路视频流经过解析后得到对应的至少一个数据包;
所述设置子单元,用于依据所述参数信息,设置解码规则;
所述写入子单元,用于将所述至少一个数据包写入第一缓冲区;
所述解码子单元,用于调用所述GPU依据所述解码规则,对所述至少一个数据包进行解码操作,得到所述至少一个数据包相对应的至少一个帧;并将所述至少一个帧存储于所述第二缓冲区;
所述编码子单元,用于调用所述GPU依据于预先设置的编码规则,对所述第二缓冲区的所述至少一个帧进行编码操作。
可选的,所述设置单元还用于为所述至少一个线程设置相对应的互斥锁;所述互斥锁用于保证同一时刻只有一个线程调用所述GPU。
可选的,所述设置单元还用于为所述至少一个GPU设置相对应的互斥锁;所述互斥锁用于保证同一时刻只为一个GPU分配多路视频流。
由上述技术方案可以看出,在服务器中可以同时安装多个GPU,对于每个GPU而言,可以依据用户输入的线程个数信息,在所述GPU对应的线程池中设置多个线程;对接收到的多路视频流进行解析处理,并利用所述多个线程调用所述GPU对所述解析处理后的多路视频流进行编解码处理。可见,一个线程通过调用GPU可以实现对解析后一路视频流的编解码处理,一个GPU对应的可以设置多个线程,即该多个线程可以同时调用GPU对解析后的视频流进行处理,从而实现一个GPU对多路视频流的并行处理,有效的提升了视频编解码的工作效率。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种视频编解码的方法的流程图;
图2为本发明实施例提供的另一种视频编解码的方法的流程图;
图3为本发明实施例提供的一种视频编解码的装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
接下来,详细介绍本发明实施例所提供的一种视频编解码的方法。图1为本发明实施例提供的一种视频编解码的方法的流程图,应用于包含至少一个GPU的服务器,所述方法包括:
S101:依据用户输入的线程个数信息,在所述GPU对应的线程池中设置多个线程。
线程可以理解为是调用GPU实现编解码的接口信息,利用该线程便可以调用GPU实现是对视频流的编解码。线程池可以用于存储线程,一个线程池中存储的线程的个数可以根据用户的要求进行设置。
在本发明实施例中,可以在服务器中设置至少一个GPU,每个GPU对应有一个线程池,每个线程池可以设置有至少一个线程。一个线程池中设置有几个线程,对应的便可以同时对几路视频流进行处理。
其中,线程池中包括的线程的个数可以由用户通过相关的界面输入到服务器中,该个数的具体数值可以依据于一个GPU的处理能力确定,例如,一个GPU的运算能力,可以同时对10路视频流进行处理,则可以将线程池中的线程个数设置为10个。
需要说明的是,每个GPU对应的线程池包含的线程的个数可以相同,也可以不同,在此不做限定。
S102:对接收到的多路视频流进行解析处理,并利用所述多个线程调用所述GPU对所述解析处理后的多路视频流进行编解码处理。
通过线程调用GPU对视频流进行编解码处理时,以多线程为例,每个线程对应的是一路视频流,在具体实现中,线程在调用GPU对视频流编解码处理时,为了提升编解码的工作效率,会将视频流进行解析处理,经过处理后的视频流相当于被切分成更小的组成单元,以数据包的形式存在,也即一路视频流可以包含至少一个数据包。GPU对多路视频流进行编解码的处理时,每路视频流被切分成至少一个数据包,为了便于管理每路视频流对应的数据包,可以针对每个线程设置对应的缓冲区,具体的,可以在所述GPU上设置每个线程相对应的第一缓冲区和第二缓冲区;所述第一缓冲区用于存储待解码的视频流数据;所述第二缓冲区用于存储解码后的视频流数据。
需要说明的是,待解码的视频流数据可以是经过解析处理后的视频流,此时该数据流是以数据包的形式存储,同理,解码后的视频流数据可以是以解码后的数据形式存储,一般情况下,经过解码处理后的视频流会以帧的形式存储。
接下来,将对视频流的具体编解码处理过程展开介绍,如图2所示,该步骤包括:
S201:利用ffmpeg库函数对所述多路视频流进行解析,获取所述视频流的参数信息。
S202:依据所述参数信息,设置解码规则。
对视频流进行编码的方式有多种,每种编码方式有其对应的解码方式。在对视频流进行解码时,需要知道该视频流采用的是哪种编码方式,以及视频流的分辨率、颜色和大小等因素,GPU无法自动识别这些参数信息,故此,线程在调用GPU进行解码处理之前,需要获取这些参数信息,参数信息可以包括:解码格式、分辨率、颜色和大小等。编解码的主要作用是对视频流进行压缩和解压缩,解码格式可以用于表示视频流采用何种方式进行解压缩。将这些参数信息按照一定的格式要求进行整理,得到解码规则。解码规则可以用于表示对视频流进行解码的要求。
S203:将所述至少一个数据包写入第一缓冲区。
一个线程可以用于对一路视频流进行处理,每个线程有其对应的一组缓冲区(第一缓冲区和第二缓冲区),每路视频流都有对应的第一缓冲区存储经过解析后得到的至少一个数据包。
S204:调用所述GPU依据所述解码规则,对所述至少一个数据包进行解码操作,得到所述至少一个数据包相对应的至少一个帧;并将所述至少一个帧存储于所述第二缓冲区。
依据该解码规则,便可以设置视频解码库(CUVID)的相关结构,从而使得GPU可以实现对数据包的解码处理。在具体实现中,对数据包进行解码处理时,涉及三个回调函数(callback function),分别为格式变更回调函数(format change callback)、解码回调函数(decode callback)和显示回调函数(display callback),格式变更回调函数主要用于当视频流的格式发生变化时被调用,对于一些网络突发状况,可能会导致视频流的格式发生变化,对于该种情况,可以调用该格式变更回调函数,将改变的视频流的格式变为原来的格式。解码回调函数可以用于对数据包的解码,解码后的数据包可以以帧的形式存在,显示回调函数可以用于帧的显示或存储。
对于解码后得到的帧可以将其存储于第二缓冲区,以便于后续对其进行二次编码处理。
S205:调用所述GPU依据于预先设置的编码规则,对所述第二缓冲区的所述至少一个帧进行编码操作。
在实际应用中,服务器接收的视频流可能是MP4的格式,若想要将该视频流变为AVI格式,可以对该视频流进行解码后,再进行二次编码时可以以AVI格式的编码规则进行,从而实现该视频流格式的变更。故此,可以预先设置好编码规则,以便于二次编码时可以依照该编码规则,编码成符合用户需求的视频流格式。
以服务器中包含有多个GPU为例,服务器在接收到视频流后,需要将视频流进行分配,具体的,可以预先设置相应的动态负载均衡规则,使得服务器在接收到多路视频流后,可以依据设置的动态负载均衡规则,向所述至少一个GPU分配所述多路视频流。
动态负载均衡规则可以用于保证每个GPU都被均衡的使用。
在该动态负载均衡规则中,可以设置首次分配时向每个GPU分配的视频流的路数,例如,首次分配时,可以向每个GPU分配20路视频流。对于不同的视频流,GPU完成编解码的时间不尽相同,对于后续分配视频流时,动态负载均衡规则可以是根据每个GPU的处理情况,进行动态的分配,例如,在服务器中安装有3个GPU,分别为GPU1、GPU2和GPU3,首次分配时向每个GPU分配了20路视频流,GPU1可能最先处理好分配的20路视频流,此时依据该动态负载均衡规则,可以向GPU1再分配20路视频流。
针对上述在一台服务器上设置多个GPU的情况,在向GPU分配视频流时,为了避免各个GPU之间产生相互影响,可以对于每个GPU设置对应的一个互斥锁,所述互斥锁用于保证同一时刻只为一个GPU分配多路视频流。
考虑到一个GPU对应的线程池中可以包含有多个线程,为了避免各个线程之间产生相互影响,可以为每个线程设置相对应的互斥锁;所述互斥锁用于保证同一时刻只有一个线程调用所述GPU。
由上述技术方案可以看出,在服务器中可以同时安装多个GPU,对于每个GPU而言,可以依据用户输入的线程个数信息,在所述GPU对应的线程池中设置多个线程;对接收到的多路视频流进行解析处理,并利用所述多个线程调用所述GPU对所述解析处理后的多路视频流进行编解码处理。可见,一个线程通过调用GPU可以实现对解析后一路视频流的编解码处理,一个GPU对应的可以设置多个线程,即该多个线程可以同时调用GPU对解析后的视频流进行处理,从而实现一个GPU对多路视频流的并行处理,有效的提升了视频编解码的工作效率。
图3为本发明实施例提供的一种视频编解码的装置的结构示意图,应用于包含至少一个GPU的服务器,所述装置包括设置单元31和处理单元32:
所述设置单元31,用于依据用户输入的线程个数信息,在所述GPU对应的线程池中设置多个线程。
所述处理单元32,用于对接收到的多路视频流进行解析处理,并利用所述多个线程调用所述GPU对所述解析处理后的多路视频流进行编解码处理。
可选的,还包括分配单元:
所述分配单元,用于依据设置的动态负载均衡规则,向所述至少一个GPU分配所述多路视频流。
可选的,所述设置单元还用于在所述GPU上设置每个线程相对应的第一缓冲区和第二缓冲区;所述第一缓冲区用于存储待解码的视频流数据;所述第二缓冲区用于存储解码后的视频流数据。
可选的,所述处理单元包括解析子单元、设置子单元、写入子单元、解码子单元和编码子单元:
所述解析子单元,用于利用ffmpeg库函数对所述多路视频流进行解析,获取所述视频流的参数信息;所述参数信息包括:解码格式、分辨率、颜色和大小;每路视频流经过解析后得到对应的至少一个数据包。
所述设置子单元,用于依据所述参数信息,设置解码规则。
所述写入子单元,用于将所述至少一个数据包写入第一缓冲区。
所述解码子单元,用于调用所述GPU依据所述解码规则,对所述至少一个数据包进行解码操作,得到所述至少一个数据包相对应的至少一个帧;并将所述至少一个帧存储于所述第二缓冲区。
所述编码子单元,用于调用所述GPU依据于预先设置的编码规则,对所述第二缓冲区的所述至少一个帧进行编码操作。
可选的,所述设置单元还用于为所述至少一个线程设置相对应的互斥锁;所述互斥锁用于保证同一时刻只有一个线程调用所述GPU。
可选的,所述设置单元还用于为所述至少一个GPU设置相对应的互斥锁;所述互斥锁用于保证同一时刻只为一个GPU分配多路视频流。
图3所对应实施例中特征的说明可以参见图1和图2所对应实施例的相关说明,这里不再一一赘述。
以上对本发明所提供的一种视频编解码的方法与装置进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

Claims (10)

1.一种视频编解码的方法,其特征在于,应用于包含至少一个GPU的服务器,所述方法包括:
依据用户输入的线程个数信息,在所述GPU对应的线程池中设置多个线程;
对接收到的多路视频流进行解析处理,并利用所述多个线程调用所述GPU对所述解析处理后的多路视频流进行编解码处理。
2.根据权利要求1所述的方法,其特征在于,还包括:
依据设置的动态负载均衡规则,向所述至少一个GPU分配所述多路视频流。
3.根据权利要求1或2所述的方法,其特征在于,还包括:
在所述GPU上设置每个线程相对应的第一缓冲区和第二缓冲区;所述第一缓冲区用于存储待解码的视频流数据;所述第二缓冲区用于存储解码后的视频流数据。
4.根据权利要求3所述的方法,其特征在于,所述对接收到的多路视频流进行解析处理,并利用所述多个线程调用所述GPU对所述解析处理后的多路视频流进行编解码处理包括:
利用ffmpeg库函数对所述多路视频流进行解析,获取所述视频流的参数信息;所述参数信息包括:解码格式、分辨率、颜色和大小;每路视频流经过解析后得到对应的至少一个数据包;
依据所述参数信息,设置解码规则;
将所述至少一个数据包写入第一缓冲区;
调用所述GPU依据所述解码规则,对所述至少一个数据包进行解码操作,得到所述至少一个数据包相对应的至少一个帧;并将所述至少一个帧存储于所述第二缓冲区;
调用所述GPU依据于预先设置的编码规则,对所述第二缓冲区的所述至少一个帧进行编码操作。
5.根据权利要求1-4任意一项所述的方法,其特征在于,还包括:
为所述至少一个线程设置相对应的互斥锁;所述互斥锁用于保证同一时刻只有一个线程调用所述GPU。
6.根据权利要求1-4任意一项所述的方法,其特征在于,还包括:
为所述至少一个GPU设置相对应的互斥锁;所述互斥锁用于保证同一时刻只为一个GPU分配多路视频流。
7.一种视频编解码的装置,其特征在于,应用于包含至少一个GPU的服务器,所述装置包括设置单元和处理单元:
所述设置单元,用于依据用户输入的线程个数信息,在所述GPU对应的线程池中设置多个线程;
所述处理单元,用于对接收到的多路视频流进行解析处理,并利用所述多个线程调用所述GPU对所述解析处理后的多路视频流进行编解码处理。
8.根据权利要求7所述的装置,其特征在于,还包括分配单元:
所述分配单元,用于依据设置的动态负载均衡规则,向所述至少一个GPU分配所述多路视频流。
9.根据权利要求7或8所述的装置,其特征在于,所述设置单元还用于在所述GPU上设置每个线程相对应的第一缓冲区和第二缓冲区;所述第一缓冲区用于存储待解码的视频流数据;所述第二缓冲区用于存储解码后的视频流数据。
10.根据权利要求9所述的装置,其特征在于,所述处理单元包括解析子单元、设置子单元、写入子单元、解码子单元和编码子单元:
所述解析子单元,用于利用ffmpeg库函数对所述多路视频流进行解析,获取所述视频流的参数信息;所述参数信息包括:解码格式、分辨率、颜色和大小;每路视频流经过解析后得到对应的至少一个数据包;
所述设置子单元,用于依据所述参数信息,设置解码规则;
所述写入子单元,用于将所述至少一个数据包写入第一缓冲区;
所述解码子单元,用于调用所述GPU依据所述解码规则,对所述至少一个数据包进行解码操作,得到所述至少一个数据包相对应的至少一个帧;并将所述至少一个帧存储于所述第二缓冲区;
所述编码子单元,用于调用所述GPU依据于预先设置的编码规则,对所述第二缓冲区的所述至少一个帧进行编码操作。
CN201710161039.5A 2017-03-17 2017-03-17 一种视频编解码的方法与装置 Pending CN106878736A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710161039.5A CN106878736A (zh) 2017-03-17 2017-03-17 一种视频编解码的方法与装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710161039.5A CN106878736A (zh) 2017-03-17 2017-03-17 一种视频编解码的方法与装置

Publications (1)

Publication Number Publication Date
CN106878736A true CN106878736A (zh) 2017-06-20

Family

ID=59172210

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710161039.5A Pending CN106878736A (zh) 2017-03-17 2017-03-17 一种视频编解码的方法与装置

Country Status (1)

Country Link
CN (1) CN106878736A (zh)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107295285A (zh) * 2017-08-11 2017-10-24 腾讯科技(深圳)有限公司 视频数据的处理方法、处理装置及存储介质
CN109120938A (zh) * 2017-06-26 2019-01-01 深圳市中兴微电子技术有限公司 一种Camera中间层图像处理方法及片上系统
CN109672903A (zh) * 2018-11-02 2019-04-23 成都三零凯天通信实业有限公司 一种多路加密视频流共享多个解密设备管理方法
CN109688415A (zh) * 2019-01-14 2019-04-26 无锡和博永新科技有限公司 基于nvidia gpu的黑白图像jpeg数据编码方法和装置
CN109788325A (zh) * 2018-12-28 2019-05-21 网宿科技股份有限公司 视频任务分配方法及服务器
CN109922319A (zh) * 2019-03-26 2019-06-21 重庆英卡电子有限公司 基于多核cpu的rtsp协议多视频流并行预处理方法
CN110381322A (zh) * 2019-07-15 2019-10-25 腾讯科技(深圳)有限公司 视频流解码方法、装置、终端设备及存储介质
CN110602505A (zh) * 2018-06-13 2019-12-20 贵州白山云科技股份有限公司 一种基于多gpu的视频转码方法及装置
CN110798702A (zh) * 2019-10-15 2020-02-14 平安科技(深圳)有限公司 视频解码方法、装置、设备及计算机可读存储介质
WO2020135082A1 (zh) * 2018-12-28 2020-07-02 中兴通讯股份有限公司 一种语音数据处理方法、装置及计算机可读存储介质
CN111654674A (zh) * 2020-06-04 2020-09-11 上海鸢安智能科技有限公司 基于单个ffmpeg进程并行处理多个视频源的方法、软件系统、终端
CN111787384A (zh) * 2019-05-07 2020-10-16 北京沃东天骏信息技术有限公司 锁屏视频的分屏播放方法、装置、设备及存储介质
CN112087672A (zh) * 2020-08-13 2020-12-15 浙江大学 一种使用智能终端及服务器的视频流描述生成方法
CN112261412A (zh) * 2020-11-09 2021-01-22 中科智云科技有限公司 基于pid的视频流轮询解码的拉流控制系统及方法
CN112835651A (zh) * 2021-04-01 2021-05-25 中国空空导弹研究院 一种多路图像并行解码处理方法
CN113271493A (zh) * 2021-04-06 2021-08-17 中国电子科技集团公司第十五研究所 视频流解码方法及计算机可读存储介质
CN113347432A (zh) * 2021-05-27 2021-09-03 深圳市斯博科技有限公司 一种视频编解码方法、装置、计算机设备及存储介质
CN113453075A (zh) * 2020-03-26 2021-09-28 龙芯中科技术股份有限公司 多路视频的解码方法、装置、电子设备及存储介质
CN113946373A (zh) * 2021-10-11 2022-01-18 成都中科合迅科技有限公司 一种基于负载均衡的虚拟现实多个视频流渲染方法
CN114640854A (zh) * 2022-03-09 2022-06-17 广西高重厚泽科技有限公司 一种多路视频流实时高速解码方法
CN116744000A (zh) * 2023-08-16 2023-09-12 北京麟卓信息科技有限公司 一种基于动态算法重构的视频编解码方式检测方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102404624A (zh) * 2011-11-07 2012-04-04 深圳市佳创视讯技术股份有限公司 一种数字机顶盒用支持硬件解码的全格式媒体播放器
CN203827467U (zh) * 2014-03-03 2014-09-10 深圳市云朗网络科技有限公司 一种异构计算机系统多路视频并行解码结构
CN104185030A (zh) * 2014-09-05 2014-12-03 西安电子科技大学 基于gpu的jpeg2000图像解压缩实现方法
CN104683860A (zh) * 2015-02-02 2015-06-03 北京神州天脉网络计算机有限公司 一种音视频多路并发解码加速卡及其解码加速方法
CN105898496A (zh) * 2015-11-18 2016-08-24 乐视网信息技术(北京)股份有限公司 基于Android设备的HLS流硬解码方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102404624A (zh) * 2011-11-07 2012-04-04 深圳市佳创视讯技术股份有限公司 一种数字机顶盒用支持硬件解码的全格式媒体播放器
CN203827467U (zh) * 2014-03-03 2014-09-10 深圳市云朗网络科技有限公司 一种异构计算机系统多路视频并行解码结构
CN104185030A (zh) * 2014-09-05 2014-12-03 西安电子科技大学 基于gpu的jpeg2000图像解压缩实现方法
CN104683860A (zh) * 2015-02-02 2015-06-03 北京神州天脉网络计算机有限公司 一种音视频多路并发解码加速卡及其解码加速方法
CN105898496A (zh) * 2015-11-18 2016-08-24 乐视网信息技术(北京)股份有限公司 基于Android设备的HLS流硬解码方法及装置

Cited By (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109120938A (zh) * 2017-06-26 2019-01-01 深圳市中兴微电子技术有限公司 一种Camera中间层图像处理方法及片上系统
CN107295285A (zh) * 2017-08-11 2017-10-24 腾讯科技(深圳)有限公司 视频数据的处理方法、处理装置及存储介质
CN110602505A (zh) * 2018-06-13 2019-12-20 贵州白山云科技股份有限公司 一种基于多gpu的视频转码方法及装置
CN109672903A (zh) * 2018-11-02 2019-04-23 成都三零凯天通信实业有限公司 一种多路加密视频流共享多个解密设备管理方法
CN111381973A (zh) * 2018-12-28 2020-07-07 中兴通讯股份有限公司 一种语音数据处理方法、装置及计算机可读存储介质
CN109788325A (zh) * 2018-12-28 2019-05-21 网宿科技股份有限公司 视频任务分配方法及服务器
CN111381973B (zh) * 2018-12-28 2024-03-01 中兴通讯股份有限公司 一种语音数据处理方法、装置及计算机可读存储介质
WO2020135082A1 (zh) * 2018-12-28 2020-07-02 中兴通讯股份有限公司 一种语音数据处理方法、装置及计算机可读存储介质
CN109688415A (zh) * 2019-01-14 2019-04-26 无锡和博永新科技有限公司 基于nvidia gpu的黑白图像jpeg数据编码方法和装置
CN109922319A (zh) * 2019-03-26 2019-06-21 重庆英卡电子有限公司 基于多核cpu的rtsp协议多视频流并行预处理方法
CN111787384A (zh) * 2019-05-07 2020-10-16 北京沃东天骏信息技术有限公司 锁屏视频的分屏播放方法、装置、设备及存储介质
US12003743B2 (en) 2019-07-15 2024-06-04 Tencent Technology (Shenzhen) Company Limited Video stream decoding method and apparatus, terminal device, and storage medium
JP2022519855A (ja) * 2019-07-15 2022-03-25 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 ビデオストリーム復号方法、装置、端末機器およびプログラム
CN110381322B (zh) * 2019-07-15 2023-03-14 腾讯科技(深圳)有限公司 视频流解码方法、装置、终端设备及存储介质
WO2021008290A1 (zh) * 2019-07-15 2021-01-21 腾讯科技(深圳)有限公司 视频流解码方法、装置、终端设备及存储介质
JP7191240B2 (ja) 2019-07-15 2022-12-16 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 ビデオストリーム復号方法、装置、端末機器およびプログラム
CN110381322A (zh) * 2019-07-15 2019-10-25 腾讯科技(深圳)有限公司 视频流解码方法、装置、终端设备及存储介质
WO2021072860A1 (zh) * 2019-10-15 2021-04-22 平安科技(深圳)有限公司 视频解码方法、装置、设备及计算机可读存储介质
CN110798702B (zh) * 2019-10-15 2022-04-15 平安科技(深圳)有限公司 视频解码方法、装置、设备及计算机可读存储介质
CN110798702A (zh) * 2019-10-15 2020-02-14 平安科技(深圳)有限公司 视频解码方法、装置、设备及计算机可读存储介质
CN113453075A (zh) * 2020-03-26 2021-09-28 龙芯中科技术股份有限公司 多路视频的解码方法、装置、电子设备及存储介质
CN111654674A (zh) * 2020-06-04 2020-09-11 上海鸢安智能科技有限公司 基于单个ffmpeg进程并行处理多个视频源的方法、软件系统、终端
CN112087672A (zh) * 2020-08-13 2020-12-15 浙江大学 一种使用智能终端及服务器的视频流描述生成方法
CN112261412B (zh) * 2020-11-09 2021-04-27 中科智云科技有限公司 基于pid的视频流轮询解码的拉流控制系统及方法
CN112261412A (zh) * 2020-11-09 2021-01-22 中科智云科技有限公司 基于pid的视频流轮询解码的拉流控制系统及方法
CN112835651B (zh) * 2021-04-01 2023-10-20 中国空空导弹研究院 一种多路图像并行解码处理方法
CN112835651A (zh) * 2021-04-01 2021-05-25 中国空空导弹研究院 一种多路图像并行解码处理方法
CN113271493A (zh) * 2021-04-06 2021-08-17 中国电子科技集团公司第十五研究所 视频流解码方法及计算机可读存储介质
CN113347432A (zh) * 2021-05-27 2021-09-03 深圳市斯博科技有限公司 一种视频编解码方法、装置、计算机设备及存储介质
CN113946373A (zh) * 2021-10-11 2022-01-18 成都中科合迅科技有限公司 一种基于负载均衡的虚拟现实多个视频流渲染方法
CN113946373B (zh) * 2021-10-11 2023-06-09 成都中科合迅科技有限公司 一种基于负载均衡的虚拟现实多个视频流渲染方法
CN114640854A (zh) * 2022-03-09 2022-06-17 广西高重厚泽科技有限公司 一种多路视频流实时高速解码方法
CN116744000B (zh) * 2023-08-16 2023-10-13 北京麟卓信息科技有限公司 一种基于动态算法重构的视频编解码方式检测方法
CN116744000A (zh) * 2023-08-16 2023-09-12 北京麟卓信息科技有限公司 一种基于动态算法重构的视频编解码方式检测方法

Similar Documents

Publication Publication Date Title
CN106878736A (zh) 一种视频编解码的方法与装置
US10110936B2 (en) Web-based live broadcast
US12003743B2 (en) Video stream decoding method and apparatus, terminal device, and storage medium
US20190320194A1 (en) Virtual frame buffer system and method
CN102137151B (zh) 多链路远程协议
CN110073642B (zh) 用于经模糊处理的媒体的编码优化
CN102148824B (zh) 用于传送和接收远程呈现图形数据的方法和系统
CN108881916A (zh) 远程桌面的视频优化处理方法及装置
CN102821279A (zh) 一种保留alpha通道的图片压缩方法
CN101796842A (zh) 用以最小化存储及总线带宽需求的有效图像压缩方案
CN106131550B (zh) 播放多媒体文件的方法及装置
US9607407B2 (en) Variable-width differential memory compression
CN103631634A (zh) 实现图形处理器虚拟化的方法与装置
CN110636305B (zh) 图像渲染和编码方法及相关装置
CN103339959A (zh) 动态视频切换
CN102497580B (zh) 基于音频特征信息的视频信息合成方法
CN106031168A (zh) 具有减少色彩分辨率的视频流的自适应处理
US20120218292A1 (en) System and method for multistage optimized jpeg output
US9613394B2 (en) Lossy color compression using adaptive quantization
CN106788993A (zh) 一种加密通信方法、装置及电子设备
CN111211887B (zh) 资源加密方法、系统、装置及计算机可读存储介质
US20160142723A1 (en) Frame division into subframes
EP3722949A1 (en) Image transmission method, apparatus and storage medium
CN102289358A (zh) 用于更有效地显示数据的计算机实现的方法、计算机程序产品和嵌入式系统
CN115576513A (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: 20170620

RJ01 Rejection of invention patent application after publication