#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#pragma once
#ifdef __cplusplus
extern "C" {
#endif
#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
#include <libswscale/swscale.h>
#ifdef __cplusplus
}
#endif
//定义BMP文件头
#ifndef _WINGDI_
#define _WINGDI_
typedef struct tagBITMAPFILEHEADER {
WORD bfType;
DWORD bfSize;
WORD bfReserved1;
WORD bfReserved2;
DWORD bfOffBits;
} BITMAPFILEHEADER, FAR *LPBITMAPFILEHEADER, *PBITMAPFILEHEADER;
typedef struct tagBITMAPINFOHEADER{
DWORD biSize;
LONG biWidth;
LONG biHeight;
WORD biPlanes;
WORD biBitCount;
DWORD biCompression;
DWORD biSizeImage;
LONG biXPelsPerMeter;
LONG biYPelsPerMeter;
DWORD biClrUsed;
ffmpeg解码视频存为BMP文件
最新推荐文章于 2024-09-14 09:40:51 发布
这个博客展示了如何使用ffmpeg库将视频文件解码,并将每一帧转换为BMP图像文件进行保存。通过注册编解码器,打开视频文件,找到视频流,然后打开解码器,为每一帧分配内存并进行图像格式转换,最终保存为BMP格式。代码中涉及了AVFrame、AVFormatContext、AVPacket等关键结构和函数。
摘要由CSDN通过智能技术生成