当前位置: 首页 > news >正文

【音视频】WebRTC 开发环境搭建-Web端

一、开发环境搭建

1.1 安装vscode

下载VSCode:https://code.visualstudio.com/,下载后主要用于开发Web前端页面,编写前端代码

安装完成后下载Live Server插件,用于本地开发,实时加载前端页面

在这里插入图片描述

1.1.1 前端代码测试

下面是一个简单的前端代码,使用了htmlJavaScript

<!DOCTYPE html>
<html><body><h2>Body 中的 JavaScript</h2><p id="demo">一个段落。</p><button type="button" onclick="myFunction()">试一试</button><script>function myFunction() {document.getElementById("demo").innerHTML = "段落已被更改。";}</script></body>
</html>

在这个页面右键选择Open witn Live Server,即可在浏览器查看本地页面

在这里插入图片描述

效果如下:

在这里插入图片描述

1.3 安装node.js

在Ubuntu下,使用wget命令下载node.js的安装包

wget https://nodejs.org/dist/v0.10.16/node-v0.10.16-linux-x64.tar.gz

下载后解压

tar -xvf node-v0.10.16-linux-x64.tar.gz 

为了方便我们启动nodenpm命令,我们可以将安装好的可执行文件的路径,软链接到系统路径/usr/local/bin目录下,这样在任意位置都可以启动这个,类似环境变量的感觉

sudo ln -s /home/liuhang/webrtc/node-v0.10.16-linux-x64/bin/npm /usr/local/bin
sudo ln -s /home/liuhang/webrtc/node-v0.10.16-linux-x64/bin/node /usr/local/bin

配置完成后,测试一下是否可以执行对应的可执行文件

node -v
npm -v

在这里插入图片描述

1.4 下载coturn

coturn 是一款开源的 STUN/TURN 服务器实现,全称为 “Core TURN Server”,由 RFC 5766(TURN 协议)和 RFC 5389(STUN 协议)的主要作者之一开发,是目前 WebRTC 实时通信场景中最常用的 STUN/TURN 服务器解决方案。

克隆github的仓库,下载coturn源码

git clone https://github.com/coturn/coturn

下载完成后,进入到coturn文件夹下

cd coturn

监检测前环境、生成Makefile,然后就可以执行编译、安装指令了

./confuture
sudo make -j8 && sudo make install

1.4.1 测试coturn服务器

按照下述指令,启动我们的服务器,添加&表示后台启动

sudo nohup turnserver ‐L 0.0.0.0 ‐a ‐u liuhang:123456 ‐v ‐f ‐r nort.gov &

然后使用lsof -i命令查看出3478端口被占用的情况,如果出现LISTEN字段,说明服务器启动起来的

sudo lsof -i:3478

在这里插入图片描述

如果搭建在公网的话,还可以使用下述官方网址进行测试,由于我这里是搭建在虚拟机,所以就不测试了

测试网址:https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/

更多资料:https://github.com/0voice

http://www.xdnf.cn/news/1212463.html

相关文章:

  • 服务器与电脑主机的区别,普通电脑可以当作服务器用吗?
  • Python 程序设计讲义(36):字符串的处理方法——去除字符串头尾字符:strip() 方法、lstrip() 方法与rstrip() 方法
  • 原生微信小程序实现语音转文字搜索---同声传译
  • ERP架构
  • MySQL学习---分库和分表
  • 简述:关于二轮承包地确权二轮承包输出数据包目录结构解析
  • 《UE教程》第三章第五回——第三人称视角
  • 【编号65】广西地理基础数据(道路、水系、四级行政边界、地级城市、DEM等)
  • DooTask教育行业功能:开启高效学习协作新篇章
  • 每天五分钟:Linux网络配置与命令_day9
  • 大语言模型API付费?
  • 力扣 hot100 Day60
  • ConcurrentHashMapRedis实现二级缓存
  • 【网络工程师软考版】路由协议 + ACL
  • eBPF 赋能云原生: WizTelemetry 无侵入网络可观测实践
  • NSGA-III(非支配排序遗传算法 III)求解 7 目标的 DTLZ2 测试函数
  • Redis学习------缓存雪崩
  • Spring Boot音乐服务器项目-查询喜欢的音乐模块
  • 企业级应用安全传输:Vue3+Nest.js AES加密方案设计与实现
  • 常见CMS获取webshell的方法-靶场练习
  • 基于 Hadoop 生态圈的数据仓库实践 —— OLAP 与数据可视化(三)
  • YOLOv5u:无锚点检测的革命性进步
  • 智能AI医疗物资/耗材管理系统升级改造方案分析
  • 【C++】类和对象(中)拷贝构造、赋值重载
  • BT131-800-ASEMI家电领域专用BT131-800
  • Hutool 的 WordTree(敏感词检测)
  • 第2章 cmd命令基础:常用基础命令(2)
  • 中国高铁从追赶到领跑的破壁之路
  • 磁盘io查看命令iostat与网络连接查看命令netstat
  • FFmpeg,如何插入SEI自定义数据