---
name: "tcmodchain"
section: "1"
platform: "linux"
package: "transcode"
version: "3:1.1.7-9+b4"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/tcmodchain"
---

# tcmodchain(1)

Query compatibily of transcode modules chains.

## NAME

tcmodchain - Query compatibily of transcode modules chains.

## SYNOPSIS

**tcmodchain** \[ **-m** *path* \] \[ **-C** \] \[ **-L** \] \[ **-d** *verbosity* \] \[ **-v** \] module1 module2

## COPYRIGHT

**tcmodchain** is Copyright (C) by Transcode Team

## DESCRIPTION

**tcmodchain** allow to inspect [transcode(1)](/transcode/1.md) modules, as well as it's companion, [tcmodinfo(1)](/tcmodinfo/1.md). While [tcmodinfo(1)](/tcmodinfo/1.md) focus on single modules, tcmodchain is intended to help in exploring/experimenting module interactions.

## OPTIONS

- **-m** *path*

  Look in *Path* instead of the compiled-in module path while trying to load a module.

- **-C**

  Enable *check* mode.\
   In check mode tcmodchain expects exactly two module identifiers. tcmodchain will check compatibilty between two given modules. Result will be logged out or not depending of verbosity level. Anyway, if two modules are compatible, tcmodchain will exit succesfully; otherwise, tcmodchain will exit with error.\
   see RETURN VALUES below.

- **-L**

  Enable *list* mode.\
   In list mode tcmodchain expects exactly two module identifiers, exactly one of which containing a wildcard. tcmodchain will inspect all avalaible installed modules matching the wildcard and will print out module names that are compatible with the other given one. if at least one compatible module is found, tcmodchain will exit succesfully; otherwise, tcmodchain will exit with error.\
   see RETURN VALUES below.

- **-d** *verbosity*

  Specify the verbosiness level to use, like transcode does. Default value is 1 (TC\_INFO verbosiness).

- **-v**

  Print version information and exit.

## MODULE IDENTIFIERS

**tcmodchain** identifies modules using a *type:name* naming scheme. Currently, as in transcode 1.1.0, only *encode* and *multiplex* module *type*s are supported. *name* can refer to the name of any avalaible transcode modules, using the same rules of [tcmodinfo(1)](/tcmodinfo/1.md) *-i* option. The wildcard character *\** is supported in the *name* section of module identifier. Wildcard meaning is \`any of avalaible modules' and is honoured only when *list* mode (-L option) is used. Using wildcard character for *both* module identifiers will lead to an error.

## EXAMPLES

**$ tcmodchain -C encode:null multiplex:null -d 1**

\[encode\_null.so\] v0.0.3 (2005-06-05) null (fake) A/V encoder\
 \[multiplex\_null.so\] v0.0.2 (2005-12-29) discard each encoded frame\
 \[tcmodchain\] encode:null \| multiplex:null \[OK\]\
 \[tcmodchain\] module chain OK

**$ tcmodchain -L 'encode:\*' multiplex:null**

copy\
 faac\
 lame\
 lzo\
 null\
 x264\
 xvid

**PLEASE NOTE** that output of this example may vary depending of your installation.\
 At least *null* and *copy* modules will be showed on your output.

**$ tcmodchain -L encode:null 'multiplex:\*'**

avi\
 null\
 raw\
 y4m

## RETURN VALUES

**tcmodchain** uses following return values:\
\
  0  successfull\
\
  1  bad parameter or command line option\
\
  2  error while (un)loading a module\
\
  3  given module pair isn't compatible\
\
  4  error while looking for module(s)\

## AUTHORS

**tcmodchain** was written by Francesco Romani\
 \<fromani@gmail.com\> with contributions from many others.  See AUTHORS for details.

## SEE ALSO

[**transcode**(1)](/transcode/1.md) [**tcmodinfo**(1)](/tcmodinfo/1.md)
