Refactor/ffmpeg less stream (#1092)

* remove ffmpeg from stream to use opus and vpx, add bunch of todos

* fix testing

* improve download checkout

* fix datachannel download, fix super dirty test clients - setup logic does not belong there

* fix testing
This commit is contained in:
Henry Ruhs
2026-05-09 14:50:38 +02:00
committed by henryruhs
parent 430b16ce56
commit 76c413a2c1
25 changed files with 371 additions and 708 deletions
+1 -29
View File
@@ -1,7 +1,7 @@
from shutil import which
from facefusion import ffmpeg_builder
from facefusion.ffmpeg_builder import capture_video, chain, concat, enforce_pixel_format, keep_video_alpha, run, select_frame_range, set_audio_quality, set_audio_sample_size, set_encoder_deadline, set_lag_in_frames, set_muxer, set_stream_keyframe, set_stream_mode, set_stream_quality, set_video_bufsize, set_video_encoder, set_video_fps, set_video_quality, use_wallclock
from facefusion.ffmpeg_builder import capture_video, chain, concat, enforce_pixel_format, keep_video_alpha, run, select_frame_range, set_audio_quality, set_audio_sample_size, set_stream_mode, set_stream_quality, set_video_encoder, set_video_fps, set_video_quality
def test_run() -> None:
@@ -110,10 +110,6 @@ def test_set_video_quality() -> None:
assert set_video_quality('hevc_videotoolbox', 100) == [ '-b:v', '50512k' ]
def test_use_wallclock_timestamps() -> None:
assert use_wallclock() == [ '-use_wallclock_as_timestamps', '1' ]
def test_capture_video() -> None:
assert capture_video() == [ '-f', 'rawvideo', '-pix_fmt', 'rgb24' ]
@@ -128,27 +124,3 @@ def test_set_stream_quality() -> None:
assert set_stream_quality(2000) == [ '-b:v', '2000k' ]
def test_set_keyframe_interval() -> None:
assert set_stream_keyframe(30) == [ '-g', '30', '-keyint_min', '30' ]
assert set_stream_keyframe(60) == [ '-g', '60', '-keyint_min', '60' ]
def test_set_output_format() -> None:
assert set_muxer('ivf') == [ '-f', 'ivf' ]
assert set_muxer('mpegts') == [ '-f', 'mpegts' ]
def test_set_video_bufsize() -> None:
assert set_video_bufsize(800) == [ '-bufsize', '800k' ]
assert set_video_bufsize(4000) == [ '-bufsize', '4000k' ]
def test_set_encoder_deadline() -> None:
assert set_encoder_deadline('best') == [ '-deadline', 'best' ]
assert set_encoder_deadline('good') == [ '-deadline', 'good' ]
assert set_encoder_deadline('realtime') == [ '-deadline', 'realtime' ]
def test_set_lag_in_frames() -> None:
assert set_lag_in_frames(0) == [ '-lag-in-frames', '0' ]
assert set_lag_in_frames(16) == [ '-lag-in-frames', '16' ]