Changes 01/15/2026 (v3.0.2)
release(v3.0.2): ffmpeg-backed video thumbnails (Docker) + new thumbnail API (closes #79)
Commit message
release(v3.0.2): ffmpeg-backed video thumbnails (Docker) + new thumbnail API (closes #79)
- Docker: ship ffmpeg so video thumbnails work out-of-the-box in container installs
- add /api/file/thumbnail.php endpoint to generate + cache JPEG thumbnails for video files
- UI: use ffmpeg-backed thumbnails for hover previews + gallery cards (fallback to movie icon)
- harden query param parsing for file endpoints (avoid array/querystring edge cases)
- docs: add FFmpeg + archive tools to THIRD_PARTY notices
Closes #79
Added
- Video thumbnail API endpoint:
GET /api/file/thumbnail.php?folder=...&file=...
Returns a cached JPEG thumbnail for supported video files. - Server-side thumbnail generator (local sources only):
- Uses
ffmpegto extract a frame and writes it into a meta-root cache (thumb_cache/). - Cache key includes file path + mtime + size + thumb dimensions for stable reuse.
- Optional env tuning:
FR_FFMPEG_PATH(override ffmpeg path)FR_VIDEO_THUMB_MAX_W,FR_VIDEO_THUMB_MAX_H(thumbnail max size)
- Uses
- Docker image now installs
ffmpegso thumbnails work in Docker/Unraid without extra setup.
Changed
- Hover preview video thumbs now use the thumbnail API instead of
<video preload="metadata">seeking. - Gallery view video cards now render an
<img>thumbnail with a play overlay; falls back to the movie icon on error. - Thumbnail generation respects your existing “max video preview size (MB)” setting:
- If a video exceeds the configured cap, the thumbnail endpoint returns “too large”.
- Source-aware behavior (when Sources is enabled):
Security / Hardening
- Thumbnails are only generated for authenticated users and still enforce:
- ACL read rules (and read_own ownership checks where applicable)
- no thumbnails for encrypted files
- Cache responses include
X-Content-Type-Options: nosniffand a private cache policy.
Docs / Compliance
- Updated
THIRD_PARTY.mdto mention Docker-bundled system packages:- FFmpeg (LGPL-2.1+; builds may include GPL components)
- p7zip / unar (for archive handling)
v3.0.2
Full Changelog
SHA-256 (zip)
9a22cef243febf95a3579759221fcc741f2b83f7c7c4ecfb1ee98e595422bba5 FileRise-v3.0.2.zip