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

1.3 KiB

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.