CN113423016A - 一种视频播放方法、装置、终端及服务器 - Google Patents

一种视频播放方法、装置、终端及服务器 Download PDF

Info

Publication number
CN113423016A
CN113423016A CN202110683066.5A CN202110683066A CN113423016A CN 113423016 A CN113423016 A CN 113423016A CN 202110683066 A CN202110683066 A CN 202110683066A CN 113423016 A CN113423016 A CN 113423016A
Authority
CN
China
Prior art keywords
video
data
video frame
transparent
original data
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
CN202110683066.5A
Other languages
English (en)
Inventor
陈晓峰
刘智勇
王锐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing IQIYI Science and Technology Co Ltd
Original Assignee
Beijing IQIYI Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing IQIYI Science and Technology Co Ltd filed Critical Beijing IQIYI Science and Technology Co Ltd
Priority to CN202110683066.5A priority Critical patent/CN113423016A/zh
Publication of CN113423016A publication Critical patent/CN113423016A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output 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
    • 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/44012Processing 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明实施例提供了一种视频播放方法、装置、终端及服务器,所述方法应用于服务器,包括:获取待处理视频,待处理视频的视频帧所包括的像素点具有透明值,针对待处理视频中的每一视频帧,将该视频帧的数据量扩大为原始数据的数据量的N倍,得到该视频帧对应的目标视频帧,其中扩大部分的数据包括该视频帧的像素点的透明值,且透明值位于图像格式所指示的非透明值位置,N不小于2,针对每一目标视频帧,剔除目标视频帧中图像格式所指示的透明值位置处的数据,剔除后的数据进行编码,编码后发送给终端,以使所述终端对所接收到的视频数据进行解码,得到所述原始数据,并基于所述原始数据进行渲染播放,实现在终端播放带有透明效果的在线视频。

Description

