【技术实现步骤摘要】
云应用的视频编码方法及装置
[0001]本申请涉及计算机领域,具体而言,涉及一种云应用的视频编码方法及装置。
技术介绍
[0002]云应用(比如云游戏)是以云计算为基础的应用方式,在云应用的运行模式下,所有应用在服务器端运行,并将渲染完毕后的应用画面压缩后通过网络传送给用户客户端,用户的应用设备不需要高端处理器和显卡,只需要基本的视频解压能力即可。
[0003]在云应用中,服务器端常见的架构是硬件采用ARM服务器,运行Linux操作系统,比如ubuntu、centos等,Linux上运行docker服务(是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到Linux或Windows操作系统的机器上,实现虚拟化,容器可使用沙箱机制,相互之间不会有任何接口),将安卓容器化。
[0004]ARM服务器可外挂PCI显卡(全称为Peripheral Component Interconnect,是一种用于定义局部总线的标准),安卓图形系统使用PCI显卡进行渲染,渲染后的结果通过 ...
【技术保护点】
【技术特征摘要】
1.一种云应用的视频编码方法,其特征在于,包括:为服务器的显卡的云应用渲染任务和视频编码任务创建共享缓存,其中,所述服务器用于为用户终端提供云应用服务;将所述显卡执行云应用渲染任务得到的原始数据存入所述共享缓存;在执行所述视频编码任务时,从所述共享缓存中读取所述原始数据,对所述原始数据进行视频编码,得到编码视频。2.根据权利要求1所述的方法,其特征在于,所述为服务器的显卡的云应用渲染任务和视频编码任务创建共享缓存,包括:通过调用缓存管理器,向操作系统内核申请缓存;将申请的缓存设置为允许被视频编码插件访问,以作为所述共享缓存,其中,所述视频编码插件用于执行所述视频编码任务。3.根据权利要求2所述的方法,其特征在于,所述通过调用缓存管理器,向操作系统内核申请缓存,包括:调用缓存管理器libgbm的gbm_bo_create()接口,向所述操作系统内核的缓存子系统dma
‑
buf发出缓存申请,以通过所述缓存子系统dma
‑
buf为所述云应用渲染任务创建缓存。4.根据权利要求2所述的方法,其特征在于,所述将申请的缓存设置为允许被视频编码插件访问,以作为所述共享缓存,包括:通过调用libva库的vaCreateSurfaces()接口,将所述申请的缓存映射到所述视频编码插件的缓存区surface,以便于所述视频编码插件执行所述视频编码任务时从所述共享缓存读取所述原始数据。5.根据权利要求4所述的方法,其特征在于,在通过调用libva库的vaCreateSurfaces()接口,将所述申请的缓存映射到所述视频编码插件的缓存区surface之前,所述方法还包括:通过调用安卓的gralloc_handle接口,获取所述申请的缓存的指示信息prime_fd;所述通过调用libva库的vaCreateSurfaces()接口,将所述申请的缓存映射到所述视频编码插件的缓存区surfa...
【专利技术属性】
技术研发人员:董龙江,温健,
申请(专利权)人:北京海誉动想科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。