资源简介
ffmpeg资料(全) ,整理了把网上可以找到的关于ffmpeg的大部分资料;
代码片段和文件信息
#include
#include “stdlib.h“
#include “avcodec.h“
#include “avformat.h“
#include “avutil.h“
#include “flvdec.h“
bool GetNextframe(AVFormatContext *pFormatCtx AVCodecContext *pCodecCtx int videoStream AVframe *pframe)
{
static AVPacket packet;
static int bytesRemaining=0;
static uint8_t *rawData;
static bool fFirstTime=true;
int bytesDecoded;
int frameFinished;
// First time we‘re called set packet.data to NULL to indicate it
// doesn‘t have to be freed
if(fFirstTime)
{
fFirstTime=false;
packet.data=NULL;
}
// Decode packets until we have decoded a complete frame
while(true)
{
// Work on the current packet until we have decoded all of it
while(bytesRemaining > 0)
{
// Decode the next chunk of data
bytesDecoded=avcodec_decode_video(pCodecCtx pframe
&frameFinished rawData bytesRemaining);
// Was there an error?
if(bytesDecoded < 0)
{
fprintf(stderr “Error while decoding frame\n“);
return false;
}
bytesRemaining-=bytesDecoded;
rawData+=bytesDecoded;
// Did we finish the current frame? Then we can return
if(frameFinished)
return true;
}
// Read the next packet skipping all packets that aren‘t for this
// stream
do
{
// Free old packet
if(packet.data!=NULL)
av_free_packet(&packet);
// Read new packet
if(/*av_read_packet*/av_read_frame(pFormatCtx &packet)<0)
goto loop_exit;
} while(packet.stream_index!=videoStream);
bytesRemaining=packet.size;
rawData=packet.data;
}
loop_exit:
// Decode the rest of the last frame
bytesDecoded=avcodec_decode_video(pCodecCtx pframe &frameFinished
rawData bytesRemaining);
// Free last packet
if(packet.data!=NULL)
av_free_packet(&packet);
return frameFinished!=0;
}
void Saveframe(AVframe *pframe int width int height int iframe)
{
FILE *pFile;
char szFilename[32];
int y;
// Open file
sprintf(szFilename “frame%d.ppm“ iframe);
pFile=fopen(szFilename “wb“);
if(pFile==NULL)
return;
// Write header
fprintf(pFile “P6\n%d %d\n255\n“ width height);
// Write pixel data
for(y=0; y fwrite(pframe->data[0]+y*pframe->linesize[0] 1 width*3 pFile);
// Close file
fclose(pFile);
}
int main(/*int argc char *argv[]*/)
{
AVFormatContext *pFormatCtx;
unsigned int i;
int videoStream;
AVCodecContext *pCodecCtx;
AVCodec *pCodec;
AVframe *pframe;
AVframe *pframeRGB;
int
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
I.A.... 6197 2011-10-28 14:07 ffmpeg\a.cpp
文件 192359 2007-07-13 23:18 ffmpeg\FFMpeg SDK 开发手册.pdf
I.A.... 251655 2011-10-28 14:04 ffmpeg\ffmpeg+tutorial\ffmpeg+tutorial.pdf
I.A.... 4561034 2011-10-28 14:02 ffmpeg\ffmpeg+tutorial\ffmpegtutorial.rar
I.A.... 3900263 2011-10-27 10:36 ffmpeg\FFmpeg-full-SDK-3.2.rar
文件 11995722 2011-10-28 14:36 ffmpeg\ffmpeg_vc(ffplay).rar
I.A.... 1664523 2011-10-28 14:03 ffmpeg\ffmpeg_初级教程.rar
I.A.... 102265 2011-10-28 14:01 ffmpeg\ffmpeg添加到vc工程详解.pdf
I.A.... 220775 2011-10-28 14:06 ffmpeg\ffmpeg的编译,API以及相关应用等资料ffmpeg_related.rar
I.A.... 4867577 2011-10-28 14:06 ffmpeg\sjwffmpeg.rar
文件 116634 2011-10-28 15:21 ffmpeg\TestFFmpeg\Debug\StdAfx.obj
文件 1423235 2011-10-28 15:21 ffmpeg\TestFFmpeg\Debug\StdAfx.sbr
文件 3728384 2011-10-28 15:25 ffmpeg\TestFFmpeg\Debug\TestFFmpeg.bsc
文件 14771 2011-10-28 15:21 ffmpeg\TestFFmpeg\Debug\TestFFmpeg.obj
文件 7265508 2011-10-28 15:21 ffmpeg\TestFFmpeg\Debug\TestFFmpeg.pch
文件 312320 2011-10-28 15:25 ffmpeg\TestFFmpeg\Debug\TestFFmpeg.pdb
文件 2588 2009-08-27 17:56 ffmpeg\TestFFmpeg\Debug\TestFFmpeg.res
文件 0 2011-10-28 15:21 ffmpeg\TestFFmpeg\Debug\TestFFmpeg.sbr
文件 52929 2011-10-28 15:25 ffmpeg\TestFFmpeg\Debug\TestFFmpegDlg.obj
文件 0 2011-10-28 15:25 ffmpeg\TestFFmpeg\Debug\TestFFmpegDlg.sbr
文件 263168 2011-10-28 15:25 ffmpeg\TestFFmpeg\Debug\vc60.idb
文件 421888 2011-10-28 15:25 ffmpeg\TestFFmpeg\Debug\vc60.pdb
文件 993 2007-08-09 10:23 ffmpeg\TestFFmpeg\include\adler32.h
文件 9517 2007-08-09 09:33 ffmpeg\TestFFmpeg\include\allcodecs.h
文件 95260 2009-08-27 13:06 ffmpeg\TestFFmpeg\include\avcodec.h
文件 32928 2009-08-27 10:52 ffmpeg\TestFFmpeg\include\avformat.h
文件 9406 2007-08-09 10:23 ffmpeg\TestFFmpeg\include\avio.h
文件 3061 2007-08-09 10:23 ffmpeg\TestFFmpeg\include\avstring.h
文件 6167 2007-08-12 10:23 ffmpeg\TestFFmpeg\include\avutil.h
文件 1223 2007-08-09 10:23 ffmpeg\TestFFmpeg\include\ba
............此处省略57个文件信息
- 上一篇:网络抓包工具Wireshark 破解版
- 下一篇:数电.rar
相关资源
- ffmpeg_windows屏幕录制并编码成H264
- windows32位系统的ffmpeg
- 利用ffmpeg提取任意格式视频帧关键帧
- ffmpeg3.0源码
- FFmpeg解码+SDL播放
- ffmpeg封装H264成MP4、AVI视频格式,及提
- 从零开始学习音视频编程技术十二 录
- AudioResample
- 最简单的基于FFmpeg的libswscale的教程
- ffmpeg-2.5.2-win32-shared
- 利用FFmpeg将mkv视频转换为H.264
- 安卓交叉编译ffmepgx86_64版本
- ffmepg的安卓arm(armeabi-v7a)版本
- 基于ARM9的远程视频监控系统
- 最简单的基于FFmpeg的封装格式转换器
- SDK播放器加速.zip
- 基于ffmpeg的经典版 ffplay 音视频播放
- ffmpeg api实现视频转码音视频
- FFMPEG入门基础资料pdf
- ffmpeg ffdoc (FFMPEG的最完整教程)
- ffmpeg转码为hls代码
- ffmpeg-4.0.2最新版 windows vs2013编译动态
- ffmpeg实现直播功能
- linuxubuntu下ffmpeg + alsa 的音频播放器
- 内存H264+PCM发布rtmp.rar
- ffmpeg-4.2.1-win32-dev.zip
- M3U8视频PC机64位辅助工具2.0 —&md
- ffmpeg-3.2.tar.bz2
- 适用于VC的FFMpeg静态库已编译)
- 使用ffmpeg api解码h264视频码流,并且能
评论
共有 条评论