首页 新闻 会员 周边 捐助

关于android的byteArray 到bmp图片的转换方案,各位大神有什么高招啊?

0
悬赏园豆:50 [待解决问题]

新人初来咋到,请大伙不吝赐教,谢谢~

 

大神们 鄙人现在在搞android视频监控的开发,碰到问题了:

1、现在应用层使用的是surfaceview + bmp 的方案,i9100的手机测试只有14fps左右,卡顿感明显,再加上以后想扩展为同时显示多个视频窗口,肯定吃不消的,所以现在想办法提高帧速。

底层c是用的h264编解码方案,请问大伙有什么好的方案?


2、现在是我的bytearray不包含头信息~从图片的原始数据bytearray到bmp只有decodeByteArray么?可不可以不写头信息?有没有更高效的?

LinZh107的主页 LinZh107 | 初学一级 | 园豆:154
提问于:2014-04-22 11:18
< >
分享
所有回答(1)
0

能描述下你的这个数据流程吗?

数据是放在图片里?bytearray到bmp又是什么意思?

yards | 园豆:227 (菜鸟二级) | 2014-07-31 16:08

bytearray就是原始的RGB565啊~

是这样的 我整个解码过程是:

接收h264(raw) ——> YUV420p ——> RGB565 ——> .bmp ——> 显示

但是这个方法过于费时,cpu占用量太大,解高清根本行不通啊,即使后来我把创建完整bmp图片下放到底层也没有太大改善。

不过最近我在iOS上实现了OpenGL SE渲染YUV数据,不用创建位图了,这个效率高太多了,准备移植到Android,至于目前的Android实现还是旧办法,大神你 如若有想法还是欢迎 赐教 *^_^* 

 

 

支持(0) 反对(0) LinZh107 | 园豆:154 (初学一级) | 2014-08-04 15:37

@LinZh107: 我的想法也是直接输出yuv的数据,我们做camera preview的时候,一般就是直接用surfaceTexture去输出yuv的,用cpu去转换太费时,在android上做图像这方面的处理务必用opengl来做,skia做的效率都不行,而且用surfaceTexture后面做多窗口的显示也方便一些。

支持(0) 反对(0) yards | 园豆:227 (菜鸟二级) | 2014-08-05 10:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册