GithubHelp home page GithubHelp logo

line0 / mkvtools Goto Github PK

View Code? Open in Web Editor NEW
16.0 4.0 8.0 35 KB

A small set of PowerShell modules that enable batch processing of Matroska files with mkvtoolnix.

License: MIT License

PowerShell 100.00%

mkvtools's Introduction

MkvTools

A small set of PowerShell modules that enable batch processing of Matroska files with MKVToolNix.

Note: Segment linking is not supported at this time.

Requirements

MkvTools requires PowerShell 3 and the following software to be available from your PATH environment variable:

Installation

Unpack the MkvTools archive into: %userprofile%\Documents\WindowsPowerShell\Modules.

Usage

Extract-Mkv

Extract-Mkv batch extracts tracks, attachments, chapters and timecodes from Matroska files using the mkvtoolnix command line tools.

Extract-Mkv accepts a comma-delimited list of input files and/or folders (recursing supported) and by default extracts all tracks from each input file using a configurable naming pattern. It also allows you to specify which track types or track IDs to extract and lets you choose a custom output directory if you don't want it to extract into the parent directory of the input files.

Extract-Mkv can extract tracks, attachments, chapters and timecodes in one go, will indicate progress using status bars where possible and returns track/attachment tables that highlight what is being extracted.

The Module acts as a wrapper for the mkvtoolnix command line tools and therefore requires your PATH environment variable to point to mkvextract.exe and mkvinfo.exe

For examples and information on command line parameters, run:

Get-Help Extract-Mkv -detailed

Get-MkvInfo

Get-MkvInfo runs mkvinfo to get information about the contents of a Matroska file and formats it into an object for further processing.

Get-MkvInfo takes a Matroska (*.mkv, *.mka, *.mks) as an input and returns a custom object containing general information about the file as well as a list of tracks and a list of attachments. The returned object also exposes a number of Methods to filter the track and attachment lists.

Get-MkvInfo uses CodecId.xml and FourCC.xml to provide user friendly video/audio/subtitle codec information.

The Module acts as a wrapper for the mkvtoolnix command line tools and therefore requires your PATH environment variable to point to mkvinfo.exe

Format-MkvInfoTable

Format-MkvInfoTable outputs a formatted table with important information about the tracks and attachments of a Matroska file.

Format-MkvInfoTable takes objects returned by Get-MkvInfo and lets you outputs a configurable set of tables. Being a filter it is designed to receive objects from the pipe and will stream formatted tables as the objects are coming in.

Setting _ExtractStateTracks (tracks) or _ExtractState (attachments) to [int]1 will set the EX flag which highlights the row of the flagged track. Type "Get-Help Extract-Mkv -full" and refer to the -ReturnMkvInfo parameter for more information on extraction flags.

For examples and information on command line parameters, run:

Get-Help Format-MkvInfoTable -detailed

mkvtools's People

Contributors

coffeeflux avatar line0 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  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.