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
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file analysis_video_gui-0.1.1.tar.gz.
File metadata
- Download URL: analysis_video_gui-0.1.1.tar.gz
- Upload date:
- Size: 90.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
12edf4f7d8f792ce396bc6bf0e18f59c7ec2b4f0efc7a47c4f663df10a5842ea
|
|
| MD5 |
6de193e3a435dae6a8b5aabf89fd315e
|
|
| BLAKE2b-256 |
1d171217a514cc51d3bd5220dd12b2c9581ad9ebb109ee6249da6124186f7da6
|
Provenance
The following attestation bundles were made for analysis_video_gui-0.1.1.tar.gz:
Publisher:
release.yml on hwanyong/analysis-video
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
analysis_video_gui-0.1.1.tar.gz -
Subject digest:
12edf4f7d8f792ce396bc6bf0e18f59c7ec2b4f0efc7a47c4f663df10a5842ea - Sigstore transparency entry: 2469240975
- Sigstore integration time:
-
Permalink:
hwanyong/analysis-video@4555dae6dd839c49732504cb9d24c8772aa6882c -
Branch / Tag:
refs/tags/gui-v0.1.1 - Owner: https://github.com/hwanyong
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@4555dae6dd839c49732504cb9d24c8772aa6882c -
Trigger Event:
push
-
Statement type:
File details
Details for the file analysis_video_gui-0.1.1-py3-none-any.whl.
File metadata
- Download URL: analysis_video_gui-0.1.1-py3-none-any.whl
- Upload date:
- Size: 80.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1e451e979a2d53790c637cf822eaec8d237f440c003b9493731f9999e2630b91
|
|
| MD5 |
184b54147e39a47082344700ceb425fb
|
|
| BLAKE2b-256 |
2ae62eae935be4a1265b9a7d153f0378d7cd008f5b689904328442c767bffcc7
|
Provenance
The following attestation bundles were made for analysis_video_gui-0.1.1-py3-none-any.whl:
Publisher:
release.yml on hwanyong/analysis-video
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
analysis_video_gui-0.1.1-py3-none-any.whl -
Subject digest:
1e451e979a2d53790c637cf822eaec8d237f440c003b9493731f9999e2630b91 - Sigstore transparency entry: 2469241029
- Sigstore integration time:
-
Permalink:
hwanyong/analysis-video@4555dae6dd839c49732504cb9d24c8772aa6882c -
Branch / Tag:
refs/tags/gui-v0.1.1 - Owner: https://github.com/hwanyong
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@4555dae6dd839c49732504cb9d24c8772aa6882c -
Trigger Event:
push
-
Statement type: