自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

TopsLuo的专栏

行千里路,读万卷书!

  • 博客(8)
  • 资源 (7)
  • 收藏
  • 关注

原创 aac转码后的数据无法直接播放

在使用ffmpeg对音频进行转码,发现从编码器里面出来的音频数据,存成的aac文件并不能用播放器(VLC)播放,goldwave也不行,原因:缺少包头信息,即ADTS头。具体这方面的资料大家可以问度娘。 编码出来的每一个AVPacket的数据,在写入到AAC文件前,都需要先写一个ADTS头(包含音频采样率信息,声道数信息,帧长度等),问题来了,如何构造一个正确的ADTS头?下面我就把简单的构造ad

2017-05-27 17:21:16 4079

原创 音频重采样(libavfilter)及AVAudioFifo的使用

前面有提到过,ffmpeg音频重采样有多种方法,一种是libswresample,另外一种是libavfilter,前一种方法已经介绍过,现在介绍使用libavfilter的方法,并把filter处理后的数据写入AVAudioFifo中,再从fifo中读取一帧音频数据(因为经过filter重采样的数据长度会发生变化,可能比一帧长,也可能比一帧短,具体看是上采样还是下采样了)并存储到AVFrame结构

2017-05-27 16:39:43 2974 3

原创 如何将重采样的数据扔给编码器(AVAudioFifo)

上一篇文件中写了一段重采样的测试代码,也提到过如何将resample的音频数据扔给编码器的方法,经过验证发现,该方法的确可行(我测试的音频为AAC格式,32bit,其它格式大家需要稍作改动)。首先需创建AVAudioFifo *fifo并为它申请空间:int FFmpegDecoder::InitAudioFifo(){ fifo = av_audio_fifo_alloc(AV

2017-05-27 14:55:06 1845 9

原创 利用ffmpeg中的libswresample模块对音频进行重采样

在工作中,需要对音频进行重采样,比如说采样率为44.1kHz变为48kHz,通过研究ffmpeg中提供的例子,自己写了一段测试代码,贴出来供大家参考(当然,重采样还有另外一种方法,就是用ffmpeg中的libavfilter模块,后面我也会把该方法的代码贴出来)。测试代码仅测试过AAC格式,其它格式需要稍加改动(主要在fwrite的那一段,AAC解码出来的format为FLTP类型,如果不是该格式

2017-05-27 14:23:59 2236

原创 如何使用libxml2解析xml

通过简单的例子,告诉大家如何使用libxml2库来解析xml格式的配置文件,本文中将使用如下xml: 192.168.10.238 7777 192.168.10.238 media_server_888 media_server 8888 8889 8888 如何解析出xml文件中各个参数的值?具体代码如下:

2017-05-27 14:02:29 903 1

原创 C++ map的操作

C++中map的常用操作方法,通过代码的方法展现给初学者,希望能帮助到大家#include #include #include using namespace std;int main(){ map mapStudent; //插入方法一 mapStudent.insert(pair(1, "student_1")); mapStudent.inser

2017-05-27 11:56:16 1023

原创 简单的混音算法

在网上有很多关于混音的算法,但都是处理16bit的,而且是不带P的(左声道与右声道的数据是混在一起的),而我要做处理的是AAC格式混音,解码成PCM对应的是32bit,且左右声道是单独存储的,所以代签了一下他们的代码,整理如下:#include #include #include /************************************************For

2017-05-26 14:47:23 3506

原创 ffmpeg如何为音频帧申请AVFrame

废话不多说,直接贴代码AVFrame* alloc_audio_frame(){ AVFrame *frame = av_frame_alloc(); if(frame == NULL) { av_log(NULL,AV_LOG_ERROR,"Allocate frame failed\n"); return NULL; }

2017-05-26 14:27:26 948

x264参数整理

本文档其实在很早的时候就已经整理好了,期间公司都换过好几家,但这份文档一真都保存在工作的电脑中,因为经常会用到它。这份文档比较初级,就是整理了x264(版本相对来说可能比较老,因为该文档是2013年左右整理的)编码器中基本所有参数,并做了简单的中文解释,希望对刚接触x264编码器的人有所帮助

2017-09-28

python2.7GetWwather

通过已经生成的城市ID(如何获取城市ID的代码也包含在里面),来查询对应城市的天气

2016-08-18

h265播放器

该播放器可以播放通过HM源码转出来的h265,麻雀虽小,用用还是没有问题的

2013-12-03

YUV420转YUV422

一个简单的例子,将YUV420转换成YUV422

2012-12-14

AAC分析代码

个人写的一个简单的AAC分析工具,希望可以帮助到大家

2012-03-16

ts流分析工具

很不错的一个TS流分析工具,可以分析出PAT、PMT中的所有信息,个人觉得很全面,比elecard的分析工具要强大

2012-03-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除