17916571b3
fix: lowercase codec enum, recorder .done() bug, TrueNAS deploy override
...
- frontend types & components now use lowercase codec values (prores/dnxhd/
h264/uncompressed) to match backend CodecType enum. This was the real
cause of the silent Start Recording 422.
- recorder.py: replaced last .done() call on asyncio.subprocess.Process
with returncode-is-None check (same bug previously fixed in hls.py).
This was causing /api/ports/{n} to 500 during active recording and
health checks to fail while any port was running.
- useRecorder now parses pydantic 422 error bodies so field-level detail
reaches the UI, and App.tsx shows a fixed error banner.
- Added docker-compose.truenas.yml: no deltacast device passthrough,
frontend on :8088. Lavfi testsrc2 fallback kicks in automatically and
feeds the full HLS preview + recording pipeline with a test signal
(1080p30 + 1kHz tone). Verified end-to-end on Wooglin: 442MB/1:56s
H.264 MP4 + working HLS playlist.
2026-04-14 16:20:57 -04:00
122d732db2
fix: use returncode is None instead of .done() for subprocess check
2026-04-14 11:32:17 -04:00
565c524c6f
fix: fall back to lavfi test source when deltacast device absent; fix bitrate string handling; support multi-destination SRT
2026-04-14 11:26:40 -04:00
cd68f4f78f
fix: fall back to lavfi testsrc when deltacast device unavailable
2026-04-14 11:26:17 -04:00
f9f29855b9
fix: bitrate field should be str not int (accepts values like 185M)
2026-04-14 11:25:46 -04:00
7e51da50c8
fix: inject hls_manager into routes module so preview endpoints work
2026-04-14 10:12:46 -04:00
b936647abb
feat: wire HLS manager into routes, add preview start/stop endpoints
2026-04-14 10:12:30 -04:00
9e9ed27c80
feat: add port_index and srt_destination_url to SCTE35 inject_marker
2026-04-14 10:01:57 -04:00
5f2f61edfe
feat: add per-port SCTE35 inject endpoint
2026-04-14 10:01:22 -04:00
7377aee6fa
feat: add multi-destination SRT support and per-port SCTE35
2026-04-14 10:00:46 -04:00
6b3ad13269
feat: increase port count to 8
2026-04-14 10:00:23 -04:00
34a679d365
fix: replace absolute backend.app imports with relative imports
2026-04-14 09:55:39 -04:00
979616e43b
fix: replace absolute backend.app imports with relative imports
2026-04-14 09:55:33 -04:00
7f1951a871
fix: replace absolute backend.app imports with relative imports
2026-04-14 09:55:22 -04:00
3934f23ccd
Add backend/tests/test_srt_streamer.py
2026-04-14 09:21:13 -04:00
9fd23fabb6
Add backend/tests/test_scte35.py
2026-04-14 09:21:13 -04:00
52157add93
Add backend/tests/test_recorder.py
2026-04-14 09:21:13 -04:00
3c85d14d19
Add backend/tests/test_models.py
2026-04-14 09:21:12 -04:00
9c75b84836
Add backend/tests/test_main.py
2026-04-14 09:21:12 -04:00
9dd83b2f9a
Add backend/tests/test_hls.py
2026-04-14 09:21:12 -04:00
67fdd91285
Add backend/tests/test_api.py
2026-04-14 09:21:12 -04:00
604fdbb7d0
Add backend/tests/__init__.py
2026-04-14 09:21:11 -04:00
7c2b09753d
Add backend/requirements.txt
2026-04-14 09:21:11 -04:00
30b14165ba
Add backend/app/utils/hls.py
2026-04-14 09:21:11 -04:00
2f54606620
Add backend/app/utils/ffmpeg.py
2026-04-14 09:21:10 -04:00
3ab2e27dd9
Add backend/app/utils/__init__.py
2026-04-14 09:21:10 -04:00
c3523fdaca
Add backend/app/recorders/srt_streamer.py
2026-04-14 09:21:10 -04:00
fdb655aabc
Add backend/app/recorders/scte35.py
2026-04-14 09:21:10 -04:00
114c44fdb9
Add backend/app/recorders/recorder.py
2026-04-14 09:21:09 -04:00
ec76de02bb
Add backend/app/recorders/__init__.py
2026-04-14 09:21:09 -04:00
5866ad3510
Add backend/app/models.py
2026-04-14 09:21:09 -04:00
8de0ac50d3
Add backend/app/main.py
2026-04-14 09:21:08 -04:00
0ad8b220c1
Add backend/app/config.py
2026-04-14 09:21:08 -04:00
3cac7c5750
Add backend/app/api/websocket.py
2026-04-14 09:21:08 -04:00
8fee41bc97
Add backend/app/api/routes.py
2026-04-14 09:21:08 -04:00
306eb9b9d9
Add backend/app/api/__init__.py
2026-04-14 09:21:07 -04:00
4085eef0f5
Add backend/app/__init__.py
2026-04-14 09:21:07 -04:00
11bb6941ea
Add backend/__init__.py
2026-04-14 09:21:07 -04:00
5b7e243f7a
Add backend/Dockerfile
2026-04-14 09:21:06 -04:00
be55906c11
Add backend/.env.example
2026-04-14 09:21:06 -04:00