CN113938705A - 用于视频编解码的方法、装置、服务器、终端设备及系统 - Google Patents
用于视频编解码的方法、装置、服务器、终端设备及系统 Download PDFInfo
- Publication number
- CN113938705A CN113938705A CN202010668549.3A CN202010668549A CN113938705A CN 113938705 A CN113938705 A CN 113938705A CN 202010668549 A CN202010668549 A CN 202010668549A CN 113938705 A CN113938705 A CN 113938705A
- Authority
- CN
- China
- Prior art keywords
- data
- video
- audio
- frame data
- image
- 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 33
- 238000004891 communication Methods 0.000 claims abstract description 31
- 238000000354 decomposition reaction Methods 0.000 claims abstract description 18
- 238000000926 separation method Methods 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 claims description 9
- 230000002194 synthesizing effect Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 22
- 238000004364 calculation method Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 5
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static 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/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/233—Processing of audio elementary streams
- H04N21/2335—Processing of audio elementary streams involving reformatting operations of audio signals, e.g. by converting from one coding standard to another
-
- 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/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
-
- 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/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
-
- 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/439—Processing of audio elementary streams
- H04N21/4398—Processing of audio elementary streams involving reformatting operations of audio signals
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本公开提出了一种用于视频编码的服务器、用于视频解码的终端设备、视频编解码的方法、装置以及一种视频播放系统。该用于视频编码的服务器包括:依次通信连接的视频分解单元,编码单元以及发送单元;其中,所述视频分解单元将原始视频流数据分解为音频帧数据、图像帧数据,并将所述音频帧数据和所述图像帧数据发送至所述编码单元;所述编码单元接收所述音频帧数据和所述图像帧数据,获取图形用户界面缓冲数据,并分别对所述音频帧数据、所述图像帧数据和所述图形用户界面缓冲数据进行编码,得到编码码流,并将所述编码码流发送至所述发送单元;所述发送单元将编码码流发送至终端设备。
Description
技术领域
本说明书实施例涉及视频处理技术领域,更具体的,涉及一种用于视频编码的服务器,一种用于视频解码的终端设备、一种视频编码的方法、一种视频解码的方法、一种视频编码的装置、一种视频解码的装置以及一种视频播放系统。
背景技术
目前,为了解决由于安卓系统的复杂性使其无法运行在硬件资源非常有限的瘦客户端上,可以是通过在云端服务器中通过容器的方式来运行安卓系统及其应用,例如,可以是在云端服务器中通过容器的方式来运行安卓视频类应用,并且通过网页实时通信(WebRealTime Communication,WebRTC)协议将得到的图像数据和音频数据发送到客户端,以使得客户端进行视频播放。
通常,云端服务器中包括WebRTC连接服务模块和安卓云容器模块;其中,WebRTC连接服务模块中设置有音频编码器、图像编码器、音频通道和图像通道;安卓云容器模块中设置有图像解码器和音频解码器。云端服务器将图像数据和音频数据发送到客户端之前,需要先由图像解码器和音频解码器分别对图像数据和音频数据进行解码,再由音频编码器和图像编码器分别对解码后的原始音频数据和原始视频数据分别进行编码,并将编码后得到的音频码流通过音频通道发送到客户端,以及将编码后得到的视频码流通过图像通道发送到客户端,以由客户端解码并播放视频。
然而,上述现有技术中,音视频数据经过解码之后又被音视频编码器进行编码,由于带宽的限制,通常音视频编码器都是有损编码,这使得客户端收到并播放的视频质量与原始视频质量相比会有所下降,并且,视频解码和编码都有计算工作负载,会占据一定的计算资源。
发明内容
本说明书实施例提供一种用于视频编码的服务器的新的技术方案。
根据本说明书的第一方面,提供了一种用于视频编码的服务器,包括:依次通信连接的视频分解单元,编码单元以及发送单元;
其中,所述视频分解单元将原始视频流数据分解为音频帧数据、图像帧数据,并将所述音频帧数据和所述图像帧数据发送至所述编码单元;
所述编码单元接收所述音频帧数据和所述图像帧数据,获取图形用户界面缓冲数据,并分别对所述音频帧数据、所述图像帧数据和所述图形用户界面缓冲数据进行编码,得到编码码流,并将所述编码码流发送至所述发送单元;
所述发送单元将编码码流发送至终端设备。
可选地,其中,所述视频分解单元包括:视频播放服务模块和音视频分离模块;
所述视频播放服务模块获取所述原始视频流数据,并发送给所述音视频分离模块;所述音视频分离模块接收所述原始视频流数据,并将所述原始视频流数据分解为所述音频帧数据和所述图像帧数据,并将所述音频帧数据和所述图像帧数据发送至所述编码单元。
可选地,其中,所述编码单元包括:网页实时通信连接服务模块,窗口组件模块,图像编码模块,
所述网页实时通信连接服务模块根据流协议将所述音频帧数据编码为音频编码数据,将所述图像帧数据编码为图像编码数据,并将所述音频编码数据和所述图像编码数据发送至所述发送单元;
所述窗口组件模块获取所述图形用户界面缓冲数据,并发送至所述图像编码模块;
所述图像编码模块对所述图形用户界面缓冲数据进行编码,得到图形用户界面缓冲编码数据,并发送至所述发送单元。
可选地,其中,所述网页实时通信连接服务模块包括音频适配器和图像适配器;
所述音频适配器根据流协议将所述音频帧数据编码为所述音频编码数据;
所述图像适配器根据流协议将所述图像帧数据编码为所述图像编码数据。
可选地,其中,所述图像编码模块为图像编码器。
可选地,其中,所述编码码流包括:所述音频编码数据、所述图像编码数据和所述图形用户界面缓冲编码数据;
所述发送单元包括:音频通道,第一视频通道和第二视频通道;
所述音频通道将所述音频编码数据发送至所述终端设备;所述第一视频通道将所述图像编码数据发送至所述终端设备;以及,所述第二视频通道将所述图形用户界面缓冲编码数据发送至所述终端设备。
根据本说明书的第二方面,提供了一种用于视频解码的终端设备,包括:发送模块,依次通信连接的接收模块,解码模块以及显示模块;
其中,所述发送模块向服务器发送视频播放请求;
所述接收模块接收所述服务器返回的视频编码码流,所述视频编码码流是所述服务器根据所述视频播放请求对视频进行编码后发送的;
所述解码模块对所述视频编码码流进行解码,得到视频流数据;以及,
所述显示模块播放解码后的视频流数据。
可选地,其中,所述视频编码码流中包括编码后的音频编码数据、图像编码数据和图形用户界面缓冲编码数据;
相应的,所述解码模块对所述编码后的音频编码数据、图像编码数据和图形用户界面缓冲编码数据进行解码,得到解码后的音频帧数据、图像帧数据和图形用户界面缓冲帧数据,并对所述解码后的音频帧数据、图像帧数据和图形用户界面缓冲帧数据进行合成,得到所述视频流数据。
根据本说明书的第三方面,提供了一种视频编码的方法,包括:
获取原始视频流数据和图形用户界面缓冲数据;
将所述原始视频流数据分解为音频帧数据和图像帧数据;
分别对所述音频帧数据、所述图像帧数据和所述图形用户界面缓冲数据进行编码,得到编码码流;
将所述编码码流发送至终端设备。
可选地,其中,所述编码码流包括:所述音频编码数据、所述图像编码数据和所述图形用户界面缓冲编码数据;
所述将所述编码码流发送至终端设备,包括:
将所述音频编码数据通过音频通道发送至所述终端设备;
将所述图像编码数据通过第一视频通道发送至所述终端设备;以及
将所述图形用户界面缓冲编码数据通过第二视频通道发送至所述终端设备。
根据本说明书的第四方面,提供了一种视频解码的方法,包括:
接收服务器发送的视频编码码流,所述视频编码码流是所述服务器根据所述视频播放请求对视频进行编码后发送的;
对所述视频编码码流进行解码,得到视频流数据;以及,
播放解码后的视频流数据。
可选地,其中,所述视频编码码流中包括编码后的音频编码数据、图像编码数据和图形用户界面缓冲编码数据;
所述对所述视频编码码流进行解码,得到视频流数据,包括:
对所述编码后的音频编码数据、图像编码数据和图形用户界面缓冲编码数据进行解码,得到解码后的音频帧数据、图像帧数据和图形用户界面缓冲数据,并对所述解码后的音频帧数据、图像帧数据和图形用户界面缓冲数据进行合成,得到所述视频流数据。
根据本说明书的第五方面,提供了一种视频编码的装置,包括:
获取模块,用于获取原始视频流数据和图形用户界面缓冲数据;
分解模块,用于将所述原始视频流数据分解为音频帧数据和图像帧数据;
编码模块,用于分别对所述音频帧数据、所述图像帧数据和所述图形用户界面缓冲数据进行编码,得到编码码流;
发送模块,用于将所述编码码流发送至终端设备。
根据本说明书的第六方面,提供了一种视频解码的装置,包括:
接收模块,用于接收服务器发送的视频编码码流,所述视频编码码流是所述服务器根据所述视频播放请求对视频进行编码后发送的;
解码模块,用于对所述视频编码码流进行解码,得到视频流数据;以及,
播放模块,用于播放解码后的视频流数据。
根据本说明书的第七方面,提供了一种视频播放系统,包括:
如本说明书的第一方面中任一项所述的用于视频编码的服务器;以及,包括如本说明书的第二方面中任一项所述的用于视频解码的终端设备。
在一个实施例中,用于视频编码的服务器中设置了用于将原始视频流数据分解为音频帧数据、图像帧数据,并将所述音频帧数据和所述图像帧数据发送至所述编码单元的视频分解单元,用于接收所述音频帧数据和所述图像帧数据,获取图形用户界面缓冲数据,并分别对所述音频帧数据、所述图像帧数据和所述图形用户界面缓冲数据进行编码,得到编码码流,并将所述编码码流发送至所述发送单元的编码单元;以及,用于将编码码流发送至终端设备的发送单元。由于可以独立的对图形用户界面缓冲数据进行编码,且避免了现有技术中无谓的音视频解码计算,直接对音视频数据进行编码,从而大大减轻了服务器上的计算负担。
通过以下参照附图对本说明书的示例性实施例的详细描述,本说明书的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本说明书的实施例,并且连同其说明一起用于解释本说明书的原理。
图1是实现用于视频编解码的服务器的一个实施例的应用场景示意图;
图2是现有技术中可用于实现用于视频编解码的服务器的云主机操作系统的框架示意图;
图3是基于图2所示的云主机操作系统的框架运行安卓视频播放云应用的系统流程示意图;
图4是用于实现视频编解码的服务器的一个系统的硬件配置的原理框图;
图5是本说明书实施例的用于视频编解码的服务器的示意性结构图;
图6是本说明书实施例的用于视频编解码的服务器的一个例子的示意性结构图;
图7示出了本说明书实施例的视频编码的方法的流程图;
图8示出了本说明书实施例的视频编码的装置的结构示意图;
图9是本说明书实施例的用于视频解码的终端设备的示意性结构图;
图10示出了本说明书实施例的视频解码的方法的流程图;
图11示出了本说明书实施例的视频解码的装置的结构示意图。
具体实施方式
现在将参照附图来详细描述本说明书的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本说明书的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本说明书及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
首先需要说明的是,在外物互联云边端一体化的趋势下,客户端设备所需的硬件资源和成本越来越小,而安卓系统由于自身的复杂性使其无法运行在硬件资源非常有限的客户端设备上,因此,在云端服务器中通过容器的方式来运行安卓系统及其应用,并且通过WebRTC协议将结果推送到客户端设备就成为一种很好的选择,其在视频类应用中取得了良好的效果。
通常,云端服务器中包括WebRTC连接服务模块和安卓云容器模块;其中,WebRTC连接服务模块中设置有音频编码器、图像编码器、音频通道和图像通道;安卓云容器模块中设置有图像解码器和音频解码器。云端服务器将图像数据和音频数据发送到客户端之前,需要先由图像解码器和音频解码器分别对图像数据和音频数据进行解码,再由音频编码器和图像编码器分别对解码后的原始音频数据和原始视频数据分别进行编码,并将编码后得到的音频码流通过音频通道发送到客户端,以及将编码后得到的视频码流通过图像通道发送到客户端,以由客户端解码并播放视频。然而,上述方案中,音视频数据经过解码之后又被音视频编码器进行编码,由于带宽的限制,通常音视频编码器都是有损编码,这样客户端收到并播放的视频质量与原始视频质量相比会有所下降,并且,视频解码和编码都有计算工作负载,会占据一定的计算资源。
具体的,结合图1和图2所示,以服务器1000上云主机操作系统(Host OS inCloud)里安卓云容器(Android Container)中运行的安卓应用(Android Applications)为安卓视频类应用的场景为例,用户针对于终端设备2000(图2中的客户端Client)中视频类应用X的图标实施点击操作,终端设备2000响应于该点击操作并发送视频播放请求至服务器1000里的安卓云容器(Android Container)模块中的安卓视频播放云应用,安卓框架(Android Framework)中的窗口组件(SurfaceFlinger)把图像源数据通过进程间通信(Inter Process Communication,IPC)传送给网页实时通信(WebRTC)连接服务里的图像编码器(Video Encoder),安卓框架(Android Framework)中的音频组件(AudioFlinger)把音频源数据通过进程间通信传送给WebRTC连接服务里的音频编码器(Audio Encoder)。当终端设备2000发送连接请求时,服务器1000将音视频流通过WebRTC协议发送到终端设备2000上,这样终端设备2000上可以通过音视频解码的方式得到安卓的渲染结果。另外,用户在终端设备2000上的输入事件,例如快进、快退、发送弹幕等输入事件可以通过WebRTC连接服务里的数据通道(Data Channel)发送到WebRTC连接服务,WebRTC连接服务通过进程间通信的方式发送到安卓云容器中。这样终端设备2000的客户端2000和服务器1000的安卓云容器之间形成互动。
具体的,如图3所示,云主机操作系统中运行的云应用为视频类应用时,在其视频播放运行框架中,主要步骤有:视频类应用准备原始的视频流数据(Media Data)和图形用户界面缓冲数据(GUI buffer),其中,视频流数据(Media Data)是按照某种格式,如MP4格式等压缩后的音频流数据和视频流数据;GUI buffer为视频类应用的非视频界面数据,如进度条数据,弹幕数据等。
其中,视频流数据(Media Data)按照安卓框架,发送给安卓框架中的视频播放服务(Media Player Service/Media Service),视频播放服务(Media Player Service)会调用音视频分离器(media demuxer),把视频流数据(Media Data)分解为原始音视频帧数据(AV Frame)。
安卓框架中的视频播放服务(Media Player Service)调用音视频编解码组件子系统(OMX Subsystem)中提供的音频解码器(Audio Decoder)对原始音频(Audio)帧数据进行解码,利用图像解码器(Video Decoder)对原始图像(Video)帧数据进行解码,这样得到解码完之后的音视频帧数据(Audio&VideoRawData)。
音视频编解码组件子系统(OMX Subsystem)将解码完之后的音视频帧数据(Audio&Video Raw Data)返回给安卓框架中的视频播放服务(Media Player Service),安卓框架中的视频播放服务(Media Player Service)根据码流信息中的显示时间戳(Prensentation Timestamp,PTS),按照时间把解码完之后的音频帧数据(Audio RawData)和图像帧数据(Video Raw Data)分别发给安卓框架中的音频组件(AudioFlinger)和窗口组件(SurfaceFlinger)进行播放和渲染。其中,音频组件(Audio Flinger)是现有的安卓框架中的一个组件,用来进行声音的合成和播放;窗口组件(Surface Flinger)也是现有的安卓框架中的一个组件,用来合成所有的窗口图层并显示。
窗口组件(Surface Flinger)把图像帧数据(Video Raw Data)和视频类应用发过来的图形用户界面缓冲数据(GUI buffer)进行合成,成为缓冲数据帧(Frame BufferData)发送至WebRTC连接服务中的图像编码器(Video Encoder)。音频组件(AudioFlinger)把音频帧数据(Audio Raw Data)发送至WebRTC连接服务中的音频编码器(AudioEncoder)。
WebRTC连接服务中的图像编码器(VideoEncoder)和音频编码器(AudioEncoder)分别使用IPC机制从窗口组件(Surface Flinger)和音频组件(Audio Flinger)的输出中抓取图像帧数据和音频帧数据,进行图像编码和音频编码。编码完成的视频码流经由图像通道(Video Channel)通过流协议发送到终端设备2000上,以及,编码完成的音频码流经由音频通道(Audio Channel)通过流协议发送到终端设备2000上。
终端设备2000对视频码流和音频码流进行解码和播放,用户可以通过终端设备2000的显示屏观看到渲染内容。
可见,在该框架下,音视频经过安卓框架中的视频播放服务(Media PlayerService)的解码之后又被WebRTC连接服务中的音视频编码器进行编码,在实际使用中由于带宽的限制,通常音视频编码都是有损编码,这样用户最后看到的视频质量跟原始视频质量相比较会有所下降,导致用户体验不好,并且音视频解码和编码都有计算工作负载,会占据一定的计算资源。
基于此,本实施例提供了一种新的用于视频编码的服务器。
<硬件配置>
图4是用于实现视频编解码的服务器的一个系统的硬件配置的原理框图。
如图4所示,本实施例的视频播放系统100包括服务器1000、终端设备2000以及网络3000。
服务器1000例如可以是刀片服务器、机架式服务器等,服务器1000也可以是部署在云端的服务器集群,在此不做限定。
如图4所示,服务器1000可以包括处理器1100、存储器1200、接口装置1300、通信装置1400、显示装置1500和输入装置1600。处理器1100例如可以是中央处理器CPU等。存储器1200例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1300例如包括USB接口、串行接口等。通信装置1400例如能够进行有线或无线通信。显示装置1500例如是液晶显示屏。输入装置1600例如可以包括触摸屏、键盘等。
本实施例中,服务器1000的存储器1200用于存储指令,该指令用于控制处理器1100进行操作。技术人员可以根据本说明书所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。
本领域技术人员应当理解,尽管在图4中示出了服务器1000的多个装置,但是,本说明书实施例的服务器1000可以仅涉及其中的部分装置,例如,只涉及处理器1100和存储器1200。
如图4所示,终端设备2000可以包括处理器2100、存储器2200、接口装置2300、通信装置2400、显示装置2500、输入装置2600、扬声器2700、麦克风2800,等等。其中,处理器2100用于执行程序指令,该程序指令可以采用比如x86、Arm、RISC、MIPS、SSE等架构的指令集。存储器2200例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置2300例如包括USB接口、耳机接口等。通信装置2400例如能够进行有线或无线通信。显示装置2500例如是液晶显示屏、触摸显示屏等。输入装置2600例如可以包括触摸屏、键盘等。扬声器2700用于输出语音信息。麦克风2800用于采集语音信息。
终端设备2000可以是智能手机、便携式电脑、台式计算机、平板电脑等可以支持视频播放的任意设备。
本实施例中,终端设备2000的存储器2200用于存储指令,所述指令用于控制所述处理器2100进行操作。技术人员可以根据本说明书所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。
本领域技术人员应当理解,尽管在图4中示出了终端设备2000的多个装置,但是,本说明书实施例的终端设备2000可以仅涉及其中的部分装置,例如,只涉及处理器2100、存储器2200、显示装置2500、输入装置2600等。
通信网络3000可以是无线网络也可以是有线网络,可以是局域网也可以是广域网。终端设备2000可以通过通信网络3000与服务器1000进行通信。
图4所示的视频播放系统100仅是解释性的,并且决不是为了要限制本说明书、其应用或用途。例如,尽管图4仅示出一个服务器1000和一个终端设备2000,但不意味着限制各自的数量,视频播放系统100中可以包含多个服务器1000和/或多个终端设备2000。
<第一实施例>
<服务器>
如图5所示,本实施例提供的用于视频编码的服务器4000可以包括:依次通信连接的视频分解单元4100,编码单元4200以及发送单元4300。
其中,服务器4000通过所述视频分解单元4100将原始视频流数据分解为音频帧数据、图像帧数据,并将所述音频帧数据和所述图像帧数据发送至所述编码单元4200;服务器4000通过所述编码单元4200接收所述音频帧数据和所述图像帧数据,获取图形用户界面缓冲数据,并分别对所述音频帧数据、所述图像帧数据和所述图形用户界面缓冲数据进行编码,得到编码码流,并将所述编码码流发送至所述发送单元4300;服务器4000通过所述发送单元4300将编码码流发送至终端设备。
其中,所述视频分解单元4100包括:视频播放服务模块和音视频分离模块。所述视频播放服务模块可以获取所述原始视频流数据,并发送给所述音视频分离模块;所述音视频分离模块可以接收所述原始视频流数据,并将所述原始视频流数据分解为所述音频帧数据和所述图像帧数据,并将所述音频帧数据和所述图像帧数据发送至所述编码单元4200。
具体的,所述编码单元4200包括:网页实时通信连接服务模块,窗口组件模块,图像编码模块,所述网页实时通信连接服务模块可以根据流协议将所述音频数据帧编码为音频编码数据,将所述图像帧数据编码为图像编码数据,并将所述音频编码数据和所述图像编码数据发送至所述发送单元4300;所述窗口组件模块可以获取所述图形用户界面缓冲数据,并发送至所述图像编码模块;所述图像编码模块可以对所述图形用户界面缓冲数据进行编码,得到图形用户界面缓冲编码数据,并发送至所述发送单元4300。
在一个例子中,所述网页实时通信连接服务模块包括音频适配器和图像适配器;所述音频适配器可以根据流协议将所述音频帧数据编码为所述音频编码数据;所述图像适配器可以根据流协议将所述图像帧数据编码为所述图像编码数据。具体的,所述图像编码模块可以为图像编码器。
具体的,所述编码码流包括:所述音频编码数据、所述图像编码数据和所述图形用户界面缓冲编码数据。所述发送单元4300包括:音频通道,第一视频通道和第二视频通道;服务器4000通过所述音频通道将所述音频编码数据发送至所述终端设备;服务器4000通过所述第一视频通道将所述图像编码数据发送至所述终端设备;以及,服务器4000通过所述第二视频通道将所述图形用户界面缓冲编码数据发送至所述终端设备。
在实际应用中,如图6所示,视频类应用程序(Android Video Playback APP)准备原始视频流数据(Media Data)和图形用户界面缓冲数据(GUI buffer)。其中,原始视频流数据(Media Data)是按照某种格式,如MP4格式压缩过之后包含了原始音频流和原始视频流的数据。图形用户界面缓冲数据(GUI buffer)为视频类应用的非视频界面,如进度条,弹幕等。
所述视频分解单元4100中的视频播放服务模块(Media Player Service)会调用音视频分离模块(media demuxer)把视频流数据(Media Data)分解为音频数据和图像数据。视频播放服务模块(Media Player Service)在通过调用音视频分离模块(mediademuxer)把视频流数据(Media Data)分解为音频数据和图像数据后,将音频数据帧(AudioFrame Data)和图像数据帧(Video Frame Data)和显示时间戳(PrensentationTimestamp,PTS)等信息直接打包成音频帧数据(Audio Frame Data)和图像帧数据(VideoFrame Data),输出到网页实时通信连接服务模块(WebRTC Connection Service)中。
网页实时通信连接服务模块(WebRTC Connection Service)中的音频适配器(Audio Adapter)和图像适配器(Video Adapter)把音频帧数据(Audio Frame Data)和图像帧数据(Video Frame Data)根据流协议的格式要求转化为音频编码数据和图像编码数据。并将音频编码数据通过音频通道(Audio Channel)发送至终端设备,将图像编码数据通过第一视频通道,即图6中的视频通道0(Video Channel0)发送至终端设备。
由于本实施例中改变了安卓现有视频播放服务模块(Media Player Service)的流程,避免了现有技术中无谓的音视频解码计算,让音视频编码直接输出到网页实时通信连接服务模块(WebRTC Connection Service)中,避免了现有技术中的音视频编解码的计算过程,从而大大减轻了服务器上的计算负担。
同时,窗口组件(SurfaceFlinger)模块把视频类应用程序发过来的图形用户界面缓冲数据(GUI buffer)直接输出到网页实时通信连接服务模块(WebRTC ConnectionService)中的图像编码器(Video Encoder)中进行编码,得到图形用户界面缓冲编码数据,并将图形用户界面缓冲编码数据通过第二视频通道,即图6中的视频通道1(VideoChannel1)发送至终端设备。
本实施例中,通过对图形用户界面缓冲数据(GUI Buffer)独立编码,可以直接将编码后的图形用户界面缓冲数据(GUI Buffer)通过第二视频通道(视频通道1,VideoChanel1)输出至终端设备。同时,本实施例中可以独立的对图形用户界面缓冲数据(GUIBuffer)进行编码和传输,由于图形用户界面缓冲数据(GUI Buffer)的有效显示区域较小,且变化较小,可以用比较小的计算代价完成编码和较小的带宽完成传输,因而节省了服务器的计算资源和带宽资源。
<方法>
图7示出了本说明书实施例的视频编码的方法的流程图。本实施例的方法例如可以由上述服务器执行。
具体的,如图7所示,本实施例的方法可以包括如下步骤5100~5400:
步骤5100,获取原始视频流数据和图形用户界面缓冲数据。
步骤5200,将所述原始视频流数据分解为音频帧数据和图像帧数据。
步骤5300,分别对所述音频帧数据、所述图像帧数据和所述图形用户界面缓冲数据进行编码,得到编码码流。
步骤5400,将所述编码码流发送至终端设备。
其中,所述编码码流包括:所述音频编码数据、所述图像编码数据和所述图形用户界面缓冲编码数据。
本步骤中,该服务器具体可以将所述音频编码数据通过音频通道发送至所述终端设备;将所述图像编码数据通过第一视频通道发送至所述终端设备;以及,将所述图形用户界面缓冲编码数据通过第二视频通道发送至所述终端设备。以使所述终端设备对编码码流进行解码后合成视频流数据并进行显示。
<装置>
图8示出了本说明书实施例的视频编码的装置的结构示意图。如图8所示,该视频编码的装置6000可以包括:获取模块6100,分解模块6200,编码模块6300以及发送模块6400。
其中,获取模块6100,用于获取原始视频流数据和图形用户界面缓冲数据。
分解模块6200,用于将所述原始视频流数据分解为音频帧数据和图像帧数据。
编码模块6300,用于分别对所述音频帧数据、所述图像帧数据和所述图形用户界面缓冲数据进行编码,得到编码码流。
发送模块6400,用于将所述编码码流发送至终端设备。
其中,所述编码码流包括:所述音频编码数据、所述图像编码数据和所述图形用户界面缓冲编码数据。相应的,所述发送模块6400具体可以将所述音频编码数据通过音频通道发送至所述终端设备;将所述图像编码数据通过第一视频通道发送至所述终端设备;以及将所述图形用户界面缓冲编码数据通过第二视频通道发送至所述终端设备。
以上已结合附图对本实施例的用于视频编码的服务器、视频编码的方法及装置进行了说明,通过在服务器中设置用于将原始视频流数据分解为音频帧数据、图像帧数据,并将所述音频帧数据和所述图像帧数据发送至所述编码单元的视频分解单元,用于接收所述音频帧数据和所述图像帧数据,获取图形用户界面缓冲数据,并分别对所述音频帧数据、所述图像帧数据和所述图形用户界面缓冲数据进行编码,得到编码码流,并将所述编码码流发送至所述发送单元的编码单元;以及,用于将编码码流发送至终端设备的发送单元。由于可以独立的对图形用户界面缓冲数据进行编码,且避免了现有技术中无谓的音视频解码计算,直接对音视频数据进行编码,从而大大减轻了服务器上的计算负担。
<第二实施例>
<终端设备>
如图9所示,本实施例的用于视频解码的终端设备7000可以包括:发送模块7100,依次通信连接的接收模块7200,解码模块7300以及显示模块7400。其中,所述发送模块7100向服务器发送视频播放请求;所述接收模块7200接收所述服务器返回的视频编码码流,所述视频编码码流是所述服务器根据所述视频播放请求对视频进行编码后发送的;所述解码模块7300对所述视频编码码流进行解码,得到视频流数据;以及,所述显示模块7400播放解码后的视频流数据。
具体的,所述视频编码码流中包括编码后的音频编码数据、图像编码数据和图形用户界面缓冲编码数据。
所述解码模块7300对所述编码后的音频编码数据、图像编码数据和图形用户界面缓冲编码数据进行解码,得到解码后的音频帧数据、图像帧数据和图形用户界面缓冲数据,并对所述解码后的音频帧数据、图像帧数据和图形用户界面缓冲数据进行合成,得到所述视频流数据。
在实际应用中,如图6所示,终端设备解码从音频通道(Audio Channel),第一视频通道,即图6中的视频通道0(Video Channel0)和第二视频通道,即图6中的视频通道1(Video Channel1)接收到的音频编码数据、图像编码数据和图形用户界面缓冲编码数据,同时对视频通道0(Video Channel0)和视频通道1(Video Channel1)的解码结果进行视频的合成并播放,使得用户可以通过终端设备2000的显示屏观看到合成之后带有图形用户界面缓冲数据的图像。需要说明的是,本实施例的终端设备通常需要支持基于硬件的数据显示方案,在用户图形界面(Graphical User Interface,GUI)渲染时,视频通道0(VideoChannel0)和视频通道1(Video Channel1)接收到的数据可以显示在不同的Overlay层上。
<方法>
图10示出了本说明书实施例的视频解码的方法的流程图。本实施例的方法例如可以由上述终端设备执行。
具体的,如图10所示,本实施例的方法可以包括如下步骤8100~8300:
步骤8100,接收服务器发送的视频编码码流,所述视频编码码流是所述服务器根据所述视频播放请求对视频进行编码后发送的。
步骤8200,对所述视频编码码流进行解码,得到视频流数据。
其中,所述视频编码码流中包括编码后的音频编码数据、图像编码数据和图形用户界面缓冲编码数据。该终端设备在解码时,具体可以对所述编码后的音频编码数据、图像编码数据和图形用户界面缓冲编码数据进行解码,得到解码后的音频帧数据、图像帧数据和图形用户界面缓冲数据,并对所述解码后的音频帧数据、图像帧数据和图形用户界面缓冲数据进行合成,得到所述视频流数据。
步骤8300,播放解码后的视频流数据。
<装置>
图11示出了本说明书实施例的视频解码的装置的结构示意图。如图11所示,该视频编码的装置9000可以包括:接收模块9100,解码模块9200以及播放模块9300。
其中,接收模块9100,用于接收服务器发送的视频编码码流,所述视频编码码流是所述服务器根据所述视频播放请求对视频进行编码后发送的。
解码模块9200,用于对所述视频编码码流进行解码,得到视频流数据。
播放模块9300,用于播放解码后的视频流数据。
其中,所述视频编码码流中包括编码后的音频编码数据、图像编码数据和图形用户界面缓冲编码数据。所述解码模块9200具体可以用于对所述编码后的音频编码数据、图像编码数据和图形用户界面缓冲编码数据进行解码,得到解码后的音频帧数据、图像帧数据和图形用户界面缓冲数据,并对所述解码后的音频帧数据、图像帧数据和图形用户界面缓冲数据进行合成,得到所述视频流数据。
以上已结合附图对本实施例的用于视频解码的终端设备、视频解码的方法及装置进行了说明,通过把原本运行于服务器上的窗口组件(SurfaceFlinger)的图像合成工作下放到终端设备上,使得终端设备可以利用其显示硬件的能力快速完成数据合成工作,进而节省了服务器上的计算资源。
<系统>
本实施例的视频播放系统可以包括如上述实施例中所述的用于视频编码的服务器4000;以及,包括如上述实施例中所述的用于视频解码的终端设备7000。
本说明书可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本说明书的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本说明书操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本说明书的各个方面。
这里参照根据本说明书实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本说明书的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本说明书的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本说明书的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本说明书的范围由所附权利要求来限定。
Claims (15)
1.一种用于视频编码的服务器,包括:依次通信连接的视频分解单元,编码单元以及发送单元;
其中,所述视频分解单元将原始视频流数据分解为音频帧数据、图像帧数据,并将所述音频帧数据和所述图像帧数据发送至所述编码单元;
所述编码单元接收所述音频帧数据和所述图像帧数据,获取图形用户界面缓冲数据,并分别对所述音频帧数据、所述图像帧数据和所述图形用户界面缓冲数据进行编码,得到编码码流,并将所述编码码流发送至所述发送单元;
所述发送单元将编码码流发送至终端设备。
2.根据权利要求1所述的服务器,其中,所述视频分解单元包括:视频播放服务模块和音视频分离模块;
所述视频播放服务模块获取所述原始视频流数据,并发送给所述音视频分离模块;
所述音视频分离模块接收所述原始视频流数据,并将所述原始视频流数据分解为所述音频帧数据和所述图像帧数据,并将所述音频帧数据和所述图像帧数据发送至所述编码单元。
3.根据权利要求1所述的服务器,其中,所述编码单元包括:网页实时通信连接服务模块,窗口组件模块,图像编码模块,
所述网页实时通信连接服务模块根据流协议将所述音频帧数据编码为音频编码数据,将所述图像帧数据编码为图像编码数据,并将所述音频编码数据和所述图像编码数据发送至所述发送单元;
所述窗口组件模块获取所述图形用户界面缓冲数据,并发送至所述图像编码模块;
所述图像编码模块对所述图形用户界面缓冲数据进行编码,得到图形用户界面缓冲编码数据,并发送至所述发送单元。
4.根据权利要求3所述的服务器,其中,所述网页实时通信连接服务模块包括音频适配器和图像适配器;
所述音频适配器根据流协议将所述音频帧数据编码为所述音频编码数据;
所述图像适配器根据流协议将所述图像帧数据编码为所述图像编码数据。
5.根据权利要求3所述的服务器,其中,所述图像编码模块为图像编码器。
6.根据权利要求3所述的服务器,其中,所述编码码流包括:所述音频编码数据、所述图像编码数据和所述图形用户界面缓冲编码数据;
所述发送单元包括:音频通道,第一视频通道和第二视频通道;
所述音频通道将所述音频编码数据发送至所述终端设备;
所述第一视频通道将所述图像编码数据发送至所述终端设备;以及,
所述第二视频通道将所述图形用户界面缓冲编码数据发送至所述终端设备。
7.一种用于视频解码的终端设备,包括:发送模块,依次通信连接的接收模块,解码模块以及显示模块;
其中,所述发送模块向服务器发送视频播放请求;
所述接收模块接收所述服务器返回的视频编码码流,所述视频编码码流是所述服务器根据所述视频播放请求对视频进行编码后发送的;
所述解码模块对所述视频编码码流进行解码,得到视频流数据;以及,
所述显示模块播放解码后的视频流数据。
8.根据权利要求7所述的终端设备,其中,所述视频编码码流中包括编码后的音频编码数据、图像编码数据和图形用户界面缓冲编码数据;
相应的,所述解码模块对所述编码后的音频编码数据、图像编码数据和图形用户界面缓冲编码数据进行解码,得到解码后的音频帧数据、图像帧数据和图形用户界面缓冲帧数据,并对所述解码后的音频帧数据、图像帧数据和图形用户界面缓冲帧数据进行合成,得到所述视频流数据。
9.一种视频编码的方法,包括:
获取原始视频流数据和图形用户界面缓冲数据;
将所述原始视频流数据分解为音频帧数据和图像帧数据;
分别对所述音频帧数据、所述图像帧数据和所述图形用户界面缓冲数据进行编码,得到编码码流;
将所述编码码流发送至终端设备。
10.根据权利要求9所述的方法,其中,所述编码码流包括:所述音频编码数据、所述图像编码数据和所述图形用户界面缓冲编码数据;
所述将所述编码码流发送至终端设备,包括:
将所述音频编码数据通过音频通道发送至所述终端设备;
将所述图像编码数据通过第一视频通道发送至所述终端设备;以及
将所述图形用户界面缓冲编码数据通过第二视频通道发送至所述终端设备。
11.一种视频解码的方法,包括:
接收服务器发送的视频编码码流,所述视频编码码流是所述服务器根据所述视频播放请求对视频进行编码后发送的;
对所述视频编码码流进行解码,得到视频流数据;以及,
播放解码后的视频流数据。
12.根据权利要求11所述的方法,其中,所述视频编码码流中包括编码后的音频编码数据、图像编码数据和图形用户界面缓冲编码数据;
所述对所述视频编码码流进行解码,得到视频流数据,包括:
对所述编码后的音频编码数据、图像编码数据和图形用户界面缓冲编码数据进行解码,得到解码后的音频帧数据、图像帧数据和图形用户界面缓冲数据,并对所述解码后的音频帧数据、图像帧数据和图形用户界面缓冲数据进行合成,得到所述视频流数据。
13.一种视频编码的装置,包括:
获取模块,用于获取原始视频流数据和图形用户界面缓冲数据;
分解模块,用于将所述原始视频流数据分解为音频帧数据和图像帧数据;
编码模块,用于分别对所述音频帧数据、所述图像帧数据和所述图形用户界面缓冲数据进行编码,得到编码码流;
发送模块,用于将所述编码码流发送至终端设备。
14.一种视频解码的装置,包括:
接收模块,用于接收服务器发送的视频编码码流,所述视频编码码流是所述服务器根据所述视频播放请求对视频进行编码后发送的;
解码模块,用于对所述视频编码码流进行解码,得到视频流数据;以及,
播放模块,用于播放解码后的视频流数据。
15.一种视频播放系统,包括:
如权利要求1~6中任一项所述的用于视频编码的服务器;以及,
包括如权利要求7或8中所述的用于视频解码的终端设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010668549.3A CN113938705B (zh) | 2020-07-13 | 2020-07-13 | 用于视频编解码的方法、装置、服务器、终端设备及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010668549.3A CN113938705B (zh) | 2020-07-13 | 2020-07-13 | 用于视频编解码的方法、装置、服务器、终端设备及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113938705A true CN113938705A (zh) | 2022-01-14 |
CN113938705B CN113938705B (zh) | 2024-08-27 |
Family
ID=79273384
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010668549.3A Active CN113938705B (zh) | 2020-07-13 | 2020-07-13 | 用于视频编解码的方法、装置、服务器、终端设备及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113938705B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115225615A (zh) * | 2022-06-30 | 2022-10-21 | 如你所视(北京)科技有限公司 | 虚幻引擎像素流送方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9721662D0 (en) * | 1997-10-14 | 1997-12-10 | Philips Electronics Nv | Encoded video signal formatting |
JPH1032792A (ja) * | 1996-07-18 | 1998-02-03 | Sony Corp | 信号処理装置及び信号処理方法 |
US20110107036A1 (en) * | 2009-10-29 | 2011-05-05 | Cleversafe, Inc. | Distributed storage revision rollbacks |
CN105637886A (zh) * | 2014-09-25 | 2016-06-01 | 华为技术有限公司 | 用于向客户端提供图形用户界面的服务器,以及客户端 |
WO2017219896A1 (zh) * | 2016-06-21 | 2017-12-28 | 中兴通讯股份有限公司 | 视频流的传输方法及装置 |
CN109218758A (zh) * | 2018-11-19 | 2019-01-15 | 珠海迈科智能科技股份有限公司 | 一种支持cc字幕功能的转码系统及方法 |
CN110460889A (zh) * | 2019-09-16 | 2019-11-15 | 深圳市迅雷网络技术有限公司 | 一种视频投屏方法、装置、系统及存储介质 |
-
2020
- 2020-07-13 CN CN202010668549.3A patent/CN113938705B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1032792A (ja) * | 1996-07-18 | 1998-02-03 | Sony Corp | 信号処理装置及び信号処理方法 |
GB9721662D0 (en) * | 1997-10-14 | 1997-12-10 | Philips Electronics Nv | Encoded video signal formatting |
US20110107036A1 (en) * | 2009-10-29 | 2011-05-05 | Cleversafe, Inc. | Distributed storage revision rollbacks |
CN105637886A (zh) * | 2014-09-25 | 2016-06-01 | 华为技术有限公司 | 用于向客户端提供图形用户界面的服务器,以及客户端 |
WO2017219896A1 (zh) * | 2016-06-21 | 2017-12-28 | 中兴通讯股份有限公司 | 视频流的传输方法及装置 |
CN109218758A (zh) * | 2018-11-19 | 2019-01-15 | 珠海迈科智能科技股份有限公司 | 一种支持cc字幕功能的转码系统及方法 |
CN110460889A (zh) * | 2019-09-16 | 2019-11-15 | 深圳市迅雷网络技术有限公司 | 一种视频投屏方法、装置、系统及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115225615A (zh) * | 2022-06-30 | 2022-10-21 | 如你所视(北京)科技有限公司 | 虚幻引擎像素流送方法及装置 |
CN115225615B (zh) * | 2022-06-30 | 2024-02-23 | 如你所视(北京)科技有限公司 | 虚幻引擎像素流送方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113938705B (zh) | 2024-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11120677B2 (en) | Transcoding mixing and distribution system and method for a video security system | |
EP3643069B1 (en) | Effective encoding for screen data | |
US10976986B2 (en) | System and method for forwarding an application user interface | |
US9749636B2 (en) | Dynamic on screen display using a compressed video stream | |
CN113676769B (zh) | 视频解码方法、设备及存储介质 | |
CN101316358A (zh) | 向设备传输数字媒体流 | |
CN111629214A (zh) | 视频文件的转码方法、装置、设备和介质 | |
KR20140044840A (ko) | 변경된 영역들을 이용한 매체 인코딩 | |
US9253490B2 (en) | Optimizing video transfer | |
CN112601096A (zh) | 视频解码方法、装置、设备及可读存储介质 | |
CN109547839A (zh) | 直播内容的动态预览处理方法及装置、介质、电子设备 | |
CN111343503A (zh) | 视频的转码方法、装置、电子设备及存储介质 | |
CN113938705B (zh) | 用于视频编解码的方法、装置、服务器、终端设备及系统 | |
EP2851797A2 (en) | System and method for forwarding an application user interface | |
US20140330957A1 (en) | Widi cloud mode | |
CN116248889A (zh) | 图像编码及解码方法、装置和电子设备 | |
CN114339415A (zh) | 客户端视频播放方法、装置、电子设备和可读介质 | |
CN113596583A (zh) | 视频流子弹时间数据处理方法及装置 | |
CN107707930B (zh) | 视频处理方法、装置及系统 | |
TWI539795B (zh) | 使用變化區域的媒體編碼 | |
WO2023165580A1 (zh) | 语音连麦的合流方法及设备 | |
WO2023030402A1 (zh) | 视频的处理方法、装置及系统 | |
CN115474065B (zh) | 一种字幕处理方法、装置、电子设备和存储介质 | |
CN115134644B (zh) | 一种直播数据的处理方法及装置 | |
CN105323635B (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 |