2016年(6)
发布时间:2016-09-27 17:04:51
介绍: MPEG的系统层编码为不同的应用场景设计了两种格式: TS(Transport Stream) 和PS(Program Stream),它们两者之间不具有层级关系,在逻辑上,它们两者都是由PES(Packetized Elementary Stream)包组成的,所以可以很方便地实现相互转换.TS(Transport Stream): 是将具有一个或多个独立时间基的一个或多个节目(包括音频和视频)组成一个流, 组成同一个节目的基本流(如一个视频流,多个音频流)的PES包有一个共用的时间基。 TS的包长标准为188byt......【阅读全文】
发布时间:2016-09-27 17:03:16
一、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.........【阅读全文】
发布时间:2016-09-27 17:03:02
一、函数声明: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......【阅读全文】
发布时间:2016-09-27 16:59:32
FFmpeg 中比较重要的函数以及数据结构如下:1. 数据结构:(1) AVFormatContext(2) AVOutputFormat(3) AVInputFormat(4) AVCodecContext(5) AVCodec(6) AVFrame(7) AVPacket(8) AVPicture(9) AVStream2. 初始化函数:(1) av_register_all()(2) avcodec_open()(3) avcodec_close()(4) av_open_input_file().........【阅读全文】
发布时间:2016-09-27 16:58:00
本文第一部分是我对wiki上的一篇教程的翻译和解释。 第二部分是我自己实践了的如何将滤镜添加进ffmpeg中进行编译和运行(版本ffmpeg-0.8.5)。 最后一部分附上示例用的滤镜源码(版本ffmpeg-0.8.5)。......【阅读全文】