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
  1. 解压文件
1 # 解压
2 tar ‐xvf node‐v10.16.0‐linux‐x64.tar.xz
3 # 进入目录
4 cd node‐v10.16.0‐linux‐x64/
5 # 查看当前的目录
6 pwd
  1. 链接执行文件
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程序

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
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
WebRTC是一个实时通信的开源项目,其源码开发涵盖了视频编码、打包以及流程模块等。在这个开发笔记中,我将对WebRTC的视频编码打包流程模块进行图解说明。 WebRTC的视频编码打包流程主要涉及到以下几个模块:视频源模块、视频编码模块、打包模块和传输模块。 首先是视频源模块,它负责从摄像头或者文件中获取视频数据。该模块通过调用底层API来获取视频帧,并将其传递给下一个模块。 接下来是视频编码模块,它负责将获取到的视频帧进行压缩编码。具体来说,该模块会对视频帧进行压缩算法处理,将其转换为可传输的数据格式。WebRTC支持多种视频编码算法,如VP8、H.264等。 然后是打包模块,它负责将编码后的视频数据打包成数据包。该模块会对视频数据进行分片,并为每个片设置头部信息,以便接收端能够正确解析和处理。 最后是传输模块,它负责将打包好的视频数据通过网络传输到接收端。该模块依赖于网络协议,如UDP或TCP等进行数据传输。在传输过程中,还会涉及到网络拥塞控制和丢包重传等机制,以保证传输的稳定性和可靠性。 以上就是WebRTC视频编码打包流程模块的图解说明。通过这些模块的协作,WebRTC能够实现实时的视频传输和通信功能。开发者可以根据需要对各个模块进行定制和扩展,以满足不同的应用场景需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值