日期:2014-05-16  浏览次数:20669 次

ffmpeg 音频重新采样问题!!
得到的音频是16KHZ的采样率,要写入FLV文件,最后确发现FLV不支持16KHZ的音频采样率。所以得对音频进行重新采样,看了下重新采样的接口,也在网上查了些资料,有几个地方弄不明白。

1:av_resample_init(int out_rate, int in_rate, int filter_length, int log2_phase_count, int linear, double cutoff);
这是初始化采样参数的接口
filter_length log2_phase_count linear cutoff后面这四个参数不明白是什么意思,调用的时候不知道怎么设置。

2:av_resample(struct AVResampleContext *c, short *dst, short *src, int *consumed, int src_size, int dst_size, int update_ctx);
这是重新采样的接口
int *consumed, int src_size, int dst_size, int update_ctx 同样这几个参数也不知道如何设置。

3:音频的处理有解码及编码两步,不知道在什么时候对音频数据进行重新采样,到底是在解码之前,还是在解码之后编码之前,或者是在编码之后写入文件之前。

是否有谁做过这方面的工作,能不能给点提示,或者有示例代码能让我参考。


谢谢!!!

------解决方案--------------------
支持楼主,前段时间刚刚安了个ffmpeg,http://www.ffmpeg.com.cn/,这个网站似乎是ffmpeg的中文官网,楼主有时间可以看看
------解决方案--------------------
刚刚完成了视频的远程监控,其中就用到ffmpeg的编解码,不过只是对视频,音频还没做,有机会可以交流一下啊
------解决方案--------------------
楼主可以把音频重采样的代码贴出来吗,正在做音频重采样的事情,老是出错,想参考下楼主的代码,谢谢了
------解决方案--------------------
不靠谱,这都多久了。。。