【Android音视频开发】【034】WEBRTC之ICE服务器搭建

【Android音视频开发】【034】WEBRTC之ICE服务器搭建前篇由于ICE服务器是作为一个中转服务器来使用的,因此它必须搭建在外网,我是搭建在阿里云服务器上面的搭建ICE服务器需要一定的Linux经验和排错能力,没接触过Linux的量力而为切换到root用户sudosuroot安装opensslapt-getinstallopenssllibssl-devmake安装libevent2wgethttps://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar

大家好,又见面了,我是你们的朋友全栈君。

前篇

由于ICE服务器是作为一个中转服务器来使用的,因此它必须搭建在外网,我是搭建在阿里云服务器上面的

搭建ICE服务器需要一定的Linux经验和排错能力,没接触过Linux的量力而为

切换到root用户

sudo su root

安装openssl

apt-get install openssl libssl-dev make

安装libevent2

wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz

tar xvfz libevent-2.0.21-stable.tar.gz

cd libevent-2.0.21-stable

./configure,make,make install,make clean

安装sqlite

apt-get install sqlite libsqlite3-dev

安装coturn

wget https://github.com/coturn/coturn/archive/4.5.0.7.tar.gz

tar xvfz 4.5.0.7.tar.gz

cd coturn-4.5.0.7

./configure,make,make install,make clean

创建coturn用户

turnadmin -a -u test -p test -r test

创建coturn配置文件

cp /usr/local/etc/turnserver.conf.default /usr/local/etc/turnserver.conf

编辑coturn配置文件

xdg-open /usr/local/etc/turnserver.conf

在配置文件开头添加以下代码

listening-device=eth0
listening-port=3478
external-ip=120.25.74.146

user=test:test
realm=test

no-loopback-peers
no-multicast-peers
mobility
no-cli

启动coturn服务

turnserver -o -a -f -v -r test

ICE服务器连通性测试

打开Demo中的网页,输入自己的服务地址

如果测试结果中包含srflx/relay类型的数据,则表面stun/turn服务器是可用的

IceConnectivityTest

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/133549.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • dumpbin的使用

    dumpbin的使用1.输入Dumpbin-importscalldll.exe查看它的输入信息,可以看到它加载了***.dll2.输入dumpbin–exportsdlltest.dll,列出导出函数

    2022年6月19日
    38
  • JavaScript的变量作用域深入理解(转)

    JavaScript的变量作用域深入理解(转)

    2021年9月6日
    44
  • QT QFile「建议收藏」

    QT QFile「建议收藏」QFile类提供了读取和写入文件的接口。QFile是一个读写文本和二进制文件和资源的I/O设备。QFile可以单独使用,或者更方便地与QTextStream或QDataStream一起使用。文件名通常在构造函数中传递,但它可以在任何时候使用setFileName()设置。无论操作系统如何,QFile都希望文件分隔符为“/”。不支持使用其他分隔符(例如’\’)。您可以使用exists()检查文件是否存在,并使用remove()删除文件。(更高级的文件系统相关操作由QFileInfo和QDir提供。

    2022年6月12日
    26
  • 滤波算法(四)—— 卡尔曼滤波算法

    滤波算法(四)—— 卡尔曼滤波算法一、算法介绍卡尔曼滤波是一个神奇的滤波算法,应用非常广泛,它是一种结合先验经验、测量更新的状态估计算法。1、状态估计首先,对于一个我们关心的物理量,我们假设它符合下面的规律其中,为该物理量本周期的实际值,为该物理量上一个周期的实际值,当然这个物理量可能不符合这个规律,我们只是做了一个假设。不同的物理量符合的规律不同,是我们的经验,我们根据这个规律…

    2022年6月13日
    51
  • BeanUtils.populate 使用笔记

    BeanUtils.populate 使用笔记最近在学习网站开发,在后端获取网站请求数据的时候用到了BeanUtils.populate()方法,具体用法是:BeanUtils.populate(objectobj,Map<String,String[]>map);于是我就在想这个方法是怎么把map中的数据封装到obj对象里的。打开源码看,看别人写的代码是真难受,看了半天还是没看懂。上网搜了一下,发现多数都是在讲用法…

    2022年7月13日
    20
  • python初级:基础知识学习-循环、列表、元组、集合、字典

    python初级:基础知识学习-循环、列表、元组、集合、字典

    2021年10月6日
    33

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号