Giter Site home page Giter Site logo

lordtecnetos / vx Goto Github PK

View Code? Open in Web Editor NEW
10.0 3.0 1.0 37 KB

Command line tool that extracts specific parts from multiple Matroska files

Python 100.00%
mkvmerge mkvextract extract mkv mkvtoolnix mkvtool matroska matroska-files extract-video-attachments extract-subtitles-video-mkv

vx's Introduction

vx (video extraction)

vx is a command line tool that extracts specific parts from multiple Matroska files.

mkvextract and mkvmerge commands from MKVToolNix are used to perform the task.

Requirements

  • Python programming language (version 3.4 or newer)
  • MKVToolNix tools (version 9.2 or newer)

Install

Clone or download this repository, move the directory or files to a path of your choice.

On Linux/UNIX edit your .bashrc and add at final a line with: alias vx='/path/your/vx/vx.py'.

On Windows not tested heheh

Usage

After installed, type vx or vx -h or vx --help to see the options and commands.

Basic usage: vx [-h] {tracks,attachments} ...

vx only supports two extraction modes offered by mkvextract command (see the docs):

  • Tracks extraction mode

    vx tracks [-h] [--dir [directory]] [--type {subtitles}] video [video ...]

    • video [video ...] (required) - video or videos to extraction

    • --dir [directory] (optional) - directory that will contain the extracted items (default: --type value, if [directory] is empty)

    • --type {subtitles} (optional) - type of track to extraction (default: subtitles). There are others types of tracks, how audio and video, but in this version, only subtitles type is supported ;)

    • -h or --help (optional) - show the help message

    Examples:
    # minimum command, extracts all subtitles from one video to current directory with name of video file
    $ vx tracks video.mkv
    
    # or, from multiple files
    $ vx tracks *.mkv
    
    # extracts all subtitles from video1 and video2 to current directory
    $ vx tracks video1.mkv video2.mkv 
    
    # extracts all subtitles from files with 'mkv' extension in current directory to default directory 'subtitles'
    $ vx tracks *.mkv --dir 
    
    # extracts all subtitles from video to ~/Downloads directory
    $ vx tracks video.mkv --dir ~/Downloads
    
  • Attachments extraction mode

    vx attachments [-h] [--dir [directory]] video [video ...]

    • video [video ...] (required) - video or videos to extraction

    • --dir [directory] (optional) - directory that will contain the extracted items (default: attachments, if [directory] is empty)

    • -h or --help (optional) - show the help message

    Examples:
    # This mode extracts all attachments inside a new directory with name of each video file
    
    # minimum command, extracts all attachments from one video
    $ vx attachments video.mkv
    
    # or, from multiple files
    $ vx attachments *.mkv
    
    # extracts all attachments from video1 and video2
    $ vx attachments video1.mkv video2.mkv 
    
    # extracts all attachments from files with 'mkv' extension in current directory to default directory 'attachments'
    $ vx attachments *.mkv --dir 
    
    # extracts all attachments from video to ~/Downloads directory
    $ vx attachments video.mkv --dir ~/Downloads
    

vx's People

Contributors

lordtecnetos avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

diduck

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.