./livekit-cli load-test --url <wss://meeting.hanw...
# ask-ai
a
./livekit-cli load-test --url wss://meeting.hanweb.com/hanwebrtc --api-key API85Y8nrcTM2Ew --api-secret NkAeLxiqGnNOsihTksTXuPPF6eTEcRSPlCj3BAvKFLV -room room12 --video-resolution high --video-publishers 0 --audio-publishers 2 --subscribers 15 --duration 6m 可以指定推流的分辨率吗?给出命令
t
Thanks for reaching out, 徐旭. I'm an AI assistant and I'm here to help. Give me a moment while I research this topic.
确认回复您关于能否指定推流分辨率并给出命令。是的,可以通过
--video-resolution
指定;值可以是预设(如 `high`、`medium`、`low`)或具体尺寸(例如 `1280x720`)。 注意:您当前命令里
--video-publishers 0
表示不创建视频发布者,若为 0 则不会有视频流发送,`--video-resolution` 在这种情况下不会生效。若要实际测试视频分辨率,请把
--video-publishers
设为 >=1。 下面给出两个示例命令: 1) 使用预设分辨率(high)并至少一个视频发布者:
Copy code
./livekit-cli load-test \
  --url <wss://meeting.hanweb.com/hanwebrtc> \
  --api-key API85Y8nrcTM2Ew \
  --api-secret NkAeLxiqGnNOsihTksTXuPPF6eTEcRSPlCj3BAvKFLV \
  --room room12 \
  --video-resolution high \
  --video-publishers 1 \
  --audio-publishers 2 \
  --subscribers 15 \
  --duration 6m
2) 使用具体分辨率(1280x720):
Copy code
./livekit-cli load-test \
  --url <wss://meeting.hanweb.com/hanwebrtc> \
  --api-key API85Y8nrcTM2Ew \
  --api-secret NkAeLxiqGnNOsihTksTXuPPF6eTEcRSPlCj3BAvKFLV \
  --room room12 \
  --video-resolution 1280x720 \
  --video-publishers 1 \
  --audio-publishers 2 \
  --subscribers 15 \
  --duration 6m
如果您希望我按某个具体场景调整(例如:更多视频发布者、不同分辨率、或仅想要订阅端观测效果),请告诉我您想测试的目标,我会给出相应命令和建议。 Sources: Configuring the Client SDK for Optimal Video Quality
a
./livekit-cli load-test --url wss://meeting.hanweb.com/hanwebrtc --api-key API85Y8nrcTM2Ew --api-secret NkAeLxiqGnNOsihTksTXuPPF6eTEcRSPlCj3BAvKFLV -room room12 --video-resolution 1920x1080 --video-publishers 5 --audio-publishers 5 --subscribers 15 --duration 6m这样写是同时推5个1080p的流吗,会自动降到720p还是固定1080p
t
确认回复:关于您这条命令 ./livekit-cli load-test --url wss://meeting.hanweb.com/hanwebrtc --api-key API85Y8nrcTM2Ew --api-secret NkAeLxiqGnNOsihTksTXuPPF6eTEcRSPlCj3BAvKFLV --room room12 --video-resolution 1920x1080 --video-publishers 5 --audio-publishers 5 --subscribers 15 --duration 6m • 是的,这会创建 5 个同时推送的视频发布者,每个发布者会以 1920x1080(1080p)分辨率发送视频流。 • 该命令不会自动把分辨率降为 720p;`--video-resolution 1920x1080` 会固定生成并发送 1080p 的合成视频流,除非您显式更改配置。 • 注意事项:这些是合成/测试流,发送端(运行 load-test 的机器)的 CPU/编码能力和带宽会是限制因素。多个 1080p 流同时编码/发送可能会导致性能瓶颈或丢帧,取决于机器与网络条件。 • 如果您的目标是模拟自适应分辨率(例如因带宽受限而降级),需要额外配置(例如启用 simulcast 或在网络层做带宽限制/网络模拟),因为 load-test 默认不会在运行时自动降级分辨率。 如果您想,我可以: • 给出开启 simulcast 或模拟带宽受限的示例命令/步骤;或 • 推荐一个更可行的负载组合(例如混合分辨率或降低帧率)以减少发送端负载。哪种方向您想优先看? Sources: Streaming video from a canvas with WebRTC and React | Streaming video from a canvas with WebRTC and React
a
这个命令是运行的机器上面同时5人推流 15人拉流吗?压力都在压测机器上面
t
好的,确认并回答您关心的两点:命令的客户端分布以及压力在哪儿。 • 是的:运行该
livekit-cli load-test
命令的那台机器会在本地模拟并创建您指定的所有客户端角色 —— 在您的例子里就是 5 个视频发布者、5 个音频发布者(发布者可同时含视频/音频,视参数混合)以及 15 个订阅者。也就是说这些虚拟用户都在同一台机器上运行并与目标服务器建立连接。 • 压力主要在运行 load-test 的机器上:CPU(尤其是编码器负载)、内存、网卡带宽和操作系统的网络栈都会承受很大压力,因为该机器要同时进行多路视频编码/发送(5×1080p)和多路接收/解码/渲染(15 路订阅流)。此外,目标 LiveKit 服务器也会承受并发连接与转发的压力,但您本地这台机器通常是瓶颈来源,尤其在高分辨率发布时。 建议(可选): • 若要把压力分散到多台机器,您可以在多台机器上并行运行相同的 load-test 命令,合并起来模拟更大规模的并发。 • 若只想测试服务器端性能,考虑把发布端分布到多台负载生成机,或降低每台负载机的分辨率/帧率以避免本地编码成为瓶颈。 • 如果需要,我可以帮您给出分布式负载测试的示例命令或建议一个更合理的负载组合(例如混合分辨率或降低帧率)以匹配您的测试目标。您更希望优化哪一部分:减少本地负载、测试服务器限流,还是模拟网络带宽受限?