Livekit本地部署Egress录制服务

news2024/9/24 13:14:15

Livekit本地部署Egress录制服务

Egress官方推荐使用Docker方式部署。官方文档

创建Egress配置文件

新建config文件

vim config.yaml

config.yaml文件内容


log_level: debug

#  api_key 参考livekit 部署 配置的 
api_key: 2yJimTMFeF9h15PHEv
api_secret: Mvi9ZgqGJ3LqwEAcTVvWse3conEyQt92FEKTVERzd

# livekit  的地址,切记本地不要用 wss:ip  假证书这种形式
ws_url: ws://10.50.103.1:7880
# 布局模板路径
template_base: /templates
# 可用于连接到不安全的websocket 本地部署一定要改为true
insecure: true

redis:
  # reids 地址 注意和 livekit 配置的reids 一致
  address: 10.50.7.1:6379
  password: redis密码
  db: 0

Docker 部署 Egress 服务

视频存放目录和模板存放目录赋权

chmod 777 /root/Egress/output
chmod 777 /root/Egress/templates

使用以下命令启动 LiveKit Egress 服务的 Docker 容器:

docker run -d \
  --name livekit-egress \
  --cap-add SYS_ADMIN \
  -e EGRESS_CONFIG_FILE=/config.yaml \
  -v /root/Egress/config.yaml:/config.yaml \
  -v /root/Egress/output:/output \
  -v /root/Egress/templates:/templates \
  livekit/egress



参数说明:
  • -d:让容器在后台运行(守护模式)。
  • –name livekit-egress:给容器指定一个名称 livekit-egress,方便管理。
  • -v /root/Egress/config.yaml:/config.yaml:将主机上的 /root/Egress/config.yaml 配置文件挂载到容器内的 /config.yaml 路径。
  • -v /root/Egress/output:/output:将主机上的 /root/Egress/output 目录挂载到容器内的 /output 目录,录制文件会保存在这里。
  • -v /root/Egress/templates:/templates:将主机上的 /root/Egress/templates 目录挂载到容器内的 /templates 目录(假设你的 Egress 需要模板)。
  • livekit/egress:指定要运行的 Docker 镜像,即 livekit/egress。
  • –config /config.yaml:告诉 livekit-egress 服务使用容器内的 /config.yaml 作为配置文件。
验证和注意事项:
  • 路径检查:确保 /root/Egress/config.yaml、/root/Egress/output 和 /root/Egress/templates 在主机上确实存在并且内容正确。
  • 权限检查:确保 Docker 进程对这些路径具有读取权限,尤其是在 /root 目录下。
  • 容器检查:使用 docker ps 检查容器是否正在运行,使用 docker logs livekit-egress 查看日志,确保服务启动没有报错。

官方配置文件详解


以下是 LiveKit Egress 官方配置文件的逐行解释:

必填字段 (Required fields)
api_key: livekit server api key

作用: 指定 LiveKit 服务器的 API 密钥,用于验证和访问 LiveKit 服务。可以通过环境变量 LIVEKIT_API_KEY 来代替该配置。
示例: api_key: YOUR_LIVEKIT_API_KEY
api_secret: livekit server api secret

作用: 指定 LiveKit 服务器的 API 秘钥,用于与 api_key 配合进行身份验证。可以通过环境变量 LIVEKIT_API_SECRET 来代替该配置。
示例: api_secret: YOUR_LIVEKIT_API_SECRET
ws_url: livekit server websocket url

作用: 指定 LiveKit 服务器的 WebSocket URL,Egress 服务将通过该 URL 连接到 LiveKit 服务器。可以通过环境变量 LIVEKIT_WS_URL 来代替该配置。
示例: ws_url: ws://your-livekit-server:7880
redis:

作用: 配置 Redis 数据库的连接信息,Redis 用于 LiveKit 的消息队列和存储。
子字段:
	address: must be the same redis address used by your livekit server
	作用: 指定 Redis 服务器的地址,必须与 LiveKit 服务器使用的 Redis 地址一致。
	示例: address: 127.0.0.1:6379
	username: redis username
	作用: 指定 Redis 的用户名(如果有设置)。
	示例: username: redis_user
	password: redis password
	作用: 指定 Redis 的密码(如果有设置)。
	示例: password: redis_password
	db: redis db
	作用: 指定 Redis 数据库的编号。
	示例: db: 0
