Skip to content

Yuvi9587/Media-Nest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Media-Nest

Media-Nest is a desktop application for organizing, browsing, and managing large collections of photos and videos stored on your computer. It is built to stay responsive while handling thousands of files by using background processing and multithreading for tasks that take longer to complete.

Main Interface

Core Features

Media-Nest includes a range of tools for organizing and managing your media library. The interface uses a clean dark theme inspired by modern desktop applications, making it comfortable to use for long periods.

Media Organization

Browse your folders and media collections through a simple tree navigation system that makes it easy to move around large libraries.

  • Multi Tag Search: Search your library using multiple tags at the same time. You can include the tags you want while excluding others to quickly narrow down your results.

Duplicate Detection

Media-Nest includes built in tools for finding duplicate files and helping you free up storage space.

  • Image Deduplication: Uses perceptual hashing to detect both exact duplicates and visually similar images.
  • Video Deduplication: Uses FFmpeg together with a video duplicate finder backend to scan your video library for duplicate files.

Media Viewer

AI Auto Tagging

Media-Nest includes an AI based tagging system that can automatically add tags to your media and reduce the amount of manual work needed to organize large collections.

  • Hardware Acceleration: Supports ONNX Runtime with CPU, NVIDIA CUDA, and DirectML, allowing the AI features to run on the hardware available on your system.
  • Automatic Tagging: Analyzes images and video frames to predict characters and apply tags. A customizable fallback system can also assign tags based on visual features such as hair color and eye color.

Media Viewers

Media-Nest includes dedicated viewers for different types of media.

  • Video Player: Includes custom playback controls, volume adjustment, looping, and a detachable viewer that works well on multi monitor setups.
  • Comic Reader: Supports both continuous vertical scrolling for webtoons and paginated reading for manga and comics.

How It Works

The application performs most heavy tasks in the background so you can continue browsing your library without interruptions.

  • Getting Started: Open your media library or load an existing SQLite database that contains your tags and metadata.
  • Background Processing: Media-Nest scans folders, generates thumbnails, and extracts video frames in the background while the interface remains responsive.
  • Searching: Use the sidebar search to find specific tags. Matching files and folders are loaded directly from the database.
  • Viewing Media: Open images in the built in image viewer, play videos directly, or open image folders in the comic reader.

Installation

Media-Nest requires Python 3.10 or later. The main dependencies include PyQt6, ONNX Runtime, OpenCV, Pillow, and ImageHash.

Installation Steps

  1. Clone the repository.
  2. Install the required Python packages. If you have an NVIDIA GPU, you can install onnxruntime-gpu instead of the standard ONNX Runtime package for faster AI tagging.
pip install -r requirements.txt
  1. Run the main Python file to start the application.

First Time Setup

  • Choose the location for your primary database when prompted.
  • If you plan to use video duplicate detection, open the corresponding tab and download the required FFmpeg and command line tools.
  • Interface scaling can be adjusted by editing the configuration JSON file in the project directory.

Project Structure

The project is organized into separate components to keep the code easier to maintain.

  • Main Entry Point: Starts the application, loads the configuration, applies interface scaling, and creates the main window.
  • Application Logic (Src/Logic/app.py): Connects the user interface with the background workers, manages thumbnail generation, database operations, and media playback.
  • User Interface (Src/Ui/interface.py): Contains the application layout, styling, and custom widgets including the image viewer and video controls.
  • Background Workers: Files such as Src/Logic/deduplication.py and Src/Logic/video_dedup.py perform duplicate detection and other background tasks.
  • AI Engine (Src/Logic/visual_sorter.py): Loads ONNX models and generates automatic tags for images and videos.
  • Comic Reader (Src/Ui/reader_widget.py): Handles smooth rendering and navigation for comic and manga pages.

Usage Tips

  • Detach Viewer: Use the Detach Viewer option to open the media viewer in a separate window for multi monitor setups.
  • Image Zoom: Double click an image to view it at its original resolution and navigate using the mouse or scrollbars.
  • AI Performance: For the best AI tagging performance, install the ONNX Runtime version that matches your hardware, such as CUDA for NVIDIA GPUs or DirectML for AMD and Intel GPUs.

About

No description or website provided.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

 
 
 

Contributors

Languages