随笔分类 - ffmpeg
摘要:WAVE文件头作为多媒体中使用的声波文件格式之一,它是以RIFF格式为标准的。RIFF是英文Resource Interchange File Format的缩写,每个WAVE文件的头四个字节便是“RIFF”。合理利用WAVE文件头可以更有效地进行语音解码。 通常意义上说的语音编码都是指将8KHz采样、16比特量化的线性PCM语音信号压缩成其它格式的语音信号,解码时就将其它格式的语音信号变换成8KHz采样、16比特量化的线性PCM语音信号。一般说来,这个转换过程比较复杂,费时费力。如果对其它格式的语音信号直接加上对应的WAVE文件头就不用这个转换过程,用微软自带的录音机就可解码语音。 下面..
阅读全文
摘要:PPM文件格式分三种:1. PPM灰度文件 文件头由3行文本组成,可由fgets读出 1)第一行为“P2",表示文件类型 2)第二行为图像的宽度和高度 3)第三行为最大的象素值255 接下来是图像数据块。按行顺序存储。每个象素占4个字节,灰度通道为4字节ASCII码表示的整数, 高字节在前。左上角为坐标原点。2. 16位PPM文件(至少适用于读取由DCRAW生成的PPM文件) 文件头由3行文本组成,可由fgets读出 1)第一行为“P6",表示文件类型 2)第二行为图像的宽度和高度 3)第三行为最大的象素值 接下来是图像数据块。按行顺序存储。每个象素占3个字节,依次为红绿蓝
阅读全文
摘要:1 AVPacketView Code typedef struct AVPacket { /** * Presentation timestamp in AVStream->time_base units; the time at which * the decompressed packet will be presented to the user. * Can be AV_NOPTS_VALUE if it is not stored in the file. * pts MUST be larger or equal to dts as pres...
阅读全文
摘要:1 avcodec_find_decoder()/** * Find a registered decoder with a matching codec ID. * * @param id CodecID of the requested decoder * @return A decoder if one was found, NULL otherwise. */AVCodec *avcodec_find_decoder(enum CodecID id);// 通过code ID查找一个已经注册的音视频解码器// 引入 #include "libavcodec/avcodec.h
阅读全文
摘要:本文对在使用ffmpeg进行音视频编解码时使用到的一些函数做一个简单介绍,我当前使用的ffmpeg版本为:0.8.6,各个版本的ffmpeg也都尝试过,发现0.8.6版本比较稳定,暂时就先用这个版本了,不用求最新。因为本人发现在不同的版本中,有些函数名称会有点小改动,所以在此有必要说明下ffmpeg的版本号。 ffmpeg本人也是刚接触,本文将采用累加的方法逐个介绍我使用到的函数,如有不妥之处,还望谅解! 头文件引入方法: 1 extern "C" 2 { 3 4 #include "libavcodec/avcodec.h" 5 #include &q
阅读全文