一种视频播放方法、装置、终端及服务器
技术领域
本发明涉及视频处理技术领域,特别是涉及一种视频播放方法、装置、终端及服务器。
背景技术
在5G等新技术的发展下,一些带有复杂动画效果的视频可以在服务器渲染,直接输出到终端进行显示。这样,终端即使是低端设备,也能渲染复杂的动画效果。
由于H264编码格式具有容错能力强、网络适应性强、低码率等优点,所以在线传输的视频的编码格式一般采用H264。但是H264并不支持透明视频数据的编码,所以导致终端无法获取及播放带有透明效果的在线视频。
发明内容
本发明实施例的目的在于提供一种视频播放方法、装置、终端及服务器,以实现终端获取及播放带有透明效果的在线视频。具体技术方案如下:
第一方面,本发明实施例提供了一种视频播放方法,应用于服务器,所述方法包括:
获取待处理视频,其中,所述待处理视频的视频帧所包括的像素点具有透明值;
针对所述待处理视频中的每一视频帧,将该视频帧的数据量扩大为原始数据的数据量的N倍,得到该视频帧对应的目标视频帧,其中,所述目标视频帧中扩大部分的数据包括该视频帧的像素点的透明值,且所述透明值位于图像格式所指示的非透明值位置,N不小于2;
针对每一所述目标视频帧,剔除所述目标视频帧中图像格式所指示的透明值位置处的数据;
对剔除后的视频数据进行编码,并将编码后的视频数据发送给终端,以使所述终端对所接收到的视频数据进行解码,得到所述原始数据,并基于所述原始数据进行渲染播放。
可选的,所述将该视频帧的数据量扩大为原始数据的数据量的N倍,得到该视频帧对应的目标视频帧的步骤,包括:
创建数据量为原始数据的数据量N倍的图像缓存;
将所述原始数据复制到所述图像缓存的预设位置;
将该视频帧的像素点的透明值复制到所述图像缓存中非预设位置中图像格式所指示的非透明值位置,得到该视频帧对应的目标视频帧。
可选的,所述创建数据量为原始数据的数据量N倍的图像缓存的步骤,包括:
创建高度为该视频帧高度的2倍,宽度与该视频帧宽度相等的图像缓存;
所述将所述原始数据复制到所述图像缓存的预设位置的步骤,包括:
将所述原始数据复制到所述图像缓存的上半部分。
可选的,所述对剔除后的视频数据进行编码的步骤,包括:
将剔除后的视频数据转换为目标格式,并将转换后的视频数据采用H264进行编码。
第二方面,本发明实施例提供了一种视频播放方法,应用于终端,所述方法包括:
接收服务器发送的编码后的视频数据,其中,所述编码后的视频数据为所述服务器针对待处理视频中的每一视频帧,将该视频帧对应的目标视频帧中图像格式所指示的透明值位置处的数据进行剔除后编码得到的,所述目标视频帧为将该视频帧的原始数据的数据量扩大N倍得到的,所述目标视频帧中扩大部分的数据包括该视频帧的像素点的透明值,且所述透明值位于图像格式所指示的非透明值位置,N不小于2;
对所接收到的视频数据进行解码,得到所述原始数据;
基于所述原始数据进行渲染播放。
可选的,所述对所接收到的视频数据进行解码,得到所述原始数据的步骤,包括:
对所接收到的视频数据进行解码,得到所述目标视频帧对应的剔除后的视频数据,作为待读取视频数据;
针对所述待读取视频数据中每一视频帧,从该视频帧的预设位置读取每一像素点的颜色值;
从该视频帧的非预设位置读取每一像素点的透明值。
可选的,所述待读取视频数据中每一视频帧的高度为所述原始数据的高度的2倍,宽度与所述原始数据的宽度相等;
所述从该视频帧的预设位置读取每一像素点的颜色值的步骤,包括:
从该视频帧的上半部分读取每一像素点的颜色值。
第三方面,本发明实施例提供了一种视频播放装置,应用于服务器,所述装置包括:
视频获取模块,用于获取待处理视频,其中,所述待处理视频的视频帧所包括的像素点具有透明值;
数据扩充模块,用于针对所述待处理视频中的每一视频帧,将该视频帧的数据量扩大为原始数据的数据量的N倍,得到该视频帧对应的目标视频帧,其中,所述目标视频帧中扩大部分的数据包括该视频帧的像素点的透明值,且所述透明值位于图像格式所指示的非透明值位置,N不小于2;
透明值剔除模块,用于针对每一所述目标视频帧,剔除所述目标视频帧中图像格式所指示的透明值位置处的数据;
视频发送模块,用于对剔除后的视频数据进行编码,并将编码后的视频数据发送给终端,以使所述终端对所接收到的视频数据进行解码,得到所述原始数据,并基于所述原始数据进行渲染播放。
可选的,所述数据扩充模块包括:
图像缓存创建单元,用于创建数据量为原始数据的数据量N倍的图像缓存;
图像缓存复制单元,用于将所述原始数据复制到所述图像缓存的预设位置,将该视频帧的像素点的透明值复制到所述图像缓存中非预设位置中图像格式所指示的非透明值位置,得到该视频帧对应的目标视频帧。
可选的,所述图像缓存复制单元包括:
图像缓存创建子单元,用于创建高度为所述原始数据的高度的2倍,宽度与所述原始数据的宽度相等的图像缓存;
所述图像缓存复制单元包括:
图像缓存复制子单元,用于将所述原始数据复制到所述图像缓存的上半部分。
可选的,视频发送模块包括:
视频编码单元,用于将剔除后的视频数据转换目标格式,并将转换后的视频数据采用H264进行编码。
第四方面,本发明实施例提供了一种视频播放装置,应用于终端,所述装置包括:
视频接收模块,用于接收服务器发送的编码后的视频数据,其中,所述编码后的视频数据为所述服务器针对待处理视频中的每一视频帧,将该视频帧对应的目标视频帧中图像格式所指示的透明值位置处的数据进行剔除后编码得到的,所述目标视频帧为将该视频帧的原始数据的数据量扩大N倍得到的,所述目标视频帧中扩大部分的数据包括该视频帧的像素点的透明值,且所述透明值位于图像格式所指示的非透明值位置,N不小于2;
视频解码模块,用于对所接收到的视频数据进行解码,得到所述原始数据;
视频渲染模块,用于基于所述原始数据进行渲染播放。
可选的,所述视频解码模块包括:
视频解码单元,用于对所接收到的视频数据进行解码,得到所述目标视频帧对应的剔除后的视频数据,作为待读取视频数据;
视频读取单元,用于针对所述待读取视频数据中每一视频帧,从该视频帧的预设位置读取每一像素点的颜色值,从该视频帧的非预设位置读取每一像素点的透明值。
可选的,所述视频解码单元包括:
视频解码子单元,用于待读取视频数据中每一视频帧的高度为所述原始数据的高度的2倍,宽度与所述原始数据的宽度相等;
所述视频读取单元包括:
视频读取子单元,用于从该视频帧的上半部分读取每一像素点的颜色值。
第五方面,本发明实施例提供了一种服务器,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面任一所述的方法步骤。
第六方面,本发明实施例提供了一种终端,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第二方面任一所述的方法步骤。
本发明实施例提供的方案中,服务器可以获取待处理视频,其中,待处理视频的视频帧所包括的像素点具有透明值,针对待处理视频中的每一视频帧,将该视频帧的数据量扩大为原始数据的数据量的N倍,得到该视频帧对应的目标视频帧,其中,目标视频帧中扩大部分的数据包括该视频帧的像素点的透明值,且透明值位于图像格式所指示的非透明值位置,N不小于2,针对每一目标视频帧,剔除目标视频帧中图像格式所指示的透明值位置处的数据,对剔除后的视频数据进行编码,并将编码后的视频数据发送给终端,以使终端对所接收到的视频数据进行解码,得到原始数据,并基于原始数据进行渲染播放。
通过上述方案,服务器可以将待处理视频的视频帧所包括的像素点的透明值存储于目标视频帧中图像格式所指示的非透明值位置,这样在剔除目标视频帧中图像格式所指示的透明值位置处的数据时就不会将存储于非透明值位置处的像素点的透明值剔除,进而,编码后的视频数据中也就包括像素点的透明值,使终端可以获得该透明值,实现在终端播放带有透明效果的在线视频。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例所提供的第一种视频播放方法的流程图;
图2为基于图1所示实施例的目标视频帧的生成方式一种示意图;
图3为图1所示实施例中步骤S102的一种具体流程图;
图4为基于图3所示实施例的目标视频帧的生成方式的一种示意图;
图5为本发明实施例所提供的第二种视频播放方法的流程图;
图6为图5所示实施例中步骤S502的一种具体流程图;
图7为本发明实施例所提供的第一种视频播放装置的结构示意图;
图8为本发明实施例所提供的第二种视频播放装置的结构示意图;
图9为本发明实施例所提供的一种服务器的结构示意图;
图10为本发明实施例所提供的一种终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
为了实现终端获取及播放带有透明效果的在线视频,本发明实施例提供了一种视频播放方法、装置、终端、服务器、计算机可读存储介质以及计算机程序产品。下面首先对本发明实施例所提供的第一种视频播放方法进行介绍。
本发明实施例所提供的第一种视频播放方法可以应用于服务器,该服务器可以与终端通信连接,以进行数据传输。
如图1所示,一种视频播放方法,应用于服务器,所述方法包括:
S101,获取待处理视频;
其中,所述待处理视频的视频帧所包括的像素点具有透明值。
S102,针对所述待处理视频中的每一视频帧,将该视频帧的数据量扩大为原始数据的数据量的N倍,得到该视频帧对应的目标视频帧;
其中,所述目标视频帧中扩大部分的数据包括该视频帧的像素点的透明值,且所述透明值位于图像格式所指示的非透明值位置,N不小于2。
S103,针对每一所述目标视频帧,剔除所述目标视频帧中图像格式所指示的透明值位置处的数据;
S104,对剔除后的视频数据进行编码,并将编码后的视频数据发送给终端,以使所述终端对所接收到的视频数据进行解码,得到所述原始数据,并基于所述原始数据进行渲染播放。
可见,本发明实施例提供的方案中,服务器可以获取待处理视频,其中,待处理视频的视频帧所包括的像素点具有透明值,针对待处理视频中的每一视频帧,将该视频帧的数据量扩大为原始数据的数据量的N倍,得到该视频帧对应的目标视频帧,其中,目标视频帧中扩大部分的数据包括该视频帧的像素点的透明值,且透明值位于图像格式所指示的非透明值位置,N不小于2,针对每一目标视频帧,剔除目标视频帧中图像格式所指示的透明值位置处的数据,对剔除后的视频数据进行编码,并将编码后的视频数据发送给终端,以使终端对所接收到的视频数据进行解码,得到原始数据,并基于原始数据进行渲染播放。通过上述方案,服务器可以将待处理视频的视频帧所包括的像素点的透明值存储于目标视频帧中图像格式所指示的非透明值位置,这样在剔除目标视频帧中图像格式所指示的透明值位置处的数据时就不会将存储于非透明值位置处的像素点的透明值剔除,进而,编码后的视频数据中也就包括像素点的透明值,使终端可以获得该透明值,实现在终端播放带有透明效果的在线视频。
在用户想要观看在线视频时,可以在所使用的终端显示界面中发出视频播放指令,终端获取到该视频播放指令时,说明用户想要观看该视频播放指令所指示的视频,进而便可以发送视频获取请求至服务器,进而,服务器便可以获取该视频获取请求所对应的视频,也就是终端需要播放的视频,作为待处理视频。
其中,待处理视频的视频帧所包括的像素点具有透明值A(Alpha)和颜色值R(Red,红色)、G(Green,绿色)、B(Blue,蓝色),也就是说,待处理视频为具有透明效果的视频。待处理视频可以为游戏视频、广告视频、直播视频等具有透明效果的视频,在此不做具体限定。
例如,如图2所示,待处理视频中的视频帧201中的每个像素点包括颜色值R、G、B和透明值A四个字节的数据,该四个字节的数据按照R、G、B、A的格式排列,M1为像素点的行数,M2为像素点的列数。
获取待处理视频后,服务器可以执行上述步骤S102,即针对所述待处理视频中的每一视频帧,将该视频帧的数据量扩大为原始数据的数据量的N倍,得到该视频帧对应的目标视频帧。
其中,所述目标视频帧中扩大部分的数据包括该视频帧的像素点的透明值,且所述透明值位于图像格式所指示的非透明值位置,N不小于2,例如,N可以为2、4、5等。
在一种实施方式中,针对待处理视频中的每一视频帧,服务器可以将该视频帧的高度扩大为原来的N倍,使得该视频帧的数据量扩大为原始数据的数据量的N倍。
例如,如图2所示,服务器可以将视频帧201的高度扩大为原来的N倍,得到扩大后的视频帧202,扩大部分所包括的像素点的行数为M3,M3即为M1的N倍。
在另一种实施方式中,针对待处理视频中的每一视频帧,服务器可以将该视频帧的宽度扩大为原来的N倍,使得该视频帧的数据量扩大为原始数据的数据量的N倍。
在另一种实施方式中,针对待处理视频中的每一视频帧,服务器可以将该视频帧的高度和宽度同时进行扩大,使得该视频帧的数据量扩大为原始数据的数据量的N倍。
服务器可以根据待处理视频的分辨率选择上述任一种方式对待处理视频中的每一视频帧进行扩大处理,例如,针对分辨率为1920×1080的待处理视频,为了方便编码,可以采用将原始数据高度扩大N倍的扩大方式进行处理。
由于在线视频的编码一般遵循H264标准,但H264标准并不支持带透明值的视频数据的传输,因此,服务器在对视频进行编码时,需要剔除视频中图像格式所指示的透明值位置处的数据。
为了将像素点的透明值发送至终端,服务器将待处理视频中的每一视频帧的数据量扩大为原始数据的数据量的N倍后,可以将该视频帧原始数据的像素点的透明值A复制到视频帧中扩大部分的像素点的R、G或者B对应的位置,也就是图像格式所指示的非透明值位置。其中,图像格式即为视频帧中像素点所对应的R、G、B以及A的四个字节数据的排列格式,具体为每个像素点对应R、G、B以及A的四个字节数据。
例如,如图2所示,服务器可以将视频帧201所包括的每个像素点对应的透明值A复制到扩大后的视频帧202中扩大部分的像素点对应的颜色值R的位置,得到目标视频帧203。
为了使编码后的视频数据符合H264标准,服务器可以将每个目标视频帧中所有像素点对应的图像格式所指示的透明值位置处的数据剔除。也就是剔除所有透明值A对应位置处的数据。此时,目标视频帧中余下的像素点为R、G、B的位置对应的数据,其中,待处理视频所包括的透明值A位于扩大部分的像素点R、G或B的位置,所以待处理视频所包括的透明值A不会被剔除,并且剔除后的视频数据符合H264标准。
例如,剔除目标视频帧203所有透明值A对应位置处的数据,得到剔除透明值A后的目标视频帧204。
接下来,服务器可以将剔除后的视频数据进行H264编码,并将编码后的视频数据发送至终端,终端便可以获得包含透明值的视频数据,通过对该视频数据进行解码便可以获得原始数据并基于原始数据进行渲染播放,这样就可以现实具有透明效果的视频的在线播放,用户可以在线观看到具有透明效果的视频。
作为本发明实施例的一种实施方式,如图3所示,上述将该视频帧的数据量扩大为原始数据的数据量的N倍,得到该视频帧对应的目标视频帧的步骤,可以包括:
S301,创建数据量为原始数据的数据量N倍的图像缓存;
为了能够将待处理视频中的视频帧的数据量扩大为原始数据的数据量的N倍,服务器可以创建数据量为待处理视频中视频帧的原始数据的数据量N倍的图像缓存。
S302,将所述原始数据复制到所述图像缓存的预设位置;
创建了上述图像缓存后,服务器便可以将视频帧的原始数据复制到该图像缓存的预设位置,其中,预设位置可以为图像缓存中的任意位置,例如,服务器可以将该视频帧的原始数据复制到上述图像缓存的上半部分、下半部分或中间部分等任意位置,只要保证复制于预设位置的数据与原始数据相同即可,在此不做具体限定。
复制于预设位置的数据与原始数据相同具体为:与原始数据的像素点的行数和列数保持不变,并且仍保持每个像素点包括颜色值R、G、B和透明值A四个字节的数据,该四个字节的数据按照R、G、B、A的格式排列,并且像素点的位置保持不变。
S303,将该视频帧的像素点的透明值复制到所述图像缓存中非预设位置中图像格式所指示的非透明值位置,得到该视频帧对应的目标视频帧。
为了能够将视频帧的像素点的透明值发送至终端,服务器可以将该视频帧的像素点的透明值复制到该图像缓存中的非预设位置中,图像格式所指示的非透明值位置,进而,得到该视频帧对应的目标视频帧。其中,图像格式所指示的非透明值位置即为R、G或B对应的位置。
在一种实施方式中,服务器可以将该视频帧原始数据的像素点的透明值A复制到图像缓存的非预设位置中像素点的R对应的位置,得到该视频帧对应的目标视频帧。其中,非预设位置中像素点的G和B的位置可取任意值,例如,可以为预设默认值、与原始数据中对应位置相同的数值等,在此不做具体限定。
在一种实施方式中,服务器可以将该视频帧原始数据的像素点的透明值A复制到图像缓存的非预设位置中像素点的G对应的位置,得到该视频帧对应的目标视频帧。其中,非预设位置中像素点的R和B的位置可取任意值。
在一种实施方式中,服务器可以将该视频帧原始数据的像素点的透明值A复制到图像缓存的非预设位置中像素点的B对应的位置,得到该视频帧对应的目标视频帧。其中,非预设位置中像素点的R和G的位置可取任意值。
为了是终端在读取像素点的透明值时可以更加方便快速,服务器将该视频帧的像素点的透明值复制到上述非透明值位置时,可以按照该视频帧的像素点的排列方式进行复制,使得复制到非透明值位置的数据的排列方式与原始数据相同。例如,视频帧中第一行像素点对应的透明值依然按照像素点的排列顺序复制于图像缓存中非预设位置的一行像素点对应的非透明值位置处。
可见,在本实施例中,服务器在创建数据量为待处理视频中的每一视频帧原始数据的数据量N不小于2倍的图像缓存之后,可以将待处理视频中的每一视频帧的原始数据复制到图像缓存中的预设位置,并将该视频帧的像素点的透明值复制到图像缓存中非预设位置中图像格式所指示的非透明位置,这样就可以将该视频帧原始数据中的透明值A复制到图像缓存的非预设位置中像素点的R、G或B的对应的位置,后续服务器剔除每个目标视频帧中所有像素点对应的图像格式所指示的透明值位置处的数据后,剔除后的视频数据仍包括透明值A。
作为本发明实施例的一种实施方式,上述创建数据量为原始数据的数据量N倍的图像缓存的步骤,可以包括:
创建高度为该视频帧高度的2倍,宽度与该视频帧宽度相等的图像缓存。
将视频帧的数据量扩大为原始数据的数据量的2倍即可以满足将原始数据中的透明值A复制于扩大部分的需求,同时由于视频帧的宽度过宽可能会导致无法进行编码,所以在一种实施方式中,服务器可以创建高度为视频帧高度的2倍宽度与视频帧宽度相等的图像缓存。
例如,如图4所示,服务器可以创建高度为待处理视频中的视频帧401高度的2倍,宽度与视频帧401宽度相等的图像缓存402。
相应的,上述将所述原始数据复制到所述图像缓存的预设位置的步骤,可以包括:
将所述原始数据复制到所述图像缓存的上半部分。
为了方便后续终端读取视频数据,服务器可以将视频帧的原始数据复制到图像缓存的上半部分。在这种情况下,该视频帧的像素点的透明值即可以复制到图像缓存的下半部分中图像格式所指示的非透明值位置处,形成图像缓存上半部分存储视频帧原始数据,下半部分存储原始数据中的透明值的存储格式。
例如,如图4所示,服务器将待处理视频中的视频帧401的原始数据复制到图像缓存402的上半部分,在复制的过程中,视频帧401的像素点的行数和列数保持不变,并且仍保持每个像素点包括颜色值R、G、B和透明值A四个字节的数据,该四个字节的数据按照R、G、B、A的格式排列,将视频帧401的像素点的透明值A复制到图像缓存402下半部分的颜色值R对应的位置处,得到下半部分的颜色值R对应的位置处为透明值A的图像缓存403。
服务器也可以将视频帧的原始数据复制到图像缓存的下半部分,在这种情况下,该视频帧的像素点的透明值即可以复制到图像缓存的上半部分中图像格式所指示的非透明值位置处,形成图像缓存下半部分存储视频帧原始数据,上半部分存储原始数据中的透明值的存储格式。
当然,服务器还可以将视频帧的原始数据复制到图像缓存的中间部分,在这种情况下,该视频帧的像素点的透明值即可以复制到图像缓存的上半部分中该中间部分之外的部分中图像格式所指示的非透明值位置处,以及图像缓存的下半部分中该中间部分之外的部分中图像格式所指示的非透明值位置处,形成图像缓存中间部分存储视频帧原始数据,上、下各有一部分存储原始数据中的透明值的存储格式,这也是合理的。
可见,在本实施例中,服务器可以创建高度为视频帧高度的2倍,宽度与该视频帧宽度相等的图像缓存,进而将该视频帧的原始数据复制到图像缓存中的上半部分,这样可以在图像缓存的下半部分的图像格式所指示的R、G或B位置存储透明值A,以方便后续客户端读取视频数据。
作为本发明实施例的一种实施方式,上述对剔除后的视频数据进行编码的步骤,可以包括:
将剔除后的视频数据转换为目标格式,并将转换后的视频数据采用H264进行编码。
服务器将目标视频帧中图像格式所指示的透明值位置处的数据剔除后,可以将剔除后的视频数据转换为目标格式,以便于进行编码,进而,可以将转换后的视频数据采用H264进行编码。其中,目标格式可以为YUV、YcbCr等,在此不做具体限定。
将转换后的视频数据采用H264进行编码后,服务器便可以将编码后的视频数据通过网络传输至终端,例如,可以基于WebRTC将编码后的视频数据发送至终端。
可见,在本实施例中,服务器可以将剔除后的视频数据转换为目标格式,进而将转换后的视频数据采用H264进行编码,这样可以顺利对剔除后的视频数据进行编码,实现实时将编码后的视频数据发送至终端的目的,进而终端便可以播放带有透明效果的在线视频。
相应于上述第一种视频播放方法,本发明实施例还提供了第二种视频播放方法。下面对本发明实施例所提供的第二种视频播放方法进行介绍。
本发明实施例所提供的第二种视频播放方法可以应用于终端,该终端可以与上述服务器通信连接,以进行数据传输。该终端可以为手机、电脑、平板电脑等电子设备,在此不做具体限定。
如图5所示,一种视频播放方法,应用于终端,所述方法包括:
S501,接收服务器发送的编码后的视频数据;
其中,所述编码后的视频数据为所述服务器针对待处理视频中的每一视频帧,将该视频帧对应的目标视频帧中图像格式所指示的透明值位置处的数据进行剔除后编码得到的,所述目标视频帧为将该视频帧的原始数据的数据量扩大N倍得到的,所述目标视频帧中扩大部分的数据包括该视频帧的像素点的透明值,且所述透明值位于图像格式所指示的非透明值位置,N不小于2;
S502,对所接收到的视频数据进行解码,得到所述原始数据;
S503,基于所述原始数据进行渲染播放。
可见,本发明实施例提供的方案中,终端可以接收服务器发送的编码后的视频数据,其中,编码后的视频数据为服务器针对待处理视频中的每一视频帧,将该视频帧对应的目标视频帧中图像格式所指示的透明值位置处的数据进行剔除后编码得到的,目标视频帧为将该视频帧的原始数据的数据量扩大N倍得到的,目标视频帧中扩大部分的数据包括该视频帧的像素点的透明值,且所述透明值位于图像格式所指示的非透明值位置,N不小于2,对所接收到的视频数据进行解码,得到所述原始数据,基于所述原始数据进行渲染播放。通过上述方案,服务器可以将待处理视频的视频帧所包括的像素点的透明值存储于目标视频帧中图像格式所指示的非透明值位置,这样在剔除目标视频帧中图像格式所指示的透明值位置处的数据时就不会将存储于非透明值位置处的像素点的透明值剔除,进而,编码后的视频数据中也就包括像素点的透明值,使终端可以获得该透明值,实现在终端播放带有透明效果的在线视频。
在用户想要观看在线视频时,可以在所使用的终端显示界面中发出视频播放指令,终端获取到该视频播放指令时,说明用户想要观看该视频播放指令所指示的视频,进而便可以发送视频获取请求至服务器,进而,服务器便可以获取该视频获取请求所对应的视频,也就是终端需要播放的视频,作为待处理视频。
进而,服务器可以将待处理视频按照上述第一种视频播放方法进行处理后得到编码后的视频数据,并将该编码后的视频数据发送给终端,终端便可以接收服务器发送的编码后的视频数据。
接收到服务器发送的编码后的视频数据后,终端可以执行上述步骤S502,即对所接收到的视频数据进行解码,得到原始数据。在一种实施方式中,终端可以按照H264标准对所接收到的视频数据进行解码,得到原始数据。
由于服务器在对待处理视频进行处理的过程中,目标视频帧中扩大部分的数据包括该视频帧的像素点的透明值,透明值位于图像格式所指示的非透明值位置,所以编码后的视频数据包括原始数据中每个像素点的透明值,进而,终端对所接收到的视频数据进行解码,便可以得到原始数据,该原始数据包括待处理视频的视频帧中每一像素点的R、G、B颜色值以及透明值A。
得到上述原始数据后,终端可以执行上述步骤S503,即基于原始数据进行渲染播放。终端对应的视频渲染功能可以设置为支持透明通道,以保证能够渲染播放具有透明数据的视频,这样就实现了在终端播放带有透明效果的在线视频的目的。
作为本发明实施例的一种实施方式,如图6所示,上述对所接收到的视频数据进行解码,得到所述原始数据的步骤,可以包括:
S601,对所接收到的视频数据进行解码,得到所述目标视频帧对应的剔除后的视频数据,作为待读取视频数据;
接收到服务器发送的编码后的视频数据后,终端可以按照H264标准,对所接收到的视频数据进行解码,得到目标视频帧对应的剔除后的视频数据,作为待读取视频数据。
在一种实施方式中,如果解码得到的视频数据的格式为YUV或YcbCr等,终端可以将解码得到的视频数据的格式转换为RGB格式,得到待读取视频数据。待读取视频数据包括待处理视频中视频帧的每个像素点的颜色值R、G、B和透明值A,其中,透明值A位于该视频帧中扩大部分的像素点的R、G或者B对应的位置。
S602,针对所述待读取视频数据中每一视频帧,从该视频帧的预设位置读取每一像素点的颜色值;
S603,从该视频帧的非预设位置读取每一像素点的透明值。
服务器在对待处理视频进行处理时,可以创建数据量为待处理视频中视频帧的原始数据的数据量N倍的图像缓存,将原始数据复制到图像缓存的预设位置,将该视频帧的像素点的透明值复制到图像缓存中非预设位置中图像格式所指示的非透明值位置,得到该视频帧对应的目标视频帧。
这样,上述待读取视频数据的每一视频帧的预设位置即为待处理视频中视频帧对应的R、G、B值,非预设位置中图像格式所指示的非透明值位置即为该视频帧对应的透明值A。
因此,针对待读取视频数据中每一视频帧,终端便可以从该视频帧的预设位置读取每一像素点的颜色值,从该视频帧的非预设位置读取每一像素点的透明值。
例如,服务器在对待处理视频进行处理时,将待处理视频中视频帧的像素点的透明值A复制到图像缓存中非预设位置中像素点对应的R位置,那么终端便可以从待读取视频数据中视频帧的非预设位置中像素点对应的R位置,读取每一像素点的透明值A。
可见,在本实施例中,终端可以对所接收到的视频数据进行解码,得到目标视频帧对应的剔除后的视频数据,作为待读取视频数据,进而,针对待读取视频数据中每一视频帧,从该视频帧的预设位置读取每一像素点的颜色值,从该视频帧的非预设位置读取每一像素点的透明值,这样终端可以顺利快速地获得原始数据中每个像素点的颜色值和透明值,以便后续顺利渲染播放带有透明效果的在线视频。
作为本发明实施例的一种实施方式,上述待读取视频数据中每一视频帧的高度可以为原始数据的高度的2倍,宽度可以与原始数据的宽度相等。针对这种情况而言,上述从该视频帧的预设位置读取每一像素点的颜色值的步骤,可以包括:
从该视频帧的上半部分读取每一像素点的颜色值。
服务器在上述创建图像缓存时,可以创建高度为待处理视频的视频帧高度的2倍,宽度与该视频帧宽度相等的图像缓存,在一种实施方式中,服务器可以将视频帧的原始数据复制到图像缓存的上半部分。
这样,上述待读取视频数据的视频帧的上半部分即存储了原始数据的每一像素点的颜色值,待读取视频数据的视频帧的下半部分的即存储了原始数据的每一像素点的透明值,所以终端可以从该视频帧的上半部分读取每一像素点的颜色值,从该视频帧的下半部分读取每一像素点的透明值。
在另一种实施方式中,服务器可以将视频帧的原始数据复制到图像缓存的下半部分,那么终端可以从该视频帧的下半部分读取每一像素点的颜色值,从该视频帧的上半部分读取每一像素点的透明值。
在另一种实施方式中,服务器可以将视频帧的原始数据复制到图像缓存的中间部分,那么终端可以从该视频帧的中间部分读取每一像素点的颜色值,从该视频帧的上、下部分中中间部分之外的部分读取每一像素点的透明值。
可见,在本实施例中,针对待读取视频数据中每一视频帧的高度为原始数据的高度的2倍,宽度与原始数据的宽度相等的情况而言,终端可以从待读取视频数据中每一视频帧的上半部分读取每一像素点的颜色值,这样,可以顺利地读取原始数据的每一视频帧的颜色值和透明值,以保证后续可以顺利渲染播放带有透明效果在线视频。
相应于上述第一种视频播放方法,本发明实施例还提供了一种视频播放装置。下面对本发明实施例所提供的第一种视频播放装置进行介绍。本发明实施例所提供的第一种视频播放装置可以应用于服务器。
如图7所示,一种视频播放装置,应用于服务器,所述装置包括:
视频获取模块710,用于获取待处理视频;
其中,所述待处理视频的视频帧所包括的像素点具有透明值。
数据扩充模块720,用于针对所述待处理视频中的每一视频帧,将该视频帧的数据量扩大为原始数据的数据量的N倍,得到该视频帧对应的目标视频帧;
其中,所述目标视频帧中扩大部分的数据包括该视频帧的像素点的透明值,且所述透明值位于图像格式所指示的非透明值位置,N不小于2。
透明值剔除模块730,用于针对每一所述目标视频帧,剔除所述目标视频帧中图像格式所指示的透明值位置处的数据;
视频发送模块740,用于对剔除后的视频数据进行编码,并将编码后的视频数据发送给终端,以使所述终端对所接收到的视频数据进行解码,得到所述原始数据,并基于所述原始数据进行渲染播放。
可见,本发明实施例提供的方案中,服务器可以获取待处理视频,其中,待处理视频的视频帧所包括的像素点具有透明值,针对待处理视频中的每一视频帧,将该视频帧的数据量扩大为原始数据的数据量的N倍,得到该视频帧对应的目标视频帧,其中,目标视频帧中扩大部分的数据包括该视频帧的像素点的透明值,且透明值位于图像格式所指示的非透明值位置,N不小于2,针对每一目标视频帧,剔除目标视频帧中图像格式所指示的透明值位置处的数据,对剔除后的视频数据进行编码,并将编码后的视频数据发送给终端,以使终端对所接收到的视频数据进行解码,得到原始数据,并基于原始数据进行渲染播放。通过上述方案,服务器可以将待处理视频的视频帧所包括的像素点的透明值存储于目标视频帧中图像格式所指示的非透明值位置,这样在剔除目标视频帧中图像格式所指示的透明值位置处的数据时就不会将存储于非透明值位置处的像素点的透明值剔除,进而,编码后的视频数据中也就包括像素点的透明值,使终端可以获得该透明值,实现在终端播放带有透明效果的在线视频。
作为本发明实施例的一种实施方式,上述数据扩充模块720可以包括:
图像缓存创建单元,用于创建数据量为原始数据的数据量N倍的图像缓存;
图像缓存复制单元,用于将所述原始数据复制到所述图像缓存的预设位置,将该视频帧的像素点的透明值复制到所述图像缓存中非预设位置中图像格式所指示的非透明值位置,得到该视频帧对应的目标视频帧。
作为本发明实施例的一种实施方式,上述图像缓存复制单元可以包括:
图像缓存创建子单元,用于创建高度为该视频帧高度的2倍,宽度与该视频帧宽度相等的图像缓存;
上述图像缓存复制单元可以包括:
图像缓存复制子单元,用于将所述原始数据复制到所述图像缓存的上半部分。
作为本发明实施例的一种实施方式,上述视频发送模块740可以包括:
视频编码单元,用于将剔除后的视频数据转换目标格式,并将转换后的视频数据采用H264进行编码。
相应于上述第二种请求处理方法,本发明实施例提供了第二种请求处理装置,下面对本发明实施例所提供的第二种请求处理装置进行介绍。
如图8所示,一种视频播放装置,应用于终端,所述装置包括:
视频接收模块810,用于接收服务器发送的编码后的视频数据;
其中,所述编码后的视频数据为所述服务器针对待处理视频中的每一视频帧,将该视频帧对应的目标视频帧中图像格式所指示的透明值位置处的数据进行剔除后编码得到的,所述目标视频帧为将该视频帧的原始数据的数据量扩大N倍得到的,所述目标视频帧中扩大部分的数据包括该视频帧的像素点的透明值,且所述透明值位于图像格式所指示的非透明值位置,N不小于2。
视频解码模块820,用于对所接收到的视频数据进行解码,得到所述原始数据;
视频渲染模块830,用于基于所述原始数据进行渲染播放。
可见,本发明实施例提供的方案中,终端可以接收服务器发送的编码后的视频数据,其中,编码后的视频数据为服务器针对待处理视频中的每一视频帧,将该视频帧对应的目标视频帧中图像格式所指示的透明值位置处的数据进行剔除后编码得到的,目标视频帧为将该视频帧的原始数据的数据量扩大N倍得到的,目标视频帧中扩大部分的数据包括该视频帧的像素点的透明值,且所述透明值位于图像格式所指示的非透明值位置,N不小于2,对所接收到的视频数据进行解码,得到所述原始数据,基于所述原始数据进行渲染播放。通过上述方案,服务器可以将待处理视频的视频帧所包括的像素点的透明值存储于目标视频帧中图像格式所指示的非透明值位置,这样在剔除目标视频帧中图像格式所指示的透明值位置处的数据时就不会将存储于非透明值位置处的像素点的透明值剔除,进而,编码后的视频数据中也就包括像素点的透明值,使终端可以获得该透明值,实现在终端播放带有透明效果的在线视频。
作为本发明实施例的一种实施方式,上述视频解码模块820可以包括:
视频解码单元,用于对所接收到的视频数据进行解码,得到所述目标视频帧对应的剔除后的视频数据,作为待读取视频数据;
视频读取单元,用于针对所述待读取视频数据中每一视频帧,从该视频帧的预设位置读取每一像素点的颜色值,从该视频帧的非预设位置读取每一像素点的透明值。
作为本发明实施例的一种实施方式,上述视频解码单元可以包括:
视频解码子单元,用于待读取视频数据中每一视频帧的高度为所述原始数据的高度的2倍,宽度与所述原始数据的宽度相等;
上述视频读取单元可以包括:
视频读取子单元,用于从该视频帧的上半部分读取每一像素点的颜色值。
本发明实施例还提供了一种服务器,如图9所示,包括处理器901、通信接口902、存储器903和通信总线904,其中,处理器901,通信接口902,存储器903通过通信总线904完成相互间的通信,
存储器903,用于存放计算机程序;
处理器901,用于执行存储器903上所存放的程序时,实现上述任一实施例所述的第一种视频播放方法步骤。
可见,本发明实施例提供的方案中,服务器可以获取待处理视频,其中,待处理视频的视频帧所包括的像素点具有透明值,针对待处理视频中的每一视频帧,将该视频帧的数据量扩大为原始数据的数据量的N倍,得到该视频帧对应的目标视频帧,其中,目标视频帧中扩大部分的数据包括该视频帧的像素点的透明值,且透明值位于图像格式所指示的非透明值位置,N不小于2,针对每一目标视频帧,剔除目标视频帧中图像格式所指示的透明值位置处的数据,对剔除后的视频数据进行编码,并将编码后的视频数据发送给终端,以使终端对所接收到的视频数据进行解码,得到原始数据,并基于原始数据进行渲染播放。通过上述方案,服务器可以将待处理视频的视频帧所包括的像素点的透明值存储于目标视频帧中图像格式所指示的非透明值位置,这样在剔除目标视频帧中图像格式所指示的透明值位置处的数据时就不会将存储于非透明值位置处的像素点的透明值剔除,进而,编码后的视频数据中也就包括像素点的透明值,使终端可以获得该透明值,实现在终端播放带有透明效果的在线视频。
上述服务器提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述服务器与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明实施例还提供了一种终端,如图10所示,包括处理器1001、通信接口1002、存储器1003和通信总线1004,其中,处理器1001,通信接口1002,存储器1003通过通信总线1004完成相互间的通信,
存储器1003,用于存放计算机程序;
处理器1001,用于执行存储器1003上所存放的程序时,实现上述任一实施例所述的第二种视频播放方法步骤。
可见,本发明实施例提供的方案中,终端可以接收服务器发送的编码后的视频数据,其中,编码后的视频数据为服务器针对待处理视频中的每一视频帧,将该视频帧对应的目标视频帧中图像格式所指示的透明值位置处的数据进行剔除后编码得到的,目标视频帧为将该视频帧的原始数据的数据量扩大N倍得到的,目标视频帧中扩大部分的数据包括该视频帧的像素点的透明值,且所述透明值位于图像格式所指示的非透明值位置,N不小于2,对所接收到的视频数据进行解码,得到所述原始数据,基于所述原始数据进行渲染播放。通过上述方案,服务器可以将待处理视频的视频帧所包括的像素点的透明值存储于目标视频帧中图像格式所指示的非透明值位置,这样在剔除目标视频帧中图像格式所指示的透明值位置处的数据时就不会将存储于非透明值位置处的像素点的透明值剔除,进而,编码后的视频数据中也就包括像素点的透明值,使终端可以获得该透明值,实现在终端播放带有透明效果的在线视频。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例中任一所述的视频播放方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的视频播放方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、服务器、终端、计算机可读存储介质以及计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (11)

