<p>In general, the codecs involved in a pure muxing command are the decoders and bitstream parsers for the codecs of the streams in the input file.</p>

<p>Even though there's no decoding or encoding requested in a pure muxing command, ffmpeg uses the decoders to acquire the attributes of the streams in the input. These attributes are then passed on to the muxer, which will write in the header/metadata section(s) of the output file. This has to be done because the attributes of an encoded stream is stored in a form specific to that codec.</p>

CC BY-SA 4.0
2019-10-30T17:27:07.707Z
The video codec is Avid DNxHD (in an MXF container). The audio is PCM. So which codecs are required for that? MPEG LA suggested it's the AVC library. Not sure.
d0g
CC BY-SA 4.0
2019-10-30T18:13:44.093Z
ffmpeg does not require AVC decoder in order to decode DNxHD. I don't know if DNxHD decoder is relevant in terms of MPEG-LA patents.
Gyan
CC BY-SA 4.0
2019-10-30T18:19:39.337Z
I found an easier solution ... I'm going to let the end user download their own copy of ffmpeg – my app just calls it.
d0g
CC BY-SA 4.0
2019-10-30T06:16:17.273Z
2019-10-30T06:16:17.273Z
Gyan
<p>I developed an app that uses <code>ffmpeg</code> for some simple muxing, which I am going to sell. I contacted MPEG LA about licensing, and they said I the license I need depends on which codecs I use.</p>

<p>Is there any way to determine which codecs/libraries are actually being used by a particular <code>ffmpeg</code> command?</p>

<p>If not, is there any way to temporarily disable/enable options to see if they are required for a given operation?</p>

<p>FWIW, my operation doesn't re-encode anything. It uses <code>c:v copy</code> and <code>c:a copy</code> with a <code>map</code> function to re-arrange audio tracks. In some cases it converts <code>pcm_s24be</code> to <code>pcm_s24le</code>.</p>

CC BY-SA 4.0
2019-10-30T03:22:59.817Z
I'm voting to close this question as off-topic because it’s a legal question.
SlimSCSI
CC BY-SA 4.0
2019-10-30T06:10:24.560Z
There's no legal question being asked - the goal is *determine which codecs/libraries are actually being used by a particular ffmpeg command*
Gyan
<ffmpeg>
How to determine which modules needed for licensing FFmpeg as part of an app
d0g
# How to determine which modules needed for licensing FFmpeg as part of an app

(Asked by: username_0 on 2019-10-29)

I developed an app that uses `ffmpeg` for some simple muxing, which I am going to sell. I contacted MPEG LA about licensing, and they said I the license I need depends on which codecs I use.

Is there any way to determine which codecs/libraries are actually being used by a particular `ffmpeg` command?

If not, is there any way to temporarily disable/enable options to see if they are required for a given operation?

FWIW, my operation doesn't re-encode anything. It uses `c:v copy` and `c:a copy` with a `map` function to re-arrange audio tracks. In some cases it converts `pcm_s24be` to `pcm_s24le`.

**Tags:** ffmpeg

> **Comments:**
> **username_1**: I'm voting to close this question as off-topic because it’s a legal question.  
> **username_2**: There's no legal question being asked - the goal is *determine which codecs/libraries are actually being used by a particular ffmpeg command*  

---

## 1 answers

### Answer by username_2 on 2019-10-30. Score: 2

In general, the codecs involved in a pure muxing command are the decoders and bitstream parsers for the codecs of the streams in the input file.

Even though there's no decoding or encoding requested in a pure muxing command, ffmpeg uses the decoders to acquire the attributes of the streams in the input. These attributes are then passed on to the muxer, which will write in the header/metadata section(s) of the output file. This has to be done because the attributes of an encoded stream is stored in a form specific to that codec.

> **Comments:**
> **username_0**: The video codec is Avid DNxHD (in an MXF container). The audio is PCM. So which codecs are required for that? MPEG LA suggested it's the AVC library. Not sure.  
> **username_2**: ffmpeg does not require AVC decoder in order to decode DNxHD. I don't know if DNxHD decoder is relevant in terms of MPEG-LA patents.  
> **username_0**: I found an easier solution ... I'm going to let the end user download their own copy of ffmpeg – my app just calls it.  

---

