# prompt: make a gradio app using ffmpeg.probe to display media info import gradio as gr import ffmpeg def get_media_info(file_path): """ Uses ffmpeg to probe the media file and extract information. """ try: probe = ffmpeg.probe(file_path) return probe # video_stream = next((stream for stream in probe['streams'] if stream['codec_type'] == 'video'), None) # audio_stream = next((stream for stream in probe['streams'] if stream['codec_type'] == 'audio'), None) # if video_stream: # width = int(video_stream['width']) # height = int(video_stream['height']) # frame_rate = video_stream['avg_frame_rate'] # frame_count = int(video_stream['nb_frames']) # else: # width, height, frame_rate, frame_count = None, None, None, None # if audio_stream: # sample_rate = int(audio_stream['sample_rate']) # channels = int(audio_stream['channels']) # else: # sample_rate, channels = None, None # return { # 'width': width, # 'height': height, # 'frame_rate': frame_rate, # 'frame_count': frame_count, # 'sample_rate': sample_rate, # 'channels': channels, # } except Exception as e: return {'error': str(e)} iface = gr.Interface( fn=get_media_info, inputs="file", outputs="json", title="Media Info Extractor", description="Upload a media file (video or audio) to extract information using ffmpeg.", ) iface.launch()