# 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

```

###


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ptmuxer.gitbook.io/api-docs/remux.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
