deepdefend-api / pipeline.py
nishchandel's picture
fixed cache error
5b7ca6d
import os
os.environ['LIBROSA_CACHE_DIR'] = '/tmp'
os.environ['JOBLIB_TEMP_FOLDER'] = '/tmp'
os.environ['NUMBA_CACHE_DIR'] = '/tmp'
from typing import Dict
from extraction.media_extractor import MediaExtractor
from analysis.video_analyser import VideoAnalyzer
from analysis.audio_analyser import AudioAnalyzer
from analysis.llm_analyser import LLMFusion
class DeepfakeDetectionPipeline:
"""Complete deepfake detection pipeline"""
def __init__(self):
self.media_extractor = MediaExtractor(frames_per_interval=5)
self.video_analyzer = VideoAnalyzer()
self.audio_analyzer = AudioAnalyzer()
self.llm_fusion = LLMFusion()
def analyze_video(self, video_path: str, interval_duration: float = 2.0) -> Dict:
timeline, video_info = self.media_extractor.extract_all(video_path, interval_duration)
for i, interval in enumerate(timeline):
video_results = self.video_analyzer.analyze_interval(interval)
interval['video_results'] = video_results
for i, interval in enumerate(timeline):
audio_results = self.audio_analyzer.analyze_interval(interval)
interval['audio_results'] = audio_results
final_report = self.llm_fusion.generate_report(timeline, video_info)
return {
'video_info': video_info,
'timeline': timeline,
'final_report': final_report,
'summary': self.llm_fusion.generate_report(timeline, video_info)
}