From 0c8b1cb0493e9259d88341cc93fb7dd1ac6cb167 Mon Sep 17 00:00:00 2001 From: medusa Date: Sat, 9 Mar 2024 11:54:59 +0000 Subject: [PATCH] Add docs/tech_docs/linux/MKVToolNix.md --- docs/tech_docs/linux/MKVToolNix.md | 81 ++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 docs/tech_docs/linux/MKVToolNix.md diff --git a/docs/tech_docs/linux/MKVToolNix.md b/docs/tech_docs/linux/MKVToolNix.md new file mode 100644 index 0000000..17a3269 --- /dev/null +++ b/docs/tech_docs/linux/MKVToolNix.md @@ -0,0 +1,81 @@ +Creating a basic guide to working with MKV files focuses on `MKVToolNix`, a suite of tools designed specifically for the Matroska media container format. `MKVToolNix` includes `mkvmerge` for merging and `mkvextract` for extracting streams, among other utilities. This guide will introduce you to the core functionalities of `MKVToolNix` for handling MKV files. + +### Introduction to MKVToolNix + +`MKVToolNix` is a set of tools to create, alter, and inspect Matroska files (MKV). Matroska is a flexible, open standard container format that can hold an unlimited number of video, audio, picture, or subtitle tracks in one file. `MKVToolNix` is available for Linux, Windows, and macOS. + +### Installing MKVToolNix + +Before using `MKVToolNix`, you need to install it on your system. + +- **On Ubuntu/Debian:** + ```bash + sudo apt update + sudo apt install mkvtoolnix mkvtoolnix-gui + ``` +- **On Fedora:** + ```bash + sudo dnf install mkvtoolnix + ``` +- **On macOS (using Homebrew):** + ```bash + brew install mkvtoolnix + ``` + +### Basic MKVToolNix Commands + +#### 1. Merging Files into an MKV + +You can combine video, audio, and subtitle files into a single MKV file using `mkvmerge`: + +```bash +mkvmerge -o output.mkv video.mp4 audio.ac3 subtitles.srt +``` +This command merges `video.mp4`, `audio.ac3`, and `subtitles.srt` into `output.mkv`. + +#### 2. Extracting Tracks from an MKV File + +To extract specific tracks from an MKV file, you first need to identify the tracks with `mkvmerge`: + +```bash +mkvmerge -i input.mkv +``` +Then, use `mkvextract` to extract the desired track(s): + +```bash +mkvextract tracks input.mkv 1:video.h264 2:audio.ac3 +``` +This extracts the first track (usually video) to `video.h264` and the second track (usually audio) to `audio.ac3`. + +#### 3. Adding and Removing Subtitles + +To add subtitles to an existing MKV file: + +```bash +mkvmerge -o output.mkv input.mkv subtitles.srt +``` +This adds `subtitles.srt` to `input.mkv`, creating a new file `output.mkv`. + +To remove subtitles or other tracks, first identify the track numbers, then use `mkvmerge` to create a new file without the undesired tracks: + +```bash +mkvmerge -o output.mkv --track-order 0:1,0:2 input.mkv +``` +Assuming track 3 is the subtitle track you wish to remove, this command re-creates `input.mkv` as `output.mkv` without track 3. + +#### 4. Changing Track Properties + +To modify track properties, such as language or default track flag: + +```bash +mkvpropedit input.mkv --edit track:a1 --set language=eng --set flag-default=1 +``` +This sets the language of the first audio track (`a1`) to English (`eng`) and marks it as the default track. + +### GUI Alternative + +For those who prefer a graphical interface, `MKVToolNix` comes with `MKVToolNix GUI`, an application that provides a user-friendly way to perform all the tasks mentioned above without using the command line. + +### Conclusion + +This guide covers the basics of handling MKV files with `MKVToolNix`, from merging and extracting tracks to modifying track properties. `MKVToolNix` is a powerful toolkit for MKV file manipulation, offering a wide range of functionalities for users who work with video files in the Matroska format. Whether you prefer the command line or a graphical interface, `MKVToolNix` has the tools you need to manage your MKV files effectively. \ No newline at end of file