我想将实时视频从Android手机流传输到Ant Media Server之类的视频流服务器。问题是我在实时视频服务器中获得了绿色图像预览。
我收到错误的代码部分:
在onPreviewFrame(byte[] data, Camera camera)
中,我获得了NV21图像数据,并将其转换为YuvImage,如下所示:
YuvImage yuv = new YuvImage(data, camera.getParameters().getPreviewFormat(), camera.getParameters().getPreviewSize().width, camera.getParameters().getPreviewSize().height, null);
mGLPreviewBuffer.asIntBuffer().put(convertData2IntBuffer(yuv.getYuvData()));
mPrevCb.onGetNV21Frame(mGLPreviewBuffer.array(), yuv.getWidth(), yuv.getHeight());
在那之后,我将YuvData放入流媒体的预览缓冲区中,并实现了缓冲区接收器:
public void onGetNV21Frame(byte[] data, int width, int height) {
calcSamplingFps();
if (!sendAudioOnly) {
mEncoder.onGetYuvNV21Frame(data, width, height, new Rect(0, 0, width, height));
}
}
这是我在Ant Media Server中得到的:
请帮助我解决此问题。谢谢。