Recorder model was creating capture containers but ffmpeg never spawned inside them, so SRT/RTMP listeners bound the host port without ingesting anything. Thumbnail extraction was also crashing on yuv444p sources, leaving uploaded assets stuck at status=processing forever. * capture/src/index.js: read RECORDER_ID/SOURCE_TYPE/LISTEN/LISTEN_PORT/ STREAM_KEY/SOURCE_URL from env on startup and call captureManager.start() immediately. SIGTERM handler now flushes ffmpeg + S3 upload and POSTs the asset to mam-api before exiting. * worker/ffmpeg/executor.js: force -pix_fmt yuv420p on proxy transcode and -pix_fmt yuvj420p on thumbnail extraction so mjpeg encoder accepts the input regardless of source pixel format. * mam-api/routes/assets.js: when capture posts proxyKey=null but hiresKey is set (SRT/RTMP case), enqueue a proxy job from the hires so the asset ends up with a browser-playable proxy + thumbnail instead of stuck-ready. * mam-api/routes/recorders.js: accept UI field aliases (codec/resolution/ proxy_config), clean up unstarted containers on port collision, bump the docker stop timeout to 5min so long uploads can flush. * web-ui/recorders.html: change default ports from 1935/9000 to 41936/49001 to avoid common collisions with other RTMP/SRT services. |
||
|---|---|---|
| .. | ||
| src | ||
| .env.example | ||
| .gitignore | ||
| Dockerfile | ||
| package.json | ||