请问pushExternalVideoFrame支持RGBA格式数据么?


AgoraVideoFrame vf = new AgoraVideoFrame(); 
vf.buf = pixelData; 
vf.format = AgoraVideoFrame.FORMAT_RGBA; 
vf.timeStamp = System.currentTimeMillis(); 
vf.stride = 480; vf.height = 720; 
boolean result = mRtcEngine.pushExternalVideoFrame(vf);
 

if (mRtcEngine.isTextureEncodeSupported()) { 
      mRtcEngine.setExternalVideoSource(true, true, true); 
} else { 
     throw new RuntimeException("Can not work on device do not supporting texture" + mRtcEngine.isTextureEncodeSupported()); 
}
mRtcEngine.setVideoProfile(Constants.VIDEO_PROFILE_480P, true);
 
推的数据是rgba的数据,数据肯定没有问题,一直返回false,请问是我设置的不对么,还是不支持RGBA的推流,有什么调试的方式么?
 
已邀请:

石敏

赞同来自:

您好,我们的sdk是支持RGBA的推流,请确保你是在调用pushExternalVideoFrame前已调用 setExternalVideoSource, 并将参数 pushMode 设为 true ,不然调用本方法后会一直报错。

周懂

赞同来自:

没有报错,只是mRtcEngine.pushExternalVideoFrame(vf)返回false,我是参考Agora-Video-Source-Android例子的,调用都不会错,有没有打开调试log啊,因为只是返回false,没有有用信息,你看一下我设置AgoraVideoFrame的参数对么?急啊,麻烦帮助一下

石敏

赞同来自:

首先,请确认几个问题:
1.是否有调用enablevideo?是否先调用setExternalVideoSource,在join channel之后调用pushExternalVideoFrame?
2.请对照我们官网的demo检查一下,是否有遗漏的api没有调用,api的调用顺序是否有错?
3.如果还有问题,请提交一下sdk log日志给我们分析。SDK log: /sdcard/io.agora.vcall/log/agora-rtcXXX.log
4.方便的话,也可以把你们的demo发给我们测试一下。

周懂

赞同来自:

1.确认调用enablevideo,先调用setExternalVideoSource,再joinchannel,再pushframe
2.没有,按照例子改的
3.没有发现这个log,是报错才有log么?还是要打开什么log
4.demo不是很方便外泄,不好意思

要回复问题请先登录注册