设为首页收藏本站

AnyChat技术支持论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 10353|回复: 14
打印 上一主题 下一主题

YUV420SP问题

[复制链接]

1

主题

9

帖子

51

积分

注册会员

Rank: 2

积分
51
跳转到指定楼层
楼主
发表于 2014-4-14 21:31:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好:
有几个问题遇到,请解答:
1、视频数据默认采用NV21格式,但通过setParameter接口设置为其他格式(如RGB545)进行传输无法生效。请问可否设置成RGB545进行传输?
2、接收端收到数据后,在回调函数中获得的数据格式为RGB545,接上问,若发送端为NV21格式,能否在JAVA层获得原始的NV21格式数据?
3、so库进行了哪种编码转换?是否H.264之类?能否不进行转换,将发送端的NV21格式数据直接透传到接收端?

谢谢解答,非常感激。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

249

主题

2967

帖子

9108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9108
沙发
发表于 2014-4-14 21:44:49 | 只看该作者
您好!
1、视频数据默认采用NV21格式,但通过setParameter接口设置为其他格式(如RGB545)进行传输无法生效。请问可否设置成RGB545进行传输?

这需要看Android底层硬件驱动是否支持RGB格式,通常来说,NV21是Android驱动默认会支持的格式,可能有些平台可以支持RGB,有些平台就不一定支持。

2、接收端收到数据后,在回调函数中获得的数据格式为RGB545,接上问,若发送端为NV21格式,能否在JAVA层获得原始的NV21格式数据?

可以实现,需要我们这边做一些定制,您若是有需求,可以和我们的销售联系:http://www.anychat.cn/contactus.html

3、so库进行了哪种编码转换?是否H.264之类?能否不进行转换,将发送端的NV21格式数据直接透传到接收端?

默认是H.264编码,如果不进行编码,数据量非常大,可能达到10~50Mbps以上(与分辩率有关),不实用,所以必须进行编码。
回复 支持 反对

使用道具 举报

1

主题

9

帖子

51

积分

注册会员

Rank: 2

积分
51
板凳
 楼主| 发表于 2014-4-14 22:22:31 | 只看该作者
谢谢解答,还有些不明白请教下:

若发送端摄像头采集NV21格式数据后进行加密转换为一随机数组(默认115200字节),然后将此随机数组送入你们的SO库进行编码及发送,
在接收端收到数据后,怎样才能得到这个原始的随机数组?
可否不修改现在的SO库文件而实现
回复 支持 反对

使用道具 举报

249

主题

2967

帖子

9108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9108
地板
发表于 2014-4-14 22:33:44 | 只看该作者
您好,
1、编码是有损编码,编码、解码之后不能得到原始的数据;
2、您的需求可以通过透明通道扩展来实现,参考:http://www.anychat.cn/faq/index. ... =206&artlang=zh
回复 支持 反对

使用道具 举报

1

主题

9

帖子

51

积分

注册会员

Rank: 2

积分
51
5#
 楼主| 发表于 2014-4-14 22:41:29 | 只看该作者
您的意思是我通过BRAC_TransBufferEx发送NV21数据?但数据量太大,估计无法满足实时性要求。
那能否得到H.264编码后的数据再加密,在接收端先解密后还原成H.264编码数据,再送给SO库进行解码
回复 支持 反对

使用道具 举报

249

主题

2967

帖子

9108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9108
6#
发表于 2014-4-14 23:32:55 | 只看该作者
您好,可以定制加密,解密的数据接口,对编码后的数据进行加解密,您的思路是对的!
回复 支持 反对

使用道具 举报

1

主题

9

帖子

51

积分

注册会员

Rank: 2

积分
51
7#
 楼主| 发表于 2014-4-16 20:11:44 | 只看该作者
我用第三方编解码库编译SO后设置CODECID和库路径,在SO中实现编解码函数。
在实现中直接引用demo中的libmediahwcodec_4.0.so,调用相应的编解码函数。但在MediaCodec_VideoCodec_InitEncoder中返回-1,MediaCodec_VideoCodec_Encode也返回-1。请解释下为什么。
另外libmediahwcodec_rk30_4.1.so和libmediahwcodec_rk30_4.2.so不知可以引用吗。
回复 支持 反对

使用道具 举报

249

主题

2967

帖子

9108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9108
8#
发表于 2014-4-17 14:32:30 | 只看该作者
您好,是您自己编写的.so库文件吗?
回复 支持 反对

使用道具 举报

1

主题

9

帖子

51

积分

注册会员

Rank: 2

积分
51
9#
 楼主| 发表于 2014-4-17 15:13:38 | 只看该作者
是的,在我自己的so中调用libmediahwcodec_4.0.so中的MediaCodec_VideoCodec_InitEncoder函数
回复 支持 反对

使用道具 举报

249

主题

2967

帖子

9108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9108
10#
发表于 2014-4-17 15:18:41 | 只看该作者
您好,libmediahwcodec_4.0.so是给anychat调用的,暂时没有提供api接口给外部so来调用。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|AnyChat ( 粤ICP备13022410号-1 )  

GMT+8, 2024-11-26 05:12 , Processed in 0.150131 second(s), 21 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表