一种在游戏中内嵌视频播放的方法

文档序号:7861429阅读:1197来源:国知局
专利名称:一种在游戏中内嵌视频播放的方法
一种在游戏中内嵌视频播放的方法
技术领域
本发明涉及多媒体应用技术领域,尤其涉及一种在游戏中内嵌视频播放的方法。背景技术
现有技术中许多播发软件都集成有FFmpeg计算机程序,如暴风影音、QQ影音等;其FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它包括了目前领先的音/视频编码库libavcodec。随着计算机图像处理技术的发展,为了丰富计算机游戏过程中的用户体验,就有 了在游戏过程内嵌视频播放的需求。所谓的内嵌视频播放就是在游戏渲染的过程中,同时在游戏窗口的某一部分播放视频。目前的常用技术是在游戏程序内部内置相应的ActiveX控件,将视频的解码和播放的功能交由ActiveX控件实现,由ActiveX控件负责视频的渲染。视频解码是指将视频文件根据特定的视频压缩算法将压缩后的视频文件还原为视频图像的过程。ActiveX是一种框架,通过与编程语言无关的方式定义可以复用的软件组件。应用程序只要通过组合这些ActiveX控件就可以达到使用这些ActiveX控件提供的功能。现有技术中在游戏程序内部内置相应的ActiveX控件,将视频的解码和播放的功能交由ActiveX控件处理,从而实现在游戏中进行播放视频,该技术存在以下问题I)使用ActiveX控件播放视频,该ActiveX控件需依赖于用户系统中要安装解码器,如果用户系统无法对相应的视频格式进行解码,则视频就无法播放。2)使用ActiveX控件播放视频时,会和当前游戏的主线程抢占资源,导致游戏的帧率下降或是视频无法流畅播放。

发明内容本发明要解决的技术问题,在于提供一种在游戏中内嵌视频播放的方法,在不影响玩家游戏的同时,能流畅地播放视频文件。本发明是这样实现的一种在游戏中内嵌视频播放的方法,包括如下步骤步骤10、在游戏程序中加入FFmpeg的动态链接库,该动态链接库用于提供对视频文件的解码;步骤20、在游戏程序启动时,将FFmpeg的动态链接库进行加载,当游戏程序中需要播放视频时,从计算机硬盘中读入需播放的视频文件,并通过所述FFmpeg的动态链接库将视频文件解码为视频流;步骤30、将所述视频流中各帧的图像数据的颜色信息读取出来并生成各帧对应的静态图片;步骤40、将生成的各帧对应的静态图片按一预设播放速率逐帧地渲染在游戏程序的游戏窗口,从而实现视频文件的播放。进一步地,所述步骤30具体为读取视频流中的每一帧的图像数据的颜色信息,所述视频文件的分辨率是XXY ;则每帧的图像数据的颜色信息是由XXY个颜色的图像像素点组成的,每一个颜色的图像像素点由红、绿、蓝三个色值构成,将每帧的图像数据的每一个颜色的图像像素点的色值进行读取出来,在计算机内存中生成各帧对应的静态图片。进一步地,所述步骤40具体为将生成的各帧对应的静态图片从计算机内存中提出出来,并按一预设播放速率逐帧地在游戏程序的游戏窗口要显示的位置进行连续播放,从而实现视频文件的播放。进一步地,所述预设播放速率为每秒30帧。本发明具有如下优点在游戏程序中加入FFmpeg的动态链接库,并通过所述FFmpeg的动态链接库将视频文件解码为视频流;将所述视频流中各帧的图像数据的颜色信息读取出来并生成各帧对应的静态图片;由于是将图像数据的颜色信息读取出来生成静态图片的;因此,能支持高压缩比的视频文件的播放;该方法也可运用在别的应用程序中,可进行跨平台的使用。该方法无需在游戏程序中安装解码器,且在不影响玩家游戏的同时,能流畅地播放视频文件。

