Skip to content
Vasil Kolev edited this page Jun 23, 2025 · 7 revisions

Fazantix is a live video mixer.

Features:

  • headless
  • low latency (1 frame?)
  • mixing at 1080p resolution, 60 Hz refresh rate
  • smooth transitions
  • ingestion: local from v4l2/file/stdin, over the network from ffmpeg/gstreamer/...
  • output: raw video to stdout
  • persistent on sources dropping
  • json api

Limitations:

  • no audio mixing
  • no interactive gui (yet, but easy to implement)

ingest

  • v4l2
  • ffmpeg Throw video at the port configured in the video_listen section of the config file (note that it can definitely be optimized for lower latency):
while ! ffmpeg -re -i workshop-c1-high-20231104-090421.flv.mp4 -c copy  -f mpegts tcp://172.22.10.144:7788/; do sleep 2 ; done
  • local file

scenes

changing scenes

curl 'http://mixer_ip:6666/scene' -H "Content-Type: application/json" --data '{"name": "dedo"}'
curl 'http://mixer_ip:6666/scene' -H "Content-Type: application/json" --data '{"name": "default"}'
curl 'http://mixer_ip:6666/scene' -H "Content-Type: application/json" --data '{"name": "baba"}'

config file example

https://github.com/FOSDEM/video-fazantix/blob/master/sample_config.yaml

Clone this wiki locally