百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
G

Gausian_native_editor

> 编程语言
开源

基于 Gausian - Rust 的本地视频编辑器,用于 AI 视频制作

1.0K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

基于 Gausian - Rust 的本地视频编辑器,用于 AI 视频制作

Gausian is a native editor focused on snappy preview, practical timeline tools, and smooth ingest/export. It supports hardware decoding (VideoToolbox on macOS, GStreamer pipelines cross‑platform), a WGPU preview pipeline, and integrates with a local ComfyUI for prompt‑based generation via an embedded WebView and auto‑import of outputs. A CLI is included for headless operations.

Contributors

✨ Features

  • GPU-accelerated preview (WGPU) with YUV→RGB shaders and readback
  • Timeline editing, assets panel, project persistence (SQLite)
  • Local ingest: FFmpeg/ffprobe probing, image/video/audio
  • Exporters: FCPXML (1.9/1.10), FCP7 XML, EDL, JSON
  • Proxy generation via GStreamer (ProRes/NVENC/VAAPI/software)
  • Local ComfyUI: optional embedded WebView and auto‑import from a local ComfyUI output folder
  • Screenplay/Storyboard helpers with LLM providers (OpenAI, etc.)
  • Footage analysis with Twelve Labs Pegasus (opt‑in): describe, summarise, or shot‑list a clip from a URL or asset
  • Cross-platform desktop (macOS/Windows/Linux)

Getting Started

