webrtc

  1. WebRtc 概念
    1. 运行模式
    2. Mac 上到Android 编译环境
    3. 下载代码
      1. 编译
    4. WebRTC::FEC
    5. code 解析
      1. webrtc/sdk/android_gradle
        1. 1.启动一个APPRTC Server
      2. 概念
    6. 视频协议

WebRtc 概念

运行模式

  • P2P
  • SFU
  • MCU

Mac 上到Android 编译环境

每个平台AppRTCMobile 之间是可以实现自推自收和两终端互相推收.

下载代码

git config –global http.proxy 127.0.0.1:1087

git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git

export PATH=$PATH:/Users/fushp/Desktop/workspace/work/notes/code/WebRTC/depot_tools

  1. fetch –nohooks webrtc_ios
  2. 编辑 当前目录下 .gclient ,在target_os上加上mac 用于mac开发
编译

https://webrtc.org.cn/mirror/

WebRTC::FEC

https://www.freesion.com/article/481957484/

  1. 源码位置

    相关源码在/src/webrtc/modules/rtp_rtcp/source目录下

code 解析

https://github.com/HackWebRTC/webrtc

webrtc/sdk/android_gradle

使用 Android Studio来启动上面的工程

1.启动一个APPRTC Server

APPRTC Server 包含了三个模块

  • Signaling server

  • ICE Server
    用于UDP 的NAT 穿透协议
    STUN: NAT 穿透的一套工具,内网外网映射机制

  • TURN Server
    TURN协议是STUN扩展,一对多

docker run –rm
-p 8080:8080 -p 8089:8089 -p 3478:3478 -p 3478:3478/udp -p 3033:3033
-p 59000-59500:59000-59500/udp
-e PUBLIC_IP=192.168.220.39
-it piasy/apprtc-server
端口介绍:
TCP 8080 is used for room server;
TCP 8089 is used for signal server;
TCP 3033 is used for ICE server;
TCP 3478, UDP 3478 and UDP 59000-65000 is used for TURN/STUN server;
UDP范围 可以修改下

  • PUBLIC_IP 指的是 APPRTC Server 地址
概念
  • PeerConnection(PC)
    RTCPeerConnection

  • SDP (描述会话的协议)

  • ICE
    用于UDP 的NAT 穿透协议

  • ICE Candidate

视频协议

  1. H265

    https://github.com/search?q=open-webrtc


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 337950548@qq.com

💰

×

Help us with donation