diff --git a/.gitignore b/.gitignore index 1416ed6..42784ea 100644 --- a/.gitignore +++ b/.gitignore @@ -63,3 +63,4 @@ Thumbs.db *.swp *.bak *.bak_* +/demo-data/ diff --git a/CHANGELOG.md b/CHANGELOG.md index acf041f..18378c8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -44,8 +44,18 @@ All notable changes to this project are documented here. The format follows tabs and tables. - Browsers kept stale CSS/JS after updates; static URLs now carry a version derived from the shipped files. +- Storage figures showed "N/A" on non-Linux hosts and swallowed errors + silently; they now use `shutil.disk_usage` and log failures. +- The VOD chat panel was always labelled "Twitch Chat", untranslated, also + for YouTube recordings. +- The sidebar language switcher was cut off to "A…"; it now shows a globe and + the language code. +- Channel pages showed a stray separator when a recording had no size. ### Added - GitHub Actions CI (Python 3.10–3.12, ruff, unit tests, shell syntax), Dependabot, contribution and security guidelines. +- Web UI in 12 languages, chosen from the browser language or the switcher. +- `scripts/demo_seed.py` creates a sample archive for trying StreamVault + without recording anything. diff --git a/README.md b/README.md index e0ac286..9e3f6bb 100644 --- a/README.md +++ b/README.md @@ -29,9 +29,9 @@ review; corrections are very welcome (see [CONTRIBUTING.md](CONTRIBUTING.md#tran | :---: | :---: | | ![Dashboard](docs/screenshots/dashboard.png) | ![VOD player](docs/screenshots/vod_player.png) | -| Channel archive | Users and groups | +| Channel archive | Cloud storage | | :---: | :---: | -| ![Channel archive](docs/screenshots/streamer_hub.png) | ![User management](docs/screenshots/admin_users.png) | +| ![Channel archive](docs/screenshots/streamer_hub.png) | ![Cloud storage](docs/screenshots/cloud_storage.png) | | System status | Phone layout | | :---: | :---: | @@ -77,6 +77,26 @@ flowchart LR Three services run side by side: `recorder`, `worker` and `webui`. +## Try it locally + +You can look around without recording anything. `scripts/demo_seed.py` +renders a few short sample recordings with chat (FFmpeg test sources, no +third-party content) into an empty directory: + +```bash +git clone https://github.com/Blackwellcode/streamvault.git && cd streamvault +python3 -m venv .venv && . .venv/bin/activate +pip install -r requirements.txt +python scripts/demo_seed.py --base-dir ./demo-data +VOD_BASE_DIR=./demo-data VOD_USE_X_ACCEL=false \ +VOD_USER=admin VOD_PASS='choose-a-password' \ +VOD_SECRET_KEY="$(python3 -c 'import secrets; print(secrets.token_hex(32))')" \ +python -m WEBUI.webui --host 127.0.0.1 --port 8080 +``` + +Requires FFmpeg on the `PATH`. Open `http://127.0.0.1:8080` and sign in with +the `VOD_USER` and `VOD_PASS` values from the command. + ## Installation ### Ubuntu 22.04+ / Debian 12+ @@ -140,7 +160,7 @@ The full list with explanations is in [.env.example](.env.example). ## Cloud storage -Add providers in the web UI (**Systemsteuerung → Cloud-Speicher**) or on the +Add providers in the web UI (**Options → Cloud storage**) or on the command line: ```bash diff --git a/WEBUI/templates/components/language_switcher.html b/WEBUI/templates/components/language_switcher.html index f24d537..c5bc7e1 100644 --- a/WEBUI/templates/components/language_switcher.html +++ b/WEBUI/templates/components/language_switcher.html @@ -2,6 +2,13 @@ + {% if lang_compact %} + {# Narrow rail: show a globe and the active language code; the native select sits invisibly on top so the dropdown keeps the full names. #} + + {% endif %} + diff --git a/WEBUI/templates/streamer.html b/WEBUI/templates/streamer.html index cfb15c6..4152881 100644 --- a/WEBUI/templates/streamer.html +++ b/WEBUI/templates/streamer.html @@ -273,8 +273,10 @@

{{ hero_stream.title }}

{{ f.date_str }} + {% if f.size_str %} • {{ f.size_str }} + {% endif %} {% if f.category %} • {{ _('Game: %(category)s', category=f.category) }} diff --git a/WEBUI/templates/vod.html b/WEBUI/templates/vod.html index 0e84552..59fa0e5 100644 --- a/WEBUI/templates/vod.html +++ b/WEBUI/templates/vod.html @@ -250,7 +250,7 @@

{{ _('Transcript') }}