A desktop utility built with Python and Tkinter designed to simplify the organization of Blu-ray extra features. This tool scans Blu-ray stream files (.m2ts), allows for easy renaming according to Plex and Jellyfin standards, and creates hardlinks to your media library to save disk space.
- Automatic Scanning: Detects .m2ts files in a selected directory or within the BDMV/STREAM structure.
- Media Metadata: Integrates with ffprobe to display the duration of each video file.
- Size Filtering: Filter out small files (like menu loops) based on a configurable minimum size.
- Standardized Suffixes: Built-in support for Plex/Jellyfin extra types:
- -behindthescenes
- -deleted
- -featurette
- -interview
- -scene
- -short
- -trailer
- -other
- Hardlink Creation: Creates links rather than copies, ensuring no additional disk space is consumed (requires source and destination to be on the same drive).
- Log Generation: Automatically generates a log file in BBCode format containing a table of original paths vs. new filenames.
- Sortable Interface: Sort files by name, size, or duration to identify content more easily.
- Python 3.x: The application is written in Python.
- FFmpeg (ffprobe): Required to detect video duration. Ensure ffprobe is installed and available in your system's PATH.
- Tkinter: Usually included with Python installations (on Linux, you may need to install python3-tk).
The application expects a configuration file located in data/config.py. Simply rename the existing file called example-config.py to config.py.
default_destination_folder: A string representing the default path where links will be created.create_subfolder: A boolean (True/False) to determine if a folder with the movie name should be created at the destination.min_file_size_mb: An integer to filter out files smaller than this value.default_sort: A string ('name', 'size', or 'duration') for the initial list order.
-
Launch the application:
python blulink.py -
Select Source: Click "Browse" next to Source Folder and select the root folder of your Blu-ray rip or the STREAM folder.
-
Configure Destination: Ensure the Destination Folder path is correct.
-
Scan and Identify:
- Double-click a filename in the list to open it in your default media player for identification.
- Enter a descriptive name in the "New Name" field.
- Select the appropriate "Extra Type" from the dropdown menu.
-
Process: Click "Process and Create Hardlinks". The application will create the links and generate a log file in the log/ directory.
- Hardlink Requirement: Hardlinks can only be created within the same physical drive/partition. If you attempt to link across different drives, the operation will fail.
- Security: The application uses
os.linkfor file operations. Ensure the user running the script has write permissions for both source and destination folders. - OS Compatibility: Supports Windows, macOS, and Linux.