> For the complete documentation index, see [llms.txt](https://ptmuxer.gitbook.io/api-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ptmuxer.gitbook.io/api-docs/remux.md).

# Remux

## Before Running The Program

### Activating Virtual Env

#### Windows

* source env/bin/activate

#### Linux

* .\env\Scripts\activate

## Remuxing

This mode creates an mkv file via mkvmerge by utilizing the tracks extracted in demux mode. It then reads the JSON file to figure out

* What Tracks to pass to mkvmerge
* Flags to add to those tracks
* What language to set tracks to
* The title that the tracks should have, if at all
* Reads JSON file. Uses the data to create a remux based on data extracted from the file.

The final .mkv filename is determined by the status of the --site argument

### commands

* python3 /path/to/app.py demux sourcepath output \[optional args]

#### Required

```
sourcepath 
 The mux folder created during the demux process
 This holds all your configurations and is what will be used to generate the mkv file
```

outputpath \[default=current dir]

```
  The folder you want the final MKV to be outputted to
```

#### Optional

\--site blutopia/blu/bhd/beyondhd \[default=None]

```
Example:python3 /path/to/app.py "remux" --site blutopia

This will mainly affect the final filename
```

\--group \[default=Unknown]

```
Example:python3 /path/to/app.py remux --group superduperremuxing

This will change the group tag of the final MKV
```

\--forcemovie

```
Example:python3 /path/to/app.py remux --forcemovie

overwrites TV Movies by treating them as a movie, instead of a TV show
```

\--otherargs

```
Example:python3 /path/to/app.py remux --otherargs "--split chapters:13,22,33,45,54"

Passes mkvtoolnix options to the final mkvtoolnix command
Can be used for example to pass global args
```

\--skipnamecheck

```
Example:python3 /path/to/app.py remux --skipnamecheck

Skip confirmation of filenames
```

\--episodename

```
Example:python3 /path/to/app.py remux --episodename

Searches Wiki or TMDB for episode titles, adds to filename
```

\--scale

```python
Example:python3 /path/to/app.py remux --scale native

Scale down video for test on local machine
i.e match chapters to i frames
 choices ->  avisynth, native
 
 avisynth: uses avisynth to output video with frame information via ffms2
 may require avisynth to be installed
 
 native: uses ffmpeg to scale video down to 1/4

```

###
