webrtc 容器化部署

254 阅读2分钟

1、webrtc简单介绍

WebRTC(Web Real-Time Communication)是一种支持浏览器之间实时通信的开放标准。它提供了一组 API,使得在不需要安装任何插件或第三方软件的情况下,可以实现音频、视频和数据的实时通信。

2、webrtc常用参数

命令行选项:```

./webrtc-streamer [-H http port] [-S[embeded stun address]] -[v[v]]  [urls...]
  • -H http port:指定 HTTP 服务器的端口。
  • -S[embeded stun address]:启动内置的 STUN 服务器并绑定到指定地址。
  • -v[v]:设置日志输出的详细程度。
  • -V:打印工具版本号。
  • -C config.json:从 JSON 配置文件中加载 URL 列表。
  • -n name -u videourl -U audiourl:为视频 URL 和音频 URL 注册一个名称。
  • [url]:要注册在源列表中的 URL。

HTTP 服务器设置:

  • -w webroot:指定文件路径以获取文件。
  • -c sslkeycert:指定 HTTPS 的私钥和证书路径。
  • -N nbthreads:指定 HTTP 服务器的线程数。
  • -A passwd:指定 HTTP 服务器访问的密码文件。
  • -D authDomain:指定 HTTP 服务器访问的身份验证域。

STUN 和 TURN 服务器设置:

  • -S[stun_address]:启动内置的 STUN 服务器,或者指定外部 STUN 服务器地址。
  • -s[stun_address]:使用外部 STUN 服务器。
  • -T[username:password@]turn_address:启动内置的 TURN 服务器。
  • -t[username:password@]turn_address:使用外部的 TURN 服务器。

WebRTC 设置:

  • -R [Udp port range min:max]:设置 WebRTC UDP 端口范围。
  • -W webrtc_trials_fields:设置 WebRTC trials 字段。
  • -a[audio layer]:指定要使用的音频捕获层。
  • -q[filter]:指定发布过滤器。
  • -o:使用空编解码器(保持帧编码)。

3、容器化部署

默认设置启动应用

docker run -p 8000:8000 -it mpromonet/webrtc-streamer

查看webrtc命令

docker run -p 8000:8000 -it mpromonet/webrtc-streamer --help

image.png

指定stun/turn 服务器配置

docker run -p 8088:8088 -it mpromonet/webrtc-streamer -o -H ip:port -S ip:port -Tadmin:123456@ip:port
  • -H http port:指定 HTTP 服务器的端口。
  • -S[stun_address]:启动内置的 STUN 服务器,或者指定外部 STUN 服务器地址。
  • -T[username:password@]turn_address:启动内置的 TURN 服务器。