Commit Graph

570 Commits

Author SHA1 Message Date
henryruhs 840168077d remove macos large 2026-04-08 10:19:08 +02:00
henryruhs 13c36d3e40 ui improvement 2026-04-07 15:29:41 +02:00
henryruhs 7496826602 ui improvement 2026-04-07 15:00:46 +02:00
henryruhs e3d4e101c9 video support 2026-04-07 14:52:57 +02:00
henryruhs 52b5d9a090 add metric and fix node 2026-04-07 11:11:18 +02:00
henryruhs 5fe245b1fa Add node-based architecture with workflow UI
- Node decorator system (@node) with NodeContext for composable processing
- Node registry with typed input/output ports (image, json)
- API endpoints: GET /nodes (list), POST /nodes/{name} (execute)
- Nodes: face_detector, face_landmarker, face_debugger, face_enhancer, face_swapper
- Workflow UI served as static HTML from /
- Auto-executing nodes, type-enforced connections, session persistence

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 10:32:43 +02:00
henryruhs cdd7c25586 once invalid value causes other to fail too 2026-04-06 20:42:26 +02:00
Harisreedhar b1daf2bc03 Ignore set state for non api scope (#1073)
* ignore set state for non api scope

* replace 404 with 422

* remove two loops

* use HTTP_422_UNPROCESSABLE_CONTENT
2026-04-06 20:27:23 +02:00
henryruhs 89743d14d1 add todos 2026-04-06 18:12:27 +02:00
henryruhs 94b0a4032e fix stuck ffmpeg due multi thread lock 2026-04-06 18:06:42 +02:00
henryruhs ff8db531a8 make ci great again 2026-04-06 18:49:16 +02:00
Henry Ruhs af9cc1a37a Fix/ffmpeg sanitize (#1074)
* fix sanitize for videos

* fix macos

* fix macos
2026-04-06 17:56:43 +02:00
Henry Ruhs 8ee40517a4 Feat/ffprobe v2 (#1072)
* follow the todos

* extend to support bit_rate and more

* simplify like crazy

* simplify like crazy

* minor changes

* clean testing

* clean testing

* kill pipe resolver helpers

* kill pipe resolver helpers

* bit rate seems to be different on CI

* use .splitlines() over .split(os.linesep)

* skip test for windows

* hack testing
2026-04-06 14:17:01 +02:00
henryruhs bf5c3f3aee fix more todos 2026-04-02 23:35:37 +02:00
henryruhs 74d009ea79 stop passing format 2026-04-02 22:16:01 +02:00
Harisreedhar 8446b0e1d4 fix refresh_session does not validate expiry before refreshing (#1071) 2026-04-01 09:19:41 +02:00
henryruhs e24f1052ac add tons of todos 2026-03-31 22:56:32 +02:00
henryruhs ef8feaab6b add tons of todos 2026-03-31 22:50:02 +02:00
henryruhs 84ad32912e fix macos 2026-03-31 19:09:54 +02:00
henryruhs e9a249fb6b add meaningful tests 2026-03-31 18:31:29 +02:00
henryruhs e949b1619a add meaningful tests 2026-03-31 17:51:13 +02:00
henryruhs c808cdd5b9 cleanup code part1 2026-03-31 16:55:38 +02:00
Harisreedhar 6bb62cf64e Assets ffmpeg stream upload (#1069)
* ffmpeg sanitize

* fix type

* fix type

* add config

* ChunkQueue -> UploadQueue

* revert assets.py

* move resolve methods to ffmpeg_builder.py

* Refactor ffmpeg.py

* Remove partial import

* improve test

* remove put(None)

* cleanup

* without poll() not working

* ChunkReader -> MediaChunkReader

* improve assert by replacing generic is_file

* naming and cleanup
2026-03-31 16:31:02 +02:00
Harisreedhar aa9701fdfe Fix hardcoded fps (#1068)
* fix hardcoded fps

* fallback to temp_fps when output_video_fps is None

* fix test_ffmpeg

* change temp-fps -> output-audio-fps

* cleanup

* cleanup
2026-03-25 19:06:14 +05:30
Harisreedhar 6a6d200a01 add test when get_metrics_set() returns None (#1067) 2026-03-24 21:01:13 +05:30
Harisreedhar dbc4b8778e fix false vram numbers (#1065) 2026-03-23 21:50:48 +05:30
Harisreedhar 0f4a90aebd Fix bad caching of graphic devices (#1064)
* fix bad caching of graphic devices

* restore without cache

* restore without cache

* restore without cache

* remove detect_static_graphic_devices and add resolve_static_cudnn_conv_algo_search
2026-03-23 19:39:35 +05:30
Harisreedhar b30dcf6364 Dynamic bitrate for webrtc stream (#1063)
* use custom aiortc

* update naming to bitrate_
2026-03-20 18:39:19 +05:30
henryruhs 3acb71c44e merge stuff 2026-03-17 14:55:36 +01:00
Henry Ruhs 0d0c27b117 asset validation and image encoder lookup (#1058)
* asset validation and image encoder lookup

* asset validation and image encoder lookup

* asset validation and image encoder lookup
2026-03-17 14:03:34 +01:00
Harisreedhar b67aaf1cd1 add download action (#1057) 2026-03-17 14:03:10 +01:00
henryruhs 85f097d85c fix stream of videos 2026-03-17 14:03:10 +01:00
harisreedhar 7144c2b5b7 fix execution.py import order 2026-03-17 14:03:07 +01:00
henryruhs 10dfe9139e burn ui with fire 2026-03-17 14:03:07 +01:00
henryruhs c9a5b83da8 updates for v4
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-17 14:03:07 +01:00
Harisreedhar ab24cd3f2e Implement basic webrtc stream (#1054)
* implement basic webrtc_stream

* add aiortc to requirements.txt

* update aiortc version

* rename variables with rtc_ prefix

* changes

* changes

* change helper to assert_helper and stream_helper

* rename variables with rtc_ prefix

* add error handling

* return whole connection

* remove monkey patch and some cleaning

* cleanup

* tiny adjustments

* tiny adjustments

* proper typing and naming for rtc offer set

* - remove async from on_video_track method
- rename source -> target
- add audio

* audio always before video

---------

Co-authored-by: henryruhs <info@henryruhs.com>
2026-03-17 14:02:40 +01:00
henryruhs 9159f45a5f fix benchmarker, prevent path traveling via job-id 2026-03-17 14:02:40 +01:00
Harisreedhar e57713c3c6 Rename process to stream (#1053)
* rename process to stream

* remove /image and add webrtc_stream_video scaffolding

* remove _image
2026-03-17 14:02:16 +01:00
Henry Ruhs 1a7e4c3807 remove more type ignore (#1052) 2026-03-17 14:02:16 +01:00
Henry Ruhs a2a02cfd8a Better args types part2 (#1051)
* remove helper methods finally

* state becomes the total truth now

* state becomes the total truth now

* state becomes the total truth now

* state becomes the total truth now

* add ini file
2026-03-17 14:02:16 +01:00
Harisreedhar 4f149eb61d Remove unused code to improve test coverage (#1050)
* remove unused code

* move create_session_guard to middlewares
2026-03-17 14:02:16 +01:00
Henry Ruhs 2af4206fc5 better args types (#1049)
* fix lint and remove unused types, restructure helpers

* fix lint

* fix lint

* fix lint
2026-03-17 14:02:16 +01:00
Henry Ruhs c25e0a2f88 rename args store to capability store (#1048)
* rename args store to capability store

* fix lint and remove unused types
2026-03-17 14:02:16 +01:00
Harisreedhar cd3023b9e1 Improve tests (#1047)
* improve tests

* does it hurt someone to have crazy numbers?

---------

Co-authored-by: henryruhs <info@henryruhs.com>
2026-03-17 14:02:16 +01:00
harisreedhar d90b796b51 fix pre-check issue 2026-03-17 14:02:16 +01:00
harisreedhar b3afacf670 remove pre_check 2026-03-17 14:02:16 +01:00
harisreedhar 2d1269e5e6 remove program 2026-03-17 14:02:16 +01:00
harisreedhar 6152ecc973 remove while True and websocket code 2026-03-17 14:02:16 +01:00
harisreedhar 7957640f61 hopefully fix test 2026-03-17 14:02:16 +01:00
harisreedhar 2ee01b38ee pre_check() on test instead 2026-03-17 14:02:16 +01:00