CN112601096B - 视频解码方法、装置、设备及可读存储介质 - Google Patents

视频解码方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN112601096B
CN112601096B CN202011396739.0A CN202011396739A CN112601096B CN 112601096 B CN112601096 B CN 112601096B CN 202011396739 A CN202011396739 A CN 202011396739A CN 112601096 B CN112601096 B CN 112601096B
Authority
CN
China
Prior art keywords
preset
video
data
compressed data
target
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
Application number
CN202011396739.0A
Other languages
English (en)
Other versions
CN112601096A (zh
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.)
Shenzhen ZNV Technology Co Ltd
Nanjing ZNV Software Co Ltd
Original Assignee
Shenzhen ZNV Technology Co Ltd
Nanjing ZNV Software 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 Shenzhen ZNV Technology Co Ltd, Nanjing ZNV Software Co Ltd filed Critical Shenzhen ZNV Technology Co Ltd
Priority to CN202011396739.0A priority Critical patent/CN112601096B/zh
Publication of CN112601096A publication Critical patent/CN112601096A/zh
Application granted granted Critical
Publication of CN112601096B publication Critical patent/CN112601096B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • 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
    • 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/44008Processing 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 operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • 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
    • H04N21/440218Processing 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 transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种视频解码方法、装置、设备及可读存储介质,通过获取预设客户端的视频申请指令,控制预设云端服务器从预设前端设备获取视频流数据,所述视频流数据可以包含多路视频数据,并采用硬件解码的方式,将所述视频流数据在预设云端服务器上转换格式后解码压缩,得到目标压缩数据,将所述目标压缩数据隔离后发送至预设客户端,所述预设客户端只需要对所述目标压缩数据进行解压和图像绘制处理,即可得到目标视频数据,不需要再用大量资源进行解码操作,能有效减少所述预设客户端设备因性能问题导致视频卡顿或客户端卡死的情况,使视频的播放更加流畅。

Description

