Video creation tool: Video editing (with extensive AI-assisted features), screen recording, streaming, and screen sharing. 视频编辑(大量AI辅助功能)、录屏、推流、屏幕共享。
Rust
64
233 commits
updated Sep 17, 2026
Video creation tool: Video editing (with extensive AI-assisted features), screen recording, streaming, and screen sharing.
This is a video editing, screen recording, streaming, and screen sharing tool. Built with Rust and the Slint GUI framework. Supported operating systems: Linux and Windows.
| Category | Filters |
|---|---|
| Transform | Transform (position/scale/rotation), Crop, Flip, Zoom, Speed, Frame Extract |
| Transition | Fly In (8 directions), Fade In/Out, Slide (4 directions), Wipe (4 directions), Genie, Page Flip, Split |
| Mask | Linear Mask, Circle Mask, Rectangle Mask, Mirror Mask |
| Effect | Chroma Key (green screen), Vignette, Fisheye, Wave, Grain, Old Film, Sketch, Grayscale, Edge Detect, Sharpen, Directional Blur, Gaussian Blur, Breathing, Lighting |
| Overlay | Mosaic, Draw Circle, Draw Rectangle, Local Magnify, Magnifier, Text Highlight, Border, Background, Shadow, Grid, Device Frame, Opacity |
| AI/Advanced | Focus, Live2D Animation Overlay, HSL Adjust |
| Tool | Description |
|---|---|
| Smart Clip | AI identifies highlights and auto-clips |
| Smart Mix | Three-phase AI pipeline: Speech transcription → Visual recognition → Semantic matching, auto-combines audio and video |
| Scene Detection | Auto-detect video scene boundaries |
| Transcription | FunASR speech-to-text |
| Subtitle Translation | AI subtitle translation |
| Subtitle Remover | AI removal of hardcoded subtitles/watermarks |
| Background Remover | AI background removal |
| Cutout | AI object cutout/segmentation |
| Dewatermark | AI watermark removal |
| Clear Vision | AI super-resolution enhancement (SwinIR) |
| Deep Filter | DeepFilter audio denoising |
| Stem Splitter | AI music stem separation (vocals/drums/bass etc.) |
| Speakers | AI speaker diarization |
| OCR | Optical character recognition |
| TTS | VoxCPM text-to-speech synthesis |
| Music Generation | MusicGen music generation |
| Similar Video Segment | Embedding-based similar video segment detection |
| Chapter Summary | AI-generated video chapter summary generation |
Rust, Cargo, and qt6make debug to debug the desktop platform applicationmake build-release to build a release version desktop application for Wayland wlr. E.g.: Sway and Hyprland.make build-release features=wayland-portal to build a release version desktop application for Wayland XDG Desktop Portal. E.g.: Ubuntu and KDE.make build-release features=windows to build a release version desktop application for Windows.make cursor-release to build the program for fetching the cursor position. This program needs to be used together with the portal version of wayshot.Dynamic z support patches are applied to the components in the vendor directory. The patches live in ./patches/slint-dynamic-z/patches, so do not upgrade the Slint version casually. The Slint version is also pinned in Cargo. If you need a newer Slint version, you can use AI to regenerate suitable patches. Then run ./patches/slint-dynamic-z/patches/vendor.sh wayshot to apply the updated patches to the Slint dependencies in the vendor directory.
Alternatively, if you upgrade to the latest Slint and do not need dynamic z support, comment out the patched libraries in the [patch.crates-io] section of Cargo.toml:
i-slint-core = { path = "vendor/i-slint-core" }
i-slint-compiler = { path = "vendor/i-slint-compiler" }
i-slint-backend-qt = { path = "vendor/i-slint-backend-qt" }
Using the Qt backend can resolve the issue of fuzzy fonts on the Windows platform. It is also recommended to prioritize the Qt backend to maintain a consistent build environment with the developers.
Check program output log information: RUST_LOG=debug wayshot. Available log levels: debug, info, warn, error
To use the cursor tracking feature with the Wayland xdg portal version, it needs to be used together with the wayshot-cursor program. The program can be downloaded from the Github page. The program must be run with administrator privileges: sudo -E wayshot-cursor. If you need to view logs, you can use: RUST_LOG=debug sudo -E wayshot-cursor. Available log levels: debug, info, warn, error
Program version selection:
portal version: Ubuntu and KDE, etc.wlr version: Sway and Hyprland, etc.Install build dependencies on Ubuntu:
sudo apt install \
libxcb-composite0-dev imagemagick libasound2-dev libpipewire-0.3-dev libx11-dev pkg-config \
libxi-dev libxtst-dev libevdev-dev libfontconfig-dev libavcodec-dev libavformat-dev libavutil-dev \
libswscale-dev libavfilter-dev libavdevice-dev libssl-dev clang libclang-dev libx264-dev libx265-dev \
libfdk-aac-dev libmp3lame-dev libopus-dev libvpx-dev libvorbis-dev qt6-base-dev qt6-tools-dev qt6-tools-dev-tools
Windows build dependencies:
Windows compiles ffmpeg-next
bin path to the PATH environment variable.git bash example:export FFMPEG_DIR=C:/ffmpeg-8.0.1-full_build-shared
export LIBCLANG_PATH="C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/Llvm/x64/bin"
export PATH=$PATH:"C:/ffmpeg-8.0.1-full_build-shared/bin":"/path/to/x264.dll"
make build-release features=windows
Set up Qt dependencies
Qt6, and add the directory containing qmake to PATH: export PATH=$PATH:"C:/Qt/6.11.1/msvc2022_64/bin"STUN and TURN ServersDownload and install coturn
Generate certificate and key: openssl req -x509 -newkey rsa:1024 -keyout /tmp/turn_key.pem -out /tmp/turn_cert.pem -days 9999 -nodes
Edit the configuration.
Default location: /etc/turnserver.conf or /etc/coturn/turnserver.conf
Example configuration:
listening-ip=0.0.0.0
listening-port=3478
relay-ip=192.168.10.8
external-ip=192.168.10.8
tls-listening-port=5349
cert=/tmp/turn_cert.pem
pkey=/tmp/turn_key.pem
realm=example.com
lt-cred-mech
user=foo:123456
# no-auth
no-cli
verbose
Testing
turnserver -c /etc/turnserver.confTURN server address format: turn:192.168.10.1:3478
![]() Wechat Pay |
![]() MetaMask |
233 commits
Rust
75.5%
Slint
23.5%
Video creation tool: Video editing (with extensive AI-assisted features), screen recording, streaming, and screen sharing. 视频编辑(大量AI辅助功能)、录屏、推流、屏幕共享。
Rust
64
233 commits
updated Sep 17, 2026
Video creation tool: Video editing (with extensive AI-assisted features), screen recording, streaming, and screen sharing.
This is a video editing, screen recording, streaming, and screen sharing tool. Built with Rust and the Slint GUI framework. Supported operating systems: Linux and Windows.
| Category | Filters |
|---|---|
| Transform | Transform (position/scale/rotation), Crop, Flip, Zoom, Speed, Frame Extract |
| Transition | Fly In (8 directions), Fade In/Out, Slide (4 directions), Wipe (4 directions), Genie, Page Flip, Split |
| Mask | Linear Mask, Circle Mask, Rectangle Mask, Mirror Mask |
| Effect | Chroma Key (green screen), Vignette, Fisheye, Wave, Grain, Old Film, Sketch, Grayscale, Edge Detect, Sharpen, Directional Blur, Gaussian Blur, Breathing, Lighting |
| Overlay | Mosaic, Draw Circle, Draw Rectangle, Local Magnify, Magnifier, Text Highlight, Border, Background, Shadow, Grid, Device Frame, Opacity |
| AI/Advanced | Focus, Live2D Animation Overlay, HSL Adjust |
| Tool | Description |
|---|---|
| Smart Clip | AI identifies highlights and auto-clips |
| Smart Mix | Three-phase AI pipeline: Speech transcription → Visual recognition → Semantic matching, auto-combines audio and video |
| Scene Detection | Auto-detect video scene boundaries |
| Transcription | FunASR speech-to-text |
| Subtitle Translation | AI subtitle translation |
| Subtitle Remover | AI removal of hardcoded subtitles/watermarks |
| Background Remover | AI background removal |
| Cutout | AI object cutout/segmentation |
| Dewatermark | AI watermark removal |
| Clear Vision | AI super-resolution enhancement (SwinIR) |
| Deep Filter | DeepFilter audio denoising |
| Stem Splitter | AI music stem separation (vocals/drums/bass etc.) |
| Speakers | AI speaker diarization |
| OCR | Optical character recognition |
| TTS | VoxCPM text-to-speech synthesis |
| Music Generation | MusicGen music generation |
| Similar Video Segment | Embedding-based similar video segment detection |
| Chapter Summary | AI-generated video chapter summary generation |
Rust, Cargo, and qt6make debug to debug the desktop platform applicationmake build-release to build a release version desktop application for Wayland wlr. E.g.: Sway and Hyprland.make build-release features=wayland-portal to build a release version desktop application for Wayland XDG Desktop Portal. E.g.: Ubuntu and KDE.make build-release features=windows to build a release version desktop application for Windows.make cursor-release to build the program for fetching the cursor position. This program needs to be used together with the portal version of wayshot.Dynamic z support patches are applied to the components in the vendor directory. The patches live in ./patches/slint-dynamic-z/patches, so do not upgrade the Slint version casually. The Slint version is also pinned in Cargo. If you need a newer Slint version, you can use AI to regenerate suitable patches. Then run ./patches/slint-dynamic-z/patches/vendor.sh wayshot to apply the updated patches to the Slint dependencies in the vendor directory.
Alternatively, if you upgrade to the latest Slint and do not need dynamic z support, comment out the patched libraries in the [patch.crates-io] section of Cargo.toml:
i-slint-core = { path = "vendor/i-slint-core" }
i-slint-compiler = { path = "vendor/i-slint-compiler" }
i-slint-backend-qt = { path = "vendor/i-slint-backend-qt" }
Using the Qt backend can resolve the issue of fuzzy fonts on the Windows platform. It is also recommended to prioritize the Qt backend to maintain a consistent build environment with the developers.
Check program output log information: RUST_LOG=debug wayshot. Available log levels: debug, info, warn, error
To use the cursor tracking feature with the Wayland xdg portal version, it needs to be used together with the wayshot-cursor program. The program can be downloaded from the Github page. The program must be run with administrator privileges: sudo -E wayshot-cursor. If you need to view logs, you can use: RUST_LOG=debug sudo -E wayshot-cursor. Available log levels: debug, info, warn, error
Program version selection:
portal version: Ubuntu and KDE, etc.wlr version: Sway and Hyprland, etc.Install build dependencies on Ubuntu:
sudo apt install \
libxcb-composite0-dev imagemagick libasound2-dev libpipewire-0.3-dev libx11-dev pkg-config \
libxi-dev libxtst-dev libevdev-dev libfontconfig-dev libavcodec-dev libavformat-dev libavutil-dev \
libswscale-dev libavfilter-dev libavdevice-dev libssl-dev clang libclang-dev libx264-dev libx265-dev \
libfdk-aac-dev libmp3lame-dev libopus-dev libvpx-dev libvorbis-dev qt6-base-dev qt6-tools-dev qt6-tools-dev-tools
Windows build dependencies:
Windows compiles ffmpeg-next
bin path to the PATH environment variable.git bash example:export FFMPEG_DIR=C:/ffmpeg-8.0.1-full_build-shared
export LIBCLANG_PATH="C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/Llvm/x64/bin"
export PATH=$PATH:"C:/ffmpeg-8.0.1-full_build-shared/bin":"/path/to/x264.dll"
make build-release features=windows
Set up Qt dependencies
Qt6, and add the directory containing qmake to PATH: export PATH=$PATH:"C:/Qt/6.11.1/msvc2022_64/bin"STUN and TURN ServersDownload and install coturn
Generate certificate and key: openssl req -x509 -newkey rsa:1024 -keyout /tmp/turn_key.pem -out /tmp/turn_cert.pem -days 9999 -nodes
Edit the configuration.
Default location: /etc/turnserver.conf or /etc/coturn/turnserver.conf
Example configuration:
listening-ip=0.0.0.0
listening-port=3478
relay-ip=192.168.10.8
external-ip=192.168.10.8
tls-listening-port=5349
cert=/tmp/turn_cert.pem
pkey=/tmp/turn_key.pem
realm=example.com
lt-cred-mech
user=foo:123456
# no-auth
no-cli
verbose
Testing
turnserver -c /etc/turnserver.confTURN server address format: turn:192.168.10.1:3478
![]() Wechat Pay |
![]() MetaMask |
233 commits
Rust
75.5%
Slint
23.5%