baresip android 编译、运行教程3 :sip客户端的voip 语音识别 (讯飞实时语音转写)

FreeSWITCH 简单图形化界面25-SIP命令行测试工具baresip CentOS7和CentOS8 FreeSWITCH 1.10.7 简单图形化界面25-SIP命令行测试工具baresip1 、baresip安装2 、注册(1)编辑accounts文件(2)启动baresip3、呼叫4、多个配置(启动多个baresip)5、接听后自动播放文件6、接听后自动播放视频文件安装ffmpeg编译ffmpeg 图形界面安装,请参考https://blog.youkuaiyun.com/jia198810/article/details/118877824 1 、baresip安装 bar 阅读详情

前面分别实现了baresip android 语音、视频 参考地址https://blog.youkuaiyun.com/Java_lilin/article/details/100039464

本文对接通后获取双方的语音用讯飞实时语音转写来识别

(如果觉得麻烦可以去https://item.taobao.com/item.htm?id=606696026272购买个维护好的)

1.获取通话数据 参考sndfile模块  录音模块

https://github.com/alfredh/baresip/tree/master/modules/sndfile

主要用到aufilt_register(baresip_aufiltl(), &sndfile); 我们不用编译它 只需要其中一部分代码 

在原来注册  vidsrc_register()和 baresip_vidispl();的地方加上这个

sndfile结构体也需要拷贝过来 

struct sndfile_enc {
    struct aufilt_enc_st af;  /* base class */
    enum aufmt fmt;
};

struct sndfile_dec {
    struct aufilt_dec_st af;  /* base class */
    enum aufmt fmt;
    FILE *file = NULL; //保存pcm文件
};
static struct aufilt sndfile = {  LE_INIT, "sndfile", encodeaudio_update, encodeaudio, decodeaudio_update, decodeaudio };

上面的主要方法 编码的一样 主要现实现保存为pcm的 我通话的编码是pcmu的也就是16bit  8000hz 单声道 

static int decodeaudio_update(struct aufilt_dec_st **stp, void **ctx,
                         const struct aufilt *af, struct aufilt_prm *prm,
                         const struct audio *au)
{
    //解码初始化
    struct sndfile_dec *st;
    int err = 0;
    (void)ctx;
    (void)af;
    (void)au;

    if (!stp || !prm)
        return EINVAL;

    st = static_cast<sndfile_dec *>(mem_zalloc(sizeof(*st), dec_destructor));
    if (!st)
        return EINVAL;

    st->file=fopen("/data/data/lilin.com/files/1.pcm","wb");

    st->fmt = static_cast<aufmt>(prm->fmt);
    if(st->fmt==AUFMT_S16LE ){
        LOGE( "====ok  频率和声道=%d=%d",prm->srate , prm->ch);
    }

    *stp = (struct aufilt_dec_st *)st;

    return err;
}
static int decodeaudio(struct aufilt_dec_st *st, void *sampv, size_t *sampc)
{
    //解码pcm数据
    struct sndfile_dec *sf = (struct sndfile_dec *)st;
    size_t num_bytes;

    if (!st || !sampv || !sampc)
        return EINVAL;

    //num_bytes = *sampc * aufmt_sample_size(sf->fmt);
    LOGE("解码写");
    fwrite(sampv, *sampc, aufmt_sample_size(sf->fmt) ,sf->file); //写入pcm的文件
    //LOGE("decodeaudio=%d",  num_bytes);

    return 0;
}
static void dec_destructor(void *arg)
{
    struct sndfile_dec *st = static_cast<sndfile_dec *>(arg);
    fclose(st->file);LOGE("关闭文件");
    list_unlink(&st->af.le);
}

好了拨打一个通话解码的声音就会在/data/data/lilin.com/files/1.pcm 保存了

2.导出pcm 用audacity-win-2.3.0播放下

播放声音是对方的  很ok

3.使用讯飞的语音转写来识别 https://www.xfyun.cn/doc/asr/rtasr/API.html#接口说明

在后台创建一个运用获取appid和key 下载java的demo 例子导入eclipse

导入eclipse 修改项目的编码为utf-8后运行结果如下

 

 

好了声音的识别就可以了 挺简单的

 

接下来你你要吧它加到android项目里就可以了  把编解码的pcm数据通过jni传到java层按照讯飞数据发送要求发送 结果就会输出 你可以把它显示到界面  一个实时通讯翻译就可以了

 

后面我们在到视频的帧上加上人脸识别 表请制作等等特效 

 

更多交流群:261074724

baresip开源项目:模块化SIP用户代理实践指南 Baresip 是一个轻量级的 SIP 用户代理库,它旨在提供一个可扩展的通信平台,支持音频和视频通信、多种编解码器,以及 SIP over TLS 和 SRTP 安全特性。由于其模块化设计,开发者可以轻松定制和扩展功能,以满足特定需求。 阅读详情

相关推荐

baresip:Baresip是具有音频和视频支持的模块化SIP用户代理

裸机自述文件 Baresip是具有音频和视频支持的便携式模块化SIP用户代理。 版权所有(c)2010-2021 Alfred E.Heggestad和贡献者根据BSD许可分发 特征: 通话功能: 无限数量的SIP帐户 无限通话 无人值守呼叫转移 自动应答 通话保留并继续 麦克风静音 呼叫等待 通话录音 点对点通话 视像通话 即时通讯 自定义铃声 重复上次通话(重拨) 消息等待指示(MWI) 在场通讯录 信令: SIP协议支持 用于NAT穿越的SIP出站协议 SIP重新邀请 SIP路由 SIP早期媒体支持 DNS NAPTR / SRV支持 多帐户支持 DTMF支持(RTP,SIP INFO) 组播发送与接收 安全: 信令加密(TLS) 音频和视频加密(安全RTP) DTLS-SRTP密钥交换协议 ZRTP密钥交换协议 SDES密钥交换协议 声音的: 低延迟音频管道

【亲测免费】 探索高效轻量级 VoIP 解决方案:Baresip

是一个现代化、可移植且高效的开源VoIP应用,它基于libre和uLaw这两个强大的底层库。这个项目的目的是为用户提供简单、安全的网络通信体验,无论是视频通话还是音频通话,都能在各种操作系统上流畅运行。 ## 项目简介 Baresip的设计理念是简洁和模块化,它的核心组件包括音频编解码器、网络协议处理和媒体处理。通过使用标准的SIP(会话初始化协议)进行通信,Baresip可以与多种VoIP系

gitblog_00022的博客 1570

baresip-studio:适用于Android的基于便秘库的SIP客户端

这是一个简单的Android Studio项目,实现基于裸的SIP用户代理。 当前,该应用程序支持语音呼叫和消息传递,UDP,TCP和TLS信令传输,语音邮件消息等待指示,来电转移(REFER),PCMU / PCMA,iLBC,G.722,G.722.1,G.726,G。 729,AMR和Opus语音编解码器,以及ZRTP和(DTLS)SRTP媒体封装。 出于对不依赖第三方推送通知服务的Android安全SIP用户代理的需求。 如果您需要进行视频通话,并且拥有支持LEVEL3上Camera2 API的Android 7.0或更高版本的设备,则可以从video分支安装其姊妹应用程序baresip +,代替此应用程序。 克隆项目后,使用master分支生成静态库并将文件包含到分发目录。 然后在Android Studio 4.1.3中: 打开一个现有的Android Studio

baresip android 编译、运行教程2 :视频通话

接着上篇https://blog.youkuaiyun.com/Java_lilin/article/details/99450195 写了语音的使用这次写视频 sip客户端的voip 语音识别https://blog.youkuaiyun.com/Java_lilin/article/details/101357324 baresip 源码较为linphone 、pjsip 简单写 如果自己控制音视频比较简单些...

Java_lilin的专栏 2011

baresip-wrapper:用于BareSIP的NodeJS包装器

BareSIP NodeJS包装器 要求 在BareSIP配置中必须取消注释httpd模块 安装 $ npm install baresip-wrapper 用法 import Baresip from &#39;baresip-wrapper&#39; ; const baresip = new Baresip ( &#39;command to start baresip&#39; ) ; baresip . connect ( ) ; 方法 accept()接受来电 拨打(phoneNumber)拨打电话号码 hangUp()挂断 kill()杀死生成的进程。 on(事件,回调)以设置事件处理程序 reload()以重新创建生成的进程(这是必需的,例如,一旦更改帐户文件) toggleCallMuted()使当前通话的麦克风静音或取消静音 大事记 准备好BareSIP已初始化 serverConnected B

baresip-ios:适用于 iOS 的 Baresip

适用于 iOS 的 Baresip 概述 是一个模块化的 SIP 用户代理 建造 要为 iOS 构建静态库,请运行以下命令: $ make download $ make contrib 安装 将 XCode 目标与: contrib/fat/lib/libbaresip.a , contrib/fat/lib/libre.a , contrib/fat/lib/librem.a libresolv.9.dlyb AVFoundation , SystemConfiguraion , CFNetwork , CoreMedia , AudioToolbox , CoreVideo框架 设置构建设置: 标题搜索路径: baresip/include re/include rem/include 图书馆搜索路径: contrib/fat/lib

探索高效且安全的VoIP新境界:Baresip开源项目详解

探索高效且安全的VoIP新境界:Baresip开源项目详解 项目地址:https://gitcode.com/gh_mirrors/ba/baresip 项目介绍 Baresip是一款轻量级、模块化的SIP User-Agent,集成了音频和视频通信功能。它的设计目标是实现最小化、模块化,以及在保持RFC合规性的同时提供强大的性能与低内存占用。该项目由Alfred E. Heggestad领导,并...

gitblog_00028的博客 927

新手入门:从零开始学习PCB飞针测试全流程(附常见问题解答)

本文详细介绍了PCB飞针测试的全流程,从核心原理、设备解析到实操步骤和常见问题解答,帮助新手快速掌握这一电子制造领域的关键质检技术。内容涵盖测试资料准备、参数设置、设备操作技巧以及故障排查方法,特别适合小批量PCB生产的质量检测需求。

weixin_29295541的博客 388

baresip windows 编译运行(win32)、运行实现sip 音视频通话

baresip 源码较为linphone 、pjsip 简单些 如果自己控制音视频比较简单些 更容易修改源码 安卓开发参考https://blog.youkuaiyun.com/Java_lilin/article/details/100039464 1.下载 http://www.creytiv.com/pub/baresip-0.6.3.tar.gz http://www.creytiv.com...

Java_lilin的专栏 4808

泛微Ecology流程数据表结构解析:workflow_requestbase和workflow_currentoperator到底怎么关联查询?

本文深入解析泛微Ecology系统中workflow_requestbase和workflow_currentoperator表的结构与关联机制,提供SQL查询语句示例,帮助开发者高效查询流程数据。涵盖待办事项、已办事项、办结事项和流程监控等典型场景,并分享性能优化技巧和常见问题排查指南。

weixin_33738555的博客 804

PyCharm配置SSH远程解释器第3步时弹框报错:com.google.gson.stream.MalformedJsonException: Expected value at l...如何解决?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 1927

Baresip 是一个可移植的模块化的 SIP 用户代理,支持音频和视频。

Baresip 是一个可移植的模块化的 SIP 用户代理,支持音频和视频。 特点 Audio codecs: AMR, BV32, Celt, G.711, G.722, G.722.1, GSM, iLBC, L16, OPUS, SpeexVideo codecs: H.263, H.264, MPEG4, VPXAudio drivers: Alsa, Coreaudio, Gstr

石头 2520

硬件工程师笔记——电子器件汇总大全

本文系统总结了14种常用电子器件的工作原理及功能应用,包括电阻、压敏电阻、电容、电感、二极管、三极管、MOS管、晶振、光耦、IGBT、继电器、磁珠、可控硅和线性稳压器。每种器件从结构原理、工作特性到典型应用进行全面解析,如电阻的限流分压、电容的储能滤波、三极管的放大开关等。重点阐述了各器件在电路设计中的关键作用,如IGBT的功率控制、继电器的隔离保护、LDO的电压稳定等,并提供了实际电路应用案例。文章还整理了硬件工程师笔试面试相关的知识点和真题资源,为电子工程师提供全面的技术参考。

XU157303764的博客 2万+

baresip android 编译、运行教程1 语音通话

1.编译 在git 上找了下https://github.com/juha-h/libbaresip-android这个测试不错 相关的下载sdk和r19的ndk 并参考执行就行了 注意修改ndk路径和输出目录 make download-sources 如果执行不成功 则自己下载包 重命名和他的一样就可以了 地址在Makefile里面 (如果觉得麻烦可以去https://item.t...

Java_lilin的专栏 2752

C#利用最小二乘法拟合任意次函数曲线

给出一组离散点,确定一个函数逼近原函数,插值是这样的一种手段。在实际中,数据不可避免的会有误差,插值函数会将这些误差也包括在内。因此,我们需要一种新的逼近原函数的手段: ①不要求过所有的点(可以消除误差影响);②尽可能表现数据的趋势,靠近这些点。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小 [1],其他一些优化问题也可通过最小化能量或最大化熵用最小二乘法来表达,具体可以查阅相关资料。最小二乘法(又称最小平方法)是一种数学技术。

qq_30725967的博客 3755

使用C#实现的多人语音视频系统:WebSocket与WebRTC集成

通过上述的代码示例,我们可以使用C#编写一个多人语音视频系统,该系统集成了WebSocket和WebRTC技术。当然,这只是一个简单的示例,实际的多人语音视频系统可能需要更多的功能和优化。通过结合这两种技术,我们可以实现实时的语音和视频通信,支持多人同时参与。在上述代码中,我们创建了一个WebSocket服务器,监听在本地的8080端口,并创建了一个WebRTC连接。接下来,我们将详细介绍如何使用C#编写一个多人语音视频系统,包括使用WebSocket建立连接和使用WebRTC进行实时通信。

TjsReact的博客 1632

【亲测免费】 探索Baresip:一款强大的开源SIP用户代理

在当今这个高度互联的世界中,实时通信已成为我们日常生活和工作中不可或缺的一部分。Baresip,作为一款开源且模块化的SIP用户代理,以其丰富的功能和卓越的性能,正逐渐成为开发者和企业的首选。本文将深入介绍Baresip的各项特性、技术分析、应用场景以及其独特的优势。 ## 项目介绍 Baresip是一款便携且模块化的SIP用户代理,支持音频和视频通信。自2010年以来,由Alfred E.

gitblog_00201的博客 594

【Unity】【Pico】【VR开发】为何PICO打包后真机运行闪退

由于并没有开版权验证,而且闪退后也并没有弹框说版权问题,所以还是怀疑环境有什么地方不对。设置步骤,项目配置都没问题,Build也成功,Unity版本是符合要求的2022LTS版本,但是一在真机上运行就闪退。

每日出拳老爷子的博客 3175

树莓派sip视频电话-5:baresip-0.5.10

在gitbub中找到baresip这个软件,经过修改可以在树莓派上稳定运行。 一、存在问题: 1.在使用libomxcam(github上)库时候,1080p@30时候帧速只能达到15,且有蓝边。不知道什么原因造成的。 2.在使用webapp模块(修改github上的)时候,退出时候有异常。 3.可能还有其他不稳定情况。 二、编译修改过程: 代码已上传至github上:https://github...

aphero的专栏 4424

C++实现复制粘贴文本功能

要实现这个功能,我们需要使用操作系统提供的函数来操作剪贴板。在Windows操作系统中,我们可以使用Windows API函数来访问剪贴板。总结起来,使用C++实现复制和粘贴文本功能涉及使用操作系统提供的API函数来操作剪贴板。在本篇文章中,我将向您展示如何使用C++编程语言实现复制和粘贴文本的功能。我们将使用操作系统提供的API来进行剪贴板操作,并编写相应的代码来完成这个任务。如果您使用的是Linux操作系统,您需要使用适当的库和函数来访问剪贴板。函数中,我们首先将一个字符串复制到剪贴板中,然后使用。

PixelDyno的博客 1233

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Baresip 开源项目安装与使用指南

Baresip 是一个基于SIP协议的模块化User-Agent,支持音频和视频通讯。其仓库结构体现了高度模块化的设计原则,以下是主要的目录介绍: - **`src`**: 包含了核心源代码,如主程序逻辑、模块接口等。 - **`modules`**: 存放各种功能模块的源码,例如不同编解码器、账户管理、菜单界面等。 - **`examples`**: 提供配置文件和简单的示例,帮助用户理解如何...

gitblog_00288的博客 856

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

VOIP RTP RTSP 实现 Baresip 源码分析

RTP 使用 udp 进行数据传输,udp 是不能保证,数据包一定可以到达的,也不提供时序。同时还有 MTU 限制。 RTCP 用来配合 RTP 提供,传输报告,会话建立和退出。 一大批参考规范 1 * [RFC 1321](https://tools.ietf.org/html/rfc1321) - The MD5 Message-Digest Algorithm 2 ...

weixin_30745641的博客 482

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Baresip 项目常见问题解决方案

Baresip 是一个模块化的 SIP 用户代理,支持音频和视频功能。它是一个开源项目,旨在提供一个灵活且功能丰富的 SIP 客户端。Baresip 的主要编程语言是 C,它利用了 C 语言的高效性和灵活性来实现其功能。 ## 新手使用注意事项及解决方案 ### 1. 编译问题 **问题描述**: 新手在尝试编译 Baresip 时,可能会遇到编译错误,尤其是在缺少必要的依赖库时。 **解

gitblog_00137的博客 1170

baresip项目SIP账户配置详解与实战示例

baresip作为一款轻量级的SIP通信工具,其账户配置是使用该软件的第一步。本文将深入解析baresip的账户配置文件格式,帮助用户理解各项参数的含义,并通过实际示例展示不同场景下的配置方法。 ## 基本账户配置格式 baresip的账户配置遵循以下基本语法结构: ``` 显示名称 <sip:用户名:密码@域名:端口;URI参数>;地址参数 ``` 其中: - 显示名称:可选,用于标识账

gitblog_00933的博客 531

构建高效通信系统:Baresip 轻量级 VoIP 解决方案完整指南

Baresip 是一款现代化、可移植的开源 VoIP 应用,基于强大的 libre 多媒体处理库构建。作为一款轻量级通信解决方案,它能够在各种操作系统上提供流畅的音视频通话体验,是构建企业级通信系统的理想选择。 ## 为什么选择 Baresip 作为通信方案? 在众多 VoIP 解决方案中,Baresip 凭借其独特的设计理念脱颖而出: ✅ **模块化架构** - 每个功能都是独立模块,可按

gitblog_01120的博客 843

baresip账户配置终极指南:5分钟快速上手

想要使用baresip进行语音通话却卡在账户配置这一关?别担心,这篇文章将带你轻松搞定baresip账户配置,让你在5分钟内完成从零到精通的过程!🚀 ## 为什么你的baresip账户总是配置失败? 很多新手在配置baresip账户时都会遇到各种问题,其实根本原因在于没有理解配置文件的语法结构。baresip账户配置就像写一封给SIP服务器的"介绍信",格式不对自然会被"拒之门外"。 **

gitblog_00810的博客 661
上一篇: bigbluebutton 开源会议系统新版(V2.2)安装
下一篇: baresip windows 编译运行(win32)、运行实现sip 音视频通话
java_lilin
博客等级 码龄14年 364粉丝 124原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值