CN112087631A - 基于gpu同步并行视频编解码与流媒体传输系统及方法 - Google Patents

基于gpu同步并行视频编解码与流媒体传输系统及方法 Download PDF

Info

Publication number
CN112087631A
CN112087631A CN202010796022.9A CN202010796022A CN112087631A CN 112087631 A CN112087631 A CN 112087631A CN 202010796022 A CN202010796022 A CN 202010796022A CN 112087631 A CN112087631 A CN 112087631A
Authority
CN
China
Prior art keywords
video
data
decoding
streaming media
frame
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
CN202010796022.9A
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN202010796022.9A priority Critical patent/CN112087631A/zh
Publication of CN112087631A publication Critical patent/CN112087631A/zh
Pending legal-status Critical Current

Links

Images

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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/177Methods 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了基于GPU同步并行视频编解码与流媒体传输系统,该系统包括:编码设备,所述编码设备包含视频采集设备、多个CPU处理器、多个GPU显卡及网卡,所述编码设备的GPU显卡数量与解码设备中的显卡数量相一致,并且编码不限制某一特定编码方式,解码设备,所述解码设备包含视频输出卡、多个CPU处理器、多个GPU显卡及网卡,所述解码设备通过视频线连接视频源,所述解码设备通过网卡连接互联网,所述视频输出卡通过视频线连接视频显示设备,视频源,所述视频源为单路视频源,所述视频源包含摄像机或视频播放器,所述视频源根据时间顺序输出视频帧,视频显示设备,所述视频显示设备包含显示器,所述显示器通过视频线连接所述解码设备的视频输出卡。

Description

