利索能及
我要发布
收藏
专利号: 2016111300738
申请人: 武汉斗鱼网络科技有限公司
专利类型:发明专利
专利状态:已下证
更新日期:2024-12-09
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种安卓系统上竖屏视频黑边的处理方法,其特征在于,包括以下步骤:S1、根据竖屏视频的封面图片地址,通过安卓系统网络请求方法获取竖屏视频对应的封面图片;

S2、通过高斯曲线算法对封面图片进行高斯模糊处理,得到模糊图片;

S3、计算安卓系统上更新视图的视频区域,以及视频区域上左右两边的黑边区域,并计算模糊图片左右两边的区域;

S4、将模糊图片的左右区域分别绘制到视频区域左右的黑边区域上,视频区域中间保持透明,得到模糊视图,并将模糊视图覆盖在竖屏视频上,其包括:安卓系统上的更新视图为SurfaceView,通过SurfaceView的方法SurfaceView.getHolder.lockCanvas获取SurfaceView的画布canvas,并在SurfaceView的线程里,在画布canvas上分别绘制左右对应的模糊图片;其中:绘制左边模糊图片的方法为:

canvas.drawBitmap(模糊图片,imageLeftRect,windowLeftRect),imageLeftRect为模糊图片上截取的左区域的矩形坐标,windowLeftRect为视频区域左边的模糊区域的矩形坐标;

绘制右边模糊图片的方法为:

canvas.drawBitmap(模糊图片,imageRightRect,windowRightRect),imageRightRect为模糊图片上截取的右区域的矩形坐标,windowRightRect为视频区域右边的模糊区域的矩形坐标;

画布canvas中间区域未绘制内容,canvas中间区域默认设置为透明;

通过调用安卓系统中的FrameLayout.addView方法,向该方法中传入参数SurfaceView,使异步更新视图SurfaceView覆盖在竖屏视频上。

2.根据权利要求1所述的安卓系统上竖屏视频黑边的处理方法,其特征在于,步骤S1中获取封面图片的方法具体为:S11、在安卓系统中创建HttpGet对象,将竖屏视频的封面图片地址通过构造方法传入HttpGet对象中;

S12、使用安卓系统中的HttpClient类的execute方法发送HttpGet请求,并返回HttpResponse对象;

S13、通过HttpResponse对象的getEntity方法返回响应信息,得到竖屏视频的封面图片。

3.根据权利要求1所述的安卓系统上竖屏视频黑边的处理方法,其特征在于,步骤S2中通过高斯曲线算法对封面图片进行高斯模糊处理的方法具体为:通过的安卓系统的库函数StackBlur对图片进行模糊处理,调用StackBlur的blurNatively方法对封面图片进行处理生成高斯模糊图片。

4.根据权利要求1所述的安卓系统上竖屏视频黑边的处理方法,其特征在于,步骤S3中计算模糊图片的左右两边的方法为:模糊图片的宽为imageWidth,高为imageHeight;视频区域的宽为windowWidth,高为windowHeight;

计算模糊图片的左边区域的位置:

imageLeftPos=(imageWidth-imageHeight/16*9)/2计算模糊图片右边区域的位置:

imageRightPos=imageWidth-imageLeftPos。

5.根据权利要求4所述的安卓系统上竖屏视频黑边的处理方法,其特征在于,步骤S3中计算视频区域左右两边的区域的方法为:创建视频区域对应的Rect,视频区域左边的模糊区域的矩形坐标为:windowLeftRect=Rect(0,0,windowLeftPos,windowHeight)视频区域右边的模糊区域的矩形坐标为:

windowRightRect=(windowRightPos,0,windowWidth,windowHeight)。

6.一种安卓系统上竖屏视频黑边的处理系统,其特征在于,包括:图片获取单元,用于根据竖屏视频的封面图片地址,通过安卓系统网络请求方法获取竖屏视频对应的封面图片;

模糊处理单元,用于通过高斯曲线算法对封面图片进行高斯模糊处理,得到模糊图片;

模糊区域计算单元,用于计算安卓系统上更新视图的视频区域,以及视频区域上左右两边的黑边区域,并计算模糊图片左右两边的区域;

图片覆盖单元,用于将模糊图片的左右区域分别绘制到视频区域左右的黑边区域上,视频区域中间保持透明,得到模糊视图,并将模糊视图覆盖在竖屏视频上,其包括:安卓系统上的更新视图为SurfaceView,通过SurfaceView的方法SurfaceView.getHolder.lockCanvas获取SurfaceView的画布canvas,并在SurfaceView的线程里,在画布canvas上分别绘制左右对应的模糊图片;其中:绘制左边模糊图片的方法为:

canvas.drawBitmap(模糊图片,imageLeftRect,windowLeftRect),imageLeftRect为模糊图片上截取的左区域的矩形坐标,windowLeftRect为视频区域左边的模糊区域的矩形坐标;

绘制右边模糊图片的方法为:

canvas.drawBitmap(模糊图片,imageRightRect,windowRightRect),imageRightRect为模糊图片上截取的右区域的矩形坐标,windowRightRect为视频区域右边的模糊区域的矩形坐标;

画布canvas中间区域未绘制内容,canvas中间区域默认设置为透明;

通过调用安卓系统中的FrameLayout.addView方法,向该方法中传入参数SurfaceView,使异步更新视图SurfaceView覆盖在竖屏视频上。