Copyright (C) 2020-2025 Filip Szczerek (ga.software@yahoo.com)
This program is licensed under MIT license (see LICENSE.txt for details).
- 1. Introduction
- 2. Features
- 3. Building
- 3.1. Linux and alikes
- 3.2. MS Windows
- 4. Troubleshooting
Vidoxide is a video capture tool with features targeted at Solar System astrophotographers.
Demonstration video: link
Cross-platform
- Builds & runs on any platform supporting Rust and GTK
Supported camera APIs:
- IIDC (DC1394)
- FlyCapture2 (FLIR, formerly Point Grey)
- Spinnaker (FLIR)
- ASICamera2 (ZWO)
- Video4Linux2 – extremely basic support (only YUYV video modes, no camera controls); Linux only
Supported telescope mounts:
- Sky-Watcher direct serial connection (tested with a 2014 HEQ5)
- iOptron direct serial connection
- ASCOM (tested with ASCOM/EQMod and a 2014 HEQ5), MS Windows only
- ZWO Mounts direct serial connection (tested on AM3/AM5)
Supported focusers:
- FocusCube 3
- DreamFocuser mini
Image feature tracking:
- self-guiding (with supported mounts): selected image feature (or a planet – via centroid) stays in the same place of the FOV
- live crop: only a ROI around a selected image feature is recorded
- preview stabilization (e.g., for focusing in windy conditions)
Game controller support:
- slewing the mount
- focuser operation
Dispersion indicator: helps to adjust an Atmospheric Dispersion Corrector down to 0.1-pixel accuracy (of R-G, B-G channel offset)
Collimation helper: shows a live stack of a star image to aid collimation in less-than-perfect seeing conditions
Output formats:
- TIFF or BMP image sequence
- SER video
- upcoming: AVI video
Clone the repository:
git clone --recurse-submodules https://github.com/GreatAttractor/vidoxide.gitCamera drivers to build are selected as features in invocation of cargo, e.g.:
cargo build --release --features "camera_iidc camera_v4l2 camera_flycap2 camera_spinnaker camera_asi"will build Vidoxide with the IIDC, V4L2, FlyCapture 2, Spinnaker and ASI drivers.
Install the Rust toolchain. C & C++ toolchain is also required, as are GTK3 development libraries, and those needed by camera drivers you wish to use.
Detailed instructions: to be provided.
prerequisites (Fedora): libusb-devel, libudev-devel, lib1394-devel
(V4L2 needs (on Fedora): llvm-devel, clang)
Building under MS Windows has been tested in MSYS2 environment and the GNU variant of the Rust toolchain.
Download MSYS2 from http://www.msys2.org/ and follow its installation instructions. Then install the Rust toolchain: go to https://forge.rust-lang.org/infra/other-installation-methods.html and install the x86_64-pc-windows-gnu variant. The warnings about "Visual C++ prerequisites" being required and "Install the C++ build tools before proceeding" can be ignored. Note that you must customize "Current installation options" and change the "default host triple" to "x86_64-pc-windows-gnu".
Open the "MSYS2 MinGW 64-bit" shell (from the Start menu, or directly via C:\msys64\msys2_shell.cmd -mingw64), and install the build prerequisites:
pacman -S git base-devel mingw-w64-x86_64-toolchain mingw-w64-x86_64-gtk3From now on it is assumed that the FlyCapture2, Spinnaker and ZWO ASI camera APIs are to be used. Download and install the FlyCapture2, Spinnaker & ZWO ASI SDKs, go to the location of FC2 binaries (by default, "C:\Program Files\Point Grey Research\FlyCapture2\bin64") and check if the FlyCapture2_C.dll file exists. If not, make a copy of the corresponding versioned file (e.g., FlyCapture2_C_v100.dll) in the same location and rename it FlyCapture2_C.dll (this is required due to the libflycapture2-sys crate's expectations).
Pull Rust binaries into $PATH:
export PATH=$PATH:/c/Users/MY_USERNAME/.cargo/binthen change to the Vidoxide source directory and build it:
SPINNAKER_LIBDIR="C:\Program Files\FLIR Systems\Spinnaker\bin64\vs2015" FLYCAP_LIBDIR="C:\Program Files\Point Grey Research\FlyCapture2\bin64" ASICAMERA_LIBDIR="C:\Downloads\ASI SDK\lib\x64" cargo build --release --features "camera_flycap2 camera_spinnaker camera_asi mount_ascom"Initially it will take several minutes, as all dependencies have to be downloaded and built first. Note that the location of FC2 DLLs must be given in FLYCAP_LIBDIR, Spinnaker DLLs in SPINNAKER_LIBDIR, and ASI DLL in ASICAMERA_LIBDIR.
After a successful build, Vidoxide can be run locally with:
PATH="$PATH:C:\Program Files\Point Grey Research\FlyCapture2\bin64:C:\Program Files\FLIR Systems\Spinnaker\bin64\vs2015:C:\Downloads\ASI SDK\lib\x64" target/release/vidoxide.exeUpcoming: creating a binary distribution
Increase the USB-FS buffer size, e.g. (run as root):
echo 1000 > /sys/module/usbcore/parameters/usbfs_memory_mb
It appears sometimes GTK3 will not use HW acceleration for bitmap scaling under Wayland, resulting in slow preview frame rate if the preview area occupies a large area on screen. (Seen in 2024-12, Fedora 40 / 6.12.6-100.fc40.x86_64, Mesa Intel(R) Xe Graphics (TGL GT2) (0x9a49), 24.1.7.)
As a workaround, force the GDK backend to X11 when running Vidoxide, e.g.:
GDK_BACKEND=x11 target/release/vidoxide
