ffmpeg实现语音对讲

news/2024/12/23 8:10:49/

实验环境:

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 [PORT] | ffplay -

成功。

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

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


降低延迟的尝试 

查阅了相关资料,应该是ffplay本身的问题产生延迟的可能更大一些,在我选定固定的codec的时候,就要开始调整ffplay的参数。

https://stackoverflow.com/questions/16658873/how-to-minimize-the-delay-in-a-live-streaming-with-ffmpeg

https://stackoverflow.com/questions/12020430/look-for-fastest-video-encoder-with-least-lag-to-stream-webcam-streaming-to-ipad/12085571#12085571

https://trac.ffmpeg.org/wiki/StreamingGuide#Latency

最后局域网测试下,这样组合,延迟在1-1.5秒左右,也还行吧,先这样凑合着用。后面再想办法。

nc -lkp [PORT] | ffplay - -probesize 32 -analyzeduration 0 -sync ext

 


http://www.ppmy.cn/news/420853.html

相关文章

java 多人视频聊天_Java SE实现多人聊天室功能

本文实例为大家分享了Java SE实现多人聊天室功能的具体代码,供大家参考,具体内容如下 实现功能: 1.实现用户注册上线,下线 2.实现群聊和私聊功能 3.实现统计当前在线人数 实现思路: 1.首先,要实现服务端与客户端之间的连接 这里是使用套接字建立TCP连接: (1)服务器端先实…

百万并发电信级统一即时通讯(im+voip+多人语音)系统源码

产品开发地点:广州 团队人数:7人,产品开发时间:3年7个月 产品模块: 完全自主研发的im客户端(没有使用任何第三方控件,完全自主开发) 服务端(openfire xmpp协议 mysql数…

android 多人视频,Android QQ 5.0 正式版:全新界面、精彩动态、多人视频/音频

Android QQ 5.0 正式版发布,包括新的用户界面、动态内容自定义、多人视频/音频/文件传输等新功能。Android 用户可以点击链接下载体验,iOS 用户还需等待正式上架 App Store。 全新界面 Android QQ 5.0 正式版换上了与新版 PC QQ 相似的浅蓝色为主的主题&…

ios开发 多人语音聊天_iOS语音通话(语音对讲)

中间参考了别人的Demo,下载地址不记得了。 因为项目需要做一个语音对讲功能,其实说白了就是类似QQ的语音通话,但是资料少之又少,研究了好久,才跟同事弄出一个粗略的版本。我记性不好,所以来记录一下,也希望能够帮助其他人。 本来以为是要做语音对讲,类似微信的发送语音,…

通过QT_TCP和百度AI接口实现的支持语音输入的多人聊天室

本项目主要通过tcp实现的并发聊天室再加上百度ai的语音识别接口,实现的支持语音识别输入的并发聊天室。 1.服务器 服务器设置的一个没有ui的界面的软件,实现聊天数据的中介 2.客户端 客户端通过qt写了相应的ui,并加入了语音识别的功能 客户端…

QQ未解之谜——GIPS是何方神圣?

导读--GIPS语音引擎&#xff0c;就是QQ超级语音所使用的后台技术&#xff0c;发布之后&#xff0c;引来用户的普遍叫好声。 <script src"http://images.chinabyte.com/adjs/pip/news-pip.js"></script> <script src"http://219.239.88.50:80/ads…

【Hadoop】 | 搭建HA之报错锦集

知识目录 一、写在前面✨二、Hadoop的active结点无法主备切换&#x1f525;三、Hadoop Web端无法上传文件&#x1f349;四、hdfs创建文件夹报错&#x1f36d;五、IDEA操作Hdfs无法初始化集群&#x1f525;六、Java无法连接Hdfs&#x1f36d;七、找不到Hadoop家目录&#x1f525…

别再让你的工程师用 Navicat 连数据库了

Navicat 是一款历史悠久的图形化数据库客户端。 其第一个版本推出于 2001 年&#xff0c;从一开始支持 MySQL&#xff0c;后来又陆续支持了 MariaDB, MongoDB, Oracle, SQLite, PostgreSQL 以及 Microsoft SQL Server。Navicat 可以同时在 Windows, Mac 还有 Linux 上运行&…