henryruhs and Claude Opus 4.8
be89f03b27
Merge branch 'master' into v4
...
Resolve 57 conflicts keeping v4's architecture (UI removal, api app
context, path isolation, streaming/codecs/rtc, workflow-mode superset,
args_helper) and taking master's post-fork features so none are dropped:
inference override/adjust provider hooks (+ face_swapper 3.8.1 coreml
fix), is_vision_frame validity guards, resolve_temp_frame_set frame
numbering with the source audio/voice trim offset, the ffmpeg color
pipeline (restrict_color_transfer / convert_color_space / temp_pixel_format),
ffprobe select_stream v:0 + format duration, pre_check ffprobe with
dependency_not_installed, onnxruntime arena-leak guard + version lru_cache,
installer cuda@12/@13 provider split, workflow_strategy disk/memory
(memory default), and the dependency version bumps. content_analyser hash
guard rehashed to 3c6ce25e.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01V7MdZEmd1GE8uSDTMyq34r
2026-08-05 22:12:54 +02:00
b60ea40d26
3.8.0 ( #1212 )
...
* mark as next
* unify the dependency checks in pre_check and add ffprobe (#1181 )
* drop keep_temp and the common options component (#1180 )
Claude-Session: https://claude.ai/code/session_01Tbcd6VWCiU4BQP1gywPr2a
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
* introduce ffprobe and ffprobe_builder (#1182 )
* introduce ffprobe and ffprobe_builder
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Tbcd6VWCiU4BQP1gywPr2a
* introduce ffprobe and ffprobe_builder
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Tbcd6VWCiU4BQP1gywPr2a
---------
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
* probe video metadata via ffprobe in vision (#1184 )
* probe video metadata via ffprobe in vision
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Tbcd6VWCiU4BQP1gywPr2a
* probe video metadata via ffprobe in vision
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Tbcd6VWCiU4BQP1gywPr2a
---------
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
* adopt the workflow task vocabulary from next major (#1185 )
Claude-Session: https://claude.ai/code/session_01Tbcd6VWCiU4BQP1gywPr2a
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
* introduce workflow-mode and workflow-strategy like next major (#1187 )
Claude-Session: https://claude.ai/code/session_01Tbcd6VWCiU4BQP1gywPr2a
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
* restrict hdr color transfer and tag the merge output as bt709 (#1188 )
* restrict hdr color transfer and tag the merge output as bt709
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Tbcd6VWCiU4BQP1gywPr2a
* restrict hdr color transfer and tag the merge output as bt709
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Tbcd6VWCiU4BQP1gywPr2a
* full video migration
* compose the hdr fixture via the builder chain
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Tbcd6VWCiU4BQP1gywPr2a
* compose the test fixtures via the builder and run_ffmpeg
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Tbcd6VWCiU4BQP1gywPr2a
---------
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
* compose every test fixture via the builder and run_ffmpeg (#1189 )
* compose every test fixture via the builder and run_ffmpeg
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Tbcd6VWCiU4BQP1gywPr2a
* use loops in tests for ffmpeg stuff
---------
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
* New Video Manager (#1191 )
* tiny adjustment for tests
* address the review on the video manager
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Tbcd6VWCiU4BQP1gywPr2a
* introduce the stream strategy for the video workflow (#1192 )
* introduce the stream strategy for the video workflow
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Tbcd6VWCiU4BQP1gywPr2a
* address the review on the stream strategy
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Tbcd6VWCiU4BQP1gywPr2a
---------
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
* annotate the changes for review
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Tbcd6VWCiU4BQP1gywPr2a
* annotate the new tests for review
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Tbcd6VWCiU4BQP1gywPr2a
* match the temp pixel format help to the locale style
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Tbcd6VWCiU4BQP1gywPr2a
* question the set_input_seek naming
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Tbcd6VWCiU4BQP1gywPr2a
* question the reader and writer keys
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Tbcd6VWCiU4BQP1gywPr2a
* drop the review annotations from the encoder mapping tests
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Tbcd6VWCiU4BQP1gywPr2a
* drop the review annotations from the thread count tests
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Tbcd6VWCiU4BQP1gywPr2a
* drop the review annotations from the ui files
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Tbcd6VWCiU4BQP1gywPr2a
* capture the open review questions as annotations
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Tbcd6VWCiU4BQP1gywPr2a
* drop the settled annotations from the types
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Tbcd6VWCiU4BQP1gywPr2a
---------
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
* switch to ffmpeg.style for audio.py
* remove todos that were never needed
* fix for ffmpeg7
* Add frame_store module (#1194 )
* add frame_store module
* rename and change tests
* rename and update tests
* route window read through frame_store (#1196 )
* route window read through frame_store
* update proper id
* restore todos
* restore todos
* go v4 style for workflow (#1197 )
* go v4 style for workflow
* remove some todos
* route chunk read through frame_store (#1198 )
* vision integration
* Deleted read_video_chunk + read_static_video_chunk
* margin decouple (#1199 )
* fix windows CI fail (#1200 )
* Cleanup Part1 (#1201 )
* remove some todos, improve video manager, simplify ffmpeg commands and more
* do more
* remove thread count for filters
* Cleanup Part 2 (#1202 )
* tons of renaming
* tons of renaming
* multi reader approach
* bring tests to an okay-ish state
* bring drain back
* improve read_video_frame speed
* rename method
* move variables
* seek video reader only when trim frame start is larger 0
* make stream the default
* Cleanup/part 3 (#1203 )
* remove todo
* sort out workflow, to match upcoming v4
* remove look ahead
* remove core namespace again
* Revamp execution provider overrides/adjustments (#1206 )
* Split provider hooks into override/adjust with cached CoreML base
Replace the single resolve_inference_providers processor hook with two:
override_inference_providers (full replacement) and adjust_inference_providers
(merge options onto the base providers built by create_inference_providers).
This lets CoreML processors inherit ModelCacheDirectory + SpecializationStrategy
from the base while layering ModelFormat/MLComputeUnits on top.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01HTQCZiYjJyUX11bDpbRSiB
* fix caching for execution provider by having override and adjust ways
* fix caching for execution provider by having override and adjust ways
* fix lint
* use proper pytest fixtures
---------
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
* fix update preview bug (#1205 )
* fix update preview bug
* fix update preview bug
* remove guard
* add is_vision_frame
* Restrict the preview frame slider and the reader seek to the last frame index (#1207 )
* fix index bug
* fix rounding bug
* avoid tobytes copy (#1208 )
* beautify tests
* hide ffmpeg warnings
* simplify process_stream_frame
* Use is vision frame everywhere (#1210 )
* use is_vision_frame everywhere
* fix hash
* fix lint
* fix hash creation in face store
* that model does not exist
* update workflow ffmpeg
* guard workflow (#1211 )
* bump version and dependencies
* Update preview
* switch workflow strategy to disk|memory
* update preview
* update preview
* fix wording
* last minute change workflow position
* adjust wording
---------
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
Co-authored-by: Harisreedhar <46858047+harisreedhar@users.noreply.github.com >
Co-authored-by: harisreedhar <h4harisreedhar.s.s@gmail.com >
2026-07-30 22:25:09 +02:00
Henry Ruhs and GitHub
11bbc89a0e
modernize ffmpeg in test suite ( #1190 )
2026-07-23 15:07:27 +02:00
Henry Ruhs
8bbb6e7062
Cleanup/stream part1 ( #1093 )
...
* use find_library from cytypes, enable rtc tests again
* install libvpx and libopus for unix on CI
* bug found when sending audio first
* no need for source path guard
* add more tests for libraries
* add more tests for libraries
* fix testing
* disable tests to see what happens
* disable tests to see what happens
* debug ci
* debug ci
* debug ci
* debug ci
* debug ci
* debug ci
* debug ci
* debug ci
* debug ci
* debug ci
* debug ci
* hope to solve everything via ENV
* hope to solve everything via ENV
* hope to solve everything via ENV
* hope to solve everything via ENV
* hope to solve everything via ENV
* hope to solve everything via ENV
* hope to solve everything via ENV
* hope to solve everything via ENV
* fix testing
* fix testing
* fix testing
* fix testing
* fix testing
* fix testing
* switch to self hosted libraries
* fixes for macos
* switch to self hosted libraries
* switch to self hosted libraries
* switch to self hosted libraries
* switch to self hosted libraries
* switch to self hosted libraries
* switch to self hosted libraries
* switch to self hosted libraries
* switch to self hosted libraries
2026-05-11 16:36:23 +02:00
Henry Ruhs
5790e03009
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-05-11 16:36:23 +02:00
Harisreedhar and henryruhs
ad1a6c9ea3
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-05-11 16:36:03 +02:00
Henry Ruhs
0c18508f70
Revisit and cleanup ffprobe integration ( #1027 )
...
* Revisit and cleanup ffprobe integration
* Revisit and cleanup ffprobe integration
2026-05-11 16:34:28 +02:00
henryruhs
2c07d8ca45
Polish asset store and helpers
2026-05-11 16:34:28 +02:00
Harisreedhar and henryruhs
6e84970e0d
Feat/audio metadata ( #1019 )
...
* audio metadata
* audio metadata
* audio metadata
* audio metadata
* audio metadata
* audio metadata
* audio metadata
2026-05-11 16:34:28 +02:00