欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

AVFrame内部yuv数据原画质存储成图片

程序员文章站 2022-07-01 23:26:46
...

一、背景

排查一个问题,需要确定在哪个过程画质变模糊了,因此需要抽取出数据存成图片查看清晰度

二、方法

需要提前下载libyuv

BYTE* rgbdstp = new BYTE[frame->linesize[0] * frame->height * 4];
memset(rgbdstp, 0x00, frame->linesize[0] * frame->height * 4);
libyuv::I420ToARGB(frame->data[0], frame->linesize[0], frame->data[1], frame->linesize[1], frame->data[2], frame->linesize[2], 
rgbdstp, frame->linesize[0] * 4, frame->linesize[0], -frame->height);
bmp_write(rgbdstp, frame->linesize[0], frame->height, "111");

其中bmp_write来自于我的另一篇文章
https://blog.csdn.net/jianminfly/article/details/116587275?spm=1001.2014.3001.5501

相关标签: ffmpeg 音视频