# ac-ms-media-transcode V.2x lab restream / transcode worker (F2). Shell pipeline: **encode once → HLS + optional RTMP fanout**. Remote: `git://f0xx.org/ac/ac-ms-media-transcode` ## Layout | Path | Role | |------|------| | `lib/env.sh` | **Single config source** — all variables, overload via `export` or `config/local.env` | | `assets/pirate_drift.png` | Default logo watermark (committed) | | `bin/` | encode-once, fanout-copy, run, probe, … | | `config/sources.list` | Lab source URLs | | `config/sinks.list` | RTMP publish targets (fanout stage) | ## Lab cluster Composed BE `config.php` (via `compose-lab-backend.sh`): - `media_pipelines.enabled` = **true** - `script_root` = `/var/www/ac/workspace/ac-ms-media-transcode` - `logo_path` = `…/assets/pirate_drift.png` - HLS nginx alias = `/app/androidcast_project/media/hls/` → `/var/www/ac/media-pipelines/hls/` Console UI: `?view=media_pipelines` (global admin / `media_pipelines_*` grants). ## Local override ```bash cp config/local.env.example config/local.env ./bin/run.sh 1 ``` All tunables live in `lib/env.sh` using `export VAR="${VAR:-default}"`.