eusholli commited on
Commit
b184fdb
1 Parent(s): 1a5f375

fixed local + hosted STUN/TURN

Browse files
Files changed (2) hide show
  1. app.py +2 -1
  2. utils/turn.py +12 -4
app.py CHANGED
@@ -134,11 +134,12 @@ def video_frame_callback(frame: av.VideoFrame) -> av.VideoFrame:
134
 
135
  return av.VideoFrame.from_ndarray(image, format="bgr24")
136
 
 
137
 
138
  webrtc_ctx = webrtc_streamer(
139
  key="object-detection",
140
  mode=WebRtcMode.SENDRECV,
141
- rtc_configuration={"iceServers": get_ice_servers()},
142
  video_frame_callback=video_frame_callback,
143
  media_stream_constraints={"video": True, "audio": False},
144
  async_processing=True,
 
134
 
135
  return av.VideoFrame.from_ndarray(image, format="bgr24")
136
 
137
+ ice_servers = get_ice_servers()
138
 
139
  webrtc_ctx = webrtc_streamer(
140
  key="object-detection",
141
  mode=WebRtcMode.SENDRECV,
142
+ rtc_configuration=ice_servers,
143
  video_frame_callback=video_frame_callback,
144
  media_stream_constraints={"video": True, "audio": False},
145
  async_processing=True,
utils/turn.py CHANGED
@@ -1,4 +1,4 @@
1
- import logging
2
  import os
3
 
4
  import streamlit as st
@@ -16,6 +16,11 @@ def get_ice_servers():
16
  See https://github.com/whitphx/streamlit-webrtc/issues/1213
17
  """
18
 
 
 
 
 
 
19
  # Ref: https://www.twilio.com/docs/stun-turn/api
20
  try:
21
  account_sid = os.environ["TWILIO_ACCOUNT_SID"]
@@ -24,7 +29,7 @@ def get_ice_servers():
24
  logger.warning(
25
  "Twilio credentials are not set. Fallback to a free STUN server from Google." # noqa: E501
26
  )
27
- return [{"urls": ["stun:stun.l.google.com:19302"]}]
28
 
29
  client = Client(account_sid, auth_token)
30
 
@@ -34,6 +39,9 @@ def get_ice_servers():
34
  st.warning(
35
  f"Error occurred while accessing Twilio API. Fallback to a free STUN server from Google. ({e})" # noqa: E501
36
  )
37
- return [{"urls": ["stun:stun.l.google.com:19302"]}]
38
 
39
- return token.ice_servers
 
 
 
 
1
+ import logging
2
  import os
3
 
4
  import streamlit as st
 
16
  See https://github.com/whitphx/streamlit-webrtc/issues/1213
17
  """
18
 
19
+ GOOGLE_RTC_CONFIGURATION = {
20
+ "iceServers": [{"urls": ["stun:stun.l.google.com:19302"]}],
21
+ "iceTransportPolicy": "all",
22
+ }
23
+
24
  # Ref: https://www.twilio.com/docs/stun-turn/api
25
  try:
26
  account_sid = os.environ["TWILIO_ACCOUNT_SID"]
 
29
  logger.warning(
30
  "Twilio credentials are not set. Fallback to a free STUN server from Google." # noqa: E501
31
  )
32
+ return GOOGLE_RTC_CONFIGURATION
33
 
34
  client = Client(account_sid, auth_token)
35
 
 
39
  st.warning(
40
  f"Error occurred while accessing Twilio API. Fallback to a free STUN server from Google. ({e})" # noqa: E501
41
  )
42
+ return GOOGLE_RTC_CONFIGURATION
43
 
44
+ return {
45
+ "iceServers": token.ice_servers,
46
+ "iceTransportPolicy": "all",
47
+ }