Stream audio/video in realtime with webrtc
Generate videos from an image and text prompt
Generate an animated GIF from a text prompt
Remove/Change background of video.
Generate realistic talking heads from image+audio
Generate a video from a text prompt
Create video ads from product names
https://huggingface.co/papers/2501.03006
Track objects in your video by marking points
Detect deepfakes in uploaded videos
Flux Animations(GIF) Generaion
Browse robotic datasets visually
VLMEvalKit Eval Results in video understanding benchmark
gradio_webrtc is a real-time audio/video streaming library built on top of WebRTC. It allows developers to stream audio and video content directly within web applications, enabling low-latency, bi-directional communication. Designed for integration with Gradio, it simplifies the process of adding real-time media capabilities to machine learning demos and applications.
• Real-time streaming: Stream audio and video with minimal delay. • Bi-directional communication: Enable both sending and receiving of media streams. • WebRTC support: Leverage the power of WebRTC for secure and efficient peer-to-peer connections. • Gradio integration: Easily incorporate real-time media into Gradio interfaces. • Cross-browser compatibility: Ensure functionality across modern browsers. • Extensive customization: Control stream quality, resolution, and other parameters.
pip install gradio-webrtc
.import gradio_webrtc
to your Python script.WebRTC
component to enable streaming.gradio.run()
.Example code:
import gradio_webrtc as webrtc
from gradio import Blocks
def process_stream(stream):
# Process the incoming WebRTC stream
return stream
demo = Blocks()
with demo:
webrtc.WebRTC мир()
with Columns():
btn = Button("Start Streaming")
output = Video(label="Output")
demo.run()
1. What browsers are supported by gradio_webrtc?
gradio_webrtc supports most modern browsers, including Chrome, Firefox, Safari, and Edge, as long as they support WebRTC.
2. Can I use gradio_webrtc for production applications?
Yes, gradio_webrtc is designed for production use. However, ensure you handle scaling and load balancing appropriately for large-scale deployments.
3. How do I handle multiple simultaneous users?
To manage multiple users, use a signaling server to coordinate WebRTC connections. gradio_webrtc provides basic signaling functionality, but you may need to scale it for large audiences.