发布时间: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......【阅读全文】
发布时间:2013-09-28 16:42:04
介绍: MPEG的系统层编码为不同的应用场景设计了两种格式: TS(Transport Stream) 和PS(Program Stream),它们两者之间不具有层级关系,在逻辑上,它们两者都是由PES(Packetized Elementary Stream)包组成的,所以可以很方便地实现相互转换.TS(Transport Stream): 是将具有一个或多个独立时间基的一个或多个节目(包括音频和视频)组成一个流, 组成同一个节目的基本流(如一个视频流,多个音频流)的PES包有一个共用的时间基。 TS的包长标准为188byt......【阅读全文】
发布时间:2013-09-28 16:41:01
介绍: MPEG的系统层编码为不同的应用场景设计了两种格式: TS(Transport Stream) 和PS(Program Stream),它们两者之间不具有层级关系,在逻辑上,它们两者都是由PES(Packetized Elementary Stream)包组成的,所以可以很方便地实现相互转换.TS(Transport Stream): 是将具有一个或多个独立时间基的一个或多个节目(包括音频和视频)组成一个流, 组成同一个节目的基本流(如一个视频流,多个音频流)的PES包有一个共用的时间基。 TS的包长标准为188byt......【阅读全文】
发布时间:2013-09-28 16:40:21
正常人听觉的频率范围大约在20Hz~20kHz之间。采样频率是指将模拟声音波形进行数字化时,每秒钟抽取声波幅度样本的次数。根据奈奎斯特采样理论,为了保证声音不失真,采样频率应该在40kHz左右。常用的音频采样频率有8kHz、11.025kHz、22.05kHz、16kHz、37.8kHz、44.1kHz、48kHz等,如果采用更高的采样频率,还可以达到DVD的音质。对采样率为44.1kHz的AAC音频进行解码时,一帧的解码时间须控制在23.22毫秒内。通常是按1024个采样点一帧分析:1. AAC一个AAC原始帧包含某段时间内1024个采样点相关数据。用1024主要是因为AAC是用的1024点......【阅读全文】