A Windows WPF application that scans network drives (like D-Link ShareCenter) and external drives for media files, automatically fetching metadata from online sources like IMDB to create a comprehensive media library.
- Network Drive Discovery: Automatically discovers and connects to network shares and USB drives
- Media File Detection: Supports movies, TV shows, music, and other media formats
- Metadata Fetching: Retrieves information from OMDB API (movies/TV) and MusicBrainz (music)
- Modern UI: Clean, Material Design-inspired interface
- Search & Filtering: Advanced search and filtering capabilities
- Local Database: SQLite database for caching metadata and fast access
- Background Processing: Non-blocking scanning and metadata fetching
- MP4, AVI, MKV, MOV, WMV, FLV, WebM, M4V, MPG, MPEG, 3GP
- MP3, FLAC, WAV, AAC, OGG, WMA, M4A, Opus, AIFF
- JPG, JPEG, PNG, GIF, BMP, TIFF, WebP
- Windows 10/11
- .NET 8.0 Runtime
- Internet connection for metadata fetching
-
Clone or download the project
-
Get API Keys:
- Visit OMDB API and get a free API key
- Open
Services/MetadataService.csand replaceYOUR_OMDB_API_KEY_HEREwith your actual API key
-
Build and run:
dotnet restore dotnet build dotnet run
-
Scan for Drives: Click the refresh button to discover available network drives and USB drives
-
Connect to Network Shares: The app will automatically try to discover common NAS devices like:
- D-Link ShareCenter
- Synology NAS
- QNAP NAS
- Buffalo NAS
- Netgear NAS
- WD MyCloud
-
Scan Media: Click the scan button next to any discovered drive to start scanning for media files
-
View Results: Media items will appear in the main library view with fetched metadata
The app automatically scans for:
- Mapped network drives
- USB/removable drives
- Common NAS device hostnames on the local network
- Movies & TV Shows: OMDB API (requires free API key)
- Music: MusicBrainz API (no key required)
The SQLite database is stored at:
%APPDATA%\MediaScanner\media.db
- Use the "Scan for Network Drives" button to discover available drives
- Select a drive from the left panel
- Click the scan button to start scanning for media files
- The app will automatically detect file types and fetch metadata
- Use the search box to find specific titles, artists, or series
- Toggle media type filters (Movies, TV Shows, Music, Other)
- Results update in real-time as you type
The app automatically categorizes files as:
- Movies: Video files in movie directories or with movie-like names
- TV Shows: Files matching TV episode patterns (S01E01) or in season folders
- Music: Audio files, preferably organized in Artist/Album folder structure
- Other: Any other supported media files
- DriveScanner: Discovers network drives and scans for media files
- MetadataService: Fetches metadata from external APIs
- DatabaseService: Manages SQLite database operations
- MediaLibraryService: Orchestrates scanning and library management
- WPF with Material Design themes
- MVVM pattern using CommunityToolkit.Mvvm
- Dependency Injection with Microsoft.Extensions.DependencyInjection
- Ensure the network drive is accessible from your computer
- Check Windows network credentials
- Try mapping the drive manually first
- Verify your OMDB API key is correct
- Check your internet connection
- API has rate limits - scanning large libraries may take time
- Large libraries (1000+ files) may take time to scan initially
- Metadata fetching happens in background and may continue after scan completes
- Database caches all metadata for fast subsequent access
- Implement new response models in
Models/MetadataResponse.cs - Add new methods to
IMetadataServiceandMetadataService - Update
MediaLibraryServiceto use new metadata sources
- Update file extension lists in
DriveScanner.cs - Add new
MediaTypeenum values if needed - Update UI to handle new media types
This project is provided as-is for educational and personal use.
- Movie/TV metadata provided by OMDB API
- Music metadata provided by MusicBrainz