当前位置: 首页 > news >正文

通过顶顶通呼叫中心中间件玩转FreeSWITCH媒体流

怎么获取FreeSWITCH的媒体流是一个老生常谈的问题了,最常见的方法media_bug,我在2019年就做的FreeSWITCH对接ASR开源的例子https://gitcode.net/iyaosan/FreeSWITCH-ASR用的就是media_bug,对接ASR常见的方法还有通过mod_mrcp模块对接mrcp的asrserver。

很多人需要直接获取原始的声音流,然后自己处理,其实FreeSWITCH也是支持的,只是知道的极少,FreeSWITCH原生支持 unicast 通过udp 把声音流推送到一个UDP端口,和播放网络的声音流。 fs实现的unicast,有一个缺陷如果启动了unicast 就没办法调用playback等放音函数了。

通过顶顶通呼叫中心中间件提供的 cti_unicast 则没这个缺点。可以不影响fs本身所有的功能情况下把媒体流推送到 远端udp端口,和播放网络声音。

cti_unicast 通过media_bug挂了2个回调SMBF_READ_STREAM和SMBF_WRITE_REPLACE,其中 SMBF_READ_STREAM,用来把媒体流推送到远端UDP端口,SMBF_READ_STREAM用来把远端发送来的声音混音到fs的放音。从而实现了完全不影响fs自身功能的前提下,实现推流和播放流。

顶顶通呼叫中心中间件还提供了tcp的推流和播放流函数 cti_audiao_stream。

这2个函数可以通过拨号方案启动,也可以通过 freeswitch esl 接口调用。

还有websocekt协议的播放流函数 wss://ip/tts?text=文字 可用于对接实时TTS。

顶顶通呼叫中心中间件ASR接口更高级的2个函数是
uuid_cti_start_detect_speech
用于质检 ,检测到说话实时推流给ASR,支持weboscket,mrcp等多种协议。用户说话停止自动停止推流。
cti_play_and_detect_speech
用于电话机器人,放音的时候检测用户说话,检测到说话实时推流给ASR,支持weboscket,mrcp等多种协议。支持多种打断模式,比如检测到人声打断,识别到多少文字打断。

详细可以看 http://www.ddrj.com/callcenter/asr.html

http://www.dtcms.com/a/4046.html

相关文章:

  • 人工智能与充电技术:携手共创智能充电新时代
  • junit写搜索树测试
  • 赛宁网安入选国家工业信息安全漏洞库(CICSVD)2023年度技术组成员单
  • OpenCV+计算摄影
  • 深度探究深度学习常见数据类型INT8 FP32 FP16的区别即优缺点
  • 数据分析实战 | 多元回归——广告收入数据分析
  • [Kettle] 记录处理
  • 【广州华锐视点】海外制片人VR虚拟情景教学带来全新的学习体验
  • 【 云原生 | K8S 】kubectl 详解
  • classification_report分类报告的含义
  • 如何在 macOS 中删除 Time Machine 本地快照
  • Linux SSH免密登录
  • npm install导致的OOM解决方案
  • 网络安全-学习手册
  • C#使用时序数据库 InfluxDB
  • WebSocket真实项目总结
  • 12. 机器学习——评价指标
  • 论文导读 | 融合大规模语言模型与知识图谱的推理方法
  • 初始MySQL(五)(自我复制数据,合并查询,外连接,MySQL约束:主键,not null,unique,foreign key)
  • STM32常见符号解释定义(持续更新)
  • HDU 1716:排列2 ← next_permutation()
  • YOLOv8-Seg改进:卷积变体系列篇 | DCNv3可形变卷积基于DCNv2优化 | CVPR2023
  • StackExchange.Redis 高并发下timeout超时问题如何解决?
  • 【万字长文】前端性能优化实践 | 京东云技术团队
  • 【java学习—十三】处理流之四和五:打印流和数据流(4)
  • 平价护眼台灯推荐,好用且性价比高的护眼台灯推荐
  • 聚观早报 |滴滴发布Q3财报;小鹏G9连续销量排行第一
  • VuePress介绍及使用指南
  • 7.jvm对象内存布局
  • MongoDB基础知识~