CN111885346A - 画面码流合成方法、终端、电子设备和存储介质 - Google Patents
画面码流合成方法、终端、电子设备和存储介质 Download PDFInfo
- Publication number
- CN111885346A CN111885346A CN202010886632.8A CN202010886632A CN111885346A CN 111885346 A CN111885346 A CN 111885346A CN 202010886632 A CN202010886632 A CN 202010886632A CN 111885346 A CN111885346 A CN 111885346A
- Authority
- CN
- China
- Prior art keywords
- code stream
- picture code
- picture
- synthesis
- decoding
- 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
- 238000001308 synthesis method Methods 0.000 title claims abstract description 11
- 230000015572 biosynthetic process Effects 0.000 claims abstract description 102
- 238000003786 synthesis reaction Methods 0.000 claims abstract description 102
- 230000002194 synthesizing effect Effects 0.000 claims abstract description 44
- 238000009877 rendering Methods 0.000 claims abstract description 40
- 238000000034 method Methods 0.000 claims description 53
- 238000012545 processing Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 6
- 238000004806 packaging method and process Methods 0.000 claims description 5
- 239000000203 mixture Substances 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 abstract description 5
- 238000004891 communication Methods 0.000 abstract description 3
- 239000002699 waste material Substances 0.000 abstract 1
- 230000008569 process Effects 0.000 description 12
- 239000002131 composite material Substances 0.000 description 5
- 230000003247 decreasing effect Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000011161 development Methods 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
- 238000003672 processing method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/15—Conference systems
-
- 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/20—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
-
- 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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- 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/44012—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 rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明实施方式公开了一种画面码流合成方法、终端、电子设备和存储介质,涉及通信领域。画面码流合成方法包括:获取至少两路画面码流和所述画面码流的码流信息,其中,所述码流信息包含所述画面码流的编解码方式、所述画面码流的合成规则和所述画面码流的合成方式;根据所述编解码方式选择对所述画面码流解码,获取解码画面码流;根据所述合成规则和所述合成方式对所述解码画面码流利用开放式图形库OpenGL进行渲染合成,获取合成画面帧;根据所述编解码方式对所述合成画面帧进行编码,得到一路合成画面码流。将本发明的画面码流合成方法应用在通信传输中,可以避免合成设备系统资源的浪费,来达到提高画面码流传输效率的目的。
Description
技术领域
本发明实施方式涉及通信领域,特别涉及一种画面码流合成方法、终端、电子设备和存储介质。
背景技术
在互联网和云计算快速发展的今天,云视频会议系统,监控系统,直播系统等新互联下的潮流,而展示多路画面码流也在这些系统中被广泛应用。在传统视频会议或者监控系统中展示多路画面码流的方法是:将每一路画面码流独立展示,每一路画面码流都需要经过从网络获取画面码流、解码画面码流、将解码画面码流渲染到屏幕三个过程。
然而,在现有的展示多路画面码流的方法中,对每一路画面码流进行解码渲染时需要使用本地处理器来处理,会消耗大量的系统资源,而且还只能在本地局域网进行传输,使得用户在进行多路画面码流合成时需要使用更高性能的设备,增加用户的使用成本的同时使用场景还受限制。
发明内容
本发明实施方式的目的在于提供一种画面码流合成方法、终端、电子设备和存储介质,可以将多路画面码流合成一路画面码流,减少传输多路画面码流所需要的带宽资源。
为解决上述技术问题,本发明的实施方式提供了一种画面码流合成方法,包括:获取至少两路画面码流和所述画面码流的码流信息,其中,所述码流信息包含所述画面码流的编解码方式、所述画面码流的合成规则和所述画面码流的合成方式;根据所述编解码方式选择对所述画面码流解码,获取解码画面码流;根据所述合成规则和所述合成方式对所述解码画面码流利用开放式图形库OpenGL进行渲染合成,获取合成画面帧;根据所述编解码方式对所述合成画面帧进行编码,得到一路合成画面码流。
本发明的实施方式还提供了一种画面码流合成终端,包括:
获取模块:用于获取至少两路画面码流和所述画面码流的码流信息,其中,所述码流信息包括所述画面码流的编解码方式、所述画面码流的合成规则和所述画面码流的合成方式;
解码模块:用于根据所述编解码方式对所述画面码流解码,得到解码画面码流;
合成模块:用于根据所述合成方式和所述合成规则对所述解码画面码流采用开放式图形库OpenGL进行渲染合成,获取合成画面帧;
编码模块:用于根据所述编解码方式对所述合成画面帧进行编码,获取一路合成画面码流。
本发明的实施方式还提供了一种电子设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行以上所述的画面码流合成方法。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现以上所述的画面码流合成方法。
本发明实施方式相对于现有技术而言,在接收到多路画面码流时,会获取画面码流的码流信息,其中,码流信息包括画面码流的编解码方式、合成规则和合成方式,根据编解码方式对画面码流进行解码,得到解码画面码流,之后根据所述合成规则和所述合成方式将所述解码画面码流利用OpenGL渲染合成为一个画面帧,将画面帧根据编解码方式进行编码后输出一路合成画面码流,从而达到将多路画面码流合成一路画面码流的目的,解决了现有技术上需要每一路画面码流独立展示导致传输需要很高的带宽以及使用场景受限制的问题。
另外,本发明实施方式提供的画面码流合成方法,所述根据所述编解码方式对所述画面码流解码,包括:根据所述编解码方式选择解码器,其中,所述编解码方式包含软件编解码和硬件编解码;使用所述解码器对所述画面码流进行独立解码,所述方法每一路画面码流解码时都在独立线程中处理,与其他画面码流同时处理,相互独立互不干扰,支持软件算法对画面码流的编码,软件算法编解码方式支持二次开发,且在不同系统间使用不受限制,使得本发明实施方式提供的技术方案可以提高画面码流的解码速率以及提高实用性。
另外,本发明实施方式提供的画面码流合成方法,所述根据所述合成规则和所述合成方式对所述解码画面码流采用开放式图形库OpenGL进行渲染合成,获取合成画面帧,包括:根据所述合成方式确定所述合成画面帧的分屏方式;采用开放式图形库OpenGL按照所述分屏方式和所述合成规则将所述解码画面码流进行渲染合成,获取所述合成画面帧;利用OpenGL方式渲染合成画面码流,渲染效率高,速度快,资源消耗非常小,还能够动态的改变画面码流,使得本发明实施方式提供的技术方案可以提高画面码流渲染合成效率。
另外,本发明实施方式提供的画面码流合成方法,所述采用开放式图形库OpenGL按照所述分屏方式和所述合成规则将所述解码画面码流进行渲染合成之前还包括:判断所述合成规则是否包含在预设合成规则中;若所述合成规则包含在预设规则中,则按照所述合成规则进行渲染合成,若所述合成规则不包含在预设规则中,根据所述画面码流的码流信息在所述预设的合成规则中选取最合适的,所述方法对于不同的画面码流所使用的合成规则是不同的,使得本发明实施方式提供的技术方案渲染合成出来的画面码流的质量更高。
另外,本发明实施方式提供的画面码流合成方法,所述根据所述合成规则和所述合成方式将所述解码画面码流采用开放式图形库OpenGL渲染,获取合成画面帧之后还包括:创建缓存空间;将所述合成画面帧数据读取到所述缓存空间;将所述缓存空间的数据映射到视频缓冲区中,将渲染合成之后的数据存放至视频缓冲区,编码过程可直接从视频缓冲区读取,使得本发明实施方式提供的技术方案可以提高多路画面码流合成速度。
另外,本发明实施方式提供的画面码流合成方法,所述根据所述编解码方式对所述合成画面帧进行编码,包括:获取所述合成画面帧,并将所述合成画面帧转化为YUV格式的合成画面帧;根据所述编解码方式选择编码器,其中,所述编解码方式包括软件编解码和硬件编解码;根据所述编码器对所述YUV格式的合成画面帧进行视频编码和音频编码,将合成画面帧编码之后在输出,以及合成之后的画面帧支持软件编码,使得本发明实施方式提供的技术方案可以减少传输合成画面码流所需带宽以及提高实用性。
另外,本发明实施方式提供的画面码流合成方法,所述获取一路合成画面码流之后还包括:将所述一路合成画面码流封装为MP4格式的视频数据存储;或者,将所述一路合成画面码流推送到媒体流服务平台,所述方法生成的编码后的画面码流除了封装后可在本地观看之外,还可以是上传至服务器供其他用户进行远程观看,使得本发明实施方式提供的技术方案的实用性更强。
附图说明
一个或多个实施方式通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施方式的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本发明的第一实施方式提供的画面码流合成方法的流程图;
图2是本发明的第二实施方式提供的画面码流合成方法的流程图;
图3是本发明的第三实施方式提供的画面码流合成方法的流程图;
图4是本发明的第四实施方式提供的画面码流合成终端的结构示意图;
图5是本发明的第五实施方式提供的电子设备的结构示意图。
具体实施方式
为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
以下各个实施方式的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施方式在不矛盾的前提下可以相互结合相互引用。
本发明的第一实施方式涉及一种画面码流合成方法,具体流程如图1所示。
步骤101:获取至少两路画面码流和画面码流的码流信息,其中,码流信息包含画面码流的编解码方式、画面码流的合成规则和画面码流的合成方式。
在本实施方式中,码流信息包括每一路画面码流的码流地址、码流信息、URL地址、码流是否包含音频、码流是否本地存储、码流是否推流、推流地址、码流合成规则、码流合成方式以及码流的编解码方式,其中,合成方式是指1分屏,2分屏,4分屏,9分屏或者16分屏集中分屏方式,编解码方式包含软件编解码和硬件编解码。
步骤102:根据编解码方式对画面码流解码,得到解码画面码流。
在本实施方式中,在解码每一路画面码流之前,首先根据步骤101所获取的码流信息来选择合适的解码器,每一路画面码流的解码都在独立的线程中进行,与其他画面码流的解码同时处理,其中,编码器的选择需要根据每一路画面码流的码流信息(码流类型、码流封装格式以及码流头信息等)是否支持硬件编解码以及硬件设备的GPU所支持的硬件解码的类型与画面码流所支持的类型是否匹配,当硬件设备的GPU所支持的硬件解码的类型与画面码流所支持的类型匹配时说明支持硬件解码器,在支持且码流信息中解码器部分为硬解或自动情况下才会选择使用硬件解码器,否则会选择软件解码器,而在整个画面码流的过程中,可采用GPU加速解码。
本实施方式不对具体的解码方法进行限定,在实际的使用过程中可以使用任何现有的视频解码方法进行操作,此处不做赘述。
步骤103:根据合成规则和合成方式对解码画面码流采用开放式图形库OpenGL进行渲染合成,获取合成画面帧。
在本实施方式中,在渲染时,当第一路画面帧数据渲染到画布上后,然后计算下一路画面的的渲染位置,然后完成画面帧的渲染,以此重复对其他所有画面码流的画面帧进行逐一渲染,当所有画面帧渲染完成后,整个OpenGL画布区域就作为一个输出画面帧的图像。渲染合成后的图像存放在渲染缓存区中,如果渲染缓存区绑定到图形显示器的话就可以通过显示器查看渲染的内容,如果渲染缓存区没有绑定到图形显示器的话数据会一直按照要求进行处理,但不会在显示器或者其他显示输出设备上显示。
需要注意的是:在画面码流合成的过程中,如果需要增加或者减少画面码流,需要在步骤102中添加一路或者减少一路画面码流的解码,在本步骤中再次执行上述步骤103的操作,完成重新布局和重新渲染即可。
步骤104:根据编解码方式对合成画面帧进行编码,获取一路合成画面码流。
在本实施方式中,获取到合成的画面帧之后,需要先将画面帧统一转换为YUV格式,然后根据编解码方式选择合适的编码器对合成的画面帧进行编码处理,在编码时除了需要对画面帧进行编码之外,还需要对画面帧的音频进行编码,其中,编码器的选择跟解码器的选择方式相同,对画面帧的编码处理可以采用高度压缩视频编码H.264标准、高效视频编码H.265标准等,对画面帧音频的处理可以采用高级音频编码AAC、自由无损音频压缩编码FLAC等,以上编码处理方法仅举例说明,在实际的使用过程中也可以根据实际情况选择其他编码处理方式,此处不做一一赘述。
在本实施方式中,步骤104在获取一路合成画面码流之后,可以通过两种方式处理合成画面码流:
一种是:将一路合成画面码流封装为MP4格式的视频数据存储。
具体地,编码后的合成画面码流进行视频封装,封装格式MP4,直接以文件存储于本地磁盘中。
另一种是:将一路合成画面码流推送到媒体流服务平台。
具体地,编码后的合成画面码流使用RTMP、HLS、RTSP等流媒体协议方式推送到媒体流服务平台,以便供给用户进行远程观看。
通过采用存储模式或者推送模式处理合成画面码流,处理方式多样,可以适用于不同场景,使得本发明实施方式提供的技术方案适用性更强。
本发明实施方式相对于现有技术而言,在接收到多路画面码流时,会获取多路画面码流的码流信息,其中,码流信息包括画面码流的编解码方式、合成规则和合成方式,根据编解码方式对画面码流进行解码,得到解码画面码流,之后根据所述合成规则和所述合成方式将所述解码画面码流渲染合成为一个画面帧,将画面帧根据编解码方式进行编码后输出一路合成画面码流,从而达到将多路画面码流合成一路画面码流的目的,解决了现有技术上需要每一路画面码流独立展示导致传输需要很高的带宽以及使用场景受限制的问题。
本发明的第二实施方式涉及一种画面码流合成方法,该方法与第一实施方式提供的画面码流合成方法基本相同,其区别在于,如图2所示,步骤103包括:
步骤201:根据合成方式确定合成画面帧的分屏方式。
在本实施方式中,根据合成方式1分屏确定合成画面帧的分屏方式为1×1、根据合成方式2分屏确定合成画面帧的分屏方式为1×2、根据合成方式4分屏确定合成画面帧的分屏方式为2×2等,以上分屏方式的确定仅举例说明,在实际使用中可以将合成画面帧划分为3×3、4×4等方式,此处不一一赘述。
步骤202:判断合成规则是否包含在预设合成规则中。
在本实施方式中,首先要判断所获取到的画面码流的合成规则是否包含在预设的合成规则中,若合成规则包含在预设规则中,则执行步骤1034;若合成规则不包含在预设规则中,则执行步骤1033之后在执行步骤1034,其中,合成规则是指在确定好合成方式之后,将每一路画面帧按照一定的顺序依次放入合成画面帧中,这个顺序可以是从左至右、从上至下等顺序,也可以是其他任意一种顺序,此处不一一赘述。
步骤203:根据画面码流的码流信息在预设的合成规则中选取最合适的。
在本实施方式中,当预设的合成规则中不包含码流的合成规则时,需要根据多路画面码流的个数以及每一路画面码流的大小取最适合的合成规则。
步骤204:采用开放式图形库OpenGL按照分屏方式和合成规则将解码画面码流进行渲染合成,获取合成画面帧。
在实施方式中,需要使用开放式图形库OpenGL按照合成规则将按顺序以此将每一路画面码流渲染到画布上,在渲染时,当第一路画面帧数据渲染到画布上后,然后计算下一路视频的的渲染位置,然后完成画面帧的渲染,以此重复对其他所有画面码流的视频帧进行逐一渲染,当所有画面帧渲染完成后,整个OpenGL画布区域就作为一个输出视频帧的图像,当画面码流的路数少于等于等分的最大个数,会依顺序绘制渲染画面帧,如果大于支持的最大个数只会绘制最大个数的画面帧,多余画面码流不再进行解码,渲染以及后续的流程,在渲染合成的过程中可以利用OpenGL对解码画面码流的画面帧进行转换、放大、缩小、任意长宽比例显示、剪裁、灰度处理、添加视频滤镜等各种视频处理。
需要注意的是:在画面码流合成的过程中,如果需要增加或者减少画面流,需要在步骤102中添加一路或者减少一路画面流的解码,在本步骤中再次执行上述步骤201-204的操作,完成重新布局和重新渲染即可。
本发明的第三实施方式涉及一种画面码流合成方法,该方法与本发明的第一实施方式提供的画面码流合成方法基本相同,其区别在于,在得到合成画面帧之后需要将合成画面帧存储到视频缓冲区,如图3所示,还包括:
步骤301:创建缓存空间。
在本实施方式中,渲染合成之后的合成画面帧数据存放在渲染缓存区中,可以利用着色器语言以编程的方式直接控制显卡对渲染缓存区里的合成画面帧数据进行操作,首先要建立一个缓存空间存放最终存放合成画面码流,该缓存空间可以是一个包含顶点数据的内存空间,也可以是其他类型的缓存空间,此处不一一赘述。
步骤302:将合成画面帧读取到缓存空间。
在本实施方式中,利用OpenGL的接口将合成的画面帧填充缓存空间的数据中,当缓存空间为一个包含顶点数据的内存空间时,需要将合成的画面帧填充在顶点缓冲数据中。
步骤303:将缓存空间的数据映射到视频缓冲区。
在本实施方式中,将缓存空间的数据映射到视频缓冲区,使得步骤104可以直接获取到合成画面帧数据。
本发明实施方式相对于现有技术而言,在获得将渲染合成的画面帧之后,将合成画面真的数据映射至视频缓冲区,编码过程可直接从视频缓冲区读取,使得本发明实施方式提供的技术方案可以提高画面码流合成速度。
本发明第四实施方式涉及一种画面码流合成终端,如图4所示,包括:
获取模块:用于获取至少两路画面码流和所述画面码流的码流信息,其中,所述码流信息包括所述画面码流的编解码方式、所述画面码流的合成规则和所述画面码流的合成方式;
解码模块:用于根据所述编解码方式对所述画面码流进行解码,得到解码画面码流;
合成模块:用于根据所述合成方式和所述合成规则将所述解码画面码流采用开放式图形库OpenGL渲染合成,获取合成画面帧;
编码模块:用于根据所述编解码方式对所述合成画面帧进行编码,获取一路合成画面码流。
不难发现,本实施方式为与第一实施方式相对应的系统实施方式,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
本发明第五实施方式涉及一种电子设备,如图5所示,包括:
至少一个处理器501;以及,
与所述至少一个处理器501通信连接的存储器502;其中,
所述存储器502存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器501执行,以使所述至少一个处理器501能够执行本发明第一至第四实施方式所述的画面码流合成方法。
其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路链接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。
处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。
本发明第六实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施方式。
即,本领域技术人员可以理解,实现上述实施方式方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施方式,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
Claims (10)
1.一种画面码流合成方法,其特征在于,包括:
获取至少两路画面码流和所述画面码流的码流信息,其中,所述码流信息包含所述画面码流的编解码方式、所述画面码流的合成规则和所述画面码流的合成方式;
根据所述编解码方式选择对所述画面码流解码,获取解码画面码流;
根据所述合成规则和所述合成方式将所述解码画面码流采用开放式图形库OpenGL进行渲染合成,获取合成画面帧;
根据所述编解码方式对所述合成画面帧进行编码,获取一路合成画面码流。
2.根据权利要求1所述的画面码流合成方法,其特征在于,所述根据所述编解码方式对所述画面码流解码,包括:
根据所述编解码方式选择解码器,其中,所述编解码方式包含软件编解码、硬件编解码;
根据所述解码器对所述画面码流进行独立解码。
3.根据权利要求1所述的画面码流合成方法,其特征在于,所述根据所述合成规则和所述合成方式对所述解码画面码流采用开放式图形库OpenGL进行渲染合成,获取合成画面帧,包括:
根据所述合成方式确定所述合成画面帧的分屏方式;
采用开放式图形库OpenGL按照所述分屏方式和所述合成规则将所述解码画面码流进行渲染合成,获取所述合成画面帧。
4.根据权利要求3所述的画面码流合成方法,其特征在于,所述采用开放式图形库OpenGL按照所述分屏方式和所述合成规则将所述解码画面码流进行渲染合成之前还包括:
判断所述合成规则是否包含在预设合成规则中;
若所述合成规则包含在预设规则中,则按照所述合成规则进行渲染合成;
若所述合成规则不包含在预设规则中,则根据所述画面码流的码流信息在所述预设的合成规则中选取最合适的。
5.根据权利要求1所述的画面码流合成方法,其特征在于,所述根据所述合成规则和所述合成方式将所述解码画面码流采用开放式图形库OpenGL渲染,获取合成画面帧之后还包括:
创建缓存空间;
将所述合成画面帧读取到所述缓存空间;
将所述缓存空间的数据映射到视频缓冲区。
6.根据权利要求1所述的画面码流合成方法,其特征在于,所述根据所述编解码方式对所述合成画面帧进行编码,包括:
获取所述合成画面帧,并将所述合成画面帧转化为YUV格式的合成画面帧;
根据所述编解码方式选择编码器,其中,所述编解码方式包括软件编解码、硬件编解码;
根据所述编码器对所述YUV格式的合成画面帧进行视频编码和音频编码。
7.根据权利要求1所述的画面码流合成方法,其特征在于,所述获取一路合成画面码流之后还包括:
将所述一路合成画面码流封装为MP4格式的视频数据存储;或者,
将所述一路合成画面码流推送到媒体流服务平台。
8.一种画面码流合成终端,其特征在于,包括:
获取模块:用于获取至少两路画面码流和所述画面码流的码流信息,其中,所述码流信息包括所述画面码流的编解码方式、所述画面码流的合成规则和所述画面码流的合成方式;
解码模块:用于根据所述编解码方式对所述画面码流解码,得到解码画面码流;
合成模块:用于根据所述合成方式和所述合成规则对所述解码画面码流采用开放式图形库OpenGL进行渲染合成,获取合成画面帧;
编码模块:用于根据所述编解码方式对所述合成画面帧进行编码,获取一路合成画面码流。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任一所述的画面码流合成方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一所述的画面码流合成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010886632.8A CN111885346B (zh) | 2020-08-28 | 2020-08-28 | 一种画面码流合成方法、终端、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010886632.8A CN111885346B (zh) | 2020-08-28 | 2020-08-28 | 一种画面码流合成方法、终端、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111885346A true CN111885346A (zh) | 2020-11-03 |
CN111885346B CN111885346B (zh) | 2022-12-27 |
Family
ID=73199456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010886632.8A Active CN111885346B (zh) | 2020-08-28 | 2020-08-28 | 一种画面码流合成方法、终端、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111885346B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112672210A (zh) * | 2020-12-18 | 2021-04-16 | 杭州叙简科技股份有限公司 | 一种可变帧率多路视频渲染方法及系统 |
CN113068008A (zh) * | 2021-03-24 | 2021-07-02 | 苏州科达科技股份有限公司 | 解码、编码、码流传输方法、电子设备及系统 |
CN115033195A (zh) * | 2022-04-25 | 2022-09-09 | Oppo广东移动通信有限公司 | 画面显示方法、装置、设备、存储介质及程序产品 |
CN116886912A (zh) * | 2022-12-06 | 2023-10-13 | 广州开得联软件技术有限公司 | 一种多路视频编码方法、装置、设备及存储介质 |
CN117411998A (zh) * | 2023-09-05 | 2024-01-16 | 北京仁光科技有限公司 | 基于网络传输的监控系统、方法、设备和介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1543222A (zh) * | 2003-11-05 | 2004-11-03 | 武汉大学 | 基于dct空间的多路画面混合方法 |
CN1936964A (zh) * | 2006-10-20 | 2007-03-28 | 珠海金山软件股份有限公司 | 一种实现3d场景中的动画纹理的方法 |
CN101237583A (zh) * | 2008-03-07 | 2008-08-06 | 杭州华三通信技术有限公司 | 一种实现多分屏的编解码方法和装置 |
CN101257607A (zh) * | 2008-03-12 | 2008-09-03 | 中兴通讯股份有限公司 | 一种应用于视频会议的多画面处理系统和方法 |
US20160301940A1 (en) * | 2013-09-24 | 2016-10-13 | Sony Corporation | Coding apparatus, coding method, transmission apparatus, and reception apparatus |
CN106941598A (zh) * | 2016-01-04 | 2017-07-11 | 中兴通讯股份有限公司 | 多画面码流合成方法、多画面码流合成控制方法及装置 |
WO2017219980A1 (zh) * | 2016-06-23 | 2017-12-28 | 中兴通讯股份有限公司 | 播放画面生成方法、装置及系统 |
CN108924550A (zh) * | 2018-06-19 | 2018-11-30 | 复旦大学 | 一种多路同分辨率视频转码方法 |
CN110691260A (zh) * | 2019-10-21 | 2020-01-14 | 北京东方广视科技股份有限公司 | Iptv多分屏编码播放控制方法及装置 |
CN110928513A (zh) * | 2019-11-25 | 2020-03-27 | 新智道枢(上海)科技有限公司 | 一种超大分辨率合成指挥应用系统 |
-
2020
- 2020-08-28 CN CN202010886632.8A patent/CN111885346B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1543222A (zh) * | 2003-11-05 | 2004-11-03 | 武汉大学 | 基于dct空间的多路画面混合方法 |
CN1936964A (zh) * | 2006-10-20 | 2007-03-28 | 珠海金山软件股份有限公司 | 一种实现3d场景中的动画纹理的方法 |
CN101237583A (zh) * | 2008-03-07 | 2008-08-06 | 杭州华三通信技术有限公司 | 一种实现多分屏的编解码方法和装置 |
CN101257607A (zh) * | 2008-03-12 | 2008-09-03 | 中兴通讯股份有限公司 | 一种应用于视频会议的多画面处理系统和方法 |
US20160301940A1 (en) * | 2013-09-24 | 2016-10-13 | Sony Corporation | Coding apparatus, coding method, transmission apparatus, and reception apparatus |
CN106941598A (zh) * | 2016-01-04 | 2017-07-11 | 中兴通讯股份有限公司 | 多画面码流合成方法、多画面码流合成控制方法及装置 |
WO2017219980A1 (zh) * | 2016-06-23 | 2017-12-28 | 中兴通讯股份有限公司 | 播放画面生成方法、装置及系统 |
CN108924550A (zh) * | 2018-06-19 | 2018-11-30 | 复旦大学 | 一种多路同分辨率视频转码方法 |
CN110691260A (zh) * | 2019-10-21 | 2020-01-14 | 北京东方广视科技股份有限公司 | Iptv多分屏编码播放控制方法及装置 |
CN110928513A (zh) * | 2019-11-25 | 2020-03-27 | 新智道枢(上海)科技有限公司 | 一种超大分辨率合成指挥应用系统 |
Non-Patent Citations (1)
Title |
---|
陈文辉等: "基于FPGA的多路视频合成系统的设计", 《制造业自动化》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112672210A (zh) * | 2020-12-18 | 2021-04-16 | 杭州叙简科技股份有限公司 | 一种可变帧率多路视频渲染方法及系统 |
CN113068008A (zh) * | 2021-03-24 | 2021-07-02 | 苏州科达科技股份有限公司 | 解码、编码、码流传输方法、电子设备及系统 |
CN115033195A (zh) * | 2022-04-25 | 2022-09-09 | Oppo广东移动通信有限公司 | 画面显示方法、装置、设备、存储介质及程序产品 |
CN116886912A (zh) * | 2022-12-06 | 2023-10-13 | 广州开得联软件技术有限公司 | 一种多路视频编码方法、装置、设备及存储介质 |
CN116886912B (zh) * | 2022-12-06 | 2024-02-13 | 广州开得联软件技术有限公司 | 一种多路视频编码方法、装置、设备及存储介质 |
CN117411998A (zh) * | 2023-09-05 | 2024-01-16 | 北京仁光科技有限公司 | 基于网络传输的监控系统、方法、设备和介质 |
CN117411998B (zh) * | 2023-09-05 | 2024-09-24 | 北京仁光科技有限公司 | 基于网络传输的监控系统、方法、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111885346B (zh) | 2022-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111885346B (zh) | 一种画面码流合成方法、终端、电子设备和存储介质 | |
US6989868B2 (en) | Method of converting format of encoded video data and apparatus therefor | |
CN110049336B (zh) | 视频编码方法和视频解码方法 | |
JP2012508485A (ja) | Gpu加速を伴うソフトウエアビデオトランスコーダ | |
CN110971912B (zh) | 点云编解码方法、编解码器、编解码装置和存储介质 | |
KR20160034890A (ko) | 정보 처리 장치 및 방법 | |
JP2016226001A (ja) | デコーダおよび復号方法 | |
CN106717007B (zh) | 云端流媒体服务器 | |
CN102783147A (zh) | 预算编码 | |
CN115396645B (zh) | 一种沉浸媒体的数据处理方法、装置、设备及存储介质 | |
EP2804143A1 (en) | System and method for forwarding a graphics command stream | |
WO2021117802A1 (ja) | 画像処理装置および方法 | |
CN115225937A (zh) | 沉浸式媒体提供方法、获取方法、装置、设备及存储介质 | |
CN113228663A (zh) | 用于可伸缩图像编码的方法、设备、计算机程序和计算机可读介质 | |
CN113973224B (zh) | 媒体信息的传输方法、计算设备及存储介质 | |
CN115134629A (zh) | 视频传输方法、系统、设备及存储介质 | |
US20140333640A1 (en) | System and method for forwarding a graphics command stream | |
WO2023193524A1 (zh) | 直播视频处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品 | |
JP2024517915A (ja) | データ処理方法、装置、コンピュータ機器及びコンピュータプログラム | |
CN115866254A (zh) | 一种传输视频帧及摄像参数信息的方法与设备 | |
US20140333639A1 (en) | System and method for forwarding a graphics command stream | |
US9888250B2 (en) | Techniques for image bitstream processing | |
EP2804094A1 (en) | A system and method for forwarding a graphics command stream | |
EP2804095A1 (en) | A system and method for forwarding a graphics command stream | |
WO2020175176A1 (ja) | 情報処理装置および方法、並びに、再生装置および方法 |
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 |