Set ice candidates server (#285)

* Add code

* Add code

* Code
This commit is contained in:
Freddy Boulton
2025-04-17 10:20:53 -04:00
committed by GitHub
parent 72fdc74e82
commit c9bca428af
7 changed files with 59 additions and 21 deletions

View File

@@ -102,6 +102,7 @@ class Stream(WebRTCConnectionMixin):
allow_extra_tracks: bool = False,
rtp_params: dict[str, Any] | None = None,
rtc_configuration: RTCConfigurationCallable | None = None,
server_rtc_configuration: dict[str, Any] | None = None,
track_constraints: dict[str, Any] | None = None,
additional_inputs: list[Component] | None = None,
additional_outputs: list[Component] | None = None,
@@ -121,6 +122,8 @@ class Stream(WebRTCConnectionMixin):
rtp_params: Optional dictionary of RTP encoding parameters.
rtc_configuration: Optional Callable or dictionary for RTCPeerConnection configuration (e.g., ICE servers).
Required when deploying on Colab or Spaces.
server_rtc_configuration: Optional dictionary for RTCPeerConnection configuration on the server side. Note
that setting iceServers to be an empty list will mean no ICE servers will be used in the server.
track_constraints: Optional dictionary of constraints for media tracks (e.g., resolution, frame rate).
additional_inputs: Optional list of extra Gradio input components.
additional_outputs: Optional list of extra Gradio output components. Requires `additional_outputs_handler`.
@@ -149,6 +152,9 @@ class Stream(WebRTCConnectionMixin):
self.track_constraints = track_constraints
self.webrtc_component: WebRTC
self.rtc_configuration = rtc_configuration
self.server_rtc_configuration = self.convert_to_aiortc_format(
server_rtc_configuration
)
self._ui = self._generate_default_ui(ui_args)
self._ui.launch = self._wrap_gradio_launch(self._ui.launch)