Spaces:
Runtime error
Runtime error
File size: 2,121 Bytes
3a3c2be cb82c24 3a3c2be cb82c24 3a3c2be cb82c24 3a3c2be cb82c24 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
import os
import gradio as gr
# Clone the GitHub repository containing app.py if not already cloned
REPO_URL = "https://github.com/NeeravSood/AllMark-MVP" # Replace with your GitHub repo URL
if not os.path.exists("AllMark-MVP"): # Replace with your repo's folder name
os.system(f"git clone {REPO_URL}")
# Import the backend code after cloning the repo
from repository_name.app import DeepfakeAnalyzer # Adjust based on your repo and file structure
# Initialize the analyzer instance
analyzer = DeepfakeAnalyzer()
# Define the function for Gradio to call
def analyze_video(video_file):
results = analyzer.analyze_media(video_file)
combined_probability = results['combined_assessment']
audio_analysis = results["audio_analysis"]
video_probability = results['video_analysis']['probability']
frame_count = len(results['video_analysis']['frame_results'])
# Format the output for display
output = {
"Audio Analysis": audio_analysis,
"Deepfake Probability (Combined Assessment)": f"{combined_probability:.2f}%",
"Video Analysis": {
"Deepfake Probability": f"{video_probability:.4f}",
"Frames Analyzed": frame_count,
"Frame Analysis Summary": [
{
"Frame Number": frame_result["frame_number"],
"Noise Level": frame_result["noise"],
"Edge Density": frame_result["edge_density"],
"Color Consistency": frame_result["color_consistency"],
"Temporal Difference": frame_result["temporal_difference"],
"Probability": frame_result["probability"]
}
for frame_result in results['video_analysis']['frame_results']
]
}
}
return output
# Define the Gradio interface
interface = gr.Interface(
fn=analyze_video,
inputs=gr.Video(label="Upload Video"),
outputs="json",
title="Deepfake Analyzer",
description="Upload a video to analyze for deepfake content."
)
# Launch Gradio app
if __name__ == "__main__":
interface.launch()
|