CoolFace
Apppublic

sparsh007/test

sourceHugging Faceupdated 1y agoView on Hugging Face
0likes
app.py49 linesDownload Raw Back to root
1from fastapi import FastAPI2import gradio as gr3import requests4import os5 6app = FastAPI()7 8def display_video(video_url, sas_token):9    try:10        full_url = f"{video_url}?{sas_token}"11        temp_file = "temp_video.mp4"12        response = requests.get(full_url, timeout=10)13        if response.status_code == 200:14            with open(temp_file, "wb") as f:15                f.write(response.content)16            return temp_file, "Video loaded successfully"17        return None, f"Failed to fetch video: {response.status_code}"18    except Exception as e:19        return None, f"Error: {str(e)}"20 21@app.post("/process_video")22async def process_video(data: dict):23    video_url = data.get("video_url")24    sas_token = data.get("sas_token")25    if not video_url or not sas_token:26        return {"error": "Missing video_url or sas_token"}27    video_path, message = display_video(video_url, sas_token)28    return {"status": "success" if video_path else "error", "message": message}29 30def gradio_interface(video_url, sas_token):31    video_path, message = display_video(video_url, sas_token)32    return video_path, message33 34iface = gr.Interface(35    fn=gradio_interface,36    inputs=[37        gr.Textbox(label="Video URL"),38        gr.Textbox(label="SAS Token")39    ],40    outputs=[41        gr.Video(label="Video"),42        gr.Text(label="Status")43    ],44    title="PRISM Site Diary V3 Video Viewer",45    description="Enter video URL and SAS token to view."46)47 48if __name__ == "__main__":49    iface.launch(server_name="0.0.0.0", server_port=7860)