diff --git a/videoarchiver/ffmpeg/ffmpeg_manager.py b/videoarchiver/ffmpeg/ffmpeg_manager.py index 5149a2b..eb07fe1 100644 --- a/videoarchiver/ffmpeg/ffmpeg_manager.py +++ b/videoarchiver/ffmpeg/ffmpeg_manager.py @@ -6,20 +6,36 @@ import multiprocessing from pathlib import Path from typing import Dict, Any, Optional -from .exceptions import ( - FFmpegError, - AnalysisError, - FFmpegNotFoundError -) -from .gpu_detector import GPUDetector -from .video_analyzer import VideoAnalyzer -from .encoder_params import EncoderParams -from .process_manager import ProcessManager -from .verification_manager import VerificationManager -from .binary_manager import BinaryManager +try: + # Try relative imports first + from .exceptions import ( + FFmpegError, + AnalysisError, + FFmpegNotFoundError + ) + from .gpu_detector import GPUDetector + from .video_analyzer import VideoAnalyzer + from .encoder_params import EncoderParams + from .process_manager import ProcessManager + from .verification_manager import VerificationManager + from .binary_manager import BinaryManager +except ImportError: + # Fall back to absolute imports if relative imports fail + from videoarchiver.ffmpeg.exceptions import ( + FFmpegError, + AnalysisError, + FFmpegNotFoundError + ) + from videoarchiver.ffmpeg.gpu_detector import GPUDetector + from videoarchiver.ffmpeg.video_analyzer import VideoAnalyzer + from videoarchiver.ffmpeg.encoder_params import EncoderParams + from videoarchiver.ffmpeg.process_manager import ProcessManager + from videoarchiver.ffmpeg.verification_manager import VerificationManager + from videoarchiver.ffmpeg.binary_manager import BinaryManager logger = logging.getLogger("VideoArchiver") + class FFmpegManager: """Manages FFmpeg operations and lifecycle"""