- Java 17 or higher
- Maven 3.9+
- FFmpeg installed and available on
PATH(or specified via configuration)
From the repository root:
mvn clean install -DskipTestsThe compiled library JAR is written to target/FastVideoStream-0.1.1.jar and installed into your local Maven cache (.m2/repository/com/github/andrestubbe/FastVideoStream/0.1.1/).
Set a test stream key in the environment:
$env:FAST_YOUTUBE_KEY = "your-youtube-key"
$env:FAST_TWITCH_KEY = "your-twitch-key"
# Run headless video streaming engine
mvn exec:java -Dexec.args="--fps=60 --bitrate=6000 --encoder=h264_qsv"- Hardware Acceleration: By default, FastVideoStream prefers Intel QuickSync (
h264_qsv). NVIDIA NVENC (h264_nvenc), AMD AMF (h264_amf), or CPU (libx264) can be selected via--encoder=<name>. - Custom FFmpeg Path: Use
--ffmpeg=C:\path\to\ffmpeg.exeif FFmpeg is not in your systemPATH. - Compositing & Overlays: Frame compositing (such as Webcam PiP, watermarks, or chat overlays) is handled via the
FrameInterceptorinterface in application layers (e.g.Stream+).
Install FFmpeg and add its bin directory to your system PATH, or pass an explicit binary path with --ffmpeg.
Run ffmpeg -encoders to check hardware support. If Intel QSV is not available, switch to h264_nvenc (NVIDIA) or libx264 (software).