livekit 环境搭建

news2024/11/15 10:22:47

目录

livekit介绍

搭建开发环境

goland编译

运行server

启动server

通过lk命令加入房间

通过web打开本地摄像头 

通过goland调试livekit 

livekit介绍

livekit是一个开源的webrtc服务器,性能十分强大,房间管理、redis、信令业务、流媒体sfu都支持

具体见:

https://github.com/livekit/livekit

搭建开发环境

下载源码

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

可以按官方介绍的通过命令行来编译

环境要求 go版本1.22以上

  • Go 1.22+ is installed
  • GOPATH/bin is in your PATH
1、//进入刚才下载的源码目录
cd livekit

2、//通过 mage来编译
./bootstrap.sh
mage

编译完成后,会在bin目录下生成一个可执行程序 livekit-server 

goland编译

也可以通过goland编译、调试,通过goland调试时需要注意一点,需要修改编译环境为目录

运行==》编辑配置 ,运行种类选择“Directory"路径,默认是文件,要把它改成”Directory"目录

不然会报 commands的函数 generateKeys未定义

运行server

一、生成运行项目需要的key 。

需要通过lk生成访问秘钥,首先需要安装 lk,然后再通过lk生成访问秘钥

https://github.com/livekit/livekit-cli

安装很简单,clone 之后

git clone https://github.com/livekit/livekit-cli
make install

执行下面的命令

lk create-token \
    --api-key 356APISejy567Mgg9X7wYzw   --api-secret 2ll78HjY2MvB2yGSCueswesd28GnuhjGN4c02JuijhclQ \
    --join --room my-first-room --identity user1 \
    --valid-for 24h

1、key和 secret 自己随便填就行

2、房间名 my-first-room,随机填

3、用户名 user1,最好生成两个用户的,同样命令把user1改成user2,

 这样两个用户进入同一个房间就能互相开视频了

二、保存下生成结果

执行完成后,就会生成对应的访问token

lk create-token \
    --api-key 356APISejy567Mgg9X7wYzw   --api-secret 2ll78HjY2MvB2yGSCueswesd28GnuhjGN4c02JuijhclQ \
    --join --room my-first-room --identity user1 \
    --valid-for 24h
valid for (mins):  1440
Token grants:
{
  "roomJoin": true,
  "room": "my-first-room"
}

Access token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MjQ5MTYyNTQsImlzcyI6IjM1NkFQSVNlank1NjdNZ2c5WDd3WXp3IiwibmFtZSI6InVzZXIxIiwibmJmIjoxNzI0ODI5ODU0LCJzdWIiOiJ1c2VyMSIsInZpZGVvIjp7InJvb20iOiJteS1maXJzdC1yb29tIiwicm9vbUpvaW4iOnRydWV9fQ.-PG30xYdVCe7IT4PqNsT0i194x55N92PH8kuiQgTYt8

启动server

keys 就是刚才自己生成的 key和secret,注意key和secret之间有个空格

./bin/livekit-server --keys  "356APISejy567Mgg9X7wYzw: 2ll78HjY2MvB2yGSCueswesd28GnuhjGN4c02JuijhclQ"

通过lk命令加入房间

key还是刚才自己写的key和secret

lk room join --identity user1 --api-key "356APISejy567Mgg9X7wYzw"  --api-secret "2ll78HjY2MvB2yGSCueswesd28GnuhjGN4c02JuijhclQ" --publish-demo my-first-room

运行效果如下: 

通过web打开本地摄像头 

打开这个网址,输入刚才生成的 access token

https://meet.livekit.io/?tab=custom

 连接成功后就能打开本地摄像头,user1和user2两个用户都执行同样的操作,分别填入自己的access token

效果如下,一个房间内两个用户user1和user2就能互相看到了,这个例子中我只打开了一个摄像头

通过goland调试livekit 

首先添加程序运行的启动参数keys。

运行==》编辑配置===》程序实参,

