当前位置: 代码迷 >> 综合 >> ffmpeg实现语音对讲
  详细解决方案

ffmpeg实现语音对讲

热度:15   发布时间:2024-01-31 22:06:19.0

实验环境:

Windows 10 : 话筒连接处,我在这里讲话。

树莓派:外置声卡连接处,这里要播放出来我讲话的声音。

两者都联网。


(这里为了说话端随用随开,将接受播放端作为Server。倒过来也其实也可以。)

说话端:(cmd)

更改代码页为utf-8,防止ffmpeg中文乱码
chcp 65001
查看支持的音频设备
ffmpeg -list_devices true -f dshow -i dummy
从里面选取音频输入设备,例如:(-ar (audio rate)采样率, -ac (audio channel)音频频道数)
ffmpeg -f dshow -i audio="麦克风阵列 (USB PnP Audio Device)" -ar 16000 -ac 1 -f mp3 - | nc [IP] [PORT]

播放端:(shell)

nc -lkp 3333 | ffplay -

成功。

不过这种方法测试出来延迟比较高,在局域网下测试大约延迟在2-3秒左右。

不过通过修改-ar -ac,可以将带宽占用缩小到很少,只需要20kbps左右。2.5kB/s。

  相关解决方案