dangeroustech / dangeroustech/StreamDL
feat(qsv): first-class FFmpeg hwaccel / codec presets
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 19
- Forks
- 0
- Avg merge
- 29m
- Merged PRs (30d)
- 1
Description
Goal
Add first-class StreamDL configuration for hardware-accelerated encode/decode (Intel QSV / VAAPI) instead of relying only on raw FFMPEG_EXTRA_* strings.
Context
Parent epic: #452
Depends on: #610 (device access) and #611 (QSV-capable FFmpeg image)
Note: Prefer this issue over earlier duplicate drafts (#607, #609) if those remain open — this token cannot close them.
Scope
- Env/flags such as
FFMPEG_HWACCEL=none|qsv|vaapiand video codec selection (copy/ software /h264_qsv/h264_vaapi, etc.) - Safe defaults preserving current behavior
- Soft failure: clear notice + fallback to copy/software when hwaccel init fails (configurable)
- Ensure download progress (#577) remains correct under hwaccel
- Keep
FFMPEG_EXTRA_INPUT_OPTS/FFMPEG_EXTRA_OUTPUT_OPTSas escape hatches
Out of scope
- Automatic GPU vendor discovery
- NVIDIA / AMD (separate issues)
- Forcing re-encode when stream copy is sufficient
Depends on
- #610
- #611
Acceptance
- Documented presets for QSV and/or VAAPI on the QSV client image
- Default (no hwaccel) behavior unchanged
- Missing device/hwaccel produces a clear notice and configurable fallback
- Live + VOD paths covered; progress summary still works
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No source files or tests are named. Start by reviewing dependencies #610 and #611, then trace the configuration entry points and live/VOD paths that handle FFmpeg options and progress. Done means documented QSV/VAAPI presets, unchanged no-hwaccel behavior, clear configurable fallback notices, and working progress summaries.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, go
- Domain
- backend, devops
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100