livetalking使用turn转发服务主要是有些gpu服务器如autodl不方便开放udp端口,通过将转发服务安装在可以开放udp的服务器上,代理转发livetalking服务的udp数据。

1.部署转发服务

在云服务器如阿里云上安装turn转发服务

apt install coturn

修改/etc/turnserver.conf,添加

#设置服务器外网ip
external-ip=1.2.3.4
#设置认证信息
user=admin:mine
lt-cred-mech
realm=my.org
#设置udp转发端口范围,该部分端口需要对外开放
min-port=49152
max-port=65535
#添加日志打印
verbose
fingerprint
syslog

在防火墙上开放如下端口

  • tcp 3478
  • udp 3478
  • udp 49152~65535 #该部分端口根据配置文件调整

运行turn服务

turnserver

可以用https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/ 测试服务是否正常
在这里插入图片描述

2.配置livetalking

根据turn转发原理,只需要服务端和客户端一方配置了turnserver地址即可。但是目前aiortc与coturn连接协商还有些问题,所以我们在客户端做配置。

2.1 livetalking服务端

防火墙开放

  • tcp 8010

运行

python app.py --transport webrtc --model wav2lip --avatar_id wav2lip256_avatar1

2.2 livetalking客户端

修改web/client.js

//搜索config.iceServers,改为
config.iceServers = [{ urls: ['turn:1.2.3.4:3478?transport=tcp'],username: "admin", credential: "mine" }]

浏览器打开http://server:8010/webrtcapi.html,选中stun,然后点击start即可连接上视频

3.其他

一般每路视频需要2个udp转发端口,turn转发服务上根据并发连接数开放相应udp端口范围即可。

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