ffplay播放pcm

ffplay 播放 PCM 裸流时,必须手动告诉它"没有封装头、采样率、声道数、采样格式"四个关键点。命令模板如下:

bash 复制代码
ffplay -f <采样格式> -ar <采样率> -ac <声道数> -i <pcm文件>

常用组合示例

  • 48 kHz、16 bit、小端、双声道
bash 复制代码
ffplay -f s16le -ar 48000 -ac 2 48000_2_s16le.pcm
  • 48 kHz、32 bit float、小端、双声道
bash 复制代码
ffplay -f f32le -ar 48000 -ac 2 48000_2_f32le.pcm
  • 8 kHz、16 bit、小端、单声道
bash 复制代码
ffplay -f s16le -ar 8000 -ac 1 audio.raw

参数说明

  • -f:指定原始音频格式,如 s16le(有符号 16 bit 小端)、f32le(32 bit float 小端)、s16be(大端)等。
  • -ar:采样率(Hz)。
  • -ac:声道数,1 单声道,2 立体声。
  • -i:输入文件;若用管道可把 - 代替文件名,例如
bash 复制代码
cat raw.pcm | ffplay -f s16le -ar 44100 -ac 2 -

如果忘记具体格式,可先执行 ffplay -formats | grep PCM 查看支持列表,再尝试不同组合,直到声音正常即可 。

参考资料:https://github.com/0voice

相关推荐
proware7 天前
3588 ES8388 PCM之需求分析
pcm·3588·es8388
Android系统攻城狮10 天前
Android tinyalsa深度解析之pcm_format_to_bits调用流程与实战(一百二十三)
android·pcm·tinyalsa·音频进阶·音频性能实战
Android系统攻城狮11 天前
Android tinyalsa深度解析之pcm_set_avail_min调用流程与实战(一百二十二)
android·pcm·tinyalsa·音频进阶·android hal·audio hal
Android系统攻城狮11 天前
Android tinyalsa深度解析之pcm_get_delay调用流程与实战(一百一十九)
android·pcm·tinyalsa·音频进阶·android hal·audio hal
Android系统攻城狮13 天前
Android tinyalsa深度解析之pcm_get_timestamp调用流程与实战(一百一十八)
android·pcm·tinyalsa·android hal·audio hal
Android系统攻城狮16 天前
Android tinyalsa深度解析之pcm_state调用流程与实战(一百一十七)
android·pcm·tinyalsa·音频进阶·音频性能实战
Android系统攻城狮16 天前
Android tinyalsa深度解析之pcm_get_available_min调用流程与实战(一百一十六)
android·pcm·tinyalsa·音频进阶·音频性能实战
Knight_AL17 天前
如何用 FFmpeg 处理 PCM 音频 & 判断 PCM 文件到底是什么格式
ffmpeg·音视频·pcm
xmRao24 天前
Qt+FFmpeg 实现 PCM 音频转 AAC 编码
qt·ffmpeg·pcm
Android系统攻城狮1 个月前
Android tinyalsa深度解析之pcm_close调用流程与实战(一百零四)
android·pcm·tinyalsa·音频进阶·音频性能实战·android hal