填入刚才生成的keys和secret对

填入参数:

--keys "356APISejy567Mgg9X7wYzw: 2ll78HjY2MvB2yGSCueswesd28GnuhjGN4c02JuijhclQ"

 然后运行==》调试 

再次打开前面的网页,此时该网页就会连接到你本地的goland运行的livekit-server了,就可以直接调试了。

比如随机加个断点,就能展示出调用堆栈,方便代码阅读

本篇文章结束、感谢您的阅读

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2081888.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PMP备考经验 | 如何做到一次考过3A?

一,直播课的学习 面对大量场景阅读题,且刷题也基本没原题的PMP考试,从报名的时候就知道临考刷题大法肯定是行不通的,也想把这个证好好学下去真的成为项目管理专家。 于是第一个周末的直播课两天跟随听课,认真做笔记&am…

数据结构——链表学习

数据结构初步了解 链表是数据结构的一部分,所以我想先理清数据结构的要点: 它们说:程序算法数据结构,在计算机中,把所有可以输入到计算机中能被计算机进行处理的符号的总称叫做数据。 数据结构包括两部分&#xff0…

美畅物联丨物联网平台的标准化之路:物模型设计的创新及应用

随着物联网(IoT)技术以前所未有的迅猛之势蓬勃发展,海量的物联网终端与应用纷纷接入,这不可避免地引发了数据与应用层面的异构化难题,进而形成了复杂且多变的碎片化问题。物联网感知数据因其具备多源异构的显著特性&am…

