You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

rtl_fm管道输出至sox异常退出、提示WAVE RIFF头未找到问题求助

问题原因
  1. 频率参数格式错误:你命令里写的频率参数是$137M,多余的$符号导致rtl_fm无法正确解析目标频率,从输出日志可以看到最终调谐到了37480000 Hz,和你预期的137MHz完全不符,参数错误拉长了rtl_fm的初始化流程,甚至导致输出流格式异常。
  2. 管道时序不匹配:rtl_fm启动后需要先完成硬件识别、调谐、增益设置等一系列硬件操作,才会输出带完整RIFF头的WAV格式流;但管道另一端的sox启动后会立即读取输入的头部信息,等不到合法WAV头就会直接报错退出,管道断开后rtl_fm也会收到终止信号退出。
修复方案
  • 首先修正频率参数,删除137M前多余的$符号,确保频率设置正确
  • 若修正参数后仍出现WAV头找不到的报错,可以在管道中间加1秒延迟等待rtl_fm完成初始化,参考命令如下:
rtl_fm -f 137M -s 60k -g 45 -p 55 -E wav -E deemp -F 9 - | { sleep 1; cat; } | sox -t wav - abc.wav rate 11025
  • 也可以直接让rtl_fm输出原始采样流,手动给sox指定输入格式,避免WAV头时序问题:
rtl_fm -f 137M -s 60k -g 45 -p 55 -E deemp -F 9 - | sox -t raw -r 60k -e signed -b 16 -c 1 - abc.wav rate 11025

内容的提问来源于stack exchange,提问作者SEU

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 10:39:00