前提:webrtc::VideoFrame 转化为图片保存
// 定义YUV转RGB的函数
void YUV2RGB(unsigned char Y, unsigned char U, unsigned char V,
unsigned char* R, unsigned char* G, unsigned char* B)
{
int C = Y - 16;
int D = U - 128;
int E = V - 128;
*R = (unsigned char)((298 * C + 409 * E + 128) >> 8);
*G = (unsigned char)((298 * C - 100 * D - 208 * E + 128) >> 8);
*B = (unsigned char)((298 * C + 516 * D + 128) >> 8);
}
void OnFrame(const webrtc::VideoFrame& frame)
{
const uint8_t* Y = frame.video_frame_buffer()->ToI420()->DataY(); // w * h
const uint8_t* U = frame.video_frame_buffer()->ToI420()->DataU(); // w * h * 5 / 4
const uint8_t* V = frame.video_frame_buffer(