发布时间:2013-09-28 16:44:35
SDL(Simple DirectMedia Layer)是个好东西!要想开发一个自己的跨平台的媒体播放器(如ffplay等),它就大有武之地啦。SDL的入门介绍有很多,比如中文的有“龙飞”的洋洋洒洒一个系列:http://www.cppblog.com/lf426/archive/2008/01/30/42161.aspx当然,官方的教程是很有用:http://lazyfoo.net/SDL_tutoria.........【阅读全文】
发布时间:2013-09-28 16:43:24
一、FFmpeg忽略了adaptation_field()数据FFmpeg忽略了包含PCR值的adaptation_filed数据;代码(libavformat/mpegts.c)分析如下:/* 解析TS包 */int handle_packet(MpegTSContext *ts, const uint8_t *packet){ ... pid = AV_RB16(packet + 1) & 0x1fff; //SYNT.........【阅读全文】
发布时间:2013-09-28 16:42:59
一、引言MPEG2系统用于视音频同步以及系统时钟恢复的时间标签分别在ES,PES和TS这3个层次中。 在TS 层, TS头信息包含了节目时钟参考PCR(Program Clock Reference), 用于恢复出与编码端一致的系统时序时钟STC(System Time Clock)。 &nb.........【阅读全文】
发布时间:2013-09-28 16:42:46
一、函数声明:int64_t av_rescale_rnd(int64_t a, int64_t b, int64_t c, enum AVRounding rnd);直接看代码, 它的作用是计算 "a * b / c" 的值并分五种方式来取整.用在FFmpeg中, 则是将以 "时钟基c" 表示的 数值a 转换成以 "时钟基b" 来表示。一共有5种方式:AV_ROUND_ZERO = 0, // Round toward zero. 趋近于0AV_ROUND_INF &nb......【阅读全文】
发布时间:2013-09-28 16:42:32
FFmpeg对输入数据的接收是通过FIFO实现的。下面将对UDP实时TS流进行数据结构和流程分析1. 相关的数据结构的定义顶层的所有URL数据结构定义typedef struct URLContext { const AVClass *av_class; ///< information for av_log(). Set by url_open(). struct URLProtocol *prot; &nb......【阅读全文】