gra / app.py
noamholz's picture
copied some webcam code
1a3844d
raw
history blame
1.84 kB
import gradio as gr
def greet(name):
return "Hello " + name + "!!"
demo = gr.Interface(fn=greet, inputs="text", outputs="text")
demo.launch()
# import asyncio
# from gradio_webrtc import AsyncAudioVideoStreamHandler
# class GeminiHandler(AsyncAudioVideoStreamHandler):
# def __init__(
# self, expected_layout="mono", output_sample_rate=24000, output_frame_size=480
# ) -> None:
# super().__init__(
# expected_layout,
# output_sample_rate,
# output_frame_size,
# input_sample_rate=16000,
# )
# self.audio_queue = asyncio.Queue()
# self.video_queue = asyncio.Queue()
# self.quit = asyncio.Event()
# self.session = None
# self.last_frame_time = 0
# def copy(self) -> "GeminiHandler":
# """Copy gets called whenever a new user connects to the server.
# This ensures that each user has an independent handler.
# """
# return GeminiHandler(
# expected_layout=self.expected_layout,
# output_sample_rate=self.output_sample_rate,
# output_frame_size=self.output_frame_size,
# )
# async def video_receive(self, frame: np.ndarray):
# """Send video frames to the server"""
# if self.session:
# # send image every 1 second
# # otherwise we flood the API
# if time.time() - self.last_frame_time > 1:
# self.last_frame_time = time.time()
# await self.session.send(encode_image(frame))
# if self.latest_args[2] is not None:
# await self.session.send(encode_image(self.latest_args[2]))
# self.video_queue.put_nowait(frame)
# async def video_emit(self) -> VideoEmitType:
# """Return video frames to the client"""
# return await self.video_queue.get()