视频解码方法、装置、设备及可读存储介质
技术领域
本发明涉及视频技术领域,尤其涉及一种视频解码方法、装置、设备及可读存储介质。
背景技术
在日益发展的安防音视频监控和音视频直播的环境下,手机、平板电脑等移动端以它的便利性和易用性受到了广大用户的青睐,在移动客户端同时进行多路音视频播放成为了广大用户的迫切需求,但是随着高质量的音视频编码的慢慢普及和5G技术的发展,高速的数据传输突破了我们传统意义上的带宽限制,移动端设备对于音视频的转码和解码所承受的压力越来越大,尤其是当多路音视频码流同时进行转码和解码的时候,对移动端设备的性能要求会非常高,当移动端设备性能达不到要求的时候会出现音视频卡顿的情况,甚至可能会导致移动客户端卡死。
发明内容
本发明的主要目的在于提供一种视频解码方法、装置、设备及可读存储介质,旨在解决因设备性能达不到要求导致视频卡顿或客户端卡死的技术问题。
此外,为实现上述目的,本发明提供一种视频解码方法,所述视频解码方法包括以下步骤:
获取预设客户端的视频申请指令,并根据所述视频申请指令控制预设云端服务器获取视频流数据;
对所述视频流数据进行格式转换和解码压缩处理,得到目标压缩数据,并将所述目标压缩数据发送给所述预设客户端;
控制所述预设客户端对所述目标压缩数据进行解压和图像绘制处理,得到目标视频数据。
可选地,所述对所述视频流数据进行格式转换和解码压缩处理,得到目标压缩数据的步骤,包括:
将所述视频流数据转换为预设格式的视频文件;
利用预设视频解码库读取所述预设格式的文件,并对所述预设格式的视频文件进行解码处理,得到图像数据;
利用预设压缩算法,对所述图像数据进行无损压缩处理,得到目标压缩数据。
可选地,述对所述图像数据进行无损压缩处理的步骤,包括:
在所述预设云端服务器中建立数据压缩对象;
利用所述预设压缩算法,对所述图像数据进行压缩编码;
根据所述压缩编码,对所述图像数据进行无损压缩。
可选地,所述控制所述预设客户端对所述目标压缩数据进行解压和图像绘制处理,得到目标视频数据的步骤,包括:
在所述预设客户端建立图像绘制区,并将所述目标压缩数据解压为第二目标图像;
将所述第二目标图像输出到所述图像绘制区中的缓冲区,并对所述第二目标图像进行图像绘制,得到目标视频数据。
可选地,所述目标压缩数据可以是包含多路视频数据的压缩数据,所述将所述目标压缩数据发送给所述预设客户端的步骤,包括:
在所述预设客户端与所述预设服务器之间,为所述目标压缩数据中的每路视频数据的压缩数据建立通信协议链接;
通过所述通信协议链接,控制所述预设云端服务器将所述目标压缩数据中的多路视频数据的压缩数据进行隔离,并发送至所述预设客户端。
可选地,所述控制预设云端服务器获取视频流数据的步骤,包括:
在预设云端服务器与预设前端设备之间建立传输协议;
根据所述传输协议,向所述预设前端设备发送信令以进行信令交互;
在完成信令交互后,控制所述预设云端服务器接收所述预设前端设备获取的视频流数据。
可选地,所述控制所述预设云端服务器接收所述预设前端设备获取的视频流数据之后的步骤,包括:
在所述预设云端服务器中建立数据缓冲池;
将所述预设云端服务器接收到的所述视频流数据存储到所述数据缓冲池。
此外,为实现上述目的,本发明还提供一种视频解码装置,所述视频解码装置包括:
视频获取模块,用于获取预设客户端的视频申请指令,并根据所述视频申请指令控制预设云端服务器获取视频流数据;
转码解码模块,用于对所述视频流数据进行格式转换和解码压缩处理,得到目标压缩数据,并将所述目标压缩数据发送给所述预设客户端;
解压绘制模块,用于控制所述预设客户端对所述目标压缩数据进行解压和图像绘制处理,得到目标视频数据。
此外,为实现上述目的,本发明还提供一种视频解码设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的视频解码程序,所述视频解码程序被所述处理器执行时实现如上述的视频解码方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有视频解码程序,所述视频解码程序被处理器执行时实现如上述的视频解码方法的步骤。
本发明实施例提出的一种方法、装置、设备及可读存储介质,与现有技术中,因设备性能达不到要求容易导致视频卡顿或客户端卡死相比,本发明实施例中,根据获取的预设客户端的视频申请指令,控制预设云端服务器从预设前端设备处,获取视频流数据,并在所述预设云端服务器中,对所述视频流数据进行格式转换和解码压缩处理,得到目标压缩数据,将所述目标压缩数据发送至所述预设客户端,并控制所述预设客户端对所述目标压缩数据进行解压和图像绘制处理,得到目标视频数据,由于所述预设客户端只对所述视频流数据进行了解压和图像绘制处理,不需要再浪费大量资源进行解码操作,减轻了客户端设备的性能压力,因此在所述预设客户端上播放所述目标视频数据时,能有效减少因设备性能达不到要求造成视频卡顿或所述预设客户端卡死的情况,从而使视频的播放更加流畅。
附图说明
图1为本发明实施例提供的设备一种实施方式的硬件结构示意图;
图2为本发明视频解码方法第一实施例的流程示意图;
图3为本发明视频解码方法第二实施例中的视频流数据传输流程示意图;
图4为本发明视频解码方法第二实施例中的云端服务器工作流程示意图;
图5为本发明视频解码方法第一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
本发明实施例客户端终端(又叫终端、设备或者终端设备)可以是PC,也可以是智能手机、平板电脑和便携计算机等具有显示功能的可移动式终端设备。
如图1所示,该终端可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,终端还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示屏的亮度,接近传感器可在移动终端移动到耳边时,关闭显示屏和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别移动终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;当然,移动终端还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及视频解码程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的视频解码程序,所述视频解码程序被处理器执行时实现下述实施例提供的视频解码方法中的操作。
基于上述设备硬件结构,提出了本发明视频解码方法的实施例。
参照图2,在本发明视频解码方法的第一实施例中,所述视频解码方法包括:
步骤S10,获取预设客户端的视频申请指令,并根据所述视频申请指令控制预设云端服务器获取视频流数据;
步骤S20,对所述视频流数据进行格式转换和解码压缩处理,得到目标压缩数据,并将所述目标压缩数据发送给所述预设客户端;
步骤S30,控制所述预设客户端对所述目标压缩数据进行解压和图像绘制处理,得到目标视频数据。
具体地,步骤S10,获取预设客户端的视频申请指令,并根据所述视频申请指令控制预设云端服务器获取视频流数据;
本发明应用于云端服务器和具有音视频显示或播放功能的移动终端,所述云端服务器可以是高性能云端服务器,所述移动终端可以是带有视频播放软件的移动终端,如手机、平板电脑等,以下主要以高性能云端服务器和手机为例进行说明。获取预设客户端的视频申请指令,所述客户端可以是用户在手机上安装的客户端的视频播放软件,所述预设客户端终端可以是手机。当客户有视频播放需求时,可以通过所述预设客户端获取用户触发的视频申请指令,将所述视频申请指令发送预设云端服务器,所述预设云端服务器在接收到所述视频申请指令后,根据所述视频申请指令获取相应的视频流数据,所述视频流数据可以是包含多路视频数据的视频流。
所述控制预设云端服务器获取视频流数据,可以是在所述预设远端服务器与预设前端设备之间建立传输协议,例如RTSP(Real-Time Stream Protocol,基于文本的多媒体播放控制协议)协议,通过所述预设云端服务器从所述预设前端设备获取所述视频流数据,并将获取到的所述视频流数据在所述预设云端服务器的缓存池中缓存,由于所述视频流数据包含多路视频数据,可以在所述缓存池中为每一路视频数据建立一路缓存区域,将多路视频数据分区缓存。
所述控制预设云端服务器获取视频流数据,包括步骤A1-A3:
步骤A1,在预设云端服务器与预设前端设备之间建立传输协议;
所述预设前端设备可以是摄像头,用于获取实时监控视频,所述预设前端设备可以是多个,对应所述视频刘数据中的多路视频数据,每一个所述预设前端设备对应所述视频流数据中的一路视频数据。在所述预设云端服务器与所述预设前端设备之间建立传输协议,所述传输协议可以是上述RTSP协议,RTSP协议是一个基于文本的多媒体播放控制协议,属于应用层。RTSP以客户端方式工作,对流媒体提供播放、暂停、后退、前进等操作。RTSP作为一个应用层协议,提供了一个可供扩展的框架,使得流媒体的受控和点播变得可能,它主要用来控制具有实时特性的数据的发送,但其本身并不用于传送流媒体数据,而必须依赖下层传输协议(如RTP/RTCP)所提供的服务来完成流媒体数据的传送。RTSP(Real TimeStreaming Protocol,实时串流协议)负责定义具体的控制信息、操作方法、状态码,以及描述与RTP(Real-time Transport Protocol,实时流传输协议)之间的交互操作。
步骤A2,根据所述传输协议,向所述预设前端设备发送信令以进行信令交互;
根据所述传输协议,以RTSP协议为例,向每一个所述预设前端设备发起RTSP信令用于进行信令交互,所述信令是通信网中两个节点之间的一种对话信号,可以用来控制通信信道的连接和传递信息。
步骤A3,在完成信令交互后,控制所述预设云端服务器接收所述预设前端设备获取的视频流数据。
在完成信令交互后,即在所述预设云端服务器与所述前端设备之间建立了对话信号,可以进行数据的传输,利用所述预设云端服务器接收所述预设前端设备获取的视频流数据。
所述控制所述预设云端服务器接收所述预设前端设备获取的视频流数据之后,包括步骤B1-B2:
步骤B1,在所述预设云端服务器中建立数据缓冲池;
所述预设云端服务器中设有缓存池,由于所述视频流数据可以包含多路视频数据,因此,可以在所述缓存池中,为所述视频流数据中的每一路视频数据都建立一路数据缓存池,便于将通过不同的前端设备获取的视频数据分别存储。
步骤B2,将所述预设云端服务器接收到的所述视频流数据存储到所述数据缓冲池。
将所述预设云端服务器接收到的所述视频流数据存储到所述数据缓冲池,其中,可以将所述视频流数据中的每一路视频数据,存储到该路视频数据对应的数据缓冲池中。
步骤S20,对所述视频流数据进行格式转换和解码压缩处理,得到目标压缩数据,并将所述目标压缩数据发送给所述预设客户端;
对所述视频流数据进行格式转换和解码压缩处理,是在所述预设云端服务器上进行的,从所述预设云端服务器的缓存池中调取所述视频流数据,并对调取的所述视频流数据进行格式转换和解码压缩处理。一般在云端服务器上无法直接对获取到的视频源数据直接进行解码压缩处理,因此,需要对所述视频流数据进行预处理,可以将所述视频流数据先进行封装,转换为可以进行解码压缩的格式的文件。例如,采用硬件解码时,若使用的视频解码库不能直接支持通过RTSP协议获取的视频流数据,可以先将所述视频流数据封装为MP4格式的文件,然后对MP4格式的文件进行解码,得到一帧一帧的图像数据,所述图像数据可以是YUV数据,YUV分为三个分量,“Y”表示明亮度(Luminance或Luma),也就是灰度值,而“U”和“V”表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色,将所述视频流数据解码为YUV数据可以方便编码和传输,减少带宽占用和信息出错。
将所述视频流数据解码为所述第一目标图像后,再对所述第一目标图像进行压缩,得到目标压缩数据,并将所述目标压缩数据发送给所述预设客户端。所述目标压缩数据的发送可以是基于5G传输的,5G传输的平均下行传输速率可达到1Gbps(交换带宽,是衡量交换机总的数据交换能力的单位,即传输速度),高质量视频流例如1080p,所述第一目标图像中每一帧的图像的大小大概为1.5M(Megabytes,兆,字节),每秒的网络带宽约为300Mbps,基于5G的传输速率,可以支持3路1080p图像数据流,而对所述第一目标图像进行压缩,基于5G传输就可以支持更多路的图像数据流,多路视频数据在传输时,可以通过通信协议链接进行隔离,如Websocket协议,Websocket协议是一种基于TCP(TransmissionControl Protocol,网络传输控制协议)的全双工通信协议,可以为每一路数据建立一个传输通道,在进行数据传输时,每一路数据都有转数的传输通道,可以避免数据混淆。
步骤S30,控制所述预设客户端对所述目标压缩数据进行解压和图像绘制处理,得到目标视频数据。
所述目标视频数据可以包括多路目标视频,将所述目标压缩数据发送给所述预设客户端后,控制所述预设客户端对所述目标压缩数据进行解压和图像绘制处理,在本实施例中,对所述视频流数据进行解码压缩、发送、解压以及图像绘制操作时,都是对所述视频流数据中的每一路视频数据进行操作的,这样可以有效防止数据的混淆,减少视频区分的难度,进而提高视频处理的效率。
所述控制所述预设客户端对所述目标压缩数据进行解压和图像绘制处理,得到目标视频数据,包括步骤C1-C2:
步骤C1,在所述预设客户端建立图像绘制区,并将所述压缩图形数据解压为所述第一目标图像;
在所述预设客户端建立图像绘制区,在所述图像绘制区中,为每一路视频数据都建立有图像数据库对象,例如,OpenGL(Open Graphics Library,开放图形库)对象,在所述图像数据库中对每一路视频数据对应的目标压缩数据进行解压,得到与解码之后基本相同的第二目标图像,所述第二目标图像也可以是YUV数据。
步骤C2,将所述第二目标图像输出到所述图像绘制区中的缓冲区,并对所述第二目标图像进行图像绘制,得到目标视频数据。
以上述OpenGL和YUV数据为例,将解压后的YUV数据输出到OpenGL的缓冲区内,在缓冲区中,对YUV数据进行图像的绘制,绘制完成后即得到目标视频数据。将所述目标视频数据在所述预设客户端播放时,播放的视频路数相同的情况下,能有效减轻客户端设备的性能压力。
在本实施例中,根据获取的预设客户端的视频申请指令,控制预设云端服务器从预设前端设备处,获取视频流数据,并在所述预设云端服务器中,对所述视频流数据进行格式转换和解码压缩处理,得到目标压缩数据,将所述目标压缩数据发送至所述预设客户端,并控制所述预设客户端对所述目标压缩数据进行解压和图像绘制处理,得到目标视频数据,由于所述预设客户端只对所述视频流数据进行了解压和图像绘制处理,不需要再浪费大量资源进行解码操作,减轻了客户端设备的性能压力,因此在所述预设客户端上播放所述目标视频数据时,能有效减少因设备性能达不到要求造成视频卡顿或所述预设客户端卡死的情况,从而使视频的播放更加流畅。
进一步地,在本发明上述实施例的基础上,提出了本发明视频解码方法的第二实施例。
本实施例是第一实施例中步骤S20细化的步骤,本实施例与本发明上述实施例的区别在于:
所述预设云端服务器的工作流程如图3所示,步骤S20中,对所述视频流数据进行格式转换和解码压缩处理,得到目标压缩数据,包括步骤D1-D3:
步骤D1,将所述视频流数据转换为预设格式的视频文件;
如上述实施例所述,通过所述预设云端服务器从所述预设前端设备获取的视频流数据,一般不支持解码,需要对所述视频流数据进行格式转换,转换为预设格式的文件,所述预设格式可以是MP4格式,如对通过上述RTSP协议获取的视频流数据进行封装,将所述视频流数据转换为MP4格式的文件。
步骤D2,利用预设视频解码库读取所述预设格式的文件,并对所述预设格式的视频文件进行解码处理,得到第一目标图像;
若采用硬件解码的方式,所述预设视频解码库可以是CUVID视频解码库,CUVID视频解码库是一种基于CUDA(Computer Unified Device Architecture,统一计算设备架构)的视频解码库,可以解码RTSP视频数据流,利用CUVID视频解码库读取所述预设格式的视频文件,即上述MP4格式的视频文件,并对所述预设格式的视频文件进行解码处理,得到第一目标图像,CUVID视频解码库可以解码RTSP视频数据流,利用CUVID对所述视频流数据进行解码的主要过程为:读取并解析所述预设格式的视频文件,通过硬件解码并对解码后的数据进行转换,解码后得到一帧一帧的图像数据,如对上述MP4格式的视频文件解码可以得到YUV420数据,然后将YUV420数据转换为RGBA数据。若所述视频流数据包含多路视频数据,利用预设视频解码库对所述视频流数据进行解码时,是对所述视频流数据中的每一路视频数据进行解码,得到是每一路中每一帧的图像数据。
步骤D3,利用预设压缩算法,对所述第一目标图像进行无损压缩处理,得到目标压缩数据。
采用预设压缩算法,对所述第一目标图像进行无损压缩处理,若如上述采用硬件解码的方法,利用CUVID视频解码库对所述视频流数据进行解码,则所述预设压缩算法的一种优选算法可以是LZ77(Lempel-Ziv)算法,是一种采用自适应的字典模型的滑动窗口无损压缩算法,也就是将已经编码的信息作为字典,如果要编码的字符曾经出现过,就输出该字符串的出现位置以及长度,否则输出新的字符串。LZ77压缩算法的核心思想是在前面已经出现过的数据中找重复出现的字符,根据局部性原理,如果一个字符串要重复,那么也是在附近重复,远的地方不再进行找寻,因此设置一个滑动窗口,每次都在这个窗口里面找重复出现的字符。关于滑动窗口的大小,理论上是窗口越大,重复的可能性越高,压缩效率越高,在LZ77算法中可以设置滑动窗口的大小为32k,也可以根据实际要自定义调整互动窗口的大小。利用预设压缩算法对所述第一目标图像进行压缩后,得到目标压缩数据。
所述对所述第一目标图像进行无损压缩处理,包括步骤D31-D33:
步骤D31,在所述预设云端服务器中建立数据压缩对象;
若所述视频流数据包含多路视频数据,对所述视频流数据中的每一路数据都对应建立一个数据压缩对象。
步骤D32,利用所述预设压缩算法,对所述数据压缩对象进行压缩编码;
以LZ77压缩算法为例,将上述每一路视频数据都封装为一个数据压缩对象,并对上述每一路数据压缩对象进行编码。
步骤D33,根据所述压缩编码,对所述数据压缩对象进行无损压缩。
根据所述压缩编码,对每一路的所述数据压缩对象进行无损压缩。
进一步地,所述视频流数据的传输流程如图4所示,步骤S20中,所述将所述目标压缩数据发送给所述预设客户端,包括步骤E1-E2:
步骤E1,在所述预设客户端与所述预设服务器之间,为所述目标压缩数据中的每路视频数据的压缩数据建立通信协议链接;
在所述预设客户端与所述预设服务器之间,为所述目标压缩数据中的每路视频数据的压缩数据建立一个通信协议链接,所述通信协议链接可以是Websocket链接,WebSocket链接可以使客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据,并进行双向数据传输。本实施例中以Websocket链接为例,所述预设客户端负责检录Websocket链接,为每一路所述目标压缩数据对应的建立一个Websocket链接。
步骤E2,通过所述通信协议链接,控制所述预设云端服务器将所述目标压缩数据中的多路视频数据的压缩数据进行隔离,并发送至所述预设客户端。
所述通信协议链接即Websocket链接建立后,将每一路所述目标压缩数据发送到对应的Websocket链接,每一路目标压缩数据都有专属的Websocket链接,即专属的数据传输通道,在发送所述目标压缩数据时将每一路视频数据进行了隔离,通过Websocket链接,向所述预设云端服务器发送传输指令,控制所述预设云端服务器将所述目标压缩数据发送给所述预设客户端,避免了数据的混淆。
在本实施例中,利用预设预设视频解码库和预设压缩算法,对所述视频流数据中的多路视频进行格式转换和解码压缩,采用硬件解码的方式对多路视频数据进行解码得到第一目标图像,提高了解码效率,且采用预设压缩算法对所述第一目标图像进行无损压缩,提高了压缩率,基于5G传输时,增加了预设客户端支持的视频路数,例如,将所述预设客户端最多能够支持播放的视频路数从3路增加至10路,弥补了所述预设客户端设备性能的不足。
可以理解的是,本领域的技术人员可以清楚地了解到上述实施例的方法,并将第二实施例中任意选择一个或多个技术方案与第一实施例的技术方案结合。
可以理解的是,上述实施例之间的结合仅做举例说明,并不代表所有的可以结合的实施例。
此外,参照图5,本发明实施例还提出一种视频解码装置,所述视频解码装置包括:
视频获取模块10,用于获取预设客户端的视频申请指令,并根据所述视频申请指令控制预设云端服务器获取视频流数据;
转码解码模块20,用于对所述视频流数据进行格式转换和解码压缩处理,得到目标压缩数据,并将所述目标压缩数据发送给所述预设客户端;
解压绘制模块30,用于控制所述预设客户端对所述目标压缩数据进行解压和图像绘制处理,得到目标视频数据。
可选地,所述视频获取模块10,包括:
传输协议单元,用于在预设云端服务器与预设前端设备之间建立传输协议;
信令交互单元,用于根据所述传输协议,向所述预设前端设备发送信令以进行信令交互;
数据获取单元,用于在完成信令交互后,控制所述预设云端服务器接收所述预设前端设备获取的视频流数据。
可选地,所述转码解码模块20,包括:
格式转换单元,用于将所述视频流数据转换为预设格式的视频文件;
解码单元,用于利用预设视频解码库读取所述预设格式的文件,并对所述预设格式的视频文件进行解码处理,得到第一目标图像;
无损压缩单元,用于利用预设压缩算法,对所述第一目标图像进行无损压缩处理,得到目标压缩数据。
可选地,所述无损压缩单元,包括:
压缩对象子单元,用于在所述预设云端服务器中建立数据压缩对象;
编码子单元,用于利用所述预设压缩算法,对所述数据压缩对象进行压缩编码;
压缩子单元,用于根据所述压缩编码,对所述数据压缩对象进行无损压缩。
可选地,所述转码解码模块20,还包括:
通讯单元,用于在所述预设客户端与所述预设服务器之间,为所述目标压缩数据中的每路视频数据的压缩数据建立通信协议链接;
隔离传输单元,用于通过所述通信协议链接,控制所述预设云端服务器将所述目标压缩数据中的多路视频数据的压缩数据进行隔离,并发送至所述预设客户端。
可选地,所述解压绘制模块30,包括:
解压单元,用于在所述预设客户端建立图像绘制区,并将所述目标压缩数据解压为第二目标图像;
图像绘制单元,用于将所述第二目标图像输出到所述图像绘制区中的缓冲区,并对所述第二目标图像进行图像绘制,得到目标视频数据。
可选地,所述视频解码装置,还包括:
数据缓冲单元,用于在所述预设云端服务器中建立数据缓冲池;
数据缓存单元,用于将所述预设云端服务器接收到的所述视频流数据存储到所述数据缓冲池。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有视频解码程序,所述视频解码程序被处理器执行时实现上述实施例提供的视频解码方法中的操作。
上述各程序模块所执行的方法可参照本发明方法各个实施例,此处不再赘述。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体/操作/对象与另一个实体/操作/对象区分开来,而不一定要求或者暗示这些实体/操作/对象之间存在任何这种实际的关系或者顺序;术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的。可以根据实际的需要选择中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的视频解码方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (8)

