GithubHelp home page GithubHelp logo

filter-subs's Introduction

subtitle-filter

Build Status Coverage Status PyPI version

Filter .srt subtitle files to remove SDH (Deaf or Hard-of-Hearing) entries and other tags.

Installation

pip install subtitle-filter

Usage

subtitle-filter can be used either as a script or a module.

By default, this module filters the following (in order):

  1. Removes font tags and text contained within, e.g. <font color="#DF01D7">Hey\</font> is removed.
  2. Removes subtitle entries containing asterisks: *.
  3. Removes subtitle lines containing or #.
  4. Removes sound effects: text contained with and including parenthesis (BANG) and brackets [boom].
  5. Replaces names with dashes, e.g. GARY: Hey or Gary: Hey to - Hey.
  6. Removes author tags e.g. XoXo Subtitles by PwnedDude967 XoXo.
  7. Fixes erroneous comma spacing, e.g. Hey , what's up? Nothing,my man to Hey, what's up? Nothing, my man.
  8. Removes lone symbols such as ?, -, #, _.

Script Usage

Bring up the help display:

filter-subtitles.py -h

Filter a subtitle in place (overwrites original subtitle) with default options.

filter-subtitles.py -s /path/to/sub.srt

Instead of saving to disk, print the output.

filter-subtitles.py -s /path/to/sub.srt -p

Save the output to a different filepath.

filter-subtitles.py -s /path/to/sub.srt -o /path/to/outsub.srt

Custom filter flags.

--keep-fonts          Do not remove font tags and text contained within.
--keep-ast            Do not remove subtitles containing asterisks: (*).
--keep-music          Do not lines containing 1 or more "♪" symbols.
--keep-effects        Do not remove text between and including parenthesis
                        () or brackets []
--keep-names          Do not replace names in CAPITALS with "-" tags
--keep-author         Do not remove author tags, eg. Subtitles by some guy.

Module Usage

Filter a subtitle in place (overwrites original subtitle) with default options

from subtitle_filter import Subtitles

subs = Subtitles('/path/to/sub.srt')
subs.filter()
subs.save()

Instead of saving to disk, print the output.

subs.print()

Save the output to a different filepath.

subs.save('/path/to/newsub.srt')

Use custom filter flags.

subs.filter(
    rm_fonts=True,
    rm_ast=False,
    rm_music=True,
    rm_effects=True,
    rm_names=False,
    rm_author=False,
)

Issues

If you spot any issues with the filtered subtitles, or would like to request new features, please create an issue on GitHub.

filter-subs's People

Contributors

m-lyon avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.