1.一种视频播放方法,其特征在于,应用于服务器,所述方法包括:
获取待处理视频,其中,所述待处理视频的视频帧所包括的像素点具有透明值;
针对所述待处理视频中的每一视频帧,将该视频帧的数据量扩大为原始数据的数据量的N倍,得到该视频帧对应的目标视频帧,其中,所述目标视频帧中扩大部分的数据包括该视频帧的像素点的透明值,且所述透明值位于图像格式所指示的非透明值位置,N不小于2;
针对每一所述目标视频帧,剔除所述目标视频帧中图像格式所指示的透明值位置处的数据;
对剔除后的视频数据进行编码,并将编码后的视频数据发送给终端,以使所述终端对所接收到的视频数据进行解码,得到所述原始数据,并基于所述原始数据进行渲染播放。
2.根据权利要求1所述的方法,其特征在于,所述将该视频帧的数据量扩大为原始数据的数据量的N倍,得到该视频帧对应的目标视频帧的步骤,包括:
创建数据量为原始数据的数据量N倍的图像缓存;
将所述原始数据复制到所述图像缓存的预设位置;
将该视频帧的像素点的透明值复制到所述图像缓存中非预设位置中图像格式所指示的非透明值位置,得到该视频帧对应的目标视频帧。
3.根据权利要求2所述的方法,其特征在于,所述创建数据量为原始数据的数据量N倍的图像缓存的步骤,包括:
创建高度为该视频帧高度的2倍,宽度与该视频帧宽度相等的图像缓存;
所述将所述原始数据复制到所述图像缓存的预设位置的步骤,包括:
将所述原始数据复制到所述图像缓存的上半部分。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述对剔除后的视频数据进行编码的步骤,包括:
将剔除后的视频数据转换为目标格式,并将转换后的视频数据采用H264进行编码。
5.一种视频播放方法,其特征在于,应用于终端,所述方法包括:
接收服务器发送的编码后的视频数据,其中,所述编码后的视频数据为所述服务器针对待处理视频中的每一视频帧,将该视频帧对应的目标视频帧中图像格式所指示的透明值位置处的数据进行剔除后编码得到的,所述目标视频帧为将该视频帧的原始数据的数据量扩大N倍得到的,所述目标视频帧中扩大部分的数据包括该视频帧的像素点的透明值,且所述透明值位于图像格式所指示的非透明值位置,N不小于2;
对所接收到的视频数据进行解码,得到所述原始数据;
基于所述原始数据进行渲染播放。
6.根据权利要求5所述的方法,其特征在于,所述对所接收到的视频数据进行解码,得到所述原始数据的步骤,包括:
对所接收到的视频数据进行解码,得到所述目标视频帧对应的剔除后的视频数据,作为待读取视频数据;
针对所述待读取视频数据中每一视频帧,从该视频帧的预设位置读取每一像素点的颜色值;
从该视频帧的非预设位置读取每一像素点的透明值。
7.根据权利要求6所述的方法,其特征在于,所述待读取视频数据中每一视频帧的高度为所述原始数据的高度的2倍,宽度与所述原始数据的宽度相等;
所述从该视频帧的预设位置读取每一像素点的颜色值的步骤,包括:
从该视频帧的上半部分读取每一像素点的颜色值。
8.一种视频播放装置,其特征在于,应用于服务器,所述装置包括:
视频获取模块,用于获取待处理视频,其中,所述待处理视频的视频帧所包括的像素点具有透明值;
数据扩充模块,用于针对所述待处理视频中的每一视频帧,将该视频帧的数据量扩大为原始数据的数据量的N倍,得到该视频帧对应的目标视频帧,其中,所述目标视频帧中扩大部分的数据包括该视频帧的像素点的透明值,且所述透明值位于图像格式所指示的非透明值位置,N不小于2;
透明值剔除模块,用于针对每一所述目标视频帧,剔除所述目标视频帧中图像格式所指示的透明值位置处的数据;
视频发送模块,用于对剔除后的视频数据进行编码,并将编码后的视频数据发送给终端,以使所述终端对所接收到的视频数据进行解码,得到所述原始数据,并基于所述原始数据进行渲染播放。
9.一种视频播放装置,其特征在于,应用于终端,所述装置包括:
视频接收模块,用于接收服务器发送的编码后的视频数据,其中,所述编码后的视频数据为所述服务器针对待处理视频中的每一视频帧,将该视频帧对应的目标视频帧中图像格式所指示的透明值位置处的数据进行剔除后编码得到的,所述目标视频帧为将该视频帧的原始数据的数据量扩大N倍得到的,所述目标视频帧中扩大部分的数据包括该视频帧的像素点的透明值,且所述透明值位于图像格式所指示的非透明值位置,N不小于2;
视频解码模块,用于对所接收到的视频数据进行解码,得到所述原始数据;
视频渲染模块,用于基于所述原始数据进行渲染播放。
10.一种服务器,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-4任一所述的方法步骤。
11.一种终端,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求5-7任一所述的方法步骤。
CN202110683066.5A 2021-06-18 2021-06-18 一种视频播放方法、装置、终端及服务器 Pending CN113423016A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110683066.5A CN113423016A (zh) 2021-06-18 2021-06-18 一种视频播放方法、装置、终端及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110683066.5A CN113423016A (zh) 2021-06-18 2021-06-18 一种视频播放方法、装置、终端及服务器

