begeekmyfriend / yasea

RTMP live streaming client for Android

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

调用onGetRgbaFrame后,在这个hwRgbaFrame(data, width, height);方法一直返回null

shaobin204 opened this issue · comments

你好,打扰你一下,我这个是从HDMI获取到流,不是相机,然后我加了滤镜,然后跟demo一样,我将返回的数据通过mGLIntBufferCache获取,然后进行格式rgba转为nv12,再进行编码上传,但是在onGetRgbaFrame方法中,调用hwRgbaFrame这个方法一直返回null,请问是什么问题呢,困扰了好久,还请麻烦帮我分析一下问题,非常感谢

你确认你获取到了吗?RGBA中的alpha分量一般都是255,你自己检查一下数据是否真实的RGBA,或者自己写一段代码dump出来。hwRgbaFrame调用的是native方法,具体是在libenc.c里面的libyuv接口

@begeekmyfriend 就是我用这个data去转成图片是没问题的,图片显示都是正确的,就是传到这个方法里面在hwRgbaFrame这个方法 返回了null

这部分是NDK的代码,你自己加个终端打印调试一下呗

好的,谢谢你的回复

image
作者你好,再打扰你下,我在终端看到ndk里面打印的日志,显示是I420Scale failure,请问这会是什么原因导致的呢

这个你要查看ret的返回值了,另外你的机型大小端是否不一样?

@begeekmyfriend 大小端是什么意思呢

就是字节顺序是RGBA还是ABGR,一般alpha分量都是0xff

我也遇到这个问题,请问解决了吗,转换方法如下图所示
image