26 lines
1.3 KiB
Markdown
26 lines
1.3 KiB
Markdown
# ConvertGUI
|
||
|
||
GUI video converter/trimmer powered by Go, Wails v2 (WebView2), and FFmpeg.
|
||
|
||
## Features
|
||
- Video preview with HTTP byte-range seeking + automatic MP4 proxy fallback (MKV/AVI/HEVC)
|
||
- Interactive dual-handle timeline trim (`-ss`, `-to`), filmstrip thumbnails, loop-selection preview, `I`/`O` hotkeys
|
||
- Optional spatial crop overlay (`crop=w:h:x:y`, even-dimension clamped)
|
||
- Multi-audio stream handling (`amix=inputs=N:normalize=0`, single-track selection, or `-an` mute)
|
||
- Speed multiplier (`0.25x`–`8x`) with `setpts` + chained `atempo`
|
||
- Codecs: `libx264`, `h264_nvenc`, `libx265`, `hevc_nvenc`; HW decode (`none`, `nvdec`, `d3d11va`, `auto`); CRF/CQ, preset, tune, FPS
|
||
- Windows Explorer context menu (`-i "%1"`), drag-and-drop, NSIS installer
|
||
|
||
## Dev / Build
|
||
```powershell
|
||
cd frontend && npm install && npm run build
|
||
cd .. && go test ./...
|
||
$env:CGO_ENABLED="0"; $env:GOOS="windows"; $env:GOARCH="amd64"
|
||
go build -tags desktop,production -ldflags="-H windowsgui -s -w" -o dist/convert.exe .
|
||
```
|
||
|
||
## CI
|
||
- Workflow: `.gitea/workflows/build.yaml` (`ubuntu-latest`)
|
||
- Builds `ConvertGUI-Setup-<version>.exe` (NSIS + bundled static `ffmpeg.exe`/`ffprobe.exe`) and `ConvertGUI-Portable-<version>-win64.zip`
|
||
- Publishes release assets on `v*` tags via `akkuman/gitea-release-action@v1`
|