关于Android 支持 4K 视频显示的问题总结

问题引入: 

        Android M 中声称支持原生的4K视频显示,这应该如何理解:原文地址: http://news.mydrivers.com/1/433/433988.htm

        Google在新系统中加入了4K显示模式,可以支持如此高分辨率的屏幕正常显示,但屏幕内容并不是以4K分辨率原生渲染的,而是首先以1080p等低分辨率渲染,然后上调输出为4K。

        后面又说:

        借助新加入的API,Android M还可以原生支持4K视频的解码输出。这个更关键,因为它能让你在4K手机上,以原生的分辨率,点对点欣赏4K视频,而且无需借助第三方手段。

        这里面有几点个人不解:

         屏幕内容不是以4K原生视频渲染,而是以1080p渲染然后上调输出为4k。

       个人理解: Android系统在选择设计分辨率时仍然只能提供到1080p 2K的最大分辨率选择模式。后续在4k屏幕上的显示是由底层做的upscale。不知道是否正确。

        对于后面的通过新加的API,level 23, Android M发布,可以支持4k原生视频解码输出,个人理解,内置player 以及解码系统 mediacodec 支持4k视频解码,同时通过api可以把surface view 的buffer提升到4k大小,能够在支持4k硬件显示屏幕上获取到4k的屏幕参数,同时能够创建成功支持4k的surfaceview(3840x2160),所以借助相关api开发的player才支持4k视频原生播放显示。

        后来在stackoverflow中看到了在索尼电视上Exoplayer关于4k显示的讨论。记录一下可以参考:

         相关探讨:

         https://stackoverflow.com/questions/32557228/detecting-4k-uhd-screens-on-android/32609061#32609061

         在索尼官网有这样一段话:

         

UI graphics on 2K or 4K display

BRAVIA TV provides 2K (1920×1080[px]) and 4K (3840×2160[px]) display resolutions. However both systems allow only 2K UI graphics, and UI graphics are upscaled from 2K to 4K by the platform in the case of 4K display TVs. This means that all BRAVIA TVs are  allowed only a single type of screen density for the UI graphic plane, which is “DENSITY_XHIGH”. Developers cannot create a dedicated “4K-App” which contains 4K graphics.

4K显示模式(4K Display Mode)


该平台现在允许应用程序请求将显示分辨率升级到4K渲染的硬件兼容.要查询当前的物理分辨率,使用新的API android.view.Display.Mode.如果UI绘制在一个较低的逻辑分辨率,并放大到一个更大的屋里分辨率上,要注意,物理分辨率 Display.Mode.getPhysicalWidth() 方法返回的可能不同于逻辑分辨率getSize()报告的.

你可以请求系统改变屋里分辨率在你的应用程序,在它运行时,通过设置你的应用程序的窗口属性 WindowManager.LayoutParams.preferredDisplayModeId.此功能是非常有用的,如果你想切换到4K的显示分辨率. 在4K显示模式下, 在UI继续在原分辨率(如1080)被渲染并且放大到4K, 但SurfaceView对象可能在原始分辨率上显示内容.

4k输出理论上分为4k解码输出和4k渲染输出到屏幕,这是两个不同的概念,AndroidM之前的版本应该是只支持1080p显示输出,Android M后,google 宣布支持4k原生输出,目前从log上看,在Android 系统自带的player,从Android M后支持4k解码输出以及4k显示输出了。如果第三方player,需要做4k显示输出,比如在4k电视上,首先应该系统必须Android M以后的版本,同时,通过系统系统的api设置surfaceview到4k才能支持到4k显示输出,否则还是默认使用1080p显示输出渲染。个人理解。








      


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

coloriy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值