我使用Android 4.4 screenrecord
命令记录某些不同设备的屏幕,但如果我使用--size
参数,则捕获视频已损坏。
如何获取给定设备编码器的有效screenrecord
尺寸列表?
答案 0 :(得分:0)
没有这样的清单。至少,不包括所有有效解决方案。
如果编码器支持该配置文件级别,AVC profile list中列出的任何大小都可以使用,而可以通过查询MediaCodec
来获取该大小。从使用Java编程语言编写的代码中,您只需要为AVC获取MediaCodecInfo
,然后使用getCapabilitiesForType()
获取CodecCapabilities
对象,从中可以获得CodecProfileLevel
数组3}}。 {{1}}类包括AVC配置文件级别常量。 (我不确定这个私人原生的东西是什么。)
许多未明确支持的解决方案都会起作用。如果M和N都是16的倍数(具有1080的额外容差),则任意MxN分辨率工作的概率要高得多。但是,某些设备更受限制(请参阅例如CodecProfileLevel)。