有时候要测试yuv数据是否有问题,可以用如下方法,移动平台上使用记得路径的权限是否拥有
void saveVideoFrameToFile(const webrtc::VideoFrame& frame, std::string file)
{
rtc::scoped_refptr<webrtc::VideoFrameBuffer> vfb = frame.video_frame_buffer();
static FILE *fp = fopen(file, "wb+");
if (fp != NULL) {
fwrite(vfb.get()->GetI420()->DataY(), 1, frame.height() * frame.width(), fp);
fwrite(vfb.get()->GetI420()->DataU(), 1, frame.height() * frame.width() / 4, fp);
fwrite(vfb.get()->GetI420()->DataV(), 1, frame.height() * frame.width() / 4, fp);
fflush(fp);
}
}