WebRTC的源码中自带了一个turnserver,编译之后,会在out/Default下生成一个turnserver文件,可以充当STUN和TURN server。用法如下:

./turnserver int_addr ext_addr realm auth_file

int_addr指的是面对turnclient,接收turnclient数据的ip和端口,形式是host:port,例如192.168.1.12:3478

ext_addr是公共IP(可能是公网IP,内网使用则可能是相对于NAT的公共IP),例如192.168.1.12

realm是类似example.com之类的。

auth_file是认证需要的文本文件。内容是 username=<hash>这样的数据,一行一个用户。(注意这里的格式和coturn不太一样)

hash值用这个命令生成:

echo -n "<username>:<realm>:<password>" | md5sum

我跑的一个示例是这样的:

./turnserver 192.168.12.101:3478 192.168.12.101 quanshi.com users.txt

关于这些信息,更详细的,可以看源代码,位置:

webrtc/examples/turnserver/turnserver_main.cc

如果要修改turnserver,想单独编译,在src/out/Default下执行下列命令:

ninja turnserver

参考:

  • Ubuntu 14.04下编译WebRTC
  • WebRTC学习资料大全

WebRTC源码中turnserver的使用方法相关推荐

  1. Python:如何查看一个对象有哪些属性、方法以及查询源码中只有pass的方法的参数

    Python:如何查看一个对象有哪些属性.方法以及查询源码中只有pass的方法的参数 1.问题背景 2.解决思路 2.1.查看对象有哪些属性或方法 2.1.1.dir()函数 2.1.2.help命令 ...

  2. vue 拷贝 数组_vue源码中值得学习的方法

    最近在深入研究vue源码,把学习过程中,看到的一些好玩的的函数方法收集起来做分享,希望对大家对深入学习js有所帮助.如果大家都能一眼看懂这些函数,说明技术还是不错的哦. 1. 数据类型判断 Objec ...

  3. android 静态工厂方法,Android 源码中的静态工厂方法

    我们知道工厂模式有三兄弟,通常我们说的工厂模式指的是工厂方法模式,它的应用频率最高.本篇博客分享的简单工厂模式是工厂方法模式的"小弟",确切的来讲它不属于设计模式,而是一种方法.此 ...

  4. Google 源码中电池百分比获取方法和格式转换

    Google 源码的电池百分比获取和转换 package com.android.settingslib;public class Utils {/** Formats a double from 0 ...

  5. android源码中常用的Rect方法

    inset dirty.inset(-1, -1); 缩小还是扩大矩形.如果为正值,则是缩,反之就是扩. dx:左边及右边 dy:上边及下边 offset dirty.offset(0, -mCurS ...

  6. ABP框架源码中的Linq扩展方法

    文件目录:aspnetboilerplate-dev\aspnetboilerplate-dev\src\Abp\Collections\Extensions\EnumerableExtensions ...

  7. vue操作dom_vue源码全面解析(四十六)源码中操作DOM的方法集合

    // 查找节点是否存在,如果不存在新建一个div元素返回function query (el) { if (typeof el === 'string') { var selected = docum ...

  8. webrtc源码分析之-从视频采集到编码流程

    peer_connection中从视频采集到编码的流程 摘要:本篇文章主要讲述当我们通过peer_connection完成推流时,视频从采集到编码是如何衔接的. 既,视频采集后如何传送到编码器.重点分 ...

  9. 从WebRTC SDP实现源码中寻找video codec的来源

    近期因为需要修改一下WebRTC源码里的sdp信息,主要是音频和视频部分,所以看了一下native部分的实现,这里简单记录一下分析过程,主要是根据sdp字符串查找video codec的来源.注意本文 ...

最新文章

  1. python环境搭建_搭建Python编程环境
  2. FCKeditor 2.6 精简版
  3. pcm 8k单声道和双声道采样_音频接口PCM
  4. 三极管的“非教科书式”解析,什么正偏、反偏都统统滚蛋!
  5. 机器学习竞赛中,为什么GBDT往往比深度学习更有效?
  6. VSTS For Testers读书笔记(5)
  7. ubuntu1404_server搭建lamp
  8. 提高对邮件的认识,两类邮件都要重视!!(不光有和客户的邮件工作方面的,还有单位的邮件一些联系事项),还有要自己看清楚邮件的全部内容,不要丢三落四!!
  9. G - 取石子游戏 HDU - 2516 (斐波那契博弈)
  10. 02.二叉树打印.md
  11. TOP100summit:【分享实录-猫眼电影】业务纵横捭阖背后的技术拆分与融合
  12. 前端学习-数据可视化(个人笔记)
  13. Oracle 基于用户管理恢复的处理
  14. 男人应该做的50件事(1-16)
  15. python求平均数保留两位小数_python求平均数、方差、中位数的例子
  16. 钉钉机器人实现打卡提醒定时任务
  17. Arthas-idea
  18. 微信支付服务商加密字段解析。
  19. C++生成随机整数和随机种子
  20. 【线性代数】三、特征值和特征向量

热门文章

  1. VSCode-工控机远程开发 之(一) VSCode无法连接扩展商店
  2. Three.js入门指南
  3. 【论文笔记】AAAI2022多智能体强化学习论文五篇
  4. 老年人怎么办理美国旅游签证?
  5. 支付宝小程序使用MQTT over WebSocket连接阿里云IoT物联网平台
  6. java 提现,利用java实现提现金额到支付宝账户的功能,提现一万手续费多少
  7. 三星T7装Linux系统,Ubuntu已成为三星ARTIK 5/7的主力GNU/Linux系统
  8. 解读小米模式:颠覆式创新者的背后
  9. 聊城大学计算机学院2016级11班,E·社会实践 | “观运河风采,忆聊城古韵”——2016级11班...
  10. PowerDesigner 模型生成转化为sql脚本