whitphx's picture
whitphx HF Staff
Fix
4196959
raw
history blame
1.63 kB
import streamlit as st
from streamlit_webrtc import webrtc_streamer, get_twilio_ice_servers
frontend_ice_type = st.selectbox("Frontend ICE type", ["Empty", "Google STUN", "Twilio TURN"])
backend_ice_type = st.selectbox("Backend ICE type", ["Empty", "Google STUN", "Twilio TURN"])
if frontend_ice_type == "Empty":
frontend_rtc_configuration = {
"iceServers": []
}
elif frontend_ice_type == "Google STUN":
frontend_rtc_configuration = {
"iceServers": [{"urls": ["stun:stun.l.google.com:19302"]}]
}
elif frontend_ice_type == "Twilio TURN":
frontend_rtc_configuration = {
"iceServers": get_twilio_ice_servers(
twilio_sid=st.secrets["TWILIO_ACCOUNT_SID"],
twilio_token=st.secrets["TWILIO_AUTH_TOKEN"],
)
}
if backend_ice_type == "Empty":
backend_rtc_configuration = {
"iceServers": []
}
elif backend_ice_type == "Google STUN":
backend_rtc_configuration = {
"iceServers": [{"urls": ["stun:stun.l.google.com:19302"]}]
}
elif backend_ice_type == "Twilio TURN":
backend_rtc_configuration = {
"iceServers": get_twilio_ice_servers(
twilio_sid=st.secrets["TWILIO_ACCOUNT_SID"],
twilio_token=st.secrets["TWILIO_AUTH_TOKEN"],
)
}
st.write("Frontend ICE configuration:", frontend_rtc_configuration)
st.write("Backend ICE configuration:", backend_rtc_configuration)
webrtc_streamer(
key="example",
media_stream_constraints={"video": True, "audio": False},
frontend_rtc_configuration=frontend_rtc_configuration,
server_rtc_configuration=backend_rtc_configuration,
)