Skip to content

Producer: configurable ffmpeg push target + Icecast output, tee kept independent #174

@anneoneone

Description

@anneoneone

Goal

Teach the Rust producer to push to Icecast, with the target configurable and the recording tee kept independent of the push target (Phase 2 of #164).

Tasks

  • Change the producer: in backend/src/stream_bridge.rs, make the ffmpeg output target configurable (env/config, not hardcoded) and add an Icecast output: … -vn -content_type audio/mpeg -f mp3 icecast://source:<pw>@host:port/<mount> (or -f opus/-f adts). The RTMP defaults already live in backend/src/config.rs (default_rtmp_url / default_rtmp_stream_key, overridable via RTMP_URL / RTMP_STREAM_KEY env) — extend that pattern.
  • Keep the recording tee branch independent of the push-target branch — a "go live" (test→live) switch must NOT restart/disturb the tee, or it punches a gap in the recording (threatens req [UAF] Setup and connect cloud storage #3).

Files

backend/src/stream_bridge.rs, backend/src/config.rs.

Acceptance

Producer can target /test or /live purely via config; switching the push target test→live does not restart the recording tee (no gap in the archive).

Depends on

#164 Phase-2 stack ticket (mounts + credentials must exist).


Parent: #164 (Phase 2).

Metadata

Metadata

Assignees

No one assigned

    Labels

    project::StreamArea: live audio streaming & stream controltype::backendLayer: Rust/Axum backend (handlers, DB, integrations)

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions