-
大小: 14.16MB文件類型: .rar金幣: 2下載: 0 次發布日期: 2024-01-29
- 語言: 其他
- 標簽: ffmpeg-3.4.1??
資源簡介
ffmpeg版本為3.4.1,64位的庫,vs2012編譯工具,主要將h264一幀數據轉換位jpg圖片,親測可行
代碼片段和文件信息
#include?“stdafx.h“
#include?“ffmpegDecode.h“
#include?
#include?
#include?
#include?
#define?INBUF_SIZE?4096
static?void?SaveAsBMP(AVframe?*pframeRGB?int?width?int?height?int?index?int?bpp)??
{??
char?buf[5]?=?{0};??
BITMAPFILEHEADER?bmpheader;??
BITMAPINFOHEADER?bmpinfo;??
FILE?*fp;??
char?*filename?=?new?char[255];??
//文件存放路徑,根據自己的修改??
sprintf_s(filename?255?“%s%d.bmp“?“E:/temp/“?index);??
if(?(fp?=?fopen(filename“wb+“))?==?NULL?)?{??
printf?(“open?file?failed!\n“);??
return;??
}??
bmpheader.bfType?=?0x4d42;??
bmpheader.bfReserved1?=?0;??
bmpheader.bfReserved2?=?0;??
bmpheader.bfOffBits?=?sizeof(BITMAPFILEHEADER)?+?sizeof(BITMAPINFOHEADER);??
bmpheader.bfSize?=?bmpheader.bfOffBits?+?width*height*bpp/8;??
bmpinfo.biSize?=?sizeof(BITMAPINFOHEADER);??
bmpinfo.biWidth?=?width;??
bmpinfo.biHeight?=?height;??
bmpinfo.biPlanes?=?1;??
bmpinfo.biBitCount?=?bpp;??
bmpinfo.biCompression?=?BI_RGB;??
bmpinfo.biSizeImage?=?(width*bpp+31)/32*4*height;??
bmpinfo.biXPelsPerMeter?=?100;??
bmpinfo.biYPelsPerMeter?=?100;??
bmpinfo.biClrUsed?=?0;??
bmpinfo.biClrImportant?=?0;??
fwrite(&bmpheader?sizeof(bmpheader)?1?fp);??
fwrite(&bmpinfo?sizeof(bmpinfo)?1?fp);??
fwrite(pframeRGB->data[0]?width*height*bpp/8?1?fp);??
fclose(fp);??
}?
static?int?MyWriteJPEG(AVframe*?pframe?int?width?int?height?int?iIndex)??
{??
//?輸出文件路徑??
char?out_file[MAX_PATH]?=?{0};??
sprintf_s(out_file?sizeof(out_file)?“%s%d.jpg“?“E:/temp/“?iIndex);??
//?分配AVFormatContext對象??
AVFormatContext*?pFormatCtx?=?avformat_alloc_context();??
//?設置輸出文件格式??
pFormatCtx->oformat?=?av_guess_format(“mjpeg“?NULL?NULL);??
//?創建并初始化一個和該url相關的AVIOContext??
if(?avio_open(&pFormatCtx->pb?out_file?AVIO_FLAG_READ_WRITE)?0)?{??
printf(“Couldn‘t?open?output?file.“);??
return?-1;??
}??
//?構建一個新stream??
AVStream*?pAVStream?=?avformat_new_stream(pFormatCtx?0);??
if(?pAVStream?==?NULL?)?{??
return?-1;??
}??
//?設置該stream的信息??
AVCodecContext*?pCodecCtx?=?avcodec_alloc_context3(NULL);?
if?(pCodecCtx?==?NULL)??
{??
printf(“Could?not?allocate?AVCodecContext\n“);??
return?-1;??
}??
avcodec_parameters_to_context(pCodecCtx?pAVStream->codecpar);??
pCodecCtx->codec_id?=?pFormatCtx->oformat->video_codec;??
pCodecCtx->codec_type?=?AVMEDIA_TYPE_VIDEO;??
pCodecCtx->pix_fmt?=?AV_PIX_FMT_YUVJ420P;??
pCodecCtx->width?=?width;??
pCodecCtx->height?=?height;??
pCodecCtx->time_base.num?=?1;??
pCodecCtx->time_base.den?=?25;??
//?Begin?Output?some?information??
av_dump_format(pFormatCtx?0?out_file?1);??
//?End?Output?some?information??
//?查找解碼器??
AVCodec*?pCodec?=?avcodec_find_encoder(pCodecCtx->codec_id);??
if(?!pCodec?)?{??
printf(“Codec?not?found.“);??
return?-1;??
}??
//?設置pCodecCtx的解碼器為pCodec??
if(?avcodec_open2(pCodecCtx?pCodec?NULL)?0?)?{??
printf(“Could?not?open
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???25500672??2017-12-13?02:10??ffmpegTOjpg\bin\avcodec-57.dll
?????文件????1460736??2017-12-13?02:10??ffmpegTOjpg\bin\avdevice-57.dll
?????文件????6838272??2017-12-13?02:10??ffmpegTOjpg\bin\avfilter-6.dll
?????文件????3971584??2017-12-13?02:10??ffmpegTOjpg\bin\avformat-57.dll
?????文件?????687104??2017-12-13?02:10??ffmpegTOjpg\bin\avutil-55.dll
?????文件?????296960??2017-12-13?02:10??ffmpegTOjpg\bin\ffmpeg.exe
?????文件??????73216??2018-01-02?15:14??ffmpegTOjpg\bin\ffmpegTest.exe
?????文件?????455180??2018-01-02?15:14??ffmpegTOjpg\bin\ffmpegTest.ilk
?????文件????1330176??2018-01-02?15:14??ffmpegTOjpg\bin\ffmpegTest.pdb
?????文件?????152576??2017-12-13?02:10??ffmpegTOjpg\bin\ffplay.exe
?????文件?????168960??2017-12-13?02:10??ffmpegTOjpg\bin\ffprobe.exe
?????文件?????921615??2017-12-29?17:11??ffmpegTOjpg\bin\fr
?????文件????4608000??2017-12-29?17:29??ffmpegTOjpg\bin\fr
?????文件?????126464??2017-12-13?02:10??ffmpegTOjpg\bin\postproc-54.dll
?????文件?????377344??2017-12-13?02:10??ffmpegTOjpg\bin\swresample-2.dll
?????文件?????528896??2017-12-13?02:10??ffmpegTOjpg\bin\swscale-4.dll
?????文件??????20780??2017-12-25?15:24??ffmpegTOjpg\bin\TESTfr
?????文件???????5721??2012-05-23?20:03??ffmpegTOjpg\ffmeg\include\inttypes.h
?????文件?????217771??2017-12-13?02:10??ffmpegTOjpg\ffmeg\include\libavcodec\avcodec.h
?????文件???????2570??2017-12-13?02:10??ffmpegTOjpg\ffmeg\include\libavcodec\avdct.h
?????文件???????3111??2017-12-13?02:10??ffmpegTOjpg\ffmeg\include\libavcodec\avfft.h
?????文件???????2853??2017-12-13?02:10??ffmpegTOjpg\ffmeg\include\libavcodec\d3d11va.h
?????文件???????4044??2017-12-13?02:10??ffmpegTOjpg\ffmeg\include\libavcodec\dirac.h
?????文件???????3715??2017-12-13?02:10??ffmpegTOjpg\ffmeg\include\libavcodec\dv_profile.h
?????文件???????2361??2017-12-13?02:10??ffmpegTOjpg\ffmeg\include\libavcodec\dxva2.h
?????文件???????1650??2017-12-13?02:10??ffmpegTOjpg\ffmeg\include\libavcodec\jni.h
?????文件???????2825??2017-12-13?02:10??ffmpegTOjpg\ffmeg\include\libavcodec\mediacodec.h
?????文件???????3763??2017-12-13?02:10??ffmpegTOjpg\ffmeg\include\libavcodec\qsv.h
?????文件???????4550??2017-12-13?02:10??ffmpegTOjpg\ffmeg\include\libavcodec\vaapi.h
?????文件???????5928??2017-12-13?02:10??ffmpegTOjpg\ffmeg\include\libavcodec\vda.h
............此處省略153個文件信息
評論
共有 條評論