Skip to content

feat(qsv): first-class FFmpeg hwaccel / codec presets #609

Description

@cursor

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|vaapi and 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 (feat: parse FFmpeg progress for structured download status #577) remains correct under hwaccel
  • Keep FFMPEG_EXTRA_INPUT_OPTS / FFMPEG_EXTRA_OUTPUT_OPTS as escape hatches

Out of scope

  • Automatic GPU vendor discovery
  • NVIDIA / AMD (separate issues)
  • Forcing re-encode when stream copy is sufficient

Depends on

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions