Implement RTC store (#1081)

* implement RTC store

* fix ffmpeg_builder

* add RtcSdpOffer type
This commit is contained in:
Harisreedhar
2026-04-28 15:07:12 +05:30
committed by GitHub
parent 7d0cd9388a
commit da5e21793d
7 changed files with 84 additions and 12 deletions
+5 -5
View File
@@ -259,13 +259,13 @@ def test_sanitize_video() -> None:
def test_spawn_stream() -> None: # TODO: Improve test
test_set =\
[
((426, 240), 25, 500),
((640, 360), 30, 1000),
((1280, 720), 30, 2000)
((426, 240), 25, 400, 800),
((640, 360), 30, 1000, 2000),
((1280, 720), 30, 2000, 4000)
]
for resolution, stream_fps, stream_bitrate in test_set:
encoder = spawn_stream(resolution, stream_fps, stream_bitrate)
for resolution, stream_fps, stream_bitrate, stream_bufsize in test_set:
encoder = spawn_stream(resolution, stream_fps, stream_bitrate, stream_bufsize)
frame_size = resolution[0] * resolution[1] * 3
stdout, _ = encoder.communicate(input = bytes(frame_size))
+17 -1
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_muxer, set_stream_keyframe, set_stream_mode, set_stream_quality, 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_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
def test_run() -> None:
@@ -136,3 +136,19 @@ def test_set_keyframe_interval() -> None:
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' ]