基于GPU同步并行视频编解码与流媒体传输系统及方法
技术领域
本发明涉及视频编解码和流媒体直播技术领域,具体来说,涉及一种基于GPU同步并行视频编解码与流媒体传输系统及方法。
背景技术
现有的编解码系统都是通过采集设备采集视频源的序列帧,将序列帧输入单路编码器,使用CPU或者GPU显卡完成编码后,作为单路数据流存储到硬盘,实现本地视频录制功能,同时作为单路数据流通过流媒体协议(如RTP协议)传输到远端的解码设备,由解码设备解码并显示,实现视频的直播功能,这种解码设备的缺点是:对于分辨率非正常的视频(如8K视频),并且帧率大于或等于60帧/秒,单个CPU或GPU显卡没有能力处理,使得大分辨率和高帧率的视频处理起来非常困难,另外,目前单个CPU或单个GPU显卡处理速度较慢,也会造成直播有非常大的延迟,存在多CPU或者多GPU显卡编解码多路视频流的方法,仅仅能够提升多路视频流的编解码性能,但是对单路视频流的编解码效率并没有提升。
发明内容
针对相关技术中的上述技术问题,本发明提出一种基于GPU同步并行视频编解码与流媒体传输系统及方法,编码设备和解码设备采用多个GPU多进程同步编解码同一路视频流的编解码架构,极大的提升了编码和解码效率,极大的缩短了直播时候的延迟问题。
为实现上述技术目的,本发明的技术方案是这样实现的:一种基于GPU同步并行视频编解码与流媒体传输系统,该系统包括:
编码设备,所述编码设备包含视频采集设备、多个CPU处理器、多个GPU显卡及网卡,所述编码设备的GPU显卡数量与解码设备中的显卡数量相一致,并且编码不限制某一特定编码方式,所述编码设备启动一个视频帧采集进程,一个录制进程,根据内置的GPU显卡个数启动多个编码进程和多个流媒体服务进程,编码进程数量以及流媒体服务进程数量分别与GPU显卡数量相同,每一个编码进程控制一个GPU显卡,每一个编码进程对应一个流媒体服务进程;
解码设备,所述解码设备包含视频输出卡、多个CPU处理器、多个GPU显卡及网卡,所述解码设备通过网卡连接互联网,所述视频输出卡通过视频线连接视频显示设备,所述解码设备启动一个视频输出进程,根据内置GPU显卡个数启动多个解码进程和多个流媒体服务客户端进程,解码进程数量以及流媒体服务客户端进程数量分别与GPU显卡数量相同,每个解码进程对应一个流媒体客户端进程;
视频源,所述视频源为单路视频源,所述视频源包含摄像机或视频播放器,所述单路视频源根据时间顺序输出视频帧,视频帧采集进程通过视频采集卡采集到单路视频源的视频帧后,按照采集到的视频帧的时间顺序对视频帧进行编号,这个编号称为Frame No,然后再对这些视频帧进行分组,每一个分组称为一个GOP,每个GOP中的视频帧个数相同,视频帧采集进程通过进程间通信的方式将这些GOP分配到不同的编码进程;
视频显示设备,所述视频显示设备包含显示器,所述显示器通过视频线连接所述解码设备的视频输出卡。
进一步地,所述编码设备中的编码进程接收到GOP后立刻调用控制的GPU显卡进行编码,GOP中的视频帧经过编码后生成码流数据,所述码流数据被称为ES数据,编码过程中确保视频帧的Frame No不变,每个ES数据都保留原有的视频帧编号,编码进程将ES数据复制两份,其中一份通过进程间通信的方式发送到对应的流媒体服务进程,另一份通过进程通信方式发送到录制进程。
进一步地,所述录制进程接收到ES数据后,根据ES数据的视频帧编号Frame No排序,所述录制进程对排序后的ES数据打包成TS数据包并保存到文件中,完成视频的录制功能。
进一步地,所述编码设备中的流媒体服务进程接收到ES数据后,所述流媒体服务进程通过网络与远端所述解码设备中的流媒体服务客户端建立连接,所述流媒体服务进程接收到ES数据并发送至远端解码设备中的流媒体服务客户端进程。
进一步地,所述解码设备中的流媒体服务客户端进程与所述编码设备中的流媒体服务进程通过网络连接,所述流媒体服务客户端进程接收到ES数据后通过进程间通信方式将ES数据发送至对应的解码进程,所述解码进程接收到ES数据立即进行解码,解码过程中确保ES数据Frame No不变,所述ES数据经过解码后生成视频帧,每个视频帧都保留原有的编号Frame No,所述解码进程解码后生成带有Frame No的视频帧,通过进程间通信的方式发送至视频输出进程。
进一步地,所述视频输出进程从多个解码进程获取到视频帧后,根据视频帧FrameNo排序,所述视频输出进程将排序后的视频帧发送到所述解码设备中的视频输出卡,所述视频输出卡通过视频线将视频帧发送到视频显示设备,所述视频显示设备显示接收到的视频帧。
一种基于GPU同步并行视频编解码与流媒体传输方法,其特征在于,该方法包括:
S1:视频源按照时间顺序输出视频帧,编码器内部的视频帧采集进程通过内置的视频采集设备获取所述视频帧,并对所获取的视频帧按照获取的时间顺序编号Frame No;
S2:视频录制进程收到多个编码器发送来的ES数据,每个ES数据都标有Frame No,录制进程根据Frame No对ES数据排序,并将排序后的ES数据打包成为TS数据保存到存储设备;
S3:编码设备内部的流媒体服务进程通过互联网与解码设备中的流媒体服务客户端进程建立连接,流媒体服务进程接收到对应编码进程发送来的ES数据后,对ES数据打包成流媒体数据流,通过互联网发送到解码设备内部的流媒体服务客户端进程;
S4:解码设备内部的流媒体服务客户端进程接收到编码设备发来的ES数据后,通过进程间通信的方式将接收到的ES数据发送的其对应的解码进程,解码进程收到ES数据后立刻进行解码并生成视频帧数据,所述解码进程将这些解码后的视频帧数据通过进程间通信的方式发送到视频输出进程;
S5:解码设备内部的视频输出进程接收到由多个解码进程发来的视频帧后,立刻对接收到的视频帧根据Frame No排序,按照Frame No序号将视频帧通过内置于解码设备内部的视频输出卡发送到视频显示设备进行播放。
进一步地,所述S1中视频帧采集进程进一步包括:
S1.1 基于视频帧采集进程对编号后视频帧分组,每个分组称之为一个GOP,采集进程将GOP分别分配给多个编码进程,每个编码进程利用自己控制的GPU显卡对所分配的GOP编码,多个编码进程同时并行对所分配的GOP编码;
S1.2 编码后的ES数据复制为两份,一份发送到视频录制进程,另一份发送到此编码进程所对应的流媒体服务进程。
进一步地,所述S3中解码设备内部流媒体服务客户端进一步包括:
S3.1:流媒体服务客户端进程接收到ES数据流后,通过进程间通信的方式将ES数据发送到解码设备内部的解码进程,解码进程对ES数据进行解码,解码过程中确保ES数据的Frame No不变;
S3.2:ES数据经过解码进程解码生成视频帧,解码进程通过进程间通信的方式将视频帧发送到解码设备内部的视频输出进程。
本发明的有益效果:鉴于现有技术中存在的不足,本申请中编码设备和解码设备采用多个GPU多进程的编解码架构,极大的提升了单路视频流编码和解码效率,极大的缩短了单路视频流直播时候的延迟问题,而现有技术中的编码设备和解码设备采用单一进程、单一设备、单视频流、单码流的方式对视频进行编码和直播,对于大分辨率高帧率的视频编解码效率比较低,不具有扩展性,因此,本申请采用多个GPU多进程并行编码和解码同一路视频流,系统可伸缩,可以根据输入视频带宽来增加或减少GPU数量,通过实验可知在主板带宽、内存带宽允许的条件下,编解码速度与GPU个数成正比,每增加一倍的GPU数量,编解码速度会增加一倍;
本设计对同一视频流的视频帧进行分组,同一路视频的GOP分到多个GPU上进行同步编码,每个编码进程编码后的ES数据流通过对应的流媒体服务进程发送,编码器中有多个编码进程和多个流媒体服务进程,这些进程同时编码和发送同一路视频流数据中的不同GOP,极大的提高了编码和传输效率,使得直播延迟成倍降低,经过测试发现8K视频60帧/秒的视频直播延迟仅仅几百毫秒。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例所述的基于GPU同步并行视频编解码与流媒体传输系统及方法的硬件设备框图;
图2是根据本发明实施例所述的基于GPU同步并行视频编解码与流媒体传输系统及方法的流程框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
如图 1-2 所示,根据本发明实施例所述的基于GPU同步并行视频编解码与流媒体传输系统,该系统包括:编码设备、解码设备、视频源、视频显示设备;
编码设备,所述编码设备包含视频采集设备、多个CPU处理器、多个GPU显卡及网卡,所述编码设备的GPU显卡数量与解码设备中的显卡数量相一致,并且编码不限制某一特定编码方式(如H.264、H.265等),所述编码设备启动一个视频帧采集进程,一个录制进程,根据内置的GPU显卡个数启动多个编码进程和多个流媒体服务进程,编码进程数量以及流媒体服务进程数量分别与GPU显卡数量相同,每一个编码进程控制一个GPU显卡,每一个编码进程对应一个流媒体服务进程,进一步包括:所述编码设备中的编码进程接收到GOP后立刻调用控制的GPU显卡进行编码,GOP中的视频帧经过编码后生成码流数据,所述码流数据被称为ES数据,编码过程中确保视频帧Frame No不变,每个ES数据都保留原有的视频帧编号Frame No,编码进程将ES数据复制两份,其中一份通过进程间通信的方式发送到对应的流媒体服务进程,另一份通过进程通信方式发送到录制进程;所述录制进程接收到ES数据后,根据ES数据的视频帧编号Frame No排序,所述录制进程对排序后的ES数据打包成TS数据包并保存到文件中,完成视频的录制功能,所述编码设备中的流媒体服务进程接收到ES数据后,所述流媒体服务进程通过网络与远端所述解码设备中的流媒体服务通过服务器与客户端建立连接,所述流媒体服务进程接收到ES数据并发送至远端解码设备中的流媒体服务客户端进程。
在本发明的一个具体实施例中,
解码设备,所述解码设备包含视频输出卡、多个CPU处理器、多个GPU显卡及网卡,所述解码设备通过视频线连接视频源,所述解码设备通过网卡连接互联网,所述视频输出卡通过视频线连接视频显示设备,所述解码设备启动一个视频输出进程,根据内置GPU显卡个数启动多个解码进程和多个流媒体服务客户端进程,解码进程数量以及流媒体服务客户端进程数量分别与GPU显卡数量相同,每个解码进程对应一个流媒体客户端进程,进一步包括:所述解码设备中的流媒体服务客户端进程与所述编码设备中的流媒体服务进程通过网络连接,所述流媒体服务客户端进程接收到ES数据后通过进程间通信方式将ES数据发送至对应的解码进程,所述解码进程接收到ES数据立即进行解码,解码过程中确保ES数据FrameNo不变,所述ES数据解码后生成视频帧,每个视频帧都保留原有的编号Frame No,所述解码进程将解码后的视频帧通过进程间通信的方式发送至视频输出进程。
在本发明的一个具体实施例中,
视频源,所述视频源为单路视频源,所述视频源包含摄像机或视频播放器,所述单路视频源根据时间顺序输出视频帧,视频帧采集进程通过视频采集卡采集到单路视频源的视频帧后,按照采集到的视频帧的时间顺序对视频帧进行编号,这个编号称为Frame No,然后再对这些视频帧进行分组,每一个分组称为一个GOP,每个GOP中的视频帧个数相同,视频帧采集进程通过进程间通信的方式将这些GOP分配到不同的编码进程。
在本发明的一个具体实施例中,
视频显示设备,所述视频显示设备包含显示器,所述显示器通过视频线连接所述解码设备的视频输出卡。
为了方便理解本发明的上述技术方案,以下通过具体使用方式上对本发明的上述技术方案进行详细说明。
在具体使用时,根据本发明所述的基于GPU同步并行视频编解码与流媒体传输方法,该方法包括以下具体步骤:
步骤一,视频源按照时间顺序输出视频帧,编码器内部的视频帧采集进程通过内置的视频采集设备获取所述视频帧,并对所获取的视频帧按照获取的时间顺序编号Frame No,视频帧采集进程对编号后视频帧分组,每个分组称之为一个GOP,视频帧采集进程将GOP分配给多个编码进程,每个编码进程利用自己控制的GPU显卡对所分配的GOP编码,多个编码进程同时并行对所分配的GOP编码,编码后的ES数据复制为两份,一份发送到视频录制进程,另一份发送到此编码进程所对应的流媒体服务进程;
步骤二,视频录制进程收到多个编码器发送来的ES数据,每个ES数据都标有Frame No,录制进程根据Frame No对ES数据排序,并将排序后的ES数据打包成为TS数据保存到存储设备;
步骤三,编码设备内部的流媒体服务进程通过互联网与解码设备中的流媒体服务客户端进程建立连接,流媒体服务进程接收到对应编码进程发送来的ES数据后,对ES数据打包成流媒体数据流,通过互联网发送到解码设备内部的流媒体服务客户端进程;
步骤四,解码设备内部的流媒体服务客户端进程接收到编码设备发来的ES数据流后,通过进程间通信的方式将ES数据发送到解码设备内部的解码进程,解码进程对ES数据进行解码,解码过程中确保ES数据的Frame No不变,ES数据经过解码进程解码后生成视频帧数据,解码进程将这些解码后的视频帧数据通过进程间通信的方式发送到视频输出进程;
步骤五,解码设备内部的视频输出进程接收到由多个解码进程发来的视频帧后,立刻对接收到的视频帧根据Frame No排序,按照Frame No序号将视频帧通过内置于解码设备内部的视频输出卡发送到视频显示设备进行播放。
综上所述,借助于本发明的上述技术方案,本申请为了提高单路高数据带宽视频流编解码和直播的处理能力,采用的全新的编解码和直播架构,运用多进程、多GPU的方式,对序列帧分组,每组序列帧分配到不同的编码硬件设备(GPU)上,同一时间多个序列帧在不同的编码硬件设备上并行编码或解码,编码后的码流排序后存储到本地硬盘实现视频的录制功能,同时编码后的多路码流还由多个流媒体服务进程通过互联网发送到解码设备,由解码设备采取编码端类似的方式同时并行解码多个序列帧,实现视频的直播功能,通过这种对视频帧序列分组,把这些分组分配到不同的解码或解码进程中的方式,成倍的提高了单路高数据带宽视频流的编码和解码的速度,同时极大的降低了直播的延迟。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种基于GPU同步并行视频编解码与流媒体传输系统,其特征在于,该系统包括:
编码设备,所述编码设备包含视频采集设备、多个CPU处理器、多个GPU显卡及网卡,所述编码设备的GPU显卡数量与解码设备中的显卡数量相一致,并且编码不限制某一特定编码方式,所述编码设备启动一个视频帧采集进程,一个录制进程,根据内置的GPU显卡个数启动多个编码进程和多个流媒体服务进程,编码进程数量以及流媒体服务进程数量分别与GPU显卡数量相同,每一个编码进程控制一个GPU显卡,每一个编码进程对应一个流媒体服务进程;
解码设备,所述解码设备包含视频输出卡、多个CPU处理器、多个GPU显卡及网卡,所述解码设备通过视频线连接视频源,所述解码设备通过网卡连接互联网,所述视频输出卡通过视频线连接视频显示设备,所述解码设备启动一个视频输出进程,根据内置GPU显卡个数启动多个解码进程和多个流媒体服务客户端进程,解码进程数量以及流媒体服务客户端进程数量分别与GPU显卡数量相同,每个解码进程对应一个流媒体客户端进程;
视频源,所述视频源为单路视频源,所述视频源包含摄像机或视频播放器,所述单路视频源根据时间顺序输出视频帧,视频帧采集进程通过视频采集卡采集到单路视频源的视频帧后,按照采集到的视频帧的时间顺序对视频帧进行编号,这个编号称为Frame No,然后再对这些视频帧进行分组,每一个分组称为一个GOP,每个GOP中的视频帧个数相同,视频帧采集进程通过进程间通信的方式将这些GOP分配到不同的编码进程;
视频显示设备,所述视频显示设备包含显示器,所述显示器通过视频线连接所述解码设备的视频输出卡。
2. 根据权利要求1所述的基于GPU同步并行视频编解码与流媒体传输系统,其特征在于,所述编码设备中的多个编码进程接收到视频帧采集进程采集的单路视频源的GOP后立刻调用其所控制的GPU显卡进行编码,GOP中的视频帧经过编码后生成码流数据,所述码流数据被称为ES数据,编码过程中确保视频帧Frame No不变,每个ES数据都保留原有的视频帧编号,编码进程将ES数据复制两份,其中一份通过进程间通信的方式发送到对应的流媒体服务进程,另一份通过进程通信方式发送到录制进程。
3. 根据权利要求1或2所述的基于GPU同步并行视频编解码与流媒体传输系统,其特征在于,所述录制进程接收到ES数据后,根据ES数据的视频帧编号Frame No排序,所述录制进程对排序后的ES数据打包成TS数据包并保存到文件中,完成视频的录制功能。
4.根据权利要求1所述的基于GPU同步并行视频编解码与流媒体传输系统,其特征在于,所述编码设备中的流媒体服务进程接收到编码进程发来的ES数据后,所述流媒体服务进程通过网络与远端所述解码设备中的流媒体服务客户端建立连接,所述流媒体服务进程将接收到ES数据发送至远端解码设备中的流媒体服务客户端进程。
5. 根据权利要求1所述的基于GPU同步并行视频编解码与流媒体传输系统,其特征在于,所述解码设备中的流媒体服务客户端进程与所述编码设备中的流媒体服务进程通过网络连接,所述流媒体服务客户端进程接收到ES数据后通过进程间通信方式将ES数据发送至对应的解码进程,所述解码进程接收到ES数据立即进行解码,解码过程中确保ES数据FrameNo不变,所述ES数据解码后生成视频帧,每个视频帧都保留原有的编号Frame No,所述解码后生成的视频帧通过进程间通信的方式发送至视频输出进程。
6. 根据权利要求5所述的基于GPU同步并行视频编解码与流媒体传输系统,其特征在于,所述视频输出进程从多个解码进程获取到视频帧后,根据视频帧Frame No进行排序,所述视频输出进程将排序后的视频帧发送到所述解码设备中的视频输出卡,所述视频输出卡通过视频线将视频帧发送到视频显示设备,所述视频显示设备显示接收到的视频帧。
7.一种基于GPU同步并行视频编解码与流媒体传输方法,其特征在于,该方法包括:
S1:视频源按照时间顺序输出视频帧,编码器内部的视频帧采集进程通过内置的视频采集设备获取所述视频帧,并对所获取的视频帧按照获取的时间顺序编号Frame No;
S2:视频录制进程收到多个编码器发送来的ES数据,每个ES数据都标有Frame No,录制进程根据Frame No对ES数据排序,并将排序后的ES数据打包成为TS数据保存到存储设备;
S3:编码设备内部的流媒体服务进程通过互联网与解码设备中的流媒体服务客户端进程建立连接,流媒体服务进程接收到对应编码进程发送来的ES数据后,对ES数据打包成流媒体数据流,通过互联网发送到解码设备内部的流媒体服务客户端进程;
S4:解码设备内部的流媒体服务客户端进程接收到编码设备发来的ES数据后,通过进程间通信的方式将接收到的ES数据发送的其对应的解码进程,解码进程收到ES数据后立刻进行解码并生成视频帧数据,所述解码进程将这些解码后的视频帧数据通过进程间通信的方式发送到视频输出进程;
S5:解码设备内部的视频输出进程接收到由多个解码进程发来的视频帧后,立刻对接收到的视频帧根据Frame No排序,按照Frame No序号将视频帧通过内置于解码设备内部的视频输出卡发送到视频显示设备进行播放。
8.根据权利要求7所述的基于GPU同步并行视频编解码与流媒体传输方法,其特征在于,所述S1中视频帧采集进程进一步包括:
S1.1 基于视频帧采集进程对编号后视频帧分组,每个分组称之为一个GOP,采集进程将GOP分别分配给多个编码进程,每个编码进程利用自己控制的GPU显卡对所分配的GOP编码,多个编码进程同时并行对所分配的GOP编码;
S1.2 编码后的ES数据复制为两份,一份发送到视频录制进程,另一份发送到此编码进程所对应的流媒体服务进程。
9.根据权利要求7所述的基于GPU同步并行视频编解码与流媒体传输方法,其特征在于,所述S3中解码设备内部流媒体服务客户端进一步包括:
S3.1:流媒体服务客户端进程接收到ES数据流后,通过进程间通信的方式将ES数据发送到解码设备内部的解码进程,解码进程对ES数据进行解码,解码过程中确保ES数据的Frame No不变;
S3.2:根据ES数据经过解码进程解码生成视频帧,解码进程通过进程间通信的方式将视频帧发送到解码设备内部的视频输出进程。
CN202010796022.9A 2020-08-10 2020-08-10 基于gpu同步并行视频编解码与流媒体传输系统及方法 Pending CN112087631A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010796022.9A CN112087631A (zh) 2020-08-10 2020-08-10 基于gpu同步并行视频编解码与流媒体传输系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010796022.9A CN112087631A (zh) 2020-08-10 2020-08-10 基于gpu同步并行视频编解码与流媒体传输系统及方法

