目录
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了,就可以直接调试了。
比如随机加个断点,就能展示出调用堆栈,方便代码阅读
本篇文章结束、感谢您的阅读