remuxing

command module
v0.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 31, 2019 License: GPL-3.0 Imports: 8 Imported by: 0

README

Remuxing utility helper for mkvmerge

pipeline status coverage report gocard svg

Binary to easily generate a Matroska file from multiple inputs.

This ain't a golang library for matroska files, nor an alternative to mkvmerge, but an utility to easily create mkvmerge commands from various input files.

Example

A command like:

remuxing -output output.mkv -languages spa,eng input1.mkv input2.mkv

Generates this mkvmerge command (expanded here for ease of reading):

mkvmerge \
  -o output.mkv \
  --title  \
  -A -T -S -d 0 input2.mkv \
  -T --default-track 1 --language 1:spa -a 1 --track-name 1: -D -S input1.mkv \
  -T --language 1:eng -a 1 --track-name 1: -D -S input2.mkv \
  -T -s 3 --track-name 3: -D -A --forced-track 3:true input1.mkv \
  -T -s 4 --track-name 4: -D -A input1.mkv \
  -T -s 5 --track-name 5: -D -A input1.mkv

Command syntax

remuxing [options] [inputs]

Note that you can define as many inputs as you want. The input order is important, as it designates files' priority, used to decide between inputs in case both seem to be of the same quality & codec.

Arguments
  • -v: Enables verbosity. Optional.
  • -output: Sets output file. Mandatory.
  • -languages: Defines the desired output languages. Order is important, first language will be set as default one. Not setting this option will merge all inputs. Optional.
  • [inputs]: Minimum 2 expected. Any kind of source file, like videos, audios or subtitle files. Mandatory.

Installing

You need mkvtoolnix package installed in your system. If you're under windows, ensure you add the mkvtoolnix binary folder to your PATH environment var.

If you have golang in your system, simply do:

go get github.com/elboletaire/remuxing
go run github.com/elboletaire/remuxing [options] [inputs]

Otherwise, you can download any of the available built binaries from the gitlab copy:

2does

  • Disable verbosity unless -v is defined.
  • Allow to use without languages setting, appending them all.
  • Add builds for download (using gitlab-ci or drone or...).
  • Check files length to ensure all are of the same size, unless param -S is specified.
  • Allow to skip duplicated languages, in case there's no -languages specified.
  • Be able to specify the proper language id for a track (for cases where language is not properly set in the source).
  • Check input files exist (right now throws an ugly golang panic cerror)
  • Do not color output for windows builds.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package models is used for the video information extracted using mkvmerge -i
Package models is used for the video information extracted using mkvmerge -i

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL