ffmpeg 限制音频采样率

Posted

技术标签:

【中文标题】ffmpeg 限制音频采样率【英文标题】:ffmpeg limit audio sample rate 【发布时间】:2019-02-06 17:23:22 【问题描述】:

为了节省家用 NAS 的空间,我想将大量不同的视频转换为更高效的代码。

有没有办法将采样率限制为 44 100Hz,以便将 48 000Hz 转换为 44.1kHz,但让 22 050Hz 的视频保持该采样率?

我想出的唯一解决方案是使用诸如 medainfo 或“mplayer -vo null -ao null -frames 0 -identify $1 | grep ID_AUDIO_RATE”之类的东西来获取采样率并决定设置什么选项。

有没有更聪明、更优雅的方式?

提前致谢 本

【问题讨论】:

【参考方案1】:

您可以使用音频过滤器来做类似的事情。 见https://www.ffmpeg.org/ffmpeg-filters.html#aformat-1

所以你可以使用-af "sample_rates=16000|22050|24000|32000|44100"

但是看看这张推荐比特率表http://wiki.hydrogenaud.io/index.php?title=Fraunhofer_FDK_AAC#Recommended_Sampling_Rate_and_Bitrate_Combinations

我宁愿推荐sample_rates=32000|44100|48000,除非你有某种魔法可以动态改变比特率。

【讨论】:

以上是关于ffmpeg 限制音频采样率的主要内容,如果未能解决你的问题,请参考以下文章

融云分析基于 ffmpeg 实现重采样和混音

音频重采样实现原理

swr_convert音频重采样介绍

音频重采样

Python 批量转换视频音频采样率(附代码) | Python工具

将任意音频格式文件转换成16K采样率16bit的wav文件