图I为本发明方法流程示意图。
具体实施方式请参阅图I所示,本发明的一种在游戏中内嵌视频播放的方法,包括如下步骤步骤10、在游戏程序中加入FFmpeg的动态链接库,该动态链接库用于提供对视频文件的解码;步骤20、在游戏程序启动时,将FFmpeg的动态链接库进行加载,当游戏程序中需要播放视频时,从计算机硬盘中读入需播放的视频文件,并通过所述FFmpeg的动态链接库将视频文件解码为视频流;步骤30、将所述视频流中各帧的图像数据的颜色信息读取出来并生成各帧对应的静态图片;具体为读取视频流中的每一帧的图像数据的颜色信息(也就是视频实际分辨率下每一个图像像素点的色值RGB),所述视频文件的分辨率是XXY;则每帧的图像数据的颜色信息是由XXY个颜色的图像像素点组成的,每一个颜色的图像像素点由红、绿、蓝三个色值构成,将每帧的图像数据的每一个颜色的图像像素点的色值进行读取出来(每一帧的图像数据的每一个颜色的图像像素点的色值整合后可以构成一个静态的图片),在计算机内存中生成各帧对应的静态图片。步骤40、将生成的各帧对应的静态图片按一预设播放速率逐帧地渲染在游戏程序的游戏窗口,具体为将生成的各帧对应的静态图片从计算机内存中提出出来,并按一预设播放速率逐帧地在游戏程序的游戏窗口要显示的位置进行连续播放;从而实现视频文件的播放。在本发明中,所述预设播放速率较佳地设置为每秒30帧,其也可以按照人眼可以接受的播放速率进行播放,使得静态图片形成一动画。总之,本发明在游戏程序中加入FFmpeg的动态链接库,并通过所述FFmpeg的动态链接库将视频文件解码为视频流;将所述视频流中各帧的图像数据的颜色信息读取出来并生成各帧对应的静态图片;由于是将图像数据的颜色信息读取出来生成静态图片的;因此,能支持高压缩比的视频文件的播放;该方法也可运用在别的应用程序中,可进行跨平台的使用。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
权利要求
1.一种在游戏中内嵌视频播放的方法,其特征在于包括如下步骤 步骤10、在游戏程序中加入FFmpeg的动态链接库,该动态链接库用于提供对视频文件的解码; 步骤20、在游戏程序启动时,将FFmpeg的动态链接库进行加载,当游戏程序中需要播放视频时,从计算机硬盘中读入需播放的视频文件,并通过所述FFmpeg的动态链接库将视频文件解码为视频流; 步骤30、将所述视频流中各帧的图像数据的颜色信息读取出来并生成各帧对应的静态图片; 步骤40、将生成的各帧对应的静态图片按一预设播放速率逐帧地渲染在游戏程序的游戏窗口,从而实现视频文件的播放。
2.根据权利要求I所述的一种在游戏中内嵌视频播放的方法,其特征在于所述步骤30具体为读取视频流中的每一帧的图像数据的颜色信息,所述视频文件的分辨率是XXY ;则每帧的图像数据的颜色信息是由XXY个颜色的图像像素点组成的,每一个颜色的图像像素点由红、绿、蓝三个色值构成,将每帧的图像数据的每一个颜色的图像像素点的色值进行读取出来,在计算机内存中生成各帧对应的静态图片。
3.根据权利要求2所述的一种在游戏中内嵌视频播放的方法,其特征在于所述步骤40具体为将生成的各帧对应的静态图片从计算机内存中提出出来,并按一预设播放速率逐帧地在游戏程序的游戏窗口要显示的位置进行连续播放,从而实现视频文件的播放。
4.根据权利要求I所述的一种在游戏中内嵌视频播放的方法,其特征在于所述预设播放速率为每秒30帧。
全文摘要
本发明提供一种在游戏中内嵌视频播放的方法,包括如下步骤1.在游戏程序中加入FFmpeg的动态链接库,2.在游戏程序启动时,将FFmpeg的动态链接库进行加载,当游戏程序中需要播放视频时,从计算机硬盘中读入需播放的视频文件,并通过所述FFmpeg的动态链接库将视频文件解码为视频流;3.将所述视频流中各帧的图像数据的颜色信息读取出来并生成各帧对应的静态图片;4.将生成的各帧对应的静态图片按一预设播放速率逐帧地渲染在游戏程序的游戏窗口。本发明实现了在游戏中内嵌视频播放,该方法无需在游戏程序中安装解码器,且在不影响玩家游戏的同时,能流畅地播放视频文件。
文档编号H04N7/26GK102929654SQ20121036272
公开日2013年2月13日 申请日期2012年9月21日 优先权日2012年9月21日
发明者刘德建, 陈宏展, 王明巍, 陈任, 杨健 申请人:福建天晴数码有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1