如何使用 ffmpeg 从 MPEG-4 文件中提取音频 [关闭]
Posted
技术标签:
【中文标题】如何使用 ffmpeg 从 MPEG-4 文件中提取音频 [关闭]【英文标题】:How to extract audio from MPEG-4 file using ffmpeg [closed] 【发布时间】:2015-04-14 06:05:29 【问题描述】:我们如何从视频文件(MPEG-4 格式)中提取音频?
存储提取的音频数据以供进一步分析的便捷形式是什么? (编辑:换句话说:如果我想获得音频声级,使用 PCM 格式或 WAV 之类的格式更好吗?)
从有关该主题的其他问题中,我了解到 ffmpeg 是执行此操作的正确工具。
【问题讨论】:
***.com/questions/9913032/… 看看这个,也许会有帮助 到目前为止您尝试过什么? *** 期待您 try to solve your own problem first,因为您的尝试有助于我们更好地了解您想要什么。请编辑问题以显示您尝试过的内容,并使用minimal reproducible example 显示您遇到的特定障碍。欲了解更多信息,请参阅How to Ask。 【参考方案1】:关于你的第一个问题:
你确实可以用ffmpeg做到这一点,但我只能给你命令行形式。您可能想修改输出格式,但请查看http://linux.die.net/man/1/ffmpeg 的手册页,或https://www.ffmpeg.org/ffmpeg.html#Audio-Options 的官方 ffmpeg(音频)文档
ffmpeg -i mpeg-4videofilename -vn -ac 2 -ar 44100 -ab 320k -f mp3 output.mp3
命令行选项说明:
-i 输入文件 -vn 没有视频 -ac 音频通道 -ar 音频采样率 -ab 音频比特率 -f 输出格式【讨论】:
问题是我想避免将音频文件保存为 mp3(或任何其他格式)并再次打开它以进行一些分析。 (声级检查等...)我担心考虑到我需要分析的音频量可能会导致性能不佳。 您也可以使用-acodec copy
复制音频流,但是您需要知道您的音频是哪种格式。【参考方案2】:
您可以使用以下命令:
ffmpeg -i input.mp4 -vn -acodec pcm_s16le -ac 2 -ar 44100 out.wav
-vn: 没有视频
-acodec:音频编解码器选择。
pcm_sl6le:小端格式的 2 字节样本
-ac:音频通道数
-ar:音频采样率
out.wav 输出 wav 文件
【讨论】:
以上是关于如何使用 ffmpeg 从 MPEG-4 文件中提取音频 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
OpenCV: FFMPEG: tag xxx is not found (format ‘mp4 / MP4 (MPEG-4 Part 14)‘)‘
OpenCV: FFMPEG: tag xxx is not found (format ‘mp4 / MP4 (MPEG-4 Part 14)‘)‘