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: #605 (device access) and #608 (QSV-capable FFmpeg image)
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
- #605
- #608
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
Start with the StreamDL configuration and FFmpeg option paths for the proposed FFMPEG_HWACCEL and codec settings, then review dependencies #605 and #608. Check how live and VOD processing handle progress summaries and how FFMPEG_EXTRA_INPUT_OPTS and FFMPEG_EXTRA_OUTPUT_OPTS are preserved. Done means documented QSV/VAAPI presets, unchanged defaults, and a clear configurable fallback when hardware acceleration is unavailable.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, python
- Domain
- backend, devops
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100