Publications (1)

Publication Number Publication Date
CN113423016A true CN113423016A (zh) 2021-09-21

Family

ID=77789325

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110683066.5A Pending CN113423016A (zh) 2021-06-18 2021-06-18 一种视频播放方法、装置、终端及服务器

Country Status (1)

Country Link
CN (1) CN113423016A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115022713A (zh) * 2022-05-26 2022-09-06 京东科技信息技术有限公司 视频数据处理方法及装置、存储介质及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9990487B1 (en) * 2017-05-05 2018-06-05 Mastercard Technologies Canada ULC Systems and methods for distinguishing among human users and software robots
CN109272565A (zh) * 2017-07-18 2019-01-25 腾讯科技(深圳)有限公司 动画播放方法、装置、存储介质以及终端
CN109462731A (zh) * 2018-11-27 2019-03-12 北京潘达互娱科技有限公司 一种直播中动效视频的播放方法、装置、终端及服务器
CN110290398A (zh) * 2019-06-21 2019-09-27 北京字节跳动网络技术有限公司 视频下发方法、装置、存储介质及电子设备
CN111064986A (zh) * 2018-10-17 2020-04-24 腾讯科技(深圳)有限公司 带透明度的动画数据发送方法、播放方法和计算机设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9990487B1 (en) * 2017-05-05 2018-06-05 Mastercard Technologies Canada ULC Systems and methods for distinguishing among human users and software robots
CN109272565A (zh) * 2017-07-18 2019-01-25 腾讯科技(深圳)有限公司 动画播放方法、装置、存储介质以及终端
CN111064986A (zh) * 2018-10-17 2020-04-24 腾讯科技(深圳)有限公司 带透明度的动画数据发送方法、播放方法和计算机设备
CN109462731A (zh) * 2018-11-27 2019-03-12 北京潘达互娱科技有限公司 一种直播中动效视频的播放方法、装置、终端及服务器
CN110290398A (zh) * 2019-06-21 2019-09-27 北京字节跳动网络技术有限公司 视频下发方法、装置、存储介质及电子设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115022713A (zh) * 2022-05-26 2022-09-06 京东科技信息技术有限公司 视频数据处理方法及装置、存储介质及电子设备

Similar Documents

Publication Publication Date Title
US11200426B2 (en) Video frame extraction method and apparatus, computer-readable medium
USRE48430E1 (en) Two-dimensional code processing method and terminal
CN108495185B (zh) 一种视频标题生成方法和装置
KR100501173B1 (ko) 이동 통신 단말기에서 고해상도 화상을 디스플레이하기위한 방법과 이를 위한 이동 통신 단말기 및 화상 포맷변환 시스템
WO2017206761A1 (zh) 应用中图片内容的显示方法、装置及存储介质
CN109840879B (zh) 图像渲染方法、装置、计算机存储介质及终端
CN110868625A (zh) 一种视频播放方法、装置、电子设备及存储介质
CN113068040A (zh) 一种图像压缩方法、装置、电子设备及可读存储介质
CN110930467A (zh) 图像处理方法、电子设备及可读存储介质
US20150256690A1 (en) Image processing system and image capturing apparatus
CN113423016A (zh) 一种视频播放方法、装置、终端及服务器
CN112363791A (zh) 一种录屏方法、装置、存储介质及终端设备
CN115225615B (zh) 虚幻引擎像素流送方法及装置
CN111246249A (zh) 一种图像编码方法、编码装置、解码方法、解码装置及存储介质
CN108737877B (zh) 图像处理的方法、装置和终端设备
EP3522525B1 (en) Method and apparatus for processing video playing
CN111859210A (zh) 图像处理方法、装置、设备及存储介质
CN111885417B (zh) Vr视频播放方法、装置、设备以及存储介质
CN112995673B (zh) 一种样本图像处理方法、装置、电子设备以及介质
CN103399864A (zh) 一种图片转换方法及装置
US9317891B2 (en) Systems and methods for hardware-accelerated key color extraction
CN113672761B (zh) 视频处理方法及装置
CN117061789B (zh) 一种视频传输框架、方法、设备和存储介质
CN112837211B (zh) 一种图片处理方法、装置、电子设备及可读存储介质
CN114760503B (zh) 一种视频播放方法、装置、系统、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20210921

RJ01 Rejection of invention patent application after publication