Sick Gaming
How to Remux Video Containers Using Tdarr - Printable Version

+- Sick Gaming (https://sickgaming.net)
+-- Forum: Tech (https://sickgaming.net/forum-55.html)
+--- Forum: Home Servers & Self-Hosting (https://sickgaming.net/forum-125.html)
+--- Thread: How to Remux Video Containers Using Tdarr (/thread-113821.html)



How to Remux Video Containers Using Tdarr - SickProdigy - 10-10-2026

How to Remux Video Containers Using Tdarr
Change MKV and MP4 containers without re-encoding your video.

What Is Remuxing?

A container holds video, audio, subtitles, and other streams. MKV and MP4 are containers; H.264, HEVC, and AAC are codecs.

Remuxing copies compatible encoded streams into a different container. The copied video and audio retain their quality because they are not re-encoded. Processing is usually much faster than transcoding and is largely limited by disk or network speed.

Quote:Remuxing does not significantly compress your files or change their codecs. An HEVC video remains HEVC after remuxing. Simply renaming a file extension does not remux it.

1. Prepare Your Setup

This tutorial assumes you have Tdarr Server running with a connected Tdarr Node. It uses a Classic Plugin stack. Menu labels may vary between versions.
  • Create a test folder with copies of two or three videos.
  • Make sure your node can read the media and write to the cache and destination.
  • Provide enough cache space for the files being processed concurrently.
  • Keep backups: Tdarr can replace source files depending on your library settings.

Docker users: Media and cache paths must resolve correctly inside both server and node containers. Use consistent container mounts or configure Tdarr path translation where needed.

2. Choose MKV or MP4

MKV supports a broad range of video, audio, and subtitle formats, making it useful for libraries with multiple tracks. Some MP4-specific streams still require special handling.

MP4 is useful for compatible devices and applications, but all copied streams must be supported. PGS image subtitles and embedded SubRip subtitles cannot simply be copied into MP4 by this workflow.

For your first test, try MP4 to MKV. For MKV to MP4, start with H.264 video, AAC audio, and no embedded subtitles. Verify the output on your intended player.

3. Create a Test Library

  1. Open Libraries in Tdarr and create a library pointing to your test folder.
  2. Configure a writable Transcode Cache directory.
  3. Review output and source-replacement settings so you know where completed files will go.
  4. Open Transcode Options and select the Classic Plugin stack configuration.
  5. Remove default encoding and cleanup plugins from this test stack. Use only the remux plugin below.

4. Add the Remux Container Plugin

Find Remux Container in the Plugins tab. Its Community plugin ID is:

Code:
Tdarr_Plugin_00td_action_remux_container

Copy the ID into the library's Plugin ID field, select Community, and press Enter to add it to the stack.

Set the plugin's container input to your target extension, without a dot:

Code:
mkv

For MP4 output, use:

Code:
mp4

The plugin checks the existing container and remuxes files that do not match. A separate container filter is unnecessary for this basic setup.

Official instructions:
Tdarr plugin stack setup
Remux Container plugin documentation

5. Process Your Test Files

  1. Scan the test library to discover your files.
  2. Enable one CPU transcode worker on the node for the initial test. Remux jobs also use Tdarr's transcode queue; a GPU is unnecessary for stream copying.
  3. Allow the queued files to process, then inspect their job reports.
  4. Check that the FFmpeg command uses -c copy or equivalent per-stream copy options rather than video/audio encoders.
  5. Review completed output or staging items according to your library configuration.

If processing fails, read the FFmpeg error first. An incompatible subtitle stream requires a different fix from a missing mount or unwritable cache.

6. Verify the Output

Use MediaInfo or another stream inspector to compare the source and output, then test playback on your actual device.
  • Confirm the target container and expected video/audio codecs.
  • Compare duration, resolution, audio channels, and track counts.
  • Test seeking, audio synchronization, alternate audio, and subtitles.
  • Check chapters and language/default-track flags if you use them.
  • For HDR or Dolby Vision, verify metadata and playback separately. Container support alone does not guarantee correct playback.

Matching codec names alone does not prove stream copying occurred. Confirm that no encoder was used in the job command and report.

7. Deal with Incompatible Streams

If remuxing to MP4 fails because of subtitles or another stream, decide how you want to handle it:
  • Keep MKV if it already works on your player.
  • Extract subtitles to external files before removing their embedded tracks.
  • Use a separate configured step to convert text subtitles to an MP4-supported format.
  • Convert unsupported audio if your player requires it. That adds audio transcoding to the workflow.

An alternative Community plugin is Migz Remux Container:

Code:
Tdarr_Plugin_MC93_Migz1Remux

It has container and force_conform inputs. Start with force_conform = false. Enabling it drops specified incompatible stream types rather than converting them. Its MP4 removal rules include PGS and SubRip subtitles; its MKV rules include mov_text subtitles and data streams.

Quote:Before enabling force_conform, read the removal rules and confirm that you are willing to lose those streams.

Migz Remux Container settings and removal rules

Troubleshooting

“Codec not supported in container” or “Could not find tag”
A selected stream cannot be copied into the target container. Identify the stream in the error and retain the original container, extract/remove the stream, or convert it deliberately.

“Permission denied” or “No such file or directory”
Check node access, Docker mounts, path translations, and write permissions for cache and destination folders.

The file is skipped
It may already use the requested container. Check the selected stack, library processing settings, and worker availability.

Plex, Jellyfin, or Emby still transcodes during playback
Playback depends on codecs, profiles, bitrate, audio, subtitles, and client support. Changing the container alone may not resolve the limitation.

The output is almost the same size
That is expected: remuxing copies encoded media instead of compressing it again.

8. Apply It to Your Main Library

Once the test files pass inspection and playback checks, apply the same remux-only stack to your main library. Start with a small batch and conservative worker counts. Increase concurrency only if your disks, cache, and network can keep up, and retain backups until you have verified the results.