analysis-video-gui
Desktop GUI for reviewing analysis-video
output and tuning its scene-change detection. A hub plus several independent OS windows
(no docking).
The CLI is the product; this is the verification tool. It exists to answer "did the detector pick the right frames, and is the dialogue aligned?" by eye. The two are separate packages with independent versions — fixing the GUI never forces a core re-release, and CLI-only users never download Qt. The core is pulled in automatically as a dependency.
Install
uvx analysis-video-gui@latest <video or .analysis path> # run without installing
uv tool install analysis-video-gui # install as a global command
Keep the @latest: without it uvx reuses whatever version it resolved the first time,
and you would keep running the old one after a release.
First run downloads about 111MB of Qt on top of the core's own download (108MB on
macOS, 165MB on Linux — the core is a required dependency). Afterwards it starts from
cache. The GUI does not pull the core's [stt] extra: it reads an analysis directory
that already exists and never runs the pipeline itself.
Linux needs one system package — libportaudio2, for audio playback.
sudo apt install libportaudio2
sounddevice bundles PortAudio (the audio I/O C library) only in its macOS and Windows
wheels; the Linux wheel is pure Python and relies on the system copy. Without it the
install still succeeds and playback fails later, so install it up front.
Windows
| Window | Purpose |
|---|---|
| Hub | Session root: UI language, analysis-unit picker, window toggles, layout save/restore, status |
| Player | Video playback and scrubbing |
| Timeline | Three detection signals with thresholds, colored by cause, mark navigation |
| Gallery | Accepted and rejected frames at a glance |
| Compare | Precision/recall report — your ground-truth flags vs the detector's picks, exportable as compare.json |
| Dialogue sync / Frame sync | Review dialogue and frame alignment |
Playback decodes with PyAV rather than QtMultimedia — Qt's bundled FFmpeg was shown by a spike to decode zero frames for AV1, so playback uses the same path as the analysis pipeline.
Supported environments
Python 3.11–3.14. Install resolution verified directly on each of these.
| Platform | Status |
|---|---|
| macOS (Apple Silicon · Intel) | ✅ |
| Linux x86_64 | ✅ glibc 2.28+ |
| Linux aarch64 | ⚠️ glibc 2.31+ — below that no Qt wheel exists, install fails |
| Windows x64 | ✅ |
| Windows ARM64 | ❌ same cause as the core (no opencv-python-headless wheel) |
On older Linux, Qt silently resolves to an older release rather than failing — x86_64 with glibc 2.28 lands on PySide6 6.9.3, aarch64 with glibc 2.31 on 6.8.0.2. Current Qt (6.11) needs glibc 2.34 (x86_64) or 2.39 (aarch64). It is a quiet downgrade rather than an error, which makes it hard to diagnose later — hence this note. On macOS, current Qt requires macOS 13 or newer.
Links
- Source & issues: https://github.com/hwanyong/analysis-video
- 한국어 문서: https://github.com/hwanyong/analysis-video/blob/main/README.ko.md
- Core CLI: https://pypi.org/project/analysis-video/
License
MIT.
PySide6-Essentials is LGPL. Redistributing this GUI carries the corresponding notice obligations. Keeping the core CLI as a separate package is partly for this reason — the core ships without them.
Keywords: video analysis GUI · scene detection tuning · keyframe review · transcript alignment · lecture video inspector · PySide6 desktop app · Qt video player · analysis-video companion
Metadata
Release files for analysis-video-gui 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| analysis_video_gui-0.1.1.tar.gz | 90.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| analysis_video_gui-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 170.4 kB
Release files / analysis_video_gui-0.1.1.tar.gz
| Download URL | analysis_video_gui-0.1.1.tar.gz |
|---|---|
| Size | 90.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
12edf4f7d8f792ce396bc6bf0e18f59c7ec2b4f0efc7a47c4f663df10a5842ea
|
|
BLAKE2b-256 checksum How to use checksums |
1d171217a514cc51d3bd5220dd12b2c9581ad9ebb109ee6249da6124186f7da6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 14, 2026.
Transparency logRelease files / analysis_video_gui-0.1.1-py3-none-any.whl
| Download URL | analysis_video_gui-0.1.1-py3-none-any.whl |
|---|---|
| Size | 80.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1e451e979a2d53790c637cf822eaec8d237f440c003b9493731f9999e2630b91
|
|
BLAKE2b-256 checksum How to use checksums |
2ae62eae935be4a1265b9a7d153f0378d7cd008f5b689904328442c767bffcc7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 14, 2026.
Transparency log