A desktop application built with CustomTkinter that analyzes video files to identify potential ad break points by detecting sequences of black frames and silent audio sections, and finding where these two types of intervals overlap.
The application relies on the following Python libraries:
customtkinter: For the modern graphical user interface.
Pillow (PIL): For image handling (used by CustomTkinter).
opencv-python (cv2): For video frame processing.
numpy: For numerical operations (used by OpenCV and other libraries).
pyAudioAnalysis: For silent audio detection.
scipy: A scientific computing library (dependency of PyAudioAnalysis).
scikit-learn (sklearn): A machine learning library (dependency of PyAudioAnalysis).
matplotlib: A plotting library (dependency of PyAudioAnalysis, even if plots aren't directly shown).
pydub: (Used in the alternative ffmpeg/pydub version) For audio manipulation and silence detection.
ffmpeg-python: (Used in the alternative ffmpeg/pydub version) A Python wrapper for FFmpeg.
FFmpeg: The application requires the external ffmpeg and ffprobe executables to be installed on the system for audio analysis (used by pyAudioAnalysis or ffmpeg-python). The application includes a runtime check and warning if ffmpeg is not found.