Keyboard, Video, Mouse via WebRTC
# HTTP API Server
http:
# HTTP server port
port: 2345
# HTTP Auth method (none, password, pam)
auth: pam
pam:
# PAM service
service: system-auth
# Allowed users
allowed:
- root
# Show username input
username: no
# Default username
default: root
# USB Gadget settings
usb:
# USB Device Controller
udc: usbip-vudc.0
# USB Gadget ConfigFS Name
gadget: webrtc-kvm
# USB Vendor ID
id_vendor: 0x1D6B
# USB Product ID
id_product: 0x0104
# USB Manufacturer Name
manufacturer: ClassFun
# USB Product Name
product: WebRTC KVM
# Video related settings
video:
streams:
- id: hdmi-cap
name: HDMI Capture
# Use Video4Linux2
driver: v4l2-cap
# Video4Linux2 Capture Streaming device
device: /dev/video-cap0
fourcc: NV12
- id: video-encoder
name: H.264 Encoder
# Use Video4Linux2
driver: v4l2-m2m
# Video4Linux2 Memory-to-Memory encoder device
device: /dev/video-enc0
fourcc: H264
- id: webrtc
name: WebRTC Streamer
driver: webrtc
# Video stream pipes
links:
# From HDMI Capture to H.264 Encoder
- source: hdmi-cap
sink: video-encoder
type: dmabuf
# From H.264 Encoder to WebRTC Streamer
- source: video-encoder
sink: webrtc
type: pointer
# Auto stop stream when all clients disconnected
auto_stop: true
# Video Width
width: 1920
# Video Height
height: 1080
# Video Framerate (Frames per second)
fps: 60
Type | Status |
---|---|
H.264 / AAC | ✅ WORKS |
H.265 / HEVC | |
VP8 | ⛔ TODO |
VP9 | ⛔ TODO |
AV1 | ⛔ TODO |
All audio streaming are not implements now
Type | Status |
---|---|
Video4Linux2 Capture | ✅ WORKS |
X11 Grab | ⛔ TODO |
VNC Client | ⛔ TODO |
DRM Capture | ⛔ TODO |
Framebuffer | ⛔ TODO |
Type | Status |
---|---|
Video2Linux2 Memory-to-Memory | ✅ WORKS |
VA-API | ⛔ TODO |
VDPAU | ⛔ TODO |
CedarX (Allwinner) | ⛔ TODO |
RKMPP (Rockchip) | ✅ WORKS |
FFmpeg AVCodec | ⛔ TODO |
Type | Status |
---|---|
FFmpeg SWScale | |
RGA (Rockchip) | ✅ WORKS |
Type | Status |
---|---|
USB Gadget HID Keyboard | ✅ WORKS |
USB Gadget HID Absolute Mouse | ✅ WORKS |
USB Gadget HID Relative Mouse | ✅ WORKS |
USB Gadget HID Touch Screen | ✅ WORKS |
Bluetooth peripheral Keyboard | ⛔ TODO |
Bluetooth peripheral Mouse | ⛔ TODO |
Bluetooth peripheral Tablet | ⛔ TODO |
Bluetooth peripheral Touch Screen | ⛔ TODO |
Linux Userspace HID (uhid) | ⛔ TODO |
Type | Status |
---|---|
USB Gadget MTP Folder | ⛔ TODO |
USB Gadget Mass-Storage | ⛔ TODO |
USB Gadget WebUSB Direct | ⛔ TODO |
Name | SoC | Capture Device | Capture Interface | Kernel | Video |
---|---|---|---|---|---|
Ant-C v3 IP-KVM | Allwinner V3 | ITE IT6616FN | HDMI to MIPI-CSI | 6.6.2 (Mainline) | H.264 1920x1080@60hz |
Raspberry Pi 3B | Broadcom BCM2837 | Toshiba TC358743 | HDMI to MIPI-CSI | 6.6.44 | H.264 1920x1080@50hz |
Raspberry Pi 4B | Broadcom BCM2711 | Toshiba TC358743 | HDMI to MIPI-CSI | 6.6.44 | H.264 1920x1080@50hz |
Raspberry Pi 4B | Broadcom BCM2711 | MacroSilicon MS2130 | HDMI to USB 3.0 | 6.6.44 | H.264 1920x1080@60hz |
Rockchip RK3588 EVB | Rockchip RK3588 | Rockchip HDMI-RX | HDMI | 5.10.66 | H.264 1920x1080@60hz |
Tested config files for devices: configs