编码可以简单理解为将连续的图片帧转变成视频流的过程。以H264为例给出编码的代码: 稍微解释下:AV_CODEC_ID_H264是264 codec ID,如果是其他的编码器替换相应的ID. avcodec_open2返回0表示打开编码器成功,打开失败返回负值。encode输入是一个AVFrame。 ...
分类:
其他好文 时间:
2016-06-16 18:01:05
阅读次数:
255
FFMPEG解码流程:
1. 注册所有容器格式和CODEC: av_register_all()
2. 打开文件: av_open_input_file()
3. 从文件中提取流信息: av_find_stream_info()
4. 穷举所有的流,查找其中种类为CODEC_TYPE_VIDEO
5. 查找对应的解码器: avcodec_find_decoder()...
分类:
其他好文 时间:
2016-05-18 18:16:09
阅读次数:
236
// FFMPEG关键结构体:// 转载 http://blog.csdn.net/leixiaohua1020/article/details/14214577// 2016.2.26 AVFrame(位于avcodec.h)结构体一般用于存储原始数据。======================
分类:
其他好文 时间:
2016-02-28 21:36:20
阅读次数:
566
#include "libavcodec/avcodec.h" #include "libswscale/swscale.h" #include "libavutil/opt.h" #include "libavutil/imgutils.h" #include #include #include ...
分类:
其他好文 时间:
2016-01-21 18:42:43
阅读次数:
571
1. 注册所有容器格式和CODEC:av_register_all()2. 打开文件:av_open_input_file()3. 从文件中提取流信息:av_find_stream_info()4. 穷举所有的流,查找其中种类为CODEC_TYPE_VIDEO5. 查找对应的解码器:avcodec_...
分类:
其他好文 时间:
2015-12-18 16:32:08
阅读次数:
136
typedef struct AVCodec{// 标示Codec 的名字, 比如,"h264" "h263" 等。const char *name;// 标示Codec 的类型,有video ,audio 等类型。enum CodecType type;// 标示Codec 的ID,有CODEC_...
分类:
其他好文 时间:
2015-09-25 12:38:31
阅读次数:
251
本文主要介绍ffmpeg解码器内部管理Video Buffer的原理和过程,ffmpeg的Videobuffer为内部管理,其流程大致为:注册处理函数->帧级释放->帧级申请->清空。1注册get_buffer()和release_buffer()FFAPI_InitCodec()avcodec_a...
分类:
其他好文 时间:
2015-08-19 20:08:41
阅读次数:
276
AVFormatContext* m_pFormatCtx; AVCodecContext * m_pCodecCtx; AVCodec* m_pCodec;AVFrame* m_pFrame;AVPacket m_AVPkt;// 注册库av_register_all();avformat_net...
分类:
其他好文 时间:
2015-07-16 13:16:04
阅读次数:
296
FFmpeg的库函数源代码分析文章列表:【架构图】FFmpeg源代码结构图 -解码FFmpeg源代码结构图 -编码【通用】FFmpeg源代码简单分析:av_register_all()FFmpeg源代码简单分析:avcodec_register_all()FFmpeg源代码简单分析:内存的分配和释放...
分类:
其他好文 时间:
2015-07-15 12:45:32
阅读次数:
148
1. 注册所有解码器av_register_all();2. Codec & CodecContextAVCodec* codec = avcodec_find_decoder(CODEC_ID_AAC);if (!codec){fprintf(stderr, "codec not found\n"...
分类:
其他好文 时间:
2015-06-17 10:53:21
阅读次数:
116