WebRTC这几年很火,本篇文章我们就讲讲如何快速搭建一个webrtc服务器。

什么是WebRTC

WebRTC是一个由Google发起的实时通讯解决方案,其中包含视频音频采集,编解码,数据传输,音视频展示等功能,我们可以通过技术快速地构建出一个音视频通讯应用。虽然其名为WebRTC,但是实际上它不光支持Web之间的音视频通讯,还支持Android以及IOS端,此外由于该项目是开源的,我们也可以通过编译C++代码,从而达到全平台的互通。

pion是golang语言开发的一个开源的流媒体框架,本次搭建我们就基于pion这个框架进行展开

首先我们从一个国内的镜像网站下载sfu服务器源码

git clone https://hub.fastgit.org/pion/ion-sfu.git

下载完毕,进入目录

cd ion-sfu/

编译服务程序

go build cmd/signal/json-rpc/main.go

此时本地会产生一个 名称为main.exe 的可执行文件

修改一下配置文件  config.toml

将icelite 设为true

将nat1to1设为本地IP

改完配置文件运行程序,

./main.exe

此时服务器已完成搭建,接下来我们在网页端进行验证。

网页端代码在 examples/pubsubtest/,

cd examples/pubsubtest/

其中 main.js文件需要改一下,将serverurl改为我们sfu服务的地址

我们可以使用nginx做web服务器,也可以自己使用golang写一个,我这里在windows平台自己写一个更方便点,代码我提交到了gitee,大家可以直接下载下来编译

https://gitee.com/zshaobo/webserver.git

go build

生成一个webserver.exe可执行程序

运行程序

./webserver.exe

打开网页,输入127.0.0.1,此时应该是顺利打开我们的webrtc客户端。

再看sfu服务端,可看到客户端连接服务器的一些信息

进行publish推流

另起一个窗口,打开127.0.0.1,此时可看到那边推流过来的视频

至此,我们就完成整个webrtc的搭建过程。

此外,如果我们系统安装的有docker的话,那么我们可以直接进入ion-sfu\examples\pubsubtest目录,执行命令

docker-compose up

然后执行成功后就算完成了整个WebRTC的搭建,访问8000端口进行验证

从0开始,快速简单搭建webrtc服务器相关推荐

  1. 阿里云上搭建webRTC 服务器——Licode

    阿里云上搭建webRTC 服务器--Licode 系统配置 阿里云服务器 Ubuntu 14.04.5 LTS Docker 环境搭建 在一台空的机器上搭建docker环境,先要安装docker,执行 ...

  2. RHEL4- SAMBA服务(四)在x-window下图形界面简单搭建samba服务器

    RHEL4- SAMBA服务(四)在x-window下图形界面简单搭建samba服务器       在<RHEL4- SAMBA服务(一)samba服务的安装与启动>中我讲了如何安装和启动 ...

  3. 数仓(十)从0到1简单搭建加载数仓DWS层

    数仓(一)简介数仓,OLTP和OLAP 数仓(二)关系建模和维度建模 数仓(三)简析阿里.美团.网易.恒丰银行.马蜂窝5家数仓分层架构 数仓(四)数据仓库分层 数仓 (五) 元数据管理系统解析 数仓( ...

  4. 搭建WebRTC服务器

    1.服务组成 1.AppRTC 房间服务,代码:github.com/webrtc/appr- 2.Collider 信令服务,AppRTC源码里自带 3.CoTurn 打洞服务,代码:github. ...

  5. 基于Ubuntu16.04(64位)搭建WebRTC服务器(目前搭在局域网)

    我的电脑是win764位,WebRTC只能在Linux下搭建,所以我就在虚拟机Ubuntu16.04上搭建的服务器,Ubuntu16.04的apt源不好,有些更新下载不了,就算是翻墙了,还是找不到资源 ...

  6. 如何搭建webrtc服务器系列之一:Janus WebRTC Server

    webrtc服务器有很多,janus/kurento/licode/mediasoup/jitsi,各有优缺.评价较好是janus. 搭建janus可以参考janus主页: https://janus ...

  7. 在centos环境中简单搭建邮件服务器

    前言 邮件收.发服务器是分开的,也就是我们需要搭建一个邮件发送服务器(Postfix)和一个邮件收取服务器(Dovecot). 本文会搭建收.发两个服务器,并用邮件客户端(Foxmail,outloo ...

  8. 简单搭建webrtc

    webrtc 网页点对点demo搭建 1.前言 "它(WebRTC)允许网络应用或者站点,在不借助中间媒介的情况下,建立浏览器之间点对点(Peer-to-Peer)的连接,实现视频流和(或) ...

  9. c++连接云服务器_如何简单搭建Minecraft服务器

    前置需求: 1.能够24小时不间断运行的计算机 2.公网IP地址 或: 一台云服务器 由于服务器硬件需要自行维护,公网IP申请也有一定难度,会带来许多不必要的麻烦,因此如果只是跟朋友一起玩,服务器人数 ...

最新文章

  1. Web目录全能扫描工具DirBuster
  2. 2018 icpc 徐州现场赛G-树上差分+组合数学-大佬的代码
  3. hdu1255 扫描线,矩形重叠面积(两次以上)
  4. 线程: ReentrantLock类
  5. 职业标准体系一般有几个层次划分_全国首个粤菜标准体系规划发布
  6. Java8 Stream详解~排序:sorted
  7. [必看]首先要求做到的事情![sumtec]
  8. WebService基础学习
  9. 虚拟机如何装linux6,如何在vmvare中安装redhat linux6虚拟机
  10. 5个常用的Java微服务开源框架推荐
  11. 人工智能-马尔可夫模型
  12. P2P追债也用上大数据
  13. emmc/ufs, sd
  14. HTML网页设计——轮滑运动体育类人物介绍主题12页面毕业设计网页
  15. Kafka常用命令收录
  16. 由pyproject.toml引发的讨论
  17. 研究一下Chocolatey
  18. 查看 android 版本,如何查看Android的系统版本?
  19. Video Grounding
  20. SW4STM32/AC6/Turestudio创建工程 适用linux开发STM32

热门文章

  1. 他爱在黑暗中漫游(来自《德国诗选》)
  2. Video.js 播放m3u8直播流
  3. 金税四期真的来了!高压下合理税收筹划如何展开?
  4. 融云任杰:技术和客户积累是壁垒,疫情为音视频行业带来深远影响
  5. 在express项目中使用formidable multiparty实现文件上传
  6. 提高mysql插入速度的方法
  7. zathura 快捷键
  8. 洛谷P1848 [USACO12OPEN]书架Bookshelf
  9. ubuntu更换python pip国内源
  10. IFIT2022-智能城市环境中的医疗物联网:基于量子同态加密的医疗成像架构