Publications (1)

Publication Number Publication Date
CN112087631A true CN112087631A (zh) 2020-12-15

Family

ID=73736175

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010796022.9A Pending CN112087631A (zh) 2020-08-10 2020-08-10 基于gpu同步并行视频编解码与流媒体传输系统及方法

Country Status (1)

Country Link
CN (1) CN112087631A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114286107A (zh) * 2021-12-30 2022-04-05 武汉华威科智能技术有限公司 一种提高实时视频处理效率的方法、系统、设备及介质
CN115103194A (zh) * 2022-06-16 2022-09-23 慧之安信息技术股份有限公司 基于多解码模式的视频解码方法
CN115297332A (zh) * 2022-10-09 2022-11-04 中诚华隆计算机技术有限公司 一种云端流媒体硬解码方法和装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101682761A (zh) * 2007-06-14 2010-03-24 汤姆森许可贸易公司 进行时间最优化编码的系统和方法
CN103475871A (zh) * 2013-09-23 2013-12-25 合肥君达高科信息技术有限公司 一种带有准时数据传输功能的高速摄像系统
JP2014086770A (ja) * 2012-10-19 2014-05-12 Nippon Hoso Kyokai <Nhk> 映像信号分割装置、映像伝送送信装置、映像伝送受信装置および映像伝送システム
CN106254867A (zh) * 2016-08-08 2016-12-21 暴风集团股份有限公司 基于画面组对视频文件进行转码的方法及系统
CN106341692A (zh) * 2015-07-07 2017-01-18 杭州海康威视数字技术股份有限公司 图像数据的霍夫曼解码装置和方法
CN110087140A (zh) * 2018-01-26 2019-08-02 腾讯科技(深圳)有限公司 一种传输流媒体数据的方法、装置、介质及设备
CN111263164A (zh) * 2020-02-28 2020-06-09 中国电子科技集团公司第五十八研究所 一种高帧频视频并行编码及重组方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101682761A (zh) * 2007-06-14 2010-03-24 汤姆森许可贸易公司 进行时间最优化编码的系统和方法
JP2014086770A (ja) * 2012-10-19 2014-05-12 Nippon Hoso Kyokai <Nhk> 映像信号分割装置、映像伝送送信装置、映像伝送受信装置および映像伝送システム
CN103475871A (zh) * 2013-09-23 2013-12-25 合肥君达高科信息技术有限公司 一种带有准时数据传输功能的高速摄像系统
CN106341692A (zh) * 2015-07-07 2017-01-18 杭州海康威视数字技术股份有限公司 图像数据的霍夫曼解码装置和方法
CN106254867A (zh) * 2016-08-08 2016-12-21 暴风集团股份有限公司 基于画面组对视频文件进行转码的方法及系统
CN110087140A (zh) * 2018-01-26 2019-08-02 腾讯科技(深圳)有限公司 一种传输流媒体数据的方法、装置、介质及设备
CN111263164A (zh) * 2020-02-28 2020-06-09 中国电子科技集团公司第五十八研究所 一种高帧频视频并行编码及重组方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陈靖 等: "深入理解视频编解码技术——基于H.264标准及参考模型", 北京航空航天大学出版社, pages: 239 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114286107A (zh) * 2021-12-30 2022-04-05 武汉华威科智能技术有限公司 一种提高实时视频处理效率的方法、系统、设备及介质
CN115103194A (zh) * 2022-06-16 2022-09-23 慧之安信息技术股份有限公司 基于多解码模式的视频解码方法
CN115297332A (zh) * 2022-10-09 2022-11-04 中诚华隆计算机技术有限公司 一种云端流媒体硬解码方法和装置
CN115297332B (zh) * 2022-10-09 2022-12-06 中诚华隆计算机技术有限公司 一种云端流媒体硬解码方法和装置