1.一种视频解码方法,其特征在于,所述视频解码方法包括以下步骤:
获取预设客户端的视频申请指令,并根据所述视频申请指令控制预设云端服务器获取视频流数据;
对所述视频流数据进行格式转换和解码压缩处理,得到目标压缩数据,并将所述目标压缩数据发送给所述预设客户端;
其中,所述对所述视频流数据进行格式转换和解码压缩处理,得到目标压缩数据的步骤,包括:
将所述视频流数据转换为预设格式的视频文件;
利用预设视频解码库读取所述预设格式的视频文件,并对所述预设格式的视频文件进行解码处理,得到第一目标图像;
利用预设压缩算法,对所述第一目标图像进行无损压缩处理,得到目标压缩数据,所述压缩算法为LZ77算法;
其中,所述目标压缩数据包括多路视频数据的压缩数据,所述将所述目标压缩数据发送给所述预设客户端的步骤,包括:
在所述预设客户端与所述预设服务器之间,为所述目标压缩数据中的每路视频数据的压缩数据建立通信协议链接;
通过所述通信协议链接,控制所述预设云端服务器将所述目标压缩数据中的多路视频数据的压缩数据进行隔离,并发送至所述预设客户端;
控制所述预设客户端对所述目标压缩数据进行解压和图像绘制处理,得到目标视频数据。
2.如权利要求1所述的视频解码方法,其特征在于,所述对所述第一目标图像进行无损压缩处理的步骤,包括:
根据所述第一目标图像,在所述预设云端服务器中建立数据压缩对象;
利用所述预设压缩算法,对所述数据压缩对象进行压缩编码;
根据所述压缩编码,对所述数据压缩对象进行无损压缩。
3.如权利要求1所述的视频解码方法,其特征在于,所述控制所述预设客户端对所述目标压缩数据进行解压和图像绘制处理,得到目标视频数据的步骤,包括:
在所述预设客户端建立图像绘制区,并将所述目标压缩数据解压为第二目标图像;
将所述第二目标图像输出到所述图像绘制区中的缓冲区,并对所述第二目标图像进行图像绘制,得到目标视频数据。
4.如权利要求1所述的视频解码方法,其特征在于,所述控制预设云端服务器获取视频流数据的步骤,包括:
在预设云端服务器与预设前端设备之间建立传输协议;
根据所述传输协议,向所述预设前端设备发送信令以进行信令交互;
在完成信令交互后,控制所述预设云端服务器接收所述预设前端设备获取的视频流数据。
5.如权利要求4所述的视频解码方法,其特征在于,所述控制所述预设云端服务器接收所述预设前端设备获取的视频流数据之后的步骤,包括:
在所述预设云端服务器中建立数据缓冲池;
将所述预设云端服务器接收到的所述视频流数据存储到所述数据缓冲池。
6.一种视频解码装置,其特征在于,所述视频解码装置包括:
视频获取模块,用于获取预设客户端的视频申请指令,并根据所述视频申请指令控制预设云端服务器获取视频流数据;
转码解码模块,用于对所述视频流数据进行格式转换和解码压缩处理,得到目标压缩数据,并将所述目标压缩数据发送给所述预设客户端;
其中,所述对所述视频流数据进行格式转换和解码压缩处理,得到目标压缩数据的步骤,包括:
将所述视频流数据转换为预设格式的视频文件;
利用预设视频解码库读取所述预设格式的视频文件,并对所述预设格式的视频文件进行解码处理,得到第一目标图像;
利用预设压缩算法,对所述第一目标图像进行无损压缩处理,得到目标压缩数据,所述压缩算法为LZ77算法;
其中,所述目标压缩数据包括多路视频数据的压缩数据,所述将所述目标压缩数据发送给所述预设客户端的步骤,包括:
在所述预设客户端与所述预设服务器之间,为所述目标压缩数据中的每路视频数据的压缩数据建立通信协议链接;
通过所述通信协议链接,控制所述预设云端服务器将所述目标压缩数据中的多路视频数据的压缩数据进行隔离,并发送至所述预设客户端;
解压绘制模块,用于控制所述预设客户端对所述目标压缩数据进行解压和图像绘制处理,得到目标视频数据。
7.一种视频解码设备,其特征在于,所述视频解码设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的视频解码程序,所述视频解码程序被所述处理器执行时实现如权利要求1至5中任一项所述的视频解码方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有视频解码程序,所述程序被处理器执行时实现如权利要求1至5中任一项所述的视频解码方法的步骤。
CN202011396739.0A 2020-12-02 2020-12-02 视频解码方法、装置、设备及可读存储介质 Active CN112601096B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011396739.0A CN112601096B (zh) 2020-12-02 2020-12-02 视频解码方法、装置、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011396739.0A CN112601096B (zh) 2020-12-02 2020-12-02 视频解码方法、装置、设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN112601096A CN112601096A (zh) 2021-04-02
CN112601096B true CN112601096B (zh) 2023-11-14

