ffmpeg命令转音乐为wav格式,wav格式与PCM数据相互转换,ffplay播放PCM数据

本文提供了一系列FFmpeg的实用命令,包括卸载与安装教程、不同音频格式间的转换方法及PCM与WAV之间的转换技巧。此外,还介绍了如何使用ffplay播放PCM文件。


1.卸载ffmpeg:

brew uninstall ffmpeg


2.安装ffmpeg和ffplay

brew install ffmpeg --with-ffplay


3.转MP3为wav

ffmpeg -i input.mp3 -acodec pcm_s16le -ac 2 -ar 44100 output.wav


4.转m4a为wav

ffmpeg -iinput.m4a -acodec pcm_s16le -ac 2 -ar 44100 output.wav


5.wav与PCM的相互转换

ffmpeg -iinput.wav -f s16le -ar 44100 -acodec pcm_s16le output.raw


6.PCM转wav

ffmpeg -f s16le -ar 44100 -ac 2 -acodec pcm_s16le -i input.raw output.wav


7.用ffplay播放PCM

ffplay -f s16le -ar 44100 -ac 2 **.raw


s16le表示:s表示有符号,l表示小端。 可以用 s16be代替,表示s有符号b表示大端

44100代表采样率,注意保持一致,可以是16000/8000...


1、Java实现wav音频文件转换pcm音频文件(AudioUtils.java) 2、Java实现播放pcm音频文件(PCMPlay.java) WAVwav是一种无损的音频文件格式WAV符合 PIFF(Resource Interchange File Format)规范。所有的WAV都有一个文件头,这个文件头音频流的编码参数。WAV对音频流的编码没有硬性规定,除了PCM之外,还有几乎所有支持ACM规范的编码都可以为WAV的音频流进行编码。 PCM:PCM(Pulse Code Modulation----脉码调制录音)。所谓PCM录音就是将声音等模拟信号变成符号化的脉冲列,再予以记录。PCM信号是由[1]、[0]等符号构成的数字信号,而未经过任何编码和压缩处理。模拟信号比,它不易受传送系统的杂波及失真的影响。动态范围宽,可得到音质相当好的影响效果。 简单来说:wav是一种无损的音频文件格式pcm是没有压缩的编码方式。 WAVPCM的关系 WAV可以使用多种音频编码来压缩其音频流,不过我们常见的都是音频流被PCM编码处理的WAV,但这不表示WAV只能使用PCM编码,MP3编码同样也可以运用在WAV中,和AVI一样,只要安装好了相应的Decode,就可以欣赏这些WAV了。在Windows平台下,基于PCM编码的WAV是被支持得最好的音频格式,所有音频软件都能完美支持,由于本身可以达到较高的音质的要求,因此,WAV也是音乐编辑创作的首选格式,适合保存音乐素材。因此,基于PCM编码的WAV被作为了一种中介的格式,常常使用在其他编码的相互转换之中,例如MP3转换成WMA。 简单来说:pcm是无损wav文件中音频数据的一种编码方式,但wav还可以用其它方式编码。
`ffplay` 可以播放 `ADPCM IMA WAV` 格式的音频,这是一种常见的压缩音频格式,通常用于语音或低带宽场景。 --- ### ✅ 播放 ADPCM IMA WAV 格式音频的命令: ```bash ffplay your_audio_file.wav ``` 如果你的音频文件是标准的 `.wav` 格式封装,并且内部使用的是 `ADPCM IMA WAV` 编码(即 `0x0011` 编码),`ffplay` 通常可以**自动识别并播放**,不需要额外指定参数。 --- ### 🧪 如何确认音频编码格式? 你可以使用 `ffprobe` 来检查音频文件的格式: ```bash ffprobe -v error -show_entries stream=codec_name,codec_type -of default=nw=1 your_audio_file.wav ``` 你也可以查看详细信息: ```bash ffprobe your_audio_file.wav ``` 输出中应包含类似以下内容: ``` codec_name=adpcm_ima_wav ``` --- ### ⚠️ 如果 ffplay 无法识别或播放失败怎么办? 如果音频文件没有 `.wav` 头部信息(如 `.raw` 文件),你需要手动指定格式: ```bash ffplay -f s16le -ar 8000 -ac 1 -codec:a adpcm_ima_wav your_audio_file.raw ``` 但注意:`adpcm_ima_wav` 通常依赖 `.wav` 文件头中的解码信息。如果播放 `.raw` 文件,建议先转换为 `.wav`。 --- ### ✅ 将 ADPCM IMA WAV 转换PCM 播放(如有必要): ```bash ffmpeg -i your_audio_file.wav -f s16le -ar 8000 -ac 1 -codec:a pcm_s16le output.raw ``` 然后播放: ```bash ffplay -f s16le -ar 8000 -ac 1 output.raw ``` --- ### ✅ 总结 | 情况 | 命令 | |------|------| | 播放标准 ADPCM IMA WAV 文件 | `ffplay file.wav` | | 播放无头 ADPCM IMA WAV raw 文件 | 需指定 `-codec:a adpcm_ima_wav` 或先转换 | | 转换PCM raw | `ffmpeg -i file.wav -f s16le -ar 8000 -ac 1 output.raw` | ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值