Add video poster frames and rework the media status row

This commit is contained in:
Fisto
2026-09-16 12:40:10 +02:00
parent f9b4041157
commit 043d1cd3c5
9 changed files with 124 additions and 12 deletions
+2
View File
@@ -109,6 +109,8 @@ Downloads run after a finished walk when the scrape used `mode: "download"`:
- With a custom destination, files go to `<destination>/<scrape-id>/media/` and the row stores the
absolute path; without one they stay in `<scrape>/media/`. Embed previews are copied to
`<destination>/<scrape-id>/thumbnails/` while the local copy stays for the Media tab.
- Downloaded videos get a poster frame (`ffmpeg -ss 0.5`, 480px WebP) cached in `thumbs/`, because
Discord serves no thumbnails for uploaded video files.
- Progress counters: `downloaded`, `downloadErrors`.
Previews run after every walk:
+8 -6
View File
@@ -138,12 +138,14 @@ that deletion is irreversible. The delete button is disabled for a 5 second coun
21:9, Other), resolution (SD, HD, FHD, QHD, 4K+, Unknown), and a posted-date range (from/to).
Nothing renders until **Load media** is pressed. A **Metadata** dropdown toggles which fields
show in the small banner under each tile (User, Type, Date, Source, Resolution, Length). Video
tiles carry a translucent play icon top-right. Clicking a tile opens a viewer: wide media shows
the metadata banner below, vertical media shows it to the right; the banner has the full link
(with an external-site warning) and **View full**, and the play action embeds a YouTube, Vimeo,
Twitch, or Streamable player when possible. The status row reads
`downloaded A/B (images/videos) | cached C/D (excludes downloaded) | N loaded`. A scrape strip
shows live progress with Stop.
tiles carry a translucent play icon top-right. Discord serves no thumbnails for uploaded videos,
so a video without a cached preview renders a first-frame `<video>` in the grid, and downloaded
videos get an ffmpeg poster cached in `thumbs/`. Clicking a tile opens a viewer: wide media
shows the metadata banner below, vertical media shows it to the right; the banner has the full
link (with an external-site warning) and **View full**, and the play action embeds a YouTube,
Vimeo, Twitch, or Streamable player when possible. The status row reads
`(Images/Videos) | Downloaded A/B | Cached C/B (excl Downl) | Loaded L/B`, where B is the total
for the active filters. A scrape strip shows live progress with Stop.
**New scrape…** (rightmost) opens a popup with Server and Group chat trees (servers expand to
channels; each row has Links and Download). Every scrape button asks for confirmation; the
dialog takes optional From/To dates and a **Check Message Count** button (Discord search total,