CN109600666B - 游戏场景中的视频播放方法、装置、介质以及电子设备 - Google Patents
游戏场景中的视频播放方法、装置、介质以及电子设备 Download PDFInfo
- Publication number
- CN109600666B CN109600666B CN201811520643.3A CN201811520643A CN109600666B CN 109600666 B CN109600666 B CN 109600666B CN 201811520643 A CN201811520643 A CN 201811520643A CN 109600666 B CN109600666 B CN 109600666B
- Authority
- CN
- China
- Prior art keywords
- video frame
- frame
- target video
- rendering
- game
- 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
Links
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/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, rendering scenes according to MPEG-4 scene graphs
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- 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, rendering scenes according to MPEG-4 scene graphs
- H04N21/44012—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
-
- 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, rendering scenes according to MPEG-4 scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440218—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 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
-
- 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, rendering scenes according to MPEG-4 scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440281—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the temporal resolution, e.g. by frame skipping
Abstract
本发明实施例是关于一种游戏场景中的视频播放方法及装置,属于视频处理技术领域,该方法包括:获取原始视频帧,并根据游戏场景的当前实际帧率调整所述原始视频帧的输出帧率,得到目标视频帧;根据游戏对应的引擎,对所述目标视频帧进行渲染到纹理处理,得到待播放视频帧;将所述待播放视频帧加载到预设播放区域进行播放。该方法解决了现有技术中由于帧率过高,出现音视频不同步引起的音视频播放的准确率较低的问题,提高了音视频播放的准确率,同时降低了设备的负担。
Description
技术领域
本发明实施例涉及视频处理技术领域,具体而言,涉及一种游戏场景中的视频播放方法、基于游戏场景的视频播放装置、计算机可读存储介质以及电子设备。
背景技术
随着端游和手游的不断发展,端游和手游的用户也在日益增多。但是,各用户对端游和手游的熟练程度参差不齐;因此,对于熟练程度较低的用户来说,可以通过在游戏场景中通过观看他人的直播视频,以达到学习的目的。
在现有的在游戏场景中观看视频的技术中,可以包括如下两种方式:一种是,在游戏场景中观看直播视频时,可以跳转到游戏场景中内嵌的网页页面,通过页面播放器播放视频;另一种是,可以在游戏场景中内嵌播放器进行播放;其中,游戏场景中以单个视频纹理来绘制播放视频。
但是,上述两种方式均存在缺陷,其中:在第一种方式中,通过网页页面播放的方式,需要在离开游戏页面的情况下进行观看,因此使得直播视频与游戏融合感不佳降低了用户体验;在第二种方式中,需要通过CPU方式进行视频格式转换,对于高分辨率、高码率、高帧率的视频,转换性能消耗比较大,比较容易出现音视频不同步的情况,降低了音视频播放的准确率同时也增加了设备的负担。
因此,需要提供一种新的基于游戏场景的视频直播方法。
需要说明的是,在上述背景技术部分发明的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本发明的目的在于提供种游戏场景中的视频播放方法、基于游戏场景的视频播放装置、计算机可读存储介质以及电子设备,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的音视频播放的准确率较低的问题。
根据本公开的一个方面,提供一种游戏场景中的视频播放方法,包括:
获取原始视频帧,并根据游戏场景的当前实际帧率调整所述原始视频帧的输出帧率,得到目标视频帧;
根据游戏对应的引擎,对所述目标视频帧进行渲染到纹理处理,得到待播放视频帧;
将所述待播放视频帧加载到预设播放区域进行播放。
在本公开的一种示例性实施例中,根据游戏场景的当前实际帧率调整所述原始视频帧的输出帧率,得到目标视频帧包括:
通过预设解码方式对所述原始视频帧进行解码;其中,所述预设解码方式包括软件解码和/或硬件解码;
根据游戏场景的当前实际帧率调整解码后的原视频帧的输出帧率,得到与所述当前实际帧率一致的目标视频帧。
在本公开的一种示例性实施例中,通过预设解码方式对所述原视频帧进行解码包括:
根据所述原始视频帧的媒体格式以及所述预设播放区域所需的播放格式,利用所述预设解码方式对所述原始视频帧进行解码。
在本公开的一种示例性实施例中,对所述目标视频帧进行图像渲染到纹理处理,得到待播放视频帧包括:
在所述游戏对应的引擎为OpenGL的情况下,创建帧缓冲对象,并生成一与所述目标视频帧对应的RGBA图像纹理;
将所述RGBA图像纹理与所述帧缓冲对象进行绑定;
激活所述帧缓冲对象的帧缓冲区,将所述目标视频帧渲染至所述帧缓冲区进行绘制,得到所述待播放视频帧。
在本公开的一种示例性实施例中,对所述目标视频帧进行图像渲染到纹理处理,得到待播放视频帧还包括:
在所述游戏对应的引擎为Metal的情况下,创建命令缓冲区以及命令队列,并将所述目标视频帧渲染至所述命令缓冲区中;
将渲染有目标视频帧的命令缓冲区放置到命令队列中;
根据所述命令队列中的加载有目标视频帧的命令缓冲区的顺序,执行格式转换着色语言对所述目标视频帧进行格式转换,得到所述待播放视频帧。
在本公开的一种示例性实施例中,将所述目标视频帧渲染至所述命令缓冲区中包括:
创建渲染描述符,并通过渲染描述符以及命令缓冲区获取渲染编码器;
通过所述渲染编码器,将所述目标视频渲染至所述命令缓冲区中。
在本公开的一种示例性实施例中,所述目标视频帧为YUV数据格式;所述待播放视频帧为RGB数据格式。
根据本公开的一个方面,提供一种基于游戏场景的视频播放装置,包括:
帧率调整模块,用于获取原始视频帧,并根据游戏场景的当前实际帧率调整所述原始视频帧的输出帧率,得到目标视频帧;
处理模块,用于根据游戏对应的引擎,对所述目标视频帧进行渲染到纹理处理,得到待播放视频帧;
播放模块,用于将所述待播放视频帧加载到预设播放区域进行播放。
根据本公开的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的游戏场景中的视频播放方法。
根据本公开的一个方面,提供一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的游戏场景中的视频播放方法。
本公开实施例一种游戏场景中的视频播放方法,通过获取原始视频帧,并通过游戏场景的当前实际帧率调整原始视频帧的输出帧率,得到目标视频帧;根据游戏对应的引擎,对目标视频帧进行渲染到纹理处理,得到待播放视频帧;将待播放视频帧加载到预设播放区域进行播放;一方面,通过游戏场景的当前实际帧率调整原始视频帧的输出帧率,得到目标视频帧;再根据游戏对应的引擎对目标视频帧进行渲染到纹理处理,得到待播放视频帧,解决了现有技术中由于帧率过高,出现音视频不同步引起的音视频播放的准确率较低的问题,提高了音视频播放的准确率,同时降低了设备的负担;另一方面,通过游戏场景的当前实际帧率调整原始视频帧的输出帧率,得到目标视频帧,降低了目标视频帧中的冗余帧率,进而减少了对冗余帧率进行转换的消耗;再一方面,通过根据游戏对应的引擎对目标视频帧进行渲染到纹理处理,得到待播放视频帧;替代了现有的通过CPU格式进行转换的方式,减少了每帧视频的转换时间,提升了转换速度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性示出一种游戏场景中的视频播放方法的流程图。
图2示意性示出一种根据游戏场景的当前实际帧率调整所述原始视频帧的输出帧率,得到目标视频帧的方法流程图。
图3示意性示出一种对所述目标视频帧进行图像渲染到纹理处理,得到待播放视频帧的方法流程图。
图4示意性示出OpenGL的帧缓冲对象的示例图。
图5示意性示出另一种对所述目标视频帧进行图像渲染到纹理处理,得到待播放视频帧的方法流程图。
图6示意性示出Metal的命令缓存以及命令队列的示例图。
图7示意性示出一种基于游戏场景的视频播放装置的流程图。
图8示意性示出一种用于实现上述游戏场景中的视频播放方法的电子设备。
图9示意性示出一种用于实现上述游戏场景中的视频播放方法的计算机可读存储介质。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本发明的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本发明的各方面变得模糊。
此外,附图仅为本发明的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
目前,游戏中可以加入观看直播视频的功能。在三维或二维游戏中,视频往往会被处理成为一个纹理图片,呈现于游戏内的一个类似广告版的UI窗口内;流媒体播放器从网络或者本地读取到媒体数据,通知游戏更新视频图像。
在流媒体视频传输领域,一般以YUV的颜色编码方式进行图像数据的压缩编码处理。其中,YUV可以分为三个分量,“Y”表示明亮度(Luminance或Luma),也就是灰度值;而“U”和“V”表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。为了便于游戏对接,需要将视频YUV格式转换为RGB图像格式才能进行播放。
本示例实施方式中首先提供了一种游戏场景中的视频播放方法,该方法可以运行于服务器、服务器集群或云服务器等,也可以运行于设备终端;当然,本领域技术人员也可以根据需求在其他平台运行本发明的方法,本示例性实施例中对此不做特殊限定。参考图1所示,该游戏场景中的视频播放方法可以包括以下步骤:
在步骤S110中,获取原始视频帧,并根据游戏场景的当前实际帧率调整所述原始视频帧的输出帧率,得到目标视频帧。
在步骤S120中,根据游戏对应的引擎对所述目标视频帧进行渲染到纹理处理,得到待播放视频帧。
在步骤S130中,将所述待播放视频帧加载到预设播放区域进行播放。
上述游戏场景中的视频播放方法中,一方面,通过游戏场景的当前实际帧率调整原始视频帧的输出帧率,得到目标视频帧;再根据游戏对应的引擎对目标视频帧进行渲染到纹理处理,得到待播放视频帧,解决了现有技术中由于帧率过高,出现音视频不同步引起的音视频播放的准确率较低的问题,提高了音视频播放的准确率,同时降低了设备的负担;另一方面,通过游戏场景的当前实际帧率调整原始视频帧的输出帧率,得到目标视频帧,降低了目标视频帧中的冗余帧率,进而减少了对冗余帧率进行转换的消耗;再一方面,通过根据游戏对应的引擎对目标视频帧进行渲染到纹理处理,得到待播放视频帧;替代了现有的通过CPU格式进行转换的方式,减少了每帧视频的转换时间,提升了转换速度。
下面,将结合附图对本示例实施方式中上述游戏场景中的视频播放方法中的各步骤进行详细的解释以及说明。
在步骤S110中,获取原始视频帧,并根据游戏场景的当前实际帧率调整所述原始视频帧的输出帧率,得到目标视频帧。
在本示例实施方式中,首先,获取原始视频帧;其中,该原始视频的数据格式例如可以是YUV格式,也可以是其他格式,本示例对此不做特殊限制;进一步的,获取该原始视频帧可以包括:通过视频拉流单元对在线直播或者点播视频进行数据拉取以及播放缓冲控制;具体实施上,可以通过ffmpeg或者流媒体拉取模块进行拉取,得到音视频等媒体数据,等待后续解码单元解码操作。
在本示例实施方式中,当得到上述原始视频数据后,需要根据游戏场景的当前实际帧率调整原始视频帧的输出帧率。由于原始视频的帧率和游戏的帧率不能保持一致;原始视频帧的输出帧率是固定可知的,从当前播放的视频流解析可以得到,比如25帧、30帧等,视频帧率超高,观看画面越显得流畅;游戏的帧率则可能会因为游戏场景的动画、场景切换等出现帧率不稳的情况,另一方面,视频帧率高于游戏帧率也是普遍存在的情况,;因此,在游戏场景中观看直播视频,需要以游戏场景的实际帧率为基准,进行必要的视频输出控制,这样在减少多余的视频格式转换操作的同时,也降低了视频格式转换的性能消耗。
在步骤S120中,根据游戏对应的引擎,对所述目标视频帧进行渲染到纹理处理,得到待播放视频帧。
在本示例实施方式中,上述待播放视频帧的数据格式可以为RGB格式。进一步的,由于相较于RGB格式来说,YUV格式可以占用更少的带宽。进一步的,YUV格式可以包括两大类:planar以及packed;其中,对于planar的YUV格式,可以先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V;对于packed的YUV格式,每个像素点的Y,U,V是连续交替存储的;进一步的,上述游戏场景对应的引擎可以包括OpenGL引擎以及Metal引擎等等,也可以包括其他引擎,例如可以是neox引擎等等,本示例对此不做特殊限制。该方法替代了现有的通过CPU格式进行转换的方式,减少了每帧视频的转换时间,提升了转换速度
在步骤S130中,将所述待播放视频帧加载到预设播放区域进行播放。
在本示例实施方式中,当得到上述待播放视频后,可以将该待播放视频帧加载至预设播放区域进行播放;其中,该预设播放区域例如可以是游戏场景中的指定目标区域;该制定目标区域可以设置在不影响用户控制虚拟对象在游戏场景中移动的区域中;例如可以是设备终端的某一个边角区域等等。
图2示意性示出一种根据游戏场景的当前实际帧率调整所述原始视频帧的输出帧率,得到目标视频帧的方法流程图。参考图2所示,根据游戏场景的当前实际帧率调整所述原始视频帧的输出帧率,得到目标视频帧可以包括步骤S210-步骤S220。其中:
在步骤S210中,通过预设解码方式对所述原始视频帧进行解码;其中,所述预设解码方式包括软件解码和/或硬件解码。
在本示例实施方式中,通过预设解码方式对原始视频帧进行解码可以包括:根据所述原始视频帧的媒体格式以及所述预设播放区域所需的播放格式,利用所述预设解码方式对所述原始视频帧进行解码。详细而言:
可以根据视频媒体格式和播放设备进行不同方式的解码操作,比如软件解码或者硬件解码,不同的解码方式,输出的视频图像编码格式不同;进一步的,解码可以通过ffmpeg或者依赖于平台的硬件解码模块进行解码,一个视频流是否可以进行硬件解码需要进行设备和解码支持性判断,不同的解码方式输出的媒体数据格式不同。
进一步的,如果视频解码采用硬件解码方式,则输出的图像压缩格式是NV12的,与普通的Y420分为3个Plane不同,NV12是一种tow-plane的模式,即Y和UV分为两个Plane,UV为交错存储,其数据存储排列顺序区别如下所列:
Y420:YYYYYYYY UU VV;NV12:YYYYYYYY UVUV;
了解了Y、U、V三个分量的顺序布置,就可以很容易的将NV12、Y420格式图像转换为RGB格式渲染显示。
其中,YUV-->RGB:
R=1.164(Y-16)+1.596(V-128)
G=1.164(Y-16)-0.813(V-128)-0.391(U-128)。
B=1.164(Y-16)+2.018(U-128)
在步骤S220中,根据游戏场景的当前实际帧率调整解码后的原视频帧的输出帧率,得到与所述当前实际帧率一致的目标视频帧。举例而言:
当游戏场景的当前实际帧率为15帧/秒,解码后的原视频帧的输出帧率为25帧/秒时,可以降低该原始视频帧的输出帧率为15帧/秒,确保该解码后的原始视频帧的输出帧率与游戏场景的当前实际帧率一致,得到15帧/秒的目标视频帧。此处需要补充说明的是,由于游戏场景的实际帧率是实时变化的,因此不能通过给原始视频帧设置一个固定的输出帧率来控制原始视频帧的输出帧率与游戏场景的实际帧率保持一致。
图3示意性示出一种对所述目标视频帧进行图像渲染到纹理处理,得到待播放视频帧的方法流程图。该方法适用的游戏引擎为OpenGL,可以通过加载YUV数据到纹理对象,在OpenGL环境下以高效和易用的帧缓冲对象FBO实现渲染到纹理的效果。其中,FBO是一个图像容器,是颜色缓存、深度缓存、模板缓存的集合;空的FBO容器里面存储的是texture(纹理)和renderbuffer(渲染缓冲区),纹理和渲染缓冲区都可以作为渲染的目标。其中,参考图3所示,对所述目标视频帧进行图像渲染到纹理处理,得到待播放视频帧可以包括步骤S310-步骤S330。其中:
在步骤S310中,在所述游戏对应引擎为的OpenGL的情况下,创建帧缓冲对象,并生成一与所述目标视频帧对应的RGBA图像纹理。
在本示例实施方式中,首先,在游戏场景对应的OpenGL引擎中创建帧缓冲对象;其中,帧缓冲对象(FBO,Framebuffer Object)可以把渲染从窗口的帧缓冲区转移到一个或者多个离屏帧缓冲区。相对于其他同类技术,如数据拷贝或者交换缓冲区等等,使用FBO技术会更高效且易于实现。参考图4所示,帧缓冲对象400可以绑定一个纹理对象(TextureObject)401,也可以绑定一个渲染对象(Renderbuffer Object)402,进一步的,该帧缓冲对象400中还可以包括颜色缓冲(Color buffer)403、深度缓冲(Depth buffer)404以及模版缓冲(Stencil buffer)405等等。进一步的,当上述帧缓冲对象创建完成后,需要生成一个与目标视频帧对应的RGBA图像纹理。
在步骤S320中,将所述RGBA图像纹理与所述帧缓冲对象进行绑定。详细而言:
当得到上述RGBA图像纹理后,将该RGBA图像纹理与帧缓冲对象(FBO)进行绑定,以便把目标视频帧渲染到帧缓冲对象的纹理中去。
在步骤S330中,激活所述帧缓冲对象的帧缓冲区,将所述目标视频帧渲染至所述帧缓冲区进行绘制,得到所述待播放视频帧。
在本示例实施方式中,首先,将纹理的顶点坐标数据和纹理坐标数据保存到VertexBuffer(顶点缓冲区)和TextcoordsBuffer(文本代码缓冲区);然后,在每帧绘制时可以进行必要的OpenGL上下文状态保存,以便于绘制完成后恢复之前的渲染状态;进一步的,激活帧缓冲区,将目标视频帧渲染到帧缓冲区进行目标视频帧的图像数据的绘制;当绘制完成后恢复纹理渲染前的OpenGL状态;此处需要补充说明的是,如果是普通的软件解码方式,解码输出的YUV数据将被生成3个纹理Y、U、V,而硬件解码方式,解码输出的YUV数据则被生成2个纹理Y,UV,纹理上传到GPU执行绘制。
进一步的,当得到上述待播放视频帧以后,将该待播放视频帧输出至游戏场景中的指定目标区域进行播放。其中,播放组件输出的是RGBA格式的单张纹理,大大简化了游戏场景中播放视频的接入流程,视频播放可以被设计为游戏内的一个独立的广告板类型的窗口,也可以贴在场景中的模型对象上,形成一种更好的融合感。
图5示意性示出另一种对所述目标视频帧进行图像渲染到纹理处理,得到待播放视频帧的方法流程图。该方法适用的游戏引擎为Metal,Metal框架支持GPU硬件加速、高级3D图形渲染以及大数据并行运算。参考图6所示,命令缓冲(Command Buffer)601和命令队列(Command Queue)602是Metal支撑多线程(CPU Thread)603的重要组成部分,命令缓冲601都是独立的互不干扰的单元,支持在多个线程603中创建。这样就能够由多个线程603创建不同的绘制命令。由单独的线程603管理渲染命令队列602,统一提交给GPU604进行绘制。参考图5所示,对所述目标视频帧进行图像渲染到纹理处理,得到待播放视频帧还可以包括步骤S510-步骤S530。其中:
在步骤S510中,在游戏对应引擎为的Metal的情况下,创建命令缓冲区以及命令队列,并将所述目标视频帧渲染至所述命令缓冲区中。
在本示例实施方式中,首先,创建命令缓冲区(Command Buffer)以及(CommandQueue);然后,再将目标视频帧渲染至命令缓冲区。其中,将目标视频帧渲染之命令缓冲区具体的可以包括:创建渲染描述符,并通过渲染描述符以及命令缓冲区获取渲染编码器;通过所述渲染编码器,将所述目标视频渲染至所述命令缓冲区中。详细而言:
首先,通过命令队列获取命令缓冲区,并创建渲染描述符;其次,通过渲染描述符和命令缓冲区获取渲染编码器;然后,通过渲染编码器,将目标视频帧渲染至命令缓冲区中。
在步骤S520中,将渲染有目标视频帧的命令缓冲区放置到命令队列中。详细而言:
将渲染后目标视频帧的命令缓冲区(Command Buffer)放置到命令队列(CommandQueue)中进行排序;以使得GPU可以根据排列顺序的先后进行绘制。
在步骤S530中,根据所述命令队列中的加载有目标视频帧的命令缓冲区的顺序,执行格式转换着色语言对所述目标视频帧进行格式转换,得到所述待播放视频帧。
在本示例实施方式中,首先,构建管道,即shader的设置,根据不同的视频解码方式设定相应的YUV转RGB shader;其次,设置顶点数组缓冲和纹理坐标数组缓冲;然后,发布绘制指令,要放入设备的命令队列的命令必须被编码到命令缓冲区里;最后,根据所述命令队列中的加载有目标视频帧的命令缓冲区的顺序,执行颜色格式转换着色语言(shader)对所述目标视频帧进行转换,得到所述待播放视频帧。进一步的,命令队列接受一组有序的命令缓存,这些命令缓存会被GPU执行。所有发送到命令队列的命令缓存会确保按照命令缓存之前的排队顺序依次执行。
在本公开提供的游戏场景中的视频播放方法中,可以在高复杂的游戏内支持高清晰度的视频流畅观看,达到的效果是画面流畅不掉帧、音视频同步播放,提升用户的观看体验。
本公开还提供了一种基于游戏场景的视频播放装置。参考图7所示,该基于游戏场景的视频播放装置可以包括帧率调整模块710、处理模块720以及播放模块730。其中:
帧率调整模块710可以用于获取原始视频帧,并根据游戏场景的当前实际帧率调整所述原始视频帧的输出帧率,得到目标视频帧。
处理模块720可以用于根据游戏对应的引擎对所述目标视频帧进行渲染到纹理处理,得到待播放视频帧。
播放模块730可以用于将所述待播放视频帧加载到预设播放区域进行播放。
在本公开的一种示例性实施方式中,根据游戏场景的当前实际帧率调整所述原始视频帧的输出帧率,得到目标视频帧包括:
通过预设解码方式对所述原始视频帧进行解码;其中,所述预设解码方式包括软件解码和/或硬件解码;
根据游戏场景的当前实际帧率调整解码后的原视频帧的输出帧率,得到与所述当前实际帧率一致的目标视频帧。
在本公开的一种示例性实施方式中,通过预设解码方式对所述原视频帧进行解码包括:
根据所述原始视频帧的媒体格式以及所述预设播放区域所需的播放格式,利用所述预设解码方式对所述原始视频帧进行解码。
在本公开的一种示例性实施方式中,对所述目标视频帧进行图像渲染到纹理处理,得到待播放视频帧包括:
在所述游戏对应的引擎为OpenGL的情况下,创建帧缓冲对象,并生成一与所述目标视频帧对应的RGBA图像纹理;
将所述RGBA图像纹理与所述帧缓冲对象进行绑定;
激活所述帧缓冲对象的帧缓冲区,将所述目标视频帧渲染至所述帧缓冲区进行绘制,得到所述待播放视频帧。
在本公开的一种示例性实施方式中,对所述目标视频帧进行图像渲染到纹理处理,得到待播放视频帧包括:
在所述游戏对应的引擎为Metal的情况下,创建命令缓冲区以及命令队列,并将所述目标视频帧渲染至所述命令缓冲区中;
将渲染有目标视频帧的命令缓冲区放置到命令队列中;
根据所述命令队列中的加载有目标视频帧的命令缓冲区的顺序,执行格式转换着色语言对所述目标视频帧进行格式转换,得到所述待播放视频帧。
在本公开的一种示例性实施方式中,将所述目标视频帧渲染至所述命令缓冲区中包括:
创建渲染描述符,并通过渲染描述符以及命令缓冲区获取渲染编码器;
通过所述渲染编码器,将所述目标视频渲染至所述命令缓冲区中。
在本公开的一种示例性实施方式中,所述目标视频帧为YUV数据格式;所述待播放视频帧为RGB数据格式。
上述游戏场景中的视频播放装置中各模块的具体细节已经在对应的游戏场景中的视频播放方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本发明中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本发明实施方式的方法。
在本发明的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图8来描述根据本发明的这种实施方式的电子设备800。图8显示的电子设备800仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图8所示,电子设备800以通用计算设备的形式表现。电子设备800的组件可以包括但不限于:上述至少一个处理单元810、上述至少一个存储单元820、连接不同系统组件(包括存储单元820和处理单元810)的总线830。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元810执行,使得所述处理单元810执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元810可以执行如图1中所示的步骤S110:获取原始视频帧,并根据游戏场景的当前实际帧率调整所述原始视频帧的输出帧率,得到目标视频帧;步骤S120:根据游戏对应的引擎对所述目标视频帧进行渲染到纹理处理,得到待播放视频帧;步骤S130:将所述待播放视频帧加载到预设播放区域进行播放。
存储单元820可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)8201和/或高速缓存存储单元8202,还可以进一步包括只读存储单元(ROM)8203。
存储单元820还可以包括具有一组(至少一个)程序模块8205的程序/实用工具8204,这样的程序模块8205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线830可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备800也可以与一个或多个外部设备870(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备800交互的设备通信,和/或与使得该电子设备800能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口850进行。并且,电子设备800还可以通过网络适配器860与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器860通过总线830与电子设备800的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备800使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本发明实施方式的方法。
在本发明的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
参考图9所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品900,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里发明的发明后,将容易想到本发明的其他实施例。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未发明的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由权利要求指出。
Claims (9)
1.一种游戏场景中的视频播放方法,其特征在于,包括:
获取原始视频帧,并根据游戏场景的当前实际帧率调整所述原始视频帧的输出帧率,得到与所述当前实际帧率一致目标视频帧;其中,所述原始视频帧为在线直播或者点播视频;
根据游戏对应的引擎,对所述目标视频帧进行渲染到纹理处理,得到待播放视频帧;其中,在所述游戏对应的引擎为OpenGL的情况下,创建帧缓冲对象,并生成一与所述目标视频帧对应的RGBA图像纹理;
将所述RGBA图像纹理与所述帧缓冲对象进行绑定;
激活所述帧缓冲对象的帧缓冲区,将所述目标视频帧渲染至所述帧缓冲区进行绘制,得到所述待播放视频帧;
将所述待播放视频帧加载到预设播放区域进行播放。
2.根据权利要求1所述的游戏场景中的视频播放方法,其特征在于,根据游戏场景的当前实际帧率调整所述原始视频帧的输出帧率,得到目标视频帧包括:
通过预设解码方式对所述原始视频帧进行解码;其中,所述预设解码方式包括软件解码和/或硬件解码;
根据游戏场景的当前实际帧率调整解码后的原视频帧的输出帧率,得到与所述当前实际帧率一致的目标视频帧。
3.根据权利要求2所述的游戏场景中的视频播放方法,其特征在于,通过预设解码方式对所述原视频帧进行解码包括:
根据所述原始视频帧的媒体格式以及所述预设播放区域所需的播放格式,利用所述预设解码方式对所述原始视频帧进行解码。
4.根据权利要求1所述的游戏场景中的视频播放方法,其特征在于,对所述目标视频帧进行图像渲染到纹理处理,得到待播放视频帧还包括:
在所述游戏对应的引擎为Metal的情况下,创建命令缓冲区以及命令队列,并将所述目标视频帧渲染至所述命令缓冲区中;
将渲染有目标视频帧的命令缓冲区放置到命令队列中;
根据所述命令队列中的加载有目标视频帧的命令缓冲区的顺序,执行格式转换着色语言对所述目标视频帧进行格式转换,得到所述待播放视频帧。
5.根据权利要求4所述的游戏场景中的视频播放方法,其特征在于,将所述目标视频帧渲染至所述命令缓冲区中包括:
创建渲染描述符,并通过渲染描述符以及命令缓冲区获取渲染编码器;
通过所述渲染编码器,将所述目标视频渲染至所述命令缓冲区中。
6.根据权利要求1-5任一项所述的游戏场景中的视频播放方法,其特征在于,所述目标视频帧为YUV数据格式;所述待播放视频帧为RGB数据格式。
7.一种基于游戏场景的视频播放装置,其特征在于,包括:
帧率调整模块,用于获取原始视频帧,并根据游戏场景的当前实际帧率调整所述原始视频帧的输出帧率,得到与所述当前实际帧率一致目标视频帧;其中,所述原始视频帧为在线直播或者点播视频;
处理模块,用于根据游戏对应的引擎,对所述目标视频帧进行渲染到纹理处理,得到待播放视频帧;其中,在所述游戏对应的引擎为OpenGL的情况下,创建帧缓冲对象,并生成一与所述目标视频帧对应的RGBA图像纹理;
将所述RGBA图像纹理与所述帧缓冲对象进行绑定;
激活所述帧缓冲对象的帧缓冲区,将所述目标视频帧渲染至所述帧缓冲区进行绘制,得到所述待播放视频帧;
播放模块,用于将所述待播放视频帧加载到预设播放区域进行播放。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-6任一项所述的游戏场景中的视频播放方法。
9.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-6任一项所述的游戏场景中的视频播放方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811520643.3A CN109600666B (zh) | 2018-12-12 | 2018-12-12 | 游戏场景中的视频播放方法、装置、介质以及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811520643.3A CN109600666B (zh) | 2018-12-12 | 2018-12-12 | 游戏场景中的视频播放方法、装置、介质以及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109600666A CN109600666A (zh) | 2019-04-09 |
CN109600666B true CN109600666B (zh) | 2021-08-10 |
Family
ID=65960895
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811520643.3A Active CN109600666B (zh) | 2018-12-12 | 2018-12-12 | 游戏场景中的视频播放方法、装置、介质以及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109600666B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110585702B (zh) * | 2019-09-17 | 2023-09-19 | 腾讯科技(深圳)有限公司 | 一种音画同步数据处理方法、装置、设备及介质 |
CN110673813B (zh) * | 2019-09-29 | 2023-04-07 | 阿波罗智联(北京)科技有限公司 | 一种数据处理方法、装置、电子设备和介质 |
CN111432262B (zh) * | 2020-02-24 | 2022-05-24 | 杭州海康威视数字技术股份有限公司 | 页面视频渲染方法及装置 |
CN111882626B (zh) * | 2020-08-06 | 2023-07-14 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、服务器及介质 |
CN112866612B (zh) * | 2021-03-10 | 2023-02-21 | 北京小米移动软件有限公司 | 插帧方法、装置、终端及计算机可读存储介质 |
CN113132799B (zh) * | 2021-03-30 | 2022-08-23 | 腾讯科技(深圳)有限公司 | 视频播放处理方法及装置、电子设备、存储介质 |
CN113485851B (zh) * | 2021-05-13 | 2024-01-26 | 北京创奇视界科技有限公司 | 面向仿真三维引擎便捷开发的虚拟现实适配器 |
CN113347466B (zh) * | 2021-05-18 | 2022-12-20 | 深圳市腾讯网络信息技术有限公司 | 一种数据处理方法、装置和存储介质 |
CN113542620B (zh) * | 2021-07-06 | 2022-02-25 | 北京百度网讯科技有限公司 | 一种特效处理方法、装置及电子设备 |
CN114222166B (zh) * | 2021-09-29 | 2024-02-13 | 重庆创通联达智能技术有限公司 | 多路视频码流实时处理、同屏播放方法及相关系统 |
CN114173157B (zh) * | 2021-12-10 | 2022-12-16 | 广州博冠信息科技有限公司 | 视频流传输方法及装置、电子设备、存储介质 |
CN114288647B (zh) * | 2021-12-31 | 2022-07-08 | 深圳方舟互动科技有限公司 | 基于AI Designer的人工智能游戏引擎、游戏渲染方法及装置 |
CN114501141B (zh) * | 2022-01-04 | 2024-02-02 | 杭州网易智企科技有限公司 | 视频数据处理方法、装置、设备和介质 |
CN114679622A (zh) * | 2022-03-08 | 2022-06-28 | 臻迪科技股份有限公司 | 一种视频文件生成方法、装置、设备及介质 |
CN114760527A (zh) * | 2022-04-13 | 2022-07-15 | 北京字跳网络技术有限公司 | 游戏场景中的视频播放方法、装置、存储介质及电子设备 |
WO2023245495A1 (zh) * | 2022-06-22 | 2023-12-28 | 云智联网络科技(北京)有限公司 | 将渲染数据转换为视频流的方法及装置、电子设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102929654B (zh) * | 2012-09-21 | 2015-09-23 | 福建天晴数码有限公司 | 一种在游戏中内嵌视频播放的方法 |
US9728166B2 (en) * | 2015-08-20 | 2017-08-08 | Qualcomm Incorporated | Refresh rate matching with predictive time-shift compensation |
CN106227482B (zh) * | 2016-07-25 | 2019-03-15 | 广东小天才科技有限公司 | 一种游戏画面刷新的控制方法及相关设备 |
CN106598739B (zh) * | 2016-12-14 | 2019-12-17 | 合一网络技术(北京)有限公司 | 视频渲染方法及装置 |
CN106817755A (zh) * | 2017-03-20 | 2017-06-09 | 北京白鹭时代信息技术有限公司 | 一种降低移动终端耗电的方法及装置 |
-
2018
- 2018-12-12 CN CN201811520643.3A patent/CN109600666B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109600666A (zh) | 2019-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109600666B (zh) | 游戏场景中的视频播放方法、装置、介质以及电子设备 | |
US10229651B2 (en) | Variable refresh rate video capture and playback | |
US8253732B2 (en) | Method and system for remote visualization client acceleration | |
US9607357B2 (en) | Image processing device for displaying moving image and image processing method thereof | |
CN112235626B (zh) | 视频渲染方法、装置、电子设备及存储介质 | |
CN111193876B (zh) | 视频中添加特效的方法及装置 | |
US8331701B2 (en) | Image processing device for displaying an image on a display | |
US9715718B2 (en) | Image processing device, image processing system, image processing method, and computer program for effecting changes in a selected display region | |
US20130147787A1 (en) | Systems and Methods for Transmitting Visual Content | |
KR101536501B1 (ko) | 동화상 배포 서버, 동화상 재생 장치, 제어 방법, 기록 매체, 및 동화상 배포 시스템 | |
CN109327698B (zh) | 动态预览图的生成方法、系统、介质和电子设备 | |
US9055272B2 (en) | Moving image reproduction apparatus, information processing apparatus, and moving image reproduction method | |
CN113946402A (zh) | 基于渲染分离的云手机加速方法、系统、设备及存储介质 | |
US10237563B2 (en) | System and method for controlling video encoding using content information | |
CN112884665A (zh) | 一种动画播放方法、装置、计算机设备及存储介质 | |
CN110049347B (zh) | 在直播界面配置图像的方法、系统、终端和装置 | |
CN110782387B (zh) | 图像处理方法、装置、图像处理器及电子设备 | |
US20220253966A1 (en) | Graphics Processing System | |
TWI566205B (zh) | 圖形驅動程式在顯像圖框中近似動態模糊的方法 | |
CN109379622B (zh) | 游戏中播放视频的方法和装置 | |
CN113079408A (zh) | 视频播放方法、装置和系统 | |
CN114222185B (zh) | 视频播放方法、终端设备及存储介质 | |
WO2014024255A1 (ja) | 端末および動画再生プログラム | |
CN113038276A (zh) | 视频播放方法、装置、电子设备及存储介质 | |
US9972064B1 (en) | Non-intrusive and low-power recording |
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 |