Skip to content

MediaCurator is a Python command line tool to manage and batch convert a media database to modern codecs like HEVC (x265).

License

Notifications You must be signed in to change notification settings

fabquenneville/mediacurator

Repository files navigation

mediacurator

mediacurator is a Python command line tool to manage a media database.

  • List all the videos and their information with or without filters
  • Batch find and repair/convert videos with encoding errors
  • Batch recode videos to more modern codecs (x265 / AV1) based on filters: extensions, codecs, resolutions …

Documentation

The documentation is available on the following link

Releases

mediacurator can be installed via the following methods:

  • APT repository for Debian/Ubuntu systems
  • PyPi using pip

For detailed installation instructions, please visit the following links:

Usage

    mediacurator <command> [options]

    # Command options
    mediacurator [list convert] [-del/--delete]
        [-i/--inputs any 3gp asf avi divx dv f4v flv gif m2ts m4v mkv mov mp4 mpeg mpg mts ogm ogv rm swf ts vid vob webm wmv]
        [-fl/--filters fferror old lowres hd 720p 1080p uhd mpeg mpeg4 x264 wmv3 wmv]
        [-o/--outputs mkv/mp4 x265/av1]
        [-p/--printop list formatted verbose]
        [-d/--dirs "/mnt/media/" "/mnt/media2/"]
        [-f/--files "file1.ext" "file2.ext"]

Available commands:

  • list: List all videos with specified filters.
  • convert: Convert videos to specified formats.

Options:

  • -del or --delete: Delete found results after successful operations. Use with caution.
  • -i <input> or --inputs <input>: Specify input file formats (default: any).
  • -fl <filter> or --filters <filter>: Apply filters to the selection of videos.
  • -o <output> or --outputs <output>: Specify output formats (default: mkv, x265).
  • -p <print_option> or --printop <print_option>: Set print options (default: list).
  • -f <file> or --files <file>: Specify files to process.
  • -d <directory> or --dirs <directory>: Specify directories to process.

For multiple files or filenames, use space-separated values ( ).

Default options (if not specified):

  • -i/--inputs: any
  • -fl/--filters: (none)
  • -o/--outputs: mkv, x265
  • -p/--printop: list

Examples

# List all videos with old codecs in formatted output
mediacurator list --filters old --printop formatted --dirs "/mnt/media/" "/mnt/media2/" >> ../medlist.txt

# Convert all MPEG4 videos to AV1 in MP4 format, and delete originals after conversion
mediacurator convert --delete --filters mpeg4 --outputs av1 mp4 --dirs "/mnt/media/" "/mnt/media2/"

# Convert videos with AVI or MPG extensions, print formatted and verbose output, and delete originals
mediacurator convert --delete --inputs avi mpg --printop formatted verbose --dirs "/mnt/media/" "/mnt/media2/"

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License

GNU GPLv3

About

MediaCurator is a Python command line tool to manage and batch convert a media database to modern codecs like HEVC (x265).

Topics

Resources

License

Stars

Watchers

Forks