Family

ID=75189080

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011396739.0A Active CN112601096B (zh) 2020-12-02 2020-12-02 视频解码方法、装置、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN112601096B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113301388B (zh) * 2021-05-20 2022-10-04 杭州海康威视数字技术股份有限公司 一种视频流处理系统、设备和方法
CN113691815B (zh) * 2021-07-30 2023-04-25 浙江大华技术股份有限公司 一种视频数据处理方法、设备和计算机可读存储介质
CN113992947A (zh) * 2021-10-22 2022-01-28 上海伊斯莱诺电力科技有限公司 一种窄带宽传输高清视频流的实现方法
CN114401445B (zh) * 2021-12-31 2024-03-22 深圳云天励飞技术股份有限公司 视频处理控制方法、装置、监控设备、客户端及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105554518A (zh) * 2015-12-04 2016-05-04 浙江宇视科技有限公司 一种控制视频流传输的方法和装置
CN105744294B (zh) * 2016-02-04 2017-11-17 广东工业大学 一种手机实现的视频混沌保密通信方法
CN105979284B (zh) * 2016-05-10 2019-07-19 杨�远 移动终端视频共享方法
CN108881920B (zh) * 2017-05-11 2022-06-10 腾讯科技(深圳)有限公司 一种传输视频信息的方法、终端及服务器
CN110166833A (zh) * 2019-04-18 2019-08-23 视联动力信息技术股份有限公司 一种视频流转码方法及装置

