Flutter WebRTC P2P客户端
一、搭建turn/stun服务器
INSTALL文件中有各种OS下的安装的详细说明,下面是linux的安装:
- 依赖
-
**) Linux Ubuntu, Debian, Mint:
-
$ sudo apt-get install libssl-dev
-
$ sudo apt-get install libsqlite3 (or sqlite3)
-
$ sudo apt-get install libsqlite3-dev (or sqlite3-dev)
-
$ sudo apt-get install libevent-dev
-
$ sudo apt-get install libpq-dev
-
$ sudo apt-get install mysql-client
-
$ sudo apt-get install libmysqlclient-dev
-
$ sudo apt-get install libhiredis-dev
- 编译
-
#1、下载源码
-
git clone https://github.com/coturn
-
-
#2、配置环境变量
-
vim ~/.bashrc
-
export turnserver_home=/usr/local/turnserver
-
export PATH=$PATH:$turnserver_home/bin
-
source ~/.bashrc
-
-
#3、配置和编译
-
sudo ./confiure --prefix=/usr/local/coturn
-
make & make install
- 配置
-
cp turnserver.conf.defaul turnserver.conf
-
vi turnserver.conf
-
#修改下面内容
-
# TURN server name and realm
-
realm=xxxx #域名,没有的话可以随便写一个
-
# IPs the TURN server listens to
-
listening-ip=0.0.0.0 #内网地址,0.0.0.0则监听所有网卡
-
# External IP-Address of the TURN server
-
external-ip=外网IP地址
-
# Main listening port
-
listening-port=3478 #监听端口号
-
# Enable verbose logging
-
verbose #日志可视
-
# Specify the user for the TURN authentification
-
user=test:test123 #指定用户名和密码
-
启用
turnadmin -k -u username -r 域名(realm) -p password
turnserver -o -a
turnadmin -k -u name -r name -p helloworld -
端口查看
lsof -i:3478
二、flutter外部包
三、问题处理
-
1、cocoapods Error running pod install问题
can't run flutter project on iOS simulator - Stack Overflow -
2、macos websocket连接失败问题
分析:应该是权限问题
解决:在macos目录下的DebugProfile.entitlements文件中加入下面权限
-
<key>com.apple.security.network.client</key>
-
<true/>
https://github.com/flutter/flutter/issues/47606
-
3、iOS error: 'WebRTC/WebRTC.h'
说明:模拟器我试了还是不能解决
https://github.com/flutter-webrtc/flutter-webrtc/issues/713 -
4、flutter: Unable to getUserMedia: NotFoundError
https://github.com/electron/electron/issues/19307
分析:经过对比发现在chrome下有视频,在macos桌面程序下没有,应该是某种权限问题。
解决:根据上面连接中的回答得到启发,但加的位置不同,在macos目录下的DebugProfile.entitlements文件中加入下面权限。
-
<key>com.apple.security.device.audio-input</key>
-
<true/>
-
<key>com.apple.security.device.camera</key>
- 5、ios 摄像头和麦克的权限
https://www.jianshu.com/p/c212cde86877
参考
1、webrtc(coturn服务器搭建)
https://www.jianshu.com/p/d65e369f44fb
stun/turn服务器部署 - led二极管 - 博客园
2、webrtc系列3——对于stun和turn的理解
3、WebRTC中的信令和内网穿透技术 STUN / TURN
4、NAT 穿透是如何工作的:技术原理及企业级实践
5、简单项目实战flutter(布局篇)
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgbkhee
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01