Skip to content

nutuzar/nMDB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nMDB (nutuzar Movie Database)

nMDB Arayüz

nMDB is a PyQt6-based desktop application developed to manage, enrich, and transform your local movie and TV show archive into a fully featured digital library.

Unlike many third-party media managers, nMDB focuses on speed, simplicity, and personal archiving, without advertisements or unnecessary background services.


🇹🇷 Türkçe

🎬 Genel Bakış

nMDB, yerel film ve dizi arşivinizi yönetmek, zenginleştirmek ve dijital bir medya kütüphanesine dönüştürmek için geliştirilmiş PyQt6 tabanlı masaüstü uygulamasıdır.

Üçüncü parti medya yöneticilerinin hantallığından, reklamlarından ve gereksiz servislerinden uzak; tamamen kişisel arşivcilik ihtiyaçlarına odaklanan sade ve yüksek performanslı bir yapı sunar.


✨ Özellikler

🎞 Medya Analizi ve Yerel Tarama (MediaInfo)

  • .mkv, .mp4 ve .avi dosyalarını otomatik tarar.
  • Video codec, çözünürlük, FPS, ses codec ve süre bilgilerini doğrudan medya dosyasından okur.
  • Ses ve altyazı dillerini tespit ederek veritabanına kaydeder.

🌐 Çoklu Veri Kaynakları (Scraper & API)

TMDB Entegrasyonu

  • Orijinal isim
  • Yapım yılı
  • Yönetmen
  • Oyuncu kadrosu
  • Fragman bağlantıları
  • Posterler
  • Açıklamalar

Türkçe özet bulunmadığında İngilizce açıklamayı otomatik olarak Google Translate üzerinden Türkçeye çevirir.

IMDb Desteği

Dosya adındaki IMDb ID (tt...) bilgisini doğrudan tanır.

GraphQL API sayesinde bot korumalarına takılmadan oldukça hızlı veri çekebilir.

Gelişmiş Puanlama Sistemi

Aşağıdaki kaynaklardan verileri birleştirerek özel bir ağırlıklı puan hesaplar.

  • IMDb
  • Metacritic
  • Letterboxd
  • Rotten Tomatoes
  • iCheckMovies

🗂 Akıllı Arşiv Araçları

Duplicate Hunter

İki farklı yöntemle mükerrer kayıtları bulur.

Byte Hunter

  • Dosya isimleri farklı olsa bile
  • Byte seviyesinde tamamen aynı olan dosyaları tespit eder.

Alternative Version Manager

  • Aynı IMDb ID'sine sahip farklı kalite ve çözünürlükleri listeler.
  • Hangisinin saklanacağına kullanıcı karar verir.

Broken Path Repair

Harici disklerin sürücü harfi değiştiğinde veya klasör taşındığında veritabanındaki yolları tek tıklamayla günceller.


Automatic & Manual Matching

Levenshtein algoritmasını kullanarak benzer dosya isimlerini önerir.

Eksik kayıtlar için;

  • manuel arama
  • manuel eşleştirme
  • hayalet film (istek) oluşturma

özelliklerini içerir.


Batch Move & Disk Management

Seçilen filmleri;

  • başka klasöre taşıyabilir,
  • farklı diske kopyalayabilir,
  • veritabanı yollarını otomatik günceller,
  • disk etiketi atayabilir.

Backup & Restore

Tek tıklamayla;

  • SQLite veritabanını
  • posterleri
  • tüm medya kayıtlarını

ZIP dosyası halinde yedekleyebilir veya geri yükleyebilir.

Arşiv listesi metin formatında dışa veya içe aktarılabilir.


🖥 Kullanıcı Arayüzü

  • PyQt6
  • QFluentWidgets
  • Modern Fluent Design
  • Karanlık tema
  • Gelişmiş arama
  • Dinamik tür filtreleme
  • Sayısal ve alfabetik doğru sıralama sistemi

🚀 Kurulum

Python 3.10 veya üzeri gereklidir.

pip install PyQt6 qfluentwidgets pymediainfo requests beautifulsoup4 curl_cffi

Çalıştırmak için:

python main.py

Not

curl_cffi, Letterboxd ve iCheckMovies gibi bot korumalı sitelerden veri çekebilmek için gereklidir.

MediaInfo özelliklerinin çalışabilmesi için sisteminizde MediaInfo DLL/kütüphanelerinin kurulu olması önerilir.


🇬🇧 English

Overview

nMDB is a PyQt6-based desktop application designed to manage, enrich, and organize local movie and TV show collections into a fully featured digital media library.

Built for personal archivists, it emphasizes speed, simplicity, and efficient workflow, avoiding the bloat and advertisements common in many third-party media managers.


✨ Features

🎞 Media Analysis (MediaInfo)

  • Automatically scans .mkv, .mp4, and .avi files.
  • Reads embedded video codec, resolution, FPS, audio codec, and duration.
  • Detects audio and subtitle languages.

🌐 Multi-source Metadata

TMDB Integration

Automatically retrieves:

  • Original titles
  • Release year
  • Directors
  • Cast
  • Posters
  • Plot summaries
  • Trailer links

When a Turkish overview is unavailable, the English description is translated automatically.

Smart IMDb Integration

Recognizes IMDb IDs (tt...) directly from filenames.

Uses IMDb's GraphQL endpoint for fast and reliable metadata retrieval.

Advanced Rating System

Combines data from:

  • IMDb
  • Metacritic
  • Letterboxd
  • Rotten Tomatoes
  • iCheckMovies

to generate a custom weighted archive score.


🗂 Smart Archive Tools

Duplicate Hunter

Supports two detection modes.

Byte Hunter

Finds byte-identical duplicate files regardless of filename.

Alternative Version Manager

Lists multiple releases with the same IMDb ID, allowing the preferred version to be kept.


Broken Path Repair

Repairs broken database paths after drive-letter or folder changes.


Automatic & Manual Matching

Uses the Levenshtein algorithm to suggest matches for ambiguous filenames.

Also supports:

  • manual search
  • manual matching
  • ghost movie requests

Batch File Management

  • Move movies
  • Copy movies
  • Update database paths automatically
  • Assign custom disk labels

Backup & Restore

Creates complete ZIP backups including:

  • SQLite database
  • Posters
  • Archive metadata

Supports archive export/import as text files.


🖥 User Interface

  • PyQt6
  • QFluentWidgets
  • Fluent Design
  • Dark theme
  • Advanced search
  • Dynamic genre filtering
  • Accurate numeric/alphabetical sorting

🚀 Installation

Python 3.10+ is required.

pip install PyQt6 qfluentwidgets pymediainfo requests beautifulsoup4 curl_cffi

Run the application:

python main.py

Note

curl_cffi is required for accessing bot-protected websites such as Letterboxd and iCheckMovies.

Installing the MediaInfo runtime/DLL is recommended to enable media analysis features.


📄 License

This project is released under the spirit of open-source software.

It is free to use, modify, and improve for personal and educational purposes.

About

A lightweight PyQt6 desktop application to scan, manage, and enrich your local movie and TV show archive with multi-source metadata.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages