every.channel/evolution/proposals/ECP-0077-explicit-aac-transcode-profile.md

39 lines
1.3 KiB
Markdown

# ECP-0077: Explicit AAC-LC Live Audio Profile In `wt-publish`
Status: Implemented
## Context
Live OTA inputs expose multiple AC-3 audio tracks (5.1 + stereo language variants). Browser watcher behavior is more stable when the published relay stream has a single explicit AAC-LC stereo track shape.
## Decision
In `ec-node wt-publish` transcode mode, force explicit stream mapping and AAC profile:
- `-map 0:v:0`
- `-map 0:a:0?`
- `-c:a aac`
- `-profile:a aac_low`
- `-b:a 160k`
- `-ac 2`
- `-ar 48000`
## Rationale
- Removes ambiguity from ffmpeg auto stream selection when multiple audio tracks exist.
- Keeps audio encoding browser-friendly and deterministic.
- Preserves optional audio behavior (`0:a:0?`) for edge cases where input temporarily lacks audio.
## Alternatives considered
- Keep ffmpeg auto stream selection/profile defaults. Rejected because multi-track OTA inputs produced unstable browser outcomes.
- Preserve AC-3 passthrough for all sources. Rejected because browser compatibility is weaker than explicit AAC-LC stereo.
## Rollout / teardown
- Enable explicit audio mapping/profile in `wt-publish` transcode mode and verify browser playback across OTA sources.
- Teardown by removing explicit `-map` and AAC profile options.
## Reversibility
- Revert to ffmpeg auto mapping/profile by removing explicit `-map` and `-profile:a` flags.