webrtc学习笔记1

WebRTC开发环境

配置vscode

安装插件

Prettier Code Formatter 使用 Prettier 来统一代码风格,当保存 HTML/CSS/JavaScript 文件时,它会自动调整代码格式。

Live Server:在本地开发环境中,实时重新加载(reload)页面。

第一个简单的HTML页面

复制代码
<html>
    <body>
        <h1>标题1</h1>

        <p>第一个段落.</p>
        <p>我的第一个HTML页面</p>
    </body>
</html>

运行时

安装 nodejs

  1. 下载nodejs

    wget https://nodejs.org/dist/v10.16.0/node-v10.16.0-linux-x64.tar.xz

  2. 解压文件

    1 # 解压
    2 tar ‐xvf node‐v10.16.0‐linux‐x64.tar.xz
    3 # 进入目录
    4 cd node‐v10.16.0‐linux‐x64/
    5 # 查看当前的目录
    6 pwd

  3. 链接执行文件

    1 # 确认一下nodejs下bin目录是否有node 和npm文件,如果有就可以执行软连接,比如
    2 sudo ln ‐s /home/lqf/webrtc/nodejs/bin/npm /usr/local/bin/
    3 sudo ln ‐s /home/lqf/webrtc/nodejs/bin/node /usr/local/bin/
    4
    5 # 看清楚,这个路径是你自己创建的路径,我的路径是/home/lqf/webrtc/nodejs
    6
    7 # 查看是否安装,安装正常则打印版本号
    8 node ‐v
    9 npm ‐v

第一个node.js程序

js 复制代码
var http=require('http');

http.createServer(function(request,response){
    // 发送 HTTP 头部
    // 内容类型: text/plain
    // HTTP 状态值: 200 : OK
    response.writeHead(200, {'Content-Type': 'text/plain'}); 
    // 发送响应数据 "Hello World"
    response.end('Hello World\n');

}).listen(8888);

console.log('Server running at http://127.0.0.1:8888/');

在vs本地写完然后在vm运行运行代码(共享文件夹)

在windows端可以直接写ubuntu的ip:port

在ubuntu的浏览器可以直接127.0.0.1:8888

coturn穿透和转发服务器

安装依赖

ubuntu系统

复制代码
1 sudo apt‐get install libssl‐dev
2 sudo apt‐get install libevent‐dev

centos系统

复制代码
1 sudo yum install openssl‐devel
2 sudo yum install libevent‐devel

编译安装coturn

复制代码
1 git clone https://github.com/coturn/coturn
2 cd coturn
3 ./configure
4 make
5 sudo make install

查看是否安装成功

复制代码
1 # nohup是重定向命令,输出都将附加到当前目录的 nohup.out 文件中; 命令后加 & ,后台执行起来后按
ctr+c,不会停止
2 sudo nohup turnserver -L 0.0.0.0 -a -u xxx:123456 -v -f -r nort.gov &   (xxx:123456 用户名:密码)
3
4 #然后查看相应的端口号3478是否存在进程
5 sudo lsof ‐i:3478

测试地址,请分别测试stun和turn

Coturn是集成了stun+turn协议。

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

相关推荐
递归不收敛3 小时前
大语言模型(LLM)入门笔记:嵌入向量与位置信息
人工智能·笔记·语言模型
冷雨夜中漫步3 小时前
高级系统架构师笔记——数据库设计基础知识(5)Armstrong公理系统、无损连接和有损连接
笔记·系统架构
deng-c-f4 小时前
Linux C/C++ 学习日记(28):KCP协议(四):如何实现更复杂的业务:将连接状态的管理进行封装,用户只需实现发送、接收、断开的处理逻辑。
学习·网络编程·kcp
im_AMBER5 小时前
算法笔记 05
笔记·算法·哈希算法
Element_南笙6 小时前
吴恩达新课程:Agentic AI(笔记2)
数据库·人工智能·笔记·python·深度学习·ui·自然语言处理
koo3647 小时前
李宏毅机器学习笔记21-26周汇总
人工智能·笔记·机器学习
.小小陈.7 小时前
数据结构2:单链表
c语言·开发语言·数据结构·笔记·学习方法
立志成为大牛的小牛7 小时前
数据结构——二十三、并查集的终极优化(王道408)
开发语言·数据结构·笔记·学习·程序人生·考研
全栈游侠7 小时前
04-优先级与延时链表
笔记
im_AMBER8 小时前
React 01
前端·javascript·笔记·react.js·前端框架·web