Overview
CSCore provides:- USB camera capture (webcams, PS3 Eye, etc.)
- HTTP MJPEG streaming
- Network camera sources (Axis, other MJPEG streams)
- OpenCV integration for vision processing
- Multi-camera support with automatic bandwidth management
- Low-latency video streaming
Architecture
Core Concepts
Video Sources
Camera inputs (USB, network, OpenCV)
Video Sinks
Stream outputs (MJPEG server, OpenCV)
Video Properties
Configure resolution, framerate, exposure
OpenCV Integration
Process frames with OpenCV
Basic Usage
Java API
C++ API
Video Sources
USB Camera
Capture from USB cameras.HTTP Camera
Stream from network MJPEG cameras.OpenCV Source
Create video source from processed frames.Video Sinks
MJPEG Server
Stream video over HTTP.CV Sink
Capture frames for OpenCV processing.Video Properties
Getting Properties
Setting Properties
Property Info
Multiple Cameras
OpenCV Integration
Vision Processing Thread
C++ Vision Processing
Camera Server
High-level API for common camera operations.Low-Level C API
For direct hardware access.Pixel Formats
| Format | Description | Use Case |
|---|---|---|
MJPEG | Motion JPEG | High resolution, low CPU |
YUYV | YUV 4:2:2 | OpenCV processing |
RGB565 | 16-bit RGB | Low bandwidth |
BGR | OpenCV native | Direct OpenCV use |
GRAY | Grayscale | Vision processing |
Performance Tips
Resolution and Framerate
Vision Processing
Common Cameras
Microsoft LifeCam HD-3000
PS3 Eye
Limelight
Source Code
View the full source code on GitHub:Related Documentation
CameraServer
High-level camera API
WPINet
Network streaming backend
OpenCV
Vision processing library