Similar Documents

Publication Publication Date Title
CN112087631A (zh) 基于gpu同步并行视频编解码与流媒体传输系统及方法
RU2518383C2 (ru) Способ и устройство для переупорядочивания и мультиплексирования мультимедийных пакетов из мультимедийных потоков, принадлежащих взаимосвязанным сеансам
US6744741B1 (en) System and method for maintaining a plurality of media conferences
CN107197369B (zh) 一种多子流协同的视频流媒体并行解码方法
CN103179431A (zh) Vdi环境下音视频重定向转码分离方法
CN112584087B (zh) 视频会议录制方法、电子装置和存储介质
US20130135427A1 (en) Techniques For a Rate-Adaptive Video Conference Bridge
CN105577819A (zh) 一种虚拟化桌面的分享系统、分享方法以及分享装置
CN110740380A (zh) 视频处理方法和装置、存储介质及电子装置
CN104320716A (zh) 一种基于多终端协同的视频上行链路传输方法
EP3657316A1 (en) Method and system for displaying virtual desktop data
CN114222166B (zh) 多路视频码流实时处理、同屏播放方法及相关系统
CN101350908A (zh) 用于网络视频会议的视频数据传输系统及方法
US8355398B2 (en) Transporting real time video frames over an Ethernet network
US8928728B2 (en) Systems, methods, and media for controlling a presentation of data images in a video stream
CN114257839A (zh) 视频编码装置及解码装置、播放系统及方法
WO2011029369A1 (zh) 一种视频编解码方法、系统及视频监控系统
CN1682206A (zh) 以改变流式约束为基础的动态质量调节
CN110365997A (zh) 一种低延迟的互动教学直播方法及系统
US9098674B2 (en) Data processing apparatus for segmental processing of input data, systems using the apparatus and methods for data transmittal
CN102215425A (zh) 实现实况视频点播的方法及设备
US7385940B1 (en) System and method for using a plurality of processors to support a media conference
CN109151611B (zh) 基于rtp/rtcp的hevc实时视频传输控制方法
CN112218158B (zh) 一种视频处理的方法及设备
US11671976B2 (en) Early notification for transmission of encoded video data

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