Prerequisites

  • Rust (stable)
  • FFmpeg/ffprobe on PATH
  • GStreamer for proxy/advanced decode paths (recommended on all platforms; required for some proxies)
    • macOS (Homebrew): brew install ffmpeg gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-libav
    • Ubuntu/Debian: sudo apt-get install -y ffmpeg gstreamer1.0-libav gstreamer1.0-plugins-{base,good,bad} gstreamer1.0-tools
    • Windows: install a recent GStreamer build (system PATH), FFmpeg
  • ComfyUI (local, optional): required if you want to open the embedded WebView or auto‑import its outputs. Install and run ComfyUI locally (default at http://127.0.0.1:8188). See https://github.com/comfyanonymous/ComfyUI

Desktop app

cargo run --bin desktop

CLI (headless)

# Show commands
cargo run -p cli -- --help

Architecture

  • apps/desktop (egui + wgpu)

    • Timeline, assets, GPU preview, audio engine, export
    • ComfyUI integration (local only): optional embedded WebView and auto‑import
  • apps/comfywebview

    • Minimal native WebView window for ComfyUI
  • crates/*

    • timeline — graph, tracks, commands
    • project — SQLite DB, migrations, asset/proxy/job tables
    • media-io — probe/export helpers, waveforms, encoders
    • renderer — WGPU renderer and WGSL shaders
    • exporters — FCPXML/FCP7/EDL/JSON
    • plugin-host — WASM/Python stubs
    • native-decoder — VideoToolbox (macOS) + optional GStreamer backend
    • cli — import/export/convert/analyze/new/encoders

    Project Structure (click to expand)

apps/ desktop/ # egui UI, preview, decode, export comfywebview/ # lightweight native WebView for ComfyUI

crates/ timeline/ # timeline data structures and commands project/ # SQLite DB + migrations media-io/ # probe, waveforms, proxy helpers renderer/ # WGPU renderer & shaders (WGSL) exporters/ # FCPXML/FCP7/EDL/JSON exporters plugin-host/ # plugin runtime stubs (WASM/Python) native-decoder/ # VideoToolbox & GStreamer backend cli/ # headless commands

formats/ # JSON specs (screenplay/storyboard)

Desktop App

Build & run

cargo run --bin desktop

Optional features

  • Embedded WebView (macOS only): cargo run --bin desktop --features embed-webview
    • Requires a local ComfyUI installation running (default http://127.0.0.1:8188)
    • In the app, set the ComfyUI Repo Path (folder containing main.py) to enable local integrations

Basic flow

  • Import media in Assets panel (drag drop or “Import path” + Add)
  • Timeline: click to seek, drag to move/trim, snapping to seconds/edges
  • Export: choose preset; FCPXML/FCP7/EDL/JSON also available
  • ComfyUI (local): set Repo Path, enable auto‑import to ingest outputs
    • Note: only local ComfyUI is supported at this time; no remote/cloud connection

Footage Analysis (Twelve Labs Pegasus)

Optional, opt‑in AI footage understanding for video production. Given a clip (a direct media URL or an uploaded Twelve Labs asset) and a prompt, the Twelve Labs Pegasus model returns a textual analysis — useful for auto‑describing footage, summarising a take, or generating a shot list. Nothing here runs unless you call it explicitly with an API key, so it does not affect any existing behaviour.

use desktop::footage_analysis::{FootageAnalyzer, PegasusConfig, VideoSource};

let analyzer = FootageAnalyzer::new(PegasusConfig::new(std::env::var("TWELVELABS_API_KEY")?))?;
let result = analyzer.analyze(
    VideoSource::url("https://example.com/clip.mp4"),
    "Summarise the action and list every distinct shot.",
)?;
println!("{}", result.text);

The integration test exercises a real Pegasus call and is skipped unless a key is present:

TWELVELABS_API_KEY=tlk_... cargo test -p desktop --test footage_analysis_tests -- --nocapture

You can grab a free API key at https://twelvelabs.io — there's a generous free tier.

CLI

Examples

# Analyze media and print JSON
cargo run -p cli -- analyze ./media/clip.mp4 --waveforms

# List hardware encoders
cargo run -p cli -- encoders

# Convert to FCPXML/EDL/JSON (demo sequence)
cargo run -p cli -- convert in.edl out.fcpxml --output-format fcpxml

See all commands

cargo run -p cli -- --help

Proxy Encoding

Cross‑platform GStreamer pipeline with hardware profiles:

  • macOS: VideoToolbox ProRes (vtdec(_hw) + vtenc_prores)
  • NVIDIA: NVENC (nvh264enc, nvvidconv)
  • Intel: VAAPI (vah264enc, vapostproc)
  • Fallback: DNxHR (software)

macOS GStreamer (Homebrew) env (used by the app)

export GST_PLUGIN_PATH=/opt/homebrew/lib/gstreamer-1.0
export GST_PLUGIN_SYSTEM_PATH=/opt/homebrew/lib/gstreamer-1.0
export GST_PLUGIN_SCANNER=/opt/homebrew/libexec/gstreamer-1.0/gst-plugin-scanner
export GST_REGISTRY_REUSE_PLUGIN_SCANNER=no

Decoder & GStreamer Notes

  • Prefer VideoToolbox on macOS; use GStreamer elsewhere (or as a macOS option)
  • To force VT over libav in GStreamer, set:
export GST_PLUGIN_FEATURE_RANK="vtdec_h264:PRIMARY+1,vtdec_hevc:PRIMARY+1"
  • One-time diagnostics:
export GST_DECODER_DIAG=1

Roadmap (Upcoming)

  • Timeline polish and UX improvements
  • Automatic LORA creator
  • Advanced color management and LUTs
  • Rich effects and transitions
  • Multi‑window workspace
  • Collaborative editing
  • Plugin marketplace

Contributing

  • Ensure rustfmt/clippy are green
  • Keep changes focused; update docs as needed
  • File issues with repro steps and logs

Built with Rust, egui, wgpu, GStreamer, and lots of .

License

  • Core: MPL-2.0 (Mozilla Public License 2.0)
  • Pro Features: Separate commercial license for advanced codecs and pro features

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests for new functionality
  5. Submit a pull request

Troubleshooting

Common Issues

"FFmpeg not found":

  • Install FFmpeg and ensure it's in your PATH
  • On macOS: brew install ffmpeg
  • On Windows: Download from https://ffmpeg.org/

"No hardware encoders detected":

  • This is normal on some systems
  • Software encoders will be used (slower but functional)
  • Ensure GPU drivers are up to date

Performance Issues:

  • Close other GPU-intensive applications
  • Reduce preview resolution in timeline
  • Enable proxy generation for large files

Support

For questions, bug reports, or feature requests, please open an issue on the project repository.

  • Join our Discord: https://discord.gg/JfsKWDBXHT

Star History

Built with ❤️ in Rust | GPU-Accelerated | Cross-Platform | Open Source

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Rust

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言