可选字段 (Optional fields)
health_port: if used, will open an http port for health checks

作用: 如果配置,将打开一个 HTTP 端口用于健康检查,允许监控服务的运行状态。
示例: health_port: 8081
template_port: port used to host default templates (default 7980)

作用: 指定用于托管默认模板的端口,默认值为 7980。
示例: template_port: 7980
prometheus_port: port used to collect prometheus metrics. Used for autoscaling

作用: 指定用于收集 Prometheus 指标的端口,通常用于自动扩展监控。
示例: prometheus_port: 9090
log_level: debug, info, warn, or error (default info)

作用: 设置日志级别,可以选择 debug(调试)、info(信息)、warn(警告)或 error(错误)。
示例: log_level: info
template_base: can be used to host custom templates (default http://localhost:<template_port>/)

作用: 指定用于托管自定义模板的 URL 基础路径。默认使用 http://localhost:<template_port>/。
示例: template_base: http://localhost:7980/
enable_chrome_sandbox: if true, egress will run Chrome with sandboxing enabled. This requires a specific Docker setup, see below.

作用: 如果设置为 true,Egress 将在启用沙盒的情况下运行 Chrome。这需要特定的 Docker 配置,通常用于提高安全性。
示例: enable_chrome_sandbox: false
insecure: can be used to connect to an insecure websocket (default false)

作用: 如果设置为 true,允许 Egress 连接到不安全的 WebSocket。这在开发环境中常用。
示例: insecure: true
文件上传配置 (File upload config)
此部分用于配置录制文件的上传目的地,只能选择一个配置(S3、Azure 或 GCP)。这些配置可以在每个请求中被覆盖。

s3:
作用: 配置用于将录制文件上传到 AWS S3。
	子字段:
	access_key: AWS_ACCESS_KEY_ID env can be used instead
	作用: 指定 AWS 的访问密钥。可以使用环境变量 AWS_ACCESS_KEY_ID 来代替该配置。
	secret: AWS_SECRET_ACCESS_KEY env can be used instead
	作用: 指定 AWS 的密钥。可以使用环境变量 AWS_SECRET_ACCESS_KEY 来代替该配置。
	region: AWS_DEFAULT_REGION env can be used instead
	作用: 指定 AWS 的区域。可以使用环境变量 AWS_DEFAULT_REGION 来代替该配置。
	endpoint: optional custom endpoint
	作用: 可选的自定义 S3 端点,用于连接到非 AWS 的兼容 S3 服务。
	bucket: bucket to upload files to
	作用: 指定要上传文件的 S3 存储桶名称。
 azure:
	作用: 配置用于将录制文件上传到 Azure Blob 存储。
	子字段:
	account_name: AZURE_STORAGE_ACCOUNT env can be used instead
	作用: 指定 Azure 的存储帐户名称。可以使用环境变量 AZURE_STORAGE_ACCOUNT 来代						替该配置。
	account_key: AZURE_STORAGE_KEY env can be used instead
	作用: 指定 Azure 的存储帐户密钥。可以使用环境变量 AZURE_STORAGE_KEY 来代替该	配置。
	container_name: container to upload files to
	作用: 指定要上传文件的 Azure Blob 容器名称。
gcp:
	作用: 配置用于将录制文件上传到 Google Cloud Storage。
	子字段:
	credentials_json: GOOGLE_APPLICATION_CREDENTIALS env can be used instead
	作用: 指定包含 Google Cloud 凭据的 JSON 文件路径。可以使用环境变量 	GOOGLE_APPLICATION_CREDENTIALS 来代替该配置。
	bucket: bucket to upload files to
	作用: 指定要上传文件的 Google Cloud Storage 存储桶名称。

Egress服务启动验证

使用docker logs查看日志,如有starting template server on address localhost:7980 表示启动成功了
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

项目管理的七大核心要素

项目管理不仅涉及一系列复杂的活动&#xff0c;还涵盖了多个关键要素&#xff0c;这些要素相互交织&#xff0c;共同构成了项目成功的基石。 项目管理七大要素&#xff1a; 1、明确的项目目标&#xff1a; 项目管理的起点是确立清晰、具体、可衡量的项目目标。这些目标不仅为…

新手网络爬虫利器介绍 之 移动蜂窝网络代理

移动蜂窝代理对接说明 在爬虫与反爬虫斗争愈演愈烈的情况下&#xff0c;各大网站和 App 的风控检测越来越强&#xff0c;其中一项就是 IP 封禁。 为了解决 IP 封禁的困扰&#xff0c;一个有效的方式就是设置代理&#xff0c;设置代理之后&#xff0c;爬虫可以借助代理的 IP 来…

IntelliJ IDEA 自定义字体大小

常用编程软件自定义字体大全首页 文章目录 前言具体操作1. 打开设置对话框2. 设置编辑器字体3. 设置编译软件整体字体 前言 IntelliJ IDEA 自定义字体大小&#xff0c;统一设置为 JetBrains Mono 具体操作 【File】>【Settings...】>【Editor】>【Font】 统一设置…

关于git报错please clean your repository working tree

在vscode中使用git拉取代码提示&#xff1a;在签出前&#xff0c;请清理存储库工作树。有时候在写代码前未更新远程代码&#xff0c;会出现代码冲突。 1.git stash 先将本地修改存储在暂存区2.git pull 拉取远程代码3.git stash pop 释放暂存区内容

书生大模型实战营-进阶关卡-6-MindSearch 快速部署

任务&#xff1a;将 MindSearch 部署到 HuggingFace 教程&#xff1a;https://github.com/InternLM/Tutorial/blob/camp3/docs/L2/MindSearch/readme_github.md 环境配置 打开codespace主页https://github.com/codespacescodespace主页&#xff0c;选择blank template。 新…

turtlebot 测试 Gazebo Harmonic ROS Jazzy

源码移植后理论上支持所有Gazebo和ROS版本&#xff0c;但花费时间较多。 只推荐学习Gazebo 经典版和Gazebo Harmonic以及之后版本。 在中间的过渡版本&#xff0c;不推荐学习。 Gazebo经典版包括Gazebo 7 Gazebo 9 Gazebo 11。 Gazebo Harmonic 和 ROS2 jazzy 安装和测试-CSDN博…

核心数据加密的实现方式

核心数据加密是保护企业敏感数据和技术机密的重要手段&#xff0c;它通过加密算法和密钥将明文数据转换为难以解读的密文&#xff0c;以防止数据在存储、传输或使用过程中被未授权访问或泄露。以下是对核心数据加密的详细解析&#xff1a; 一、核心数据加密的重要性 在数字化时…

短视频SDK解决方案,原开发团队,一对一技术支持

美摄科技&#xff0c;作为行业领先的视频技术提供商&#xff0c;凭借深厚的技术积累和敏锐的市场洞察&#xff0c;隆重推出其短视频SDK解决方案&#xff0c;旨在为全球开发者及内容创作者搭建一座通往无限创意与高效生产的桥梁。 【一站式解决方案&#xff0c;赋能创意无界】 …

华裔二、三代长相变迁的多维度解析

华裔二、三代长相变迁的多维度解析http://www.rebootvip.com/wenzhang/3182.html 在全球化日益加深的今天&#xff0c;华裔二、三代的长相特征逐渐展现出与传统中国人形象不同的风貌&#xff0c;这一现象背后蕴含着丰富的生物学、文化、社会及个人层面的原因。以下是对此…

8.27练习

一.创建3个线程&#xff0c;一个子线程拷贝文件的前一半&#xff0c;一个子线程拷贝后一半文件 创建两个子线程分别负责拷贝文件的前半段和后半段&#xff0c;从而提高文件拷贝的效率。父线程负责创建和管理子线程&#xff0c;并等待它们完成任务。 #include <myhead.h>…

Golang | Leetcode Golang题解之第377题组合总和IV

题目&#xff1a; 题解&#xff1a; func combinationSum4(nums []int, target int) int {dp : make([]int, target1)dp[0] 1for i : 1; i < target; i {for _, num : range nums {if num < i {dp[i] dp[i-num]}}}return dp[target] }

如何使用 Pytest 进行测试

Pytest 是一个强大的Python测试框架&#xff0c;支持简单单元测试和复杂的功能测试。它具有灵活的断言表达式、支持参数化测试、强大的插件生态系统等特点。 二、环境搭建 1、安装 Pytest&#xff1a; pip install pytest安装完成后&#xff0c;可以通过命令行检查是否安装成…

锡废水回收实验

电镀厂的锡废水回收过程中&#xff0c;需要进行一系列实验以确保回收效率和环保标准。这些实验主要包括以下几个方面&#xff1a; 一、废水成分分析实验 目的&#xff1a;了解废水中锡及其他重金属、有机物、悬浮物等的含量和性质&#xff0c;为后续处理工艺提供依据。方法&am…

‌分布式计算技术与复杂算法优化:‌现代数据处理的基石

在当今信息时代&#xff0c;‌数据已成为企业和社会发展的核心资源。‌随着数据量的爆炸性增长&#xff0c;‌传统的单机计算模式已难以满足高效数据处理的需求。‌分布式计算技术应运而生&#xff0c;‌它通过将大规模计算任务分解成多个子任务&#xff0c;‌在多个计算节点上…

Docker Compose 部署 Kafka的KRaft模式 不用依赖 Zookeeper

前言 从 Kafka 2.8 开始&#xff0c;KRaft 模式允许 Kafka 在没有 Zookeeper 的情况下运行。本文将部署单机模式 1.新建 docker-compose.yml vim docker-compose.yml services:kafka:image: bitnami/kafka:3.6container_name: kafkaports:- "19092:9092"environm…

2024华为数通HCIP-datacom最新题库(H12-831变题更新⑩)

请注意&#xff0c;华为HCIP-Datacom考试831已变题 请注意&#xff0c;华为HCIP-Datacom考试831已变题 请注意&#xff0c;华为HCIP-Datacom考试831已变题 近期打算考HCIP的朋友注意了&#xff0c;如果你准备去考试&#xff0c;还是用的之前的题库&#xff0c;切记暂缓。 1、…

SpringBoot整合SpringSecurity + JWT

SpringBoot整合SpringSecurity JWT 前置知识&#xff1a;Cookie&#xff0c;Session&#xff0c;Token Cookie&#xff0c;Session介绍 Cookie 、 Session 和 Token 是用于在 Web 应用程序中管理用户状态和身份验证的技术。因为在 Web 应用中&#xff0c; HTTP的通信是无状…

基于单片机的智能防盗窗户的设计

本设计是一种基于单片机的智能防盗窗户&#xff0c;采用STC89C52单片机作为核心控制器&#xff0c;配合DHT11温湿度传感器和MQ-2烟雾传感器等传感器和模块&#xff0c;用于收集室内环境数据&#xff0c;并通过单片机进行数据处理和控制。实现窗户状态的智能监测和防盗报警&…

CSEC:香港城市大学提出SOTA曝光矫正算法 | CVPR 2024

在光照条件不佳下捕获的图像可能同时包含过曝和欠曝。目前的方法主要集中在调整图像亮度上&#xff0c;这可能会加剧欠曝区域的色调失真&#xff0c;并且无法恢复过曝区域的准确颜色。论文提出通过学习估计和校正这种色调偏移&#xff0c;来增强既有过曝又有欠曝的图像。先通过…

HR人力资源OKR示例

O&#xff1a;提高内部员工敬业度和工作满意度 KR1: 开展9月每周五全体员工的会议与励志演讲主题 KR2: 采访36名员工&#xff0c;了解他们改善工作文化的需求 KR3: 在所有16个部门中使用OKR和Tita软件实施 KR4: 达到至少每周员工的满意度&#xff1a;4.7分 O&#xff1a;招聘工…