dangeroustech / dangeroustech/StreamDL

feat(qsv): optional client image with Quick Sync / VAAPI-capable FFmpeg

Open
#608 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
19
Forks
0
Avg merge
29m
Merged PRs (30d)
1

Description

Goal

Ship an optional StreamDL client image variant whose FFmpeg can use Intel Quick Sync and/or VAAPI when /dev/dri is passed through.

Context

Parent epic: #452
Depends on: #605 (Phase 1 — /dev/dri passthrough docs/compose)

Today Dockerfile.client copies binaries from mwader/static-ffmpeg, which cannot use QSV/VAAPI. Device passthrough alone is insufficient.

Scope

  • Add an optional image tag (recommended: client_*-qsv or similar) based on a distro image with Intel media stack + FFmpeg (qsv and/or vaapi in ffmpeg -hwaccels)
  • Keep the current static-FFmpeg client as the default
  • Document how to pull/run the QSV variant with /dev/dri
  • Document using existing FFMPEG_EXTRA_INPUT_OPTS / FFMPEG_EXTRA_OUTPUT_OPTS and/or post_script for a working encode path
  • Manual verification checklist on Intel hardware (CI runners typically lack iGPU)

Out of scope

  • Replacing the default static client for everyone
  • First-class StreamDL hwaccel presets (follow-up after this issue)
  • NVIDIA NVENC / AMD AMF

Depends on

  • #605

Acceptance

  • Optional published client image where ffmpeg -hide_banner -hwaccels lists qsv and/or vaapi
  • Default client image unchanged
  • Docs for running with /dev/dri + at least one working encode example (in-process EXTRA opts or post_script)
  • Clear failure notes when device/drivers are missing

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with Dockerfile.client and review dependency #605 for the existing /dev/dri passthrough approach. Define the optional client image so ffmpeg -hide_banner -hwaccels lists qsv and/or vaapi while the default image stays unchanged. Manually verify on Intel hardware with /dev/dri, document one working EXTRA opts or post_script encode path, and record missing-device or driver failures.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker
Domain
devops, documentation, infrastructure
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.