| Crates.io | videocall-client |
| lib.rs | videocall-client |
| version | 1.1.25 |
| created_at | 2025-03-24 07:32:42.02462+00 |
| updated_at | 2025-09-24 02:27:05.905792+00 |
| description | A client for the videocall project |
| homepage | https://github.com/security-union/videocall-rs |
| repository | https://github.com/security-union/videocall-rs |
| max_upload_size | |
| id | 1603528 |
| size | 485,289 |
A Rust client library for the videocall.rs project that handles client-side browser media I/O for video calls.
This crate provides:
Currently supports Chromium based browsers only, including Chrome, Edge, and Brave.
let options = VideoCallClientOptions {...}; // set parameters and callbacks for various events
let client = VideoCallClient::new(options);
client.connect();
let camera = CameraEncoder.new(client, video_element_id);
let microphone = MicrophoneEncoder.new(client);
let screen = ScreenEncoder.new(client);
camera.select(video_device);
camera.start();
camera.stop();
microphone.select(video_device);
microphone.start();
microphone.stop();
screen.start();
screen.stop();
let media_device_access = MediaDeviceAccess::new();
media_device_access.on_granted = ...; // callback
media_device_access.on_denied = ...; // callback
media_device_access.request();
let media_device_list = MediaDeviceList::new();
media_device_list.audio_inputs.on_selected = ...; // callback
media_device_access.video_inputs.on_selected = ...; // callback
media_device_list.load();
let microphones = media_device_list.audio_inputs.devices();
let cameras = media_device_list.video_inputs.devices();
media_device_list.audio_inputs.select(µphones[i].device_id);
media_device_list.video_inputs.select(&cameras[i].device_id);