切换深色模式
部署网络设置
UE视频实现流送,至少需要两个端口:
- 一个TCP端口 Signaling Server 默认8877
- 一个UDP端口 WebRTC 默认由WebRTC ICE策略自行分配,在无网络端口限制的情况下,也可通过中继服务指定端口
Q1 :如果本机运行UE服务且无法拉取视频流
检查关闭是否有代理IP等情况,关闭VPN等
Q2 :信令服务器访问异常
开启信令服务器对应的TCP端口
windows
设置入站出站规则
linux
bash
# 以firewalld为例
sudo firewall-cmd --add-port=8877/tcp --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --list-port
Q3: 信令服务可以访问,但视频流拉取异常
访问ip:8877/static/,查看UE实例列表
信令服务访问正常,但是无法拉取视频流,此原因为UE服务器的防火墙限制
方案一:简单
关闭防火墙,或者大范围开启UDP端口,30000-63000/UDP端口开启
windows
关闭防火墙
linux
bash
#以firewalld为例
sudo systemctl stop firewalld
#或者开启大范围端口设置
sudo firewall-cmd --add-port=30000-63000/udp --permanent
sudo firewall-cmd --reload
方案二:采用TURN SERVER中继服务
- 满足特定只能使用特定UDP端口的网络环境
- 满足特定只能开启一个UDP端口但同时需要建立多路视频流的情况
Windows
从公司网盘下载"\192.168.20.30\Temp\hzq2021\UEPak\ThingUE\Linux\etc\turnserver.zip"turnserver服务包,解压, 然后根据UE服务器IP加可用的UDP端口启动turn server.
- -u : username:password
cmd
.\turnserver.exe -c turnserver.conf --allowed-peer-ip=10.202.1.2 -p 19303 -r PixelStreaming -X 10.202.1.2 -E 10.202.1.2 -L 10.202.1.2 --no-cli --no-tls --no-dtls -f -a -v -u abcd:1234
Linux
从公司网盘下载"\192.168.20.30\Temp\hzq2021\UEPak\ThingUE\Linux\etc\turnserver"
- -users username=password
bash
./turnserver -public-ip 10.202.1.2 -port=19303 -users abcd=1234
启动ThingUE-Launcher在服务一栏右侧WebRTC中继配置中添加turn server信息:
iceServers:
- urls:
- stun:10.202.1.2:19303
- turn:10.202.1.2:19303
username: abdd
credential: 1234
最后, 重新拉取视频流
Q4 :如果在服务器只开启一个UDP端口占用的情况下,满足多路视频流的推送
参考 Q3 方案二