Also Published As

Publication number Publication date
CN112601096A (zh) 2021-04-02

Similar Documents

Publication Publication Date Title
CN112601096B (zh) 视频解码方法、装置、设备及可读存储介质
US9589543B2 (en) Static frame image quality improvement for sink displays
CN101047853B (zh) 服务器设备和视频传送方法
KR101633100B1 (ko) 정보 처리 시스템, 정보 처리 장치, 정보 처리 방법 및 기록 매체
US10951914B2 (en) Reliable large group of pictures (GOP) file streaming to wireless displays
CN102474624B (zh) 用于静态和视频图像的远程观看的方法和系统
US20140362096A1 (en) Display controller, screen transfer device, and screen transfer method
US11109012B2 (en) Carriage of PCC in ISOBMFF for flexible combination
CN103581665A (zh) 转码视频数据
CN210670381U (zh) 一种音视频数据的发送装置、接收装置及传输系统
CN115243074B (zh) 视频流的处理方法及装置、存储介质、电子设备
US20230353747A1 (en) Storage of evc decoder configuration information
CN110996122B (zh) 视频帧传输方法、装置、计算机设备及存储介质
WO2021223577A1 (zh) 一种视频处理的方法、相关装置、存储介质及程序产品
KR20140088924A (ko) 이미지 데이터 표시장치 및 방법
EP2804143A1 (en) System and method for forwarding a graphics command stream
US9226003B2 (en) Method for transmitting video signals from an application on a server over an IP network to a client device
CN110418209B (zh) 一种应用于视频传输的信息处理方法及终端设备
Ko et al. Implementation and evaluation of fast mobile VNC systems
US20240095966A1 (en) Coding of displacements by use of contexts for vertex mesh (v-mesh)
US12095968B2 (en) V3C video component track alternatives
CN211531219U (zh) 一种多媒体数据的发送装置、接收装置及传输系统
CN115278323A (zh) 一种显示设备、智能设备和数据处理方法
KR20160093929A (ko) 클라우드 스트리밍 서비스 시스템, 동시 인코딩을 이용한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
EP2804095A1 (en) A system and method for forwarding a graphics command stream

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