owt-server基本架构

OWT服务器主要包括信令交互、媒体交互、媒体处理、呼叫控制和支持部件。WebRTC Portal和SIP Portal处理与客户端的信令,WebRTC Agent、Streaming Agent等处理音视频流,Audio Agent和Video Agent分别进行音频混音和视频合屏,Conference Agent负责呼叫控制,MongoDB存储room配置,RabbitMQ用于部件间通信。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述

第一块就是跟客户端进行信令交互的部件,即图中的WebRTC Portal和SIP Portal。他们跟WebRTC客户端和SIP终端进行信令交互。值得注意的一点是WebRTC标准对信令交互的格式和通道没有规定,采用的是一种承载在socket.io通道中的私有协议。

第二块是跟客户端进行音视频媒体交互的部件,即图中的WebRTC Agent、Streaming Agent、SIP Agent和Recording Agent。其中WebRTC Agent负责跟客户端之间建立PeerConnection连接,SIP Agent跟SIP终端RTP流进行传输,Streaming Agent是针对RTSP/RTMP/HLS/Dash流,我们可以把IPCamera的RTSP流作为输入直接拉到系统里面来,也可以把系统里面任何一个输入流/合成流/转码后的流作为输出推送到RTMP Server上去,Recording虽然是完全发生在服务器侧的行为,但实际上在概念层次上面是更接近于流的输出。所以在概念模型里我们也把Recording Agent当做媒体接出部件,以达到概念模型的一致性。

第三块是媒体处理的部件,即图中的Audio Agent和Video Agent。Audio Agent是进行音频混音转码工作的部件,Video Agent是视频的合屏和转码的部件,这些所有的部件都是单独部署独立进程在运行。

第四块是呼叫控制的部件,即图中的Conference Agent。我们的系统还是将多方实时音视频通信作为场景基础,Conference Agent就是一通呼叫的总控制部件,它负责room中的参与者、流、订阅关系的控制和管理。对于像远程教育、远程医疗、远程协助之类的其他场景,我们主要是通过对Conference Agent来进行拓展和增强去支持。

第五块就是一些支持部件。整个服务器系统在运行和单机运行时都是cluster形式,Cluster Manager就是一个简单的cluster管理器。视频会议场景中会有一些room的预配置和管理,room的配置数据存放在MongoDB中,管理员都是通过OAM UI通过RESTful API访问Management API部件实现数据访问并受理REST请求。另外各个部件之间的rpc是架设在RabbitMQ消息队列上的。

 

您可以按照以下步骤在Ubuntu系统中使用Docker安装OWT(Open WebRTC Toolkit)服务器: 1. 首先,确保您的系统已经安装了Docker和Docker Compose。如果尚未安装,可以使用以下命令进行安装: ``` sudo apt-get update sudo apt-get install docker.io docker-compose ``` 2. 下载OWT服务器的Docker Compose配置文件。在终端中执行以下命令: ``` curl https://raw.githubusercontent.com/open-webrtc-toolkit/owt-server/stable/docker-compose/docker-compose.yml -o docker-compose.yml ``` 3. 编辑`docker-compose.yml`文件以进行配置。您可以使用文本编辑器打开文件,例如: ``` nano docker-compose.yml ``` 根据您的需求,可以修改以下配置: - 修改`adminToken`字段的值以设置管理员访问令牌。 - 修改`publicIp`字段的值以设置OWT服务器的公共IP地址。 - 如果需要,修改其他配置项,例如STUN/TURN服务器等。 4. 运行OWT服务器。在终端中执行以下命令: ``` sudo docker-compose up -d ``` 这将启动OWT服务器,并将其作为Docker容器在后台运行。 5. 等待一段时间,直到容器启动并运行。您可以使用以下命令检查容器状态: ``` sudo docker-compose ps ``` 如果所有容器都处于"Up"状态,则表示OWT服务器已成功安装和运行。 现在,您可以使用OWT服务器提供的功能和API来进行视频通信和流媒体处理。 请注意,以上步骤仅适用于使用Docker安装OWT服务器。如果您需要更详细的配置或定制,请参考OWT的官方文档或GitHub存储库中的说明。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值