ffmpeg编程:读取摄像头信息,保存为裸yuv420p、yuyv422视频流

 

1. 源码下载:https://download.csdn.net/download/dijkstar/10898462

2. 编程环境使用Windows下的QT5.11 minGW32,源码中已经放好了fmpeg的bin、include、lib;

3. yuv420p:指的是 【planar YUV 4:2:0, 12bpp】,一帧图像的大小为1.5倍的长×宽;它的存放位置见源程序描述 AVFrame.data[0]、data[1]、data[2]三个位置;

yuyv422:指的是 【packed YUV 4:2:2, 16bpp, Y0 Cb Y1 Cr】,一帧图像的大小为2倍的长×宽;它的存放位置为AVFrame.data[0]一个位置(RGB24也是AVFrame.data[0]一个位置存放);

本人用的联想笔记本自带的摄像头像素格式为:yuyv422,可以通过源码中的av_dump_format函数或者pCodecCtx->pix_fmt 查看摄像头原始格式;

4. 最后输出的为不含时间信息的裸原始视频帧文件,共100帧,使用 vooya 工具查看(备份:https://pan.baidu.com/s/1XQ-fbHN7reUdVS4qvGGFWA),注意选择正确的查看格式。

5. 如果使用ffmpeg的命令来转换yuv420p、yuyv422之间的格式,则:

ffmpeg -pix_fmt yuv420p -s 640x480 -i a.yuv -pix_fmt yuyv422 b.yuv

编程则是使用:sws_scale 函数完成,参考源码中的使用。


 

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页