Fully automatic subtitle downloading for the MPV with cross-platform config support (local fork)
Go to file
2024-10-29 22:57:07 +02:00
autosub.lua chore: commit history pruned 2024-10-29 18:40:05 +02:00
LICENSE-MIT chore: commit history pruned 2024-10-29 18:40:05 +02:00
README.md docs: note about fork feature diff 2024-10-29 22:57:07 +02:00

Automatic subtitle downloading for MPV

  • Cross-platform: Windows, Mac and Linux
    • This fork allows cross-platform use of a single config file
  • Multi-language support
  • Subtitle provider login support
  • No hotkeys required: opening a video will automatically trigger subtitles to download
    (Only when the right subtitles are not yet present)

Dependencies

This Lua script uses the Python program subliminal to download subtitles. Make sure you have both installed:

pip install subliminal

Setup

  1. Copy autosub.lua into:

    OS Path
    Windows [Drive]:\Users\[User]\AppData\Roaming\mpv\scripts\
    Mac/Linux ~/.config/mpv/scripts/
    mkdir ~/.config/mpv/scripts
    cat > ~/.config/mpv/scripts/autosub.lua
    [Paste script contents and CTRL+D]
    
  2. Specify the correct subliminal location for your system:

    • To determine the correct path, use:

      OS App Command
      Windows Command Prompt where subliminal
      Mac/Linux Terminal which subliminal
    • Copy the path(s) to the subliminal variable(s) at the start of the script (optionally define multiple paths for different operating systems)

      local subliminal_paths = {
          ['windows'] = '<path to subliminal.exe>',
          ['linux'] = '<path to subliminal>',
          ['darwin'] = '<path to subliminal>',
      }
      

      On Windows, the backslashes in the path need to be escaped, e.g.:
      C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python37\\Scripts\\subliminal.exe

Customization

  • Optionally change the subtitle languages / ISO codes. Be sure to put your preferred language at the top of the list.
    If necessary, you can manually trigger downloading your first choice language by pressing b,
    or your second choice language by pressing n.
  • Optionally specify the login credentials for your preferred subtitle provider(s), if you have one.
  • If you do not care for the automatic downloading functionality, and only wish to use the hotkeys,
    simply change the auto bool to false.
  • For added convenience, you can specify the locations to exclude from auto-downloading subtitles, or alternatively,
    the only locations that should auto-download subtitles.

This script is under the MIT License, so you are free to modify and adapt this script to your needs:
check out the MPV Lua API for more information.

If you find yourself unable to find the correct subtitles for some niche movies/series, you might be interested in the submod command line tool I've written to manually correct subtitle timing.

Credits

Inspired by selsta's and fullmetalsheep's autosub scripts.