#zoom #quic #webtransport #raspberry-pi #local-server

bin+lib videocall-cli

Effortlessly stream video from the CLI with our native client, designed for your desktop, robot, or Raspberry Pi

1 unstable release

0.3.2 Feb 27, 2025

#420 in Multimedia

Download history 145/week @ 2025-02-26

145 downloads per month

MIT license

5MB
8K SLoC

Videocall-cli Rust Client

✨ Features

  • Stream video effortlessly from the CLI on your desktop, robot, or Raspberry Pi.
  • Works seamlessly with videocall.rs.
  • Currently Supports Chrome, Chromium and Edge.
  • Compatible with local servers or production environments.

🛠️ Setup

System Requirements

We recommend using a Linux machine running Ubuntu 24 for the best experience.

Install Dependencies (Linux)

Make sure you have the required libraries installed:

sudo apt install build-essential pkg-config libclang-dev libvpx-dev libasound2-dev libv4l-dev cmake libssl-dev

🚀 Quick Start

Install via Cargo

  1. Skip the hassle! Install the client directly with:
cargo install videocall-cli
  1. List the cameras in your system:
videocall-cli info --list-cameras

There are 2 available cameras.
Name: NexiGo HD Webcam: NexiGo HD Web, Description: Video4Linux Device @ /dev/video4, Extra: , Index: 0
  1. Print the available resolutions and formats for your camera:
videocall-cli info --list-formats 0

Name: NexiGo HD Webcam: NexiGo HD Web, Description: uvcvideo, Extra: usb-0000:00:03.0-5 (6, 8, 12), Index: 0
YUYV:
 - 864x480: [10]
 - 1600x896: [5]
 - 1920x1080: [5]
NV12:
 - 640x480: [60, 30]
 - 1280x720: [60, 30]
 - 1920x1080: [60, 30]
  1. Start streaming:
videocall-cli \
  stream \
  --user-id <your-user-id> \
  --video-device-index 0 \
  --meeting-id <meeting-id> \
  --resolution 1280x720 \
  --fps 30 \
  --frame-format NV12 \
  --bitrate-kbps 500

🌐 See Your Stream Live! using Chrome

This system integrates directly with videocall.rs. Simply navigate to the following URL to watch your stream live:

https://app.videocall.rs/meeting/<your-username>/<meeting-id>

Replace <your-username> and <meeting-id> with the appropriate values.


🖥️ Supported Platforms

Platform Supported Tested
MacOS 15.3.1+ ✅ (exp)
Ubuntu 24 (Linux)
Ubuntu 22 (Linux)
Debian
Alpine Linux
Windows

Run Locally

Stream your video to a meeting in seconds:

RUST_LOG=info cargo run --release -- ...

📦 Build a .deb Package

Want to create a Debian package? Easy!

  1. Install the necessary tool:
    cargo install cargo-deb
    
  2. Build the .deb package:
    cargo deb
    
    The package will be generated at: target/debian/videocall-cli...deb.
  3. Verify dependencies (optional):
    dpkg-deb -I <path_to_deb_file>
    
  4. Install the package:
    sudo dpkg -i <path_to_deb_file>
    

🎉 Ready to Stream?

Whether you're testing locally or connecting to production, Videocall-cli Rust Client is here to elevate your video streaming experience. Install it today and see the difference!


💡 Have questions or issues? Drop us a line! We're here to help.

Dependencies

~38–72MB
~1.5M SLoC