【Linux】Centos7安装部署unimrcp,搭建MRCP服务器

2024-05-10 11:28

本文主要是介绍【Linux】Centos7安装部署unimrcp,搭建MRCP服务器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

yum install libtool

yum install libtool-ltdl-devel

yum install libsofia-sip-ua

find / -name libsofia-sip-ua.so.0 2>/dev/null

# 设置环境变量:如果库文件存在但不在默认搜索路径中,你可以通过设置 LD_LIBRARY_PATH 环境变量来告诉系统在哪里可以找到它。

# 例如,如果库文件在 /usr/local/lib 中,你可以在你的 shell 脚本或命令行中添加以下命令:

export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH #临时有效

echo 'export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH' >> ~/.bashrc #永久有效

上传文件到/usr/local

unimrcp-deps-1.6.0.tar.gz

unimrcp-1.6.0.tar.gz

编译安装unimrcp-deps-1.6.0.

# cd /usr/local

# tar vzxf unimrcp-deps-1.6.0.tar.gz

# cd unimrcp-deps-1.6.0/

# ./build-dep-libs.sh

这是个交互式脚本,一路选y:

编译安装unimrcp-1.6.0

# tar vzxf unimrcp-1.6.0.tar.gz

# cd unimrcp-1.6.0/

# ./bootstrap

默认安装到 /usr/local/unimrcp, 按自己偏好设置prefix

# ./configure

# make && make install

注:

问题1:/usr/local/apr/lib/libapr-1.so: undefined reference to `uuid_generate@UUID_1.0'

collect2: error: ld returned 1 exit status

make[2]: *** [unimrcpclient] 错误 1

make[2]: 离开目录“/usr/local/unimrcp-1.6.0/platforms/unimrcp-client”

make[1]: *** [all-recursive] 错误 1

make[1]: 离开目录“/usr/local/unimrcp-1.6.0/platforms”

make: *** [all-recursive] 错误 1

解决方法:1、确保已安装 yum install libuuid-devel

2、检查库文件路径 ldconfig -p | grep libuuid

3、手动指定库文件(根据 2中所查到的路径)

export LDFLAGS="-L/path/to/libuuid/lib"

export LIBS="-luuid"

4、重新编译、安装

./configure ... # 其他configure选项

make && make install

加载程序

服务端:

打开一个终端,执行:

# cd /usr/local/unimrcp/bin

# ./unimrcpserver

客户端:

打开另一个终端,执行:

# cd /usr/local/unimrcp/bin

# ./umc

注 :

问题1:./unimrcpserver: error while loading shared libraries: libsofia-sip-ua.so.0: cannot open shared object file: No such file or directory

解决方法:find / -name libsofia-sip-ua.so.0 2>/dev/null

export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH #临时有效

echo 'export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH' >> ~/.bashrc #永久有效

开机自启

创建一个系统服务文件。

假设你的Unimrcp安装在 /usr/local/unimrcp目录下,你可以创建一个名为unimrcp.service的文件在/etc/systemd/system/目录下

[Unit]

Description=Unimrcp Server

After=network.target

[Service]

Type=forking

ExecStart=/usr/local/unimrcp/bin/unimrcpserver start

ExecStop=/usr/local/unimrcp/bin/unimrcpserver stop

User=root

Group=root

Restart=on-failure

RestartSec=5

[Install]

WantedBy=multi-user.target

重新加载systemd管理器配置。

sudo systemctl daemon-reload

设置Unimrcp服务开机自启

sudo systemctl enable unimrcp.service

启动Unimrcp服务 systemctl start unimrcp.service  停止开机自启动 systemctl disable unimrcp.service 查看服务当前状态 systemctl status unimrcp.service 重新启动服务 systemctl restart unimrcp.service 

注:

问题1:没有正常开机自启,执行 journalctl -u unimrcp.service 发现报错

/usr/local/unimrcp/bin/unimrcpserver: error while loading shared libraries: libsofia-sip-ua.so.0: cannot open shared object file: No such file or directory

解决方法:1、根据 sudo find / -name libsofia-sip-ua.so.0 2>/dev/null 找到对应的路径

2、在unimrcp.service里的[Service] 节点添加

Environment=LD_LIBRARY_PATH=/usr/local/lib

3、重新加载配置文件

sudo systemctl daemon-reload

场景测试

Client端预设了几个CLI命令,提供几个MRCP测试场景:

语音合成:run synth

语音识别:run recog

DTMF识别: run dtmf

录音: run rec

语音鉴别:run verify

Client端输入 run recog:

Server端输出:

这篇关于【Linux】Centos7安装部署unimrcp,搭建MRCP服务器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/976308

相关文章

从零教你安装pytorch并在pycharm中使用

《从零教你安装pytorch并在pycharm中使用》本文详细介绍了如何使用Anaconda包管理工具创建虚拟环境,并安装CUDA加速平台和PyTorch库,同时在PyCharm中配置和使用PyTor... 目录背景介绍安装Anaconda安装CUDA安装pytorch报错解决——fbgemm.dll连接p

pycharm远程连接服务器运行pytorch的过程详解

《pycharm远程连接服务器运行pytorch的过程详解》:本文主要介绍在Linux环境下使用Anaconda管理不同版本的Python环境,并通过PyCharm远程连接服务器来运行PyTorc... 目录linux部署pytorch背景介绍Anaconda安装Linux安装pytorch虚拟环境安装cu

linux打包解压命令方式

《linux打包解压命令方式》文章介绍了Linux系统中常用的打包和解压命令,包括tar和zip,使用tar命令可以创建和解压tar格式的归档文件,使用zip命令可以创建和解压zip格式的压缩文件,每... 目录Lijavascriptnux 打包和解压命令打包命令解压命令总结linux 打包和解压命令打

mac安装nvm(node.js)多版本管理实践步骤

《mac安装nvm(node.js)多版本管理实践步骤》:本文主要介绍mac安装nvm(node.js)多版本管理的相关资料,NVM是一个用于管理多个Node.js版本的命令行工具,它允许开发者在... 目录NVM功能简介MAC安装实践一、下载nvm二、安装nvm三、安装node.js总结NVM功能简介N

Docker部署Jenkins持续集成(CI)工具的实现

《Docker部署Jenkins持续集成(CI)工具的实现》Jenkins是一个流行的开源自动化工具,广泛应用于持续集成(CI)和持续交付(CD)的环境中,本文介绍了使用Docker部署Jenkins... 目录前言一、准备工作二、设置变量和目录结构三、配置 docker 权限和网络四、启动 Jenkins

linux如何复制文件夹并重命名

《linux如何复制文件夹并重命名》在Linux系统中,复制文件夹并重命名可以通过使用“cp”和“mv”命令来实现,使用“cp-r”命令可以递归复制整个文件夹及其子文件夹和文件,而使用“mv”命令可以... 目录linux复制文件夹并重命名我们需要使用“cp”命令来复制文件夹我们还可以结合使用“mv”命令总

python安装whl包并解决依赖关系的实现

《python安装whl包并解决依赖关系的实现》本文主要介绍了python安装whl包并解决依赖关系的实现,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录一、什么是whl文件?二、我们为什么需要使用whl文件来安装python库?三、我们应该去哪儿下

MySQL安装时initializing database失败的问题解决

《MySQL安装时initializingdatabase失败的问题解决》本文主要介绍了MySQL安装时initializingdatabase失败的问题解决,文中通过图文介绍的非常详细,对大家的学... 目录问题页面:解决方法:问题页面:解决方法:1.勾选红框中的选项:2.将下图红框中全部改为英

MySQL9.0默认路径安装下重置root密码

《MySQL9.0默认路径安装下重置root密码》本文主要介绍了MySQL9.0默认路径安装下重置root密码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录问题描述环境描述解决方法正常模式下修改密码报错原因问题描述mysqlChina编程采用默认安装路径,

Linux使用cut进行文本提取的操作方法

《Linux使用cut进行文本提取的操作方法》Linux中的cut命令是一个命令行实用程序,用于从文件或标准输入中提取文本行的部分,本文给大家介绍了Linux使用cut进行文本提取的操作方法,文中有详... 目录简介基础语法常用选项范围选择示例用法-f:字段选择-d:分隔符-c:字符选择-b:字节选择--c