上篇文章概述了FFmpeg中HEVC(H.265)解码器的结构;从这篇文章开始,具体研究HEVC解码器的源代码。本文分析HEVC解码器中解析器(Parser)部分的源代码。这部分的代码用于分割HEVC的NALU,并且解析SPS、PPS、SEI等信息。解析HEVC码流(对应AVCodecParser结构体中的函数)和解码HEVC码流(对应AVCodec结构体中的函数)的时候都会调用该部分的代码完成相...
分类:
其他好文 时间:
2015-06-09 23:45:01
阅读次数:
622
本文简单记录一下FFmpeg的libavcodec中与libx264接口部分的源代码。该部分源代码位于“libavcodec/libx264.c”中。正是有了这部分代码,使得FFmpeg可以调用libx264编码H.264视频。...
分类:
其他好文 时间:
2015-05-25 06:10:32
阅读次数:
368
#ifndef RECORD_H#define RECORD_H#include "avcodec.h "#include "avformat.h "#include class QRecord{public:static int Open(const char *,int,int,int);sta...
分类:
其他好文 时间:
2015-05-10 11:14:36
阅读次数:
158
FFMPEG编码debug模式没问题,release模式报错
我在做“火灾监控预警软件”时编译工程,需要使用ffmpeg对H264码流解码。发现在用到ffmpeg debug版本运行正常,切换到release时,出现“无法定位程序输入点?。。。于动态链接库avcodec-56.dll”。
我是直接从http://ffmpeg.zeranoe.com/builds/网站上...
分类:
其他好文 时间:
2015-05-08 18:16:20
阅读次数:
153
该文将以X264编码器为例,解释说明FFMPEG是怎么调用第三方编码器来进行编码的。 所有编码器和解码器都是在avcodec_register_all()函数中注册的。从中可以找到视频的H264解码器和X264编码器: REGISTER_DECODER(H...
分类:
其他好文 时间:
2015-05-02 09:58:36
阅读次数:
122
本文继续分析FFmpeg中libavcodec的H.264解码器(H.264 Decoder)。上篇文章概述了FFmpeg中H.264解码器的结构;从这篇文章开始,具体研究H.264解码器的源代码。本文分析H.264解码器中解析器(Parser)部分的源代码。这部分的代码用于分割H.264的NALU,并且解析SPS、PPS、SEI等信息。解析H.264码流(对应AVCodecParser结构体中的函数)和解码H.264码流(对应AVCodec结构体中的函数)的时候都会调用该部分的代码完成相应的功能。...
分类:
其他好文 时间:
2015-04-12 01:26:55
阅读次数:
781
本文简单分析FFmpeg的avcodec_open2()函数。该函数用于初始化一个视音频编解码器的AVCodecContext。...
分类:
其他好文 时间:
2015-03-08 01:28:04
阅读次数:
674
本文记录FFmpeg的两个API函数:avcodec_find_encoder()和avcodec_find_decoder()。avcodec_find_encoder()用于查找FFmpeg的编码器,avcodec_find_decoder()用于查找FFmpeg的解码器。...
分类:
Web程序 时间:
2015-03-06 12:44:00
阅读次数:
480
v_rescale_q用于计算Packet的PTS。av_rescale_q的返回值是一个很大的整数,且每次计算的结果间隔很大。不同于avcodec_encode_video改变AVCodecContext *avctx的pts(小整数,且间隔小)。av_rescale_q(a,b,c)是用来把时间...
分类:
其他好文 时间:
2015-01-20 20:02:20
阅读次数:
705
新老版本FFMPEG对于从内存中获取未知格式视频流解码的不同方法。新版本(使用avcodec_decode_video2等新接口)先不说了,比较简单。对于旧版本,则比较麻烦。参考如下:http://www.acnenomor.com/3857007p1/process-video-stream-from-memory-bufferhttp://fossies.org/linux/m..
分类:
其他好文 时间:
2015-01-06 15:50:30
阅读次数:
107