The persistent ~2.5s of leading silence was the master aresample=async=1 PADDING the audio to reconcile a PTS-origin mismatch: video PTS starts at frame 0 (-framerate), but -use_wallclock_as_timestamps stamped the first audio chunk at its wall-clock arrival time (~2.5s after the ffmpeg graph opened). aresample filled the gap with silence. Drop wallclock: audio PTS now comes from the 48kHz sample count starting at 0 — the same origin as video frame 0 — so the streams align with no pad. The bridge already hands live audio (backlog flushed on attach), so no rate reference is needed from wallclock. |
||
|---|---|---|
| .. | ||
| public | ||
| scripts | ||
| src/css | ||
| .dockerignore | ||
| .gitignore | ||
| Dockerfile | ||
| nginx.conf | ||
| package.json | ||
| postcss.config.js | ||
| tailwind.config.js | ||