1 Star 0 Fork 2

svchat / ServerVoipDemo

forked from 野火IM / ServerVoipDemo 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
Apache-2.0

野火服务端音视频SDK及Demo

本项目为野火服务端音视频SDK及该SDK的演示应用。使用野火服务端音视频SDK可以使服务端跟用户之间建立双向的音视频沟通。使用此SDK可以开发AI语音助手、陪聊机器人和机器人电话服务等业务。

机器人角色

要使用服务端音视频SDK,必须分配一个机器人作为与用户沟通的角色。SDK需要接收IM服务的回调,包括消息回调和conference回调(高级版音视频需要用到这个conference回调)。设置机器人的消息回调地址为当前服务地址,conference事件会回调到"回调地址+/conference"

支持平台

仅支持macos + arm64架构和linux + x86_64架构。其他平台架构不支持。

编译

打包linux + x86_64架构:

mvn -Djavacpp.platform=linux-x86_64 package

打包macos + arm64架构:

mvn -Djavacpp.platform=macosx-arm64 package

配置机器人

在IM服务中为当前服务创建机器人,或者使用已有机器人,配置到config目录下的robot.properties文件。需要修改机器人的回调地址为http://${当前机器IP}:8083/robot/recvmsg(这个可以根据实际情况调整,确保SDK收到消息和conference 事件。

如果使用免费版本音视频,需要部署turn服务,并配置到application.properties文件中,注意上线前一定要切换到你们自己的turn服务。如果是音视频高级版,可以不用配置turn服务。

运行

target目录找到server_voip_demo-XXXX.jar,把jar包和放置配置文件的config目录放到一起,然后执行下面命令:

java -jar server_voip_demo-XXXXX.jar

测试

使用客户端给机器人打音视频通话,等待3秒钟后,服务就会接听。语音会延迟3秒播放收到的语音。如果是视频电话会播放配置指定的视频文件,并把收到的视频每隔15秒保存一张图片。

也可以给机器人发送文本消息 给我打电话 ,服务会立即给你打个视频电话。

音视频版本

SDK同时支持免费版音视频和音视频高级版。当收到来电时,SDK根据来电消息内容,可以知道是那种类型的音视频,自动选择对应版本。当播出时,需要指定是高级版音视频还是免费版本音视频。

在这个demo中会记录收到的音视频通话中音视频SDK类型,这样当收到 给我打电话 ,服务会使用合适的版本发给用户。

免费版本音视频只支持1对1通话,可以在单聊和群聊中给一个用户进行通话。高级版音视频支持多人通话。

移植到其他项目中

SDK在src/lib目录下,需要拷贝到项目中,另外参考本demo的pom.xml把所需要的依赖添加过去。再处理接收消息和conference事件回调传入到SDK中。使用方法请参考本demo中的接听和发起通话的示例代码。

LICENSE

UNDER MIT LICENSE. 详情见LICENSE文件

MIT License Copyright (c) 2019 wildfirechat Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 1. ikidou/TypeBuilder Copyright 2016 ikidou Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

简介

野火server端voip demo项目,用于演示如何集成和使用野火服务端音视频SDK 展开 收起
Apache-2.0
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/svchat/ServerVoipDemo.git
git@gitee.com:svchat/ServerVoipDemo.git
svchat
ServerVoipDemo
ServerVoipDemo
main

搜索帮助