Files
taoyao/taoyao-client-media
2024-01-02 07:18:41 +08:00
..
2023-02-25 13:31:57 +08:00
2024-01-02 07:18:41 +08:00
2023-08-06 07:44:37 +08:00
2023-07-25 08:50:28 +08:00
2023-07-25 08:50:28 +08:00
2023-07-25 08:50:28 +08:00
2023-08-28 07:52:17 +08:00
2023-06-19 09:01:36 +08:00
2023-06-19 09:01:36 +08:00
2023-08-09 08:09:07 +08:00
2023-05-31 07:34:18 +08:00

媒体终端

只要负责媒体处理,不要添加任何业务逻辑,所有业务逻辑都由taoyao-signal-server处理。

媒体

使用

sudo npm install

Mediasoup

# 编译:默认不用手动编译
make
make -C worker

录像功能

录像直接将媒体流转发给ffmpeg实现录像,没有直接修改mediasoup代码,代码侵入较低更加方便升级。

节点配置

需要保证src/Config.js中的clientIdecosystem.config.json中的name保持一致,否者重启和关闭信令无效。

动态调节码率

参考配置`mediaCodecs`

WebRTC协议栈

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          HTTPS / WSS          |                   |    SCTP   |  SRTP / SRTCP   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+     ICE / SDP     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              TLS              |                   |                             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+    DTLS   +-+-+-+-+-+-+-+-+-+
|           HTTP / WS           | NAT / STUN / TURN |           |   RTP / RTCP    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              TCP              |                     UDP                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                 IPv4 / IPv6                                     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

协议简介

  • 会话通道ICE/SDP
  • 媒体通道RTP/RTCP/SRTP/SRTCP
  • SDP会话描述协议只是信息格式描述标准不是传输协议
  • ICE交互式连接建立使用标准SDP描述
  • RTP实时传输协议
  • RTCPRTP控制协议监控数据传输质量提供反馈
  • SCTP流控制传输协议
  • RTSP实时流传输协议依赖RTP协议实时性好适合视频聊天视频监控
  • RTMP实时消息传输协议

其他常见WebRTC媒体服务

RTP裸流

媒体服务主要使用WebRTC协议,同时支持接入RTP裸流,可以参考RtpTest.java配合ffmpeg使用RTP推拉流,具体代码需要自行实现。

协议