基于vue框架的病房管理系统设计与实现uilp1(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能:患者,医护人员,患者病历,医院病房,住院信息,科室,病房预约,住院费用 开题报告内容 基于Vue框架的病房管理系统设计与实现开题报告 一、引言 随着医疗信息化建设的不断深入,病房管理作为医院日常运营的核心环节之一&#x…

VMware Workstation虚拟机 + 许可证密钥

VMware Workstation虚拟机 许可证密钥 VMware Workstation是什么?VMware简介VMware 安装VMware系统要求VMware 版本下载地址许可证序列码看这里 !!!!! VMware Workstation是什么? VMware简介 …

揭开容器的面纱:容器技术全景概述

随着云计算的快速发展,容器技术已经成为IT行业的重要组成部分。Docker作为一种领先的容器化技术,为应用程序的开发、部署和运行带来了革命性的变化。本篇文章将详细介绍容器技术的概念、发展历程及其在现代计算中的应用。通过对Docker的深入了解&#xf…

友思特方案 | 基于三维点云实现PCB装配螺丝视觉检测

导读 三维点云是完成精密化 PCB 检测的最新视觉技术。友思特 Saccde Vision 视觉扫描系统,采用先进的三维成像技术和算法输出直观点云图,进一步确保了PCB生产的可靠性与稳定性能。 在电子产品的生产过程中,PCB(Printed Circuit B…

streamlit+wordcloud使用pyinstaller打包遇到的一些坑

说明 相比常规的python程序打包,streamlit应用打包需要额外加一层壳,常规app.py应用运行直接使用 python app.py就可以运行程序了,但streamlit应用是需要通过streamlit命令来运行 streamlit app.py所以使用常规的pyinstaller app.py打包是…

阿里云服务器自带多少DDoS防护?小编为你详细揭秘!

大家好呀!今天小编来聊聊一个很多朋友都关心的问题:阿里云服务器自带多少DDoS防护?随着网络攻击手段的日益猖獗,DDoS攻击对企业业务的威胁越来越大,选择一个安全可靠的云服务器至关重要。阿里云作为国内领先的云计算服…

宝宝自闭症的表现与理解

自闭症,又称孤独症,是一种复杂的神经心理障碍,它影响患儿的脑部发展,并在社交沟通、兴趣和行为上表现出明显的异常。自闭症通常在幼儿期就有所体现,但很多时候,家长在宝宝一岁前后才会开始注意到这些异常表…

排序算法刷题笔记【牛客网】

排序算法刷题笔记【牛客网】 排序算法刷题记录,来自牛客网,主要是有些题目会去搜一下相关知识,这里就用来做笔记,类似错题本了。 会持续更新…… 其实就是把45前面的排好了,然后45从后往前比较。 45前面的排列&#xf…

高级问题解决查询搜索网址

1、世界上最大的技术问答网站,里面问题的种类很多,回答的质量也很高,当你在谷歌等搜索引擎没能得到满意的答案的时候,可以到Stack Overflow上看 2、Reddit是一个全球性的社交新闻网站和讨论平台,用户可以在这里分享、…

grafana可视化 安装及集成zabbix数据源详细教程

目录 grafana简介安装grafana安装示例汉化(选做)启动访问web界面 安装zabbix插件在线安装离线安装启用插件 配置zabbix数据源 grafana简介 Grafana是一个功能强大、灵活性高、易于使用的数据可视化工具,广泛应用于各种领域,包括I…

el-input-number,增加清空icon按钮,输入值居左(左对齐)、去除控制按钮

:controls"false"&#xff0c;不使用控制按钮&#xff1b; <div><span class"label">金额</span><divstyle"width: 100%;border: solid 1px rgba(0, 0, 0, 0.1); border-radius: 4px; display: flex;align-items: center;"…

比裁员更侮辱人的事发生了。。。

在这个快节奏的时代&#xff0c;职场如战场&#xff0c;每个人都在为了生存而奋斗。但你有没有遇到过这样的情况&#xff1a;工作量突然增加&#xff0c;薪水却纹丝不动&#xff1f; 最近某位网友爆料&#xff0c;他们公司裁掉两名员工&#xff0c;一个月薪一万七&#xff0c;…

解决npm下载依赖速度慢的问题

&#x1f31f; 前言 欢迎来到我的技术小宇宙&#xff01;&#x1f30c; 这里不仅是我记录技术点滴的后花园&#xff0c;也是我分享学习心得和项目经验的乐园。&#x1f4da; 无论你是技术小白还是资深大牛&#xff0c;这里总有一些内容能触动你的好奇心。&#x1f50d; &#x…

CC工具箱使用指南:【DAT转要素类】

一、简介 这是一个将特定的DAT文件批量转换为GDB点要素类的工具。 用记事本打开DAT文件&#xff0c;长这样&#xff1a; 数据比较简单&#xff0c;就是一些点坐标&#xff0c;一行一个点&#xff0c;包括XYZ三个坐标。 二、工具参数介绍 点击【定制2】组里的【DAT文件转要素…

python-译码(赛氪OJ)

[题目描述] 在机器学习中&#xff0c;现在定义一种编码规则&#xff1a;对于长度为 3的字符串&#xff08;均由小写字母组成&#xff09;&#xff0c;首先按照字典序进行排序&#xff0c;即 aaa&#xff0c;aab&#xff0c;aac&#xff0c;…&#xff0c;zzz。 将这些字符串按照…

合宙LuatOS开发板使用手册——Air700EAQ

EVB-Air700EL&700EY 开发板是合宙通信推出的基于 Air700EL&700EY 模组所开发的&#xff0c; 包含电源&#xff0c;SIM 卡&#xff0c;USB&#xff0c;PCB 天线等必要功能的最小硬件系统。 以方便用户在设计前期对 模块进 行性能评估&#xff0c;功能调试&#xff0c;软…

知识图谱——语义知识库的开端(1)

从最初的 Google 搜索&#xff0c;到如今的聊天机器人、大数据风控、证券投资、智能医疗、自适应教育、推荐系统等各个领域&#xff0c;知识图谱的应用无处不在。知识图谱&#xff08;Knowledge Graph&#xff09;的概念由 Google 在 2012 年正式提出&#xff0c;旨在打造更智能…