我正在尝试将我从Unity构建的应用程序屏幕共享到网站。
但是,我注意到agora使用externalVideoFrame.format = ExternalVideoFrame.VIDEO_PIXEL_FORMAT.VIDEO_PIXEL_BGRA;
统一,Texture2D.ReadPixels
仅支持RGB。因此,当我这样做时,接收端将交换红色和蓝色。
有什么方法可以在Unity中获得BGR?或Agora具有RGB支持?我在发送agora之前尝试将byte []反转,但是性能非常差..最好为1 fps。
统一,Texture2D.ReadPixels仅支持RGB。
实际上,这是不正确的。 ReadPixels读取由Texture2D对象实例化设置的格式。在the Unity scripting example中,您会看到“ TextureFormat.RGB24”。相反,您应该使用TextureFormat.BGRA32,它